二级C语言(数据类型及运算)

欢迎参加本次考试,本次考试考察对数据及运算的掌握,共35道题,满分为175分;祝你考得好成绩!
以下选项中关于C语言常量的叙述错误的是()。
所谓常量,是指在程序运行过程中,其值不能被改变的量
常量分为整型常量、实型常量、字符常量和字符串常量
常量可分为数值型常量和非数值常量
经常被使用的变量可以定义成常量
若有定义语句:“int x=10;”,则表达式x-=x+x的值为( )。
-20
-10
0
10
C源程序中不能表示的数制是( )。
二进制
八进制
十进制
十六进制
有以下程序

#include<stdio.h>

 int fun()

{ static int x=1;

x*=2;

return x:

}

main( )

{ int i,s=1;

for(i=1;i<=3;i++)s*=fun();

printf("%d\n",s);

}

程序运行后的输出结果是( )。

0
10
30
64
若有定义语句:“int a=3,b=2,c=1;”,以下选项中错误的赋值表达式是( )。
a=(b=4)=3;
a=b=c+1;
a=(b=4)+c;
a=1+(b=c=4);
若函数中有定义语句:“int k;”,则
系统将自动给k赋初值0
这时k中的值无定义
系统将自动给k赋初值-1
这时k中无任何值
有以下程序

#include <stdio.h>

main()

{ int a=1,b=0;

if(!a)b++;

else if (a==0)if(a) b+=2;

else b+=3;

printf("%d\n",b);

}

程序运行后的输出结果是( )。

0
1
2
3
有以下程序

#include<stdio.h>

 main()

{ char c1,c2;

c1='A'+'8'-'4';

c2='A'+'8'-'5';

printf("%C,%d\n",c1,c2);

}

已知字母A的ASCII码为65,程序运行后的输出结果是( )。

E,68
D,69
E,D
输出无定值
有如下嵌套的if语句

if(a<b)

if(a<c)k=a;

else k=c;

elseif(b<c)k=b;

else k=c;

以下选项中与上述if语句等价的语句是()。

k=(ab)?a﹕b;k=(bc)?b﹕c;
k=(ab)?((bc)?a﹕b):((bc)?b﹕c);
k=(ab)?((ac)?a﹕c):((bc)?b﹕c);
k=(ab)?a:b;k=(ac)?a:c;
下列选项中,能用作数据常量的是()。
O115
0118
1.5e1.5
115L
下列叙述中正确的是()。
可以用关系运算符比较字符串的大小
空字符串不占用内存,其内存空间大小是0
两个连续的单引号是合法的字符常量
两个连续的双引号是合法的字符串常量
有以下程序#include 

main()

{ int a;

scanf("%d",&a);if(a++<9)printf("%d\n",a);else printf("%d\n",a--);

}

程序运行时从键盘输入9<回车>,则输出结果是()。

10
11
9
8
下面的函数调用语句中func( )函数的实参个数是( )。func(f2(v1,v2),(v3,v4,v5),(v6,max(v7,v8)));
3
4
5
8
以下选项中表示一个合法的常量是()。(说明:符号□表示空格)
9□9□9
0Xab
123E0.2
2.7e
下列选项中不能作为C语言合法常量的是( )。
'cd'
0.1e+6
〞\a〞
'\011'
设变量均已正确定义并赋值,以下与其他三组输出结果不同的一组语句是()。
x++;printf(“%d\n”,x);
n=++x;printf(“%d\n”,n);
++x;printf(“%d\n”,x);
n=x++;printf(“%d\n”,n);
有以下定义:“int a;long b;double x,y;”,则以下选项中正确的表达式是( )。
a%(int)(x-y)
a=x!=y;
(a*y)%b
y=x+y=x
以下选项中,能表示逻辑值“假”的是()。
1
0.000001
0
100.0
若有表达式(w)?(--x):(++y),则其中与w等价的表达式是( )。
w==1
w==0
w!=1
w!=0
若a是数值类型,则逻辑表达式(a==1)‖(a!=1)的值是( )。
1
0
2
不知道a的值,不能确定
若有定义:“int a,b;”,通过语句“scanf(“%d;%d”,&a,&b);”,能把整数3赋给变量a,5赋给变量b的输人数据是()。
3 5
3,5
3;5
35
设变量已正确定义并赋值,以下正确的表达式是()。
x=y*5=x+z
int(15.8%5)
x=y+z+5,++y
x=25%5.0
若有定义语句“int a,b;double x;”则下列选项中没有错误的是( )。
switch(x%2){case 0﹕a++;break;case1﹕b++;break;default﹕a++;b++;}
switch((int)x/2.0){case 0﹕a++;break;case 1﹕b++;break;default﹕a++;b++;}
switch((int)x%2){case 0﹕ a++;break;case 1﹕b++;break;default﹕a++;b++;}
switch((int)(x)%2){case 0﹕a++;break;case 1.0﹕b++;break;default﹕a++;b++;}
关于C语言中数的表示,以下叙述中正确的是()。
只有整型数在允许范围内能精确无误的表示,实型数会有误差
只要在允许范围内整型数和实型数都能精确的表示
只有实型数在允许范围内能精确无误的表示,整形数会有误差
只有用八进制表示的数才不会有误差
有以下程序(strcat函数用以连接两个字符串)#include  main(){ char a[20]="ABCD\0'EFG\0'",b[]="IJK";strcat(a,b);printf"%s\n",a);}程序运行后的输出结果是( )。
ABCDE\0FG'\0IJK
ABCDIJK
IJK
EFGIJK
有以下程序

#include <stdio.h>

main()

{ int n=2,k=0;

while(k++&&n++>2);

printf("%d%d\n",k,n);

}

程序运行后的输出结果是( )。

02
13
57
12
有以下程序#include  main(){ int s,t,A=10;double B=6;s=sizeof(A);t=sizeof(B);printf("%d,%d\n",s,t);}在VC6平台上编译运行,程序运行后的输出结果是( )。
2,4
1,4
4,8
10,6
有以下程序

#include <stdio.h>

main()

{ char x[]="STRING";x[0]=0;

x[1]='\0';

x[2]='0';

printf(“%d%d\n”,sizeof(x),strlen(x));

}

程序运行后的输出结果是( )。

6 1
7 0
6 3
7 1
有以下程序:

#include <stdio.h>

int fun ()

{ static int x=1;

x*=2;

 return x;

}

main()

{ int i,s=1;

for(i=1;i<=2;i++)s=fun();

printf{"%d\n",s};

}

程序运行后的输出结果是( )。

0
1
4
8
设有定义:“int a=1,b=2,c=3;”,以下语句中执行效果与其他三个不同的是( )。
if(a> b)c=a,a=b,b=c;
if(a> b){c=a,a=b,b=c;}
if(a> b)c=a;a=b;b=c;
if(a> b){c=a;a=b;b=c;}
执行下列程序后,w的值为( )。

int w='A',x=14,y=15;w=((x‖y)&&(w<'a'));

-1
NULL
1
0
以下选项中不能用作C程序合法常量的是( )。
1,234
'\123'
123
“\x7G”
以下选项中可用作C程序合法实数的是( )。
.le0
3.Oe0.2
E9
9.12E
有以下程序

#include <stdio.h>

main()

{ char s[]="rstuv";printf(“%c\n”,*s+2);

}

程序运行后的输出结果是( )。

tuv
字符t的ASCII码值
t
出错
下列选项中正确的定义语句是( )。
double a;b;
double a=b=7;
double a=7,b=7;
double, a,b;

35题 | 被引用0次

使用此模板创建