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

欢迎参加本次考试,本次考试考察对数据及运算的掌握,共35道题,满分为175分;祝你考得好成绩!

Q1:以下选项中关于C语言常量的叙述错误的是()。

所谓常量,是指在程序运行过程中,其值不能被改变的量
常量分为整型常量、实型常量、字符常量和字符串常量
常量可分为数值型常量和非数值常量
经常被使用的变量可以定义成常量

Q2:若有定义语句:“int x=10;”,则表达式x-=x+x的值为( )。

-20
-10
0
10

Q3:C源程序中不能表示的数制是( )。

二进制
八进制
十进制
十六进制

Q4:有以下程序#includestdio.hint 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

Q5:若有定义语句:“int a=3,b=2,c=1;”,以下选项中错误的赋值表达式是( )。

a=(b=4)=3;
a=b=c+1;
a=(b=4)+c;
a=1+(b=c=4);

Q6:若函数中有定义语句:“int k;”,则

系统将自动给k赋初值0
这时k中的值无定义
系统将自动给k赋初值-1
这时k中无任何值

Q7:有以下程序#include stdio.hmain(){ 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

Q8:有以下程序#includestdio.hmain(){ 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
输出无定值

Q9:有如下嵌套的if语句if(ab)if(ac)k=a;else k=c;elseif(bc)k=b;else k=c;以下选项中与上述if语句等价的语句是()。

k=(a<b)?a﹕b;k=(b<c)?b﹕c;
k=(a<b)?((b<c)?a﹕b):((b>c)?b﹕c);
k=(a<b)?((a<c)?a﹕c):((b<c)?b﹕c);
k=(a<b)?a:b;k=(a<c)?a:c;

Q10:下列选项中,能用作数据常量的是()。

O115
0118
1.5e1.5
115L

Q11:下列叙述中正确的是()。

可以用关系运算符比较字符串的大小
空字符串不占用内存,其内存空间大小是0
两个连续的单引号是合法的字符常量
两个连续的双引号是合法的字符串常量

Q12:有以下程序#includemain(){ int a;scanf("%d",a);if(a++9)printf("%d\n",a);else printf("%d\n",a--);}程序运行时从键盘输入9回车,则输出结果是()。

10
11
9
8

Q13:下面的函数调用语句中func( )函数的实参个数是( )。func(f2(v1,v2),(v3,v4,v5),(v6,max(v7,v8)));

3
4
5
8

Q14:以下选项中表示一个合法的常量是()。(说明:符号□表示空格)

9□9□9
0Xab
123E0.2
2.7e

Q15:下列选项中不能作为C语言合法常量的是( )。

'cd'
0.1e+6
〞\a〞
'\011'

Q16:设变量均已正确定义并赋值,以下与其他三组输出结果不同的一组语句是()。

x++;printf(“%d\n”,x);
n=++x;printf(“%d\n”,n);
++x;printf(“%d\n”,x);
n=x++;printf(“%d\n”,n);

Q17:有以下定义:“int a;long b;double x,y;”,则以下选项中正确的表达式是( )。

a%(int)(x-y)
a=x!=y;
(a*y)%b
y=x+y=x

Q18:以下选项中,能表示逻辑值“假”的是()。

1
0.000001
0
100.0

Q19:若有表达式(w)?(--x):(++y),则其中与w等价的表达式是( )。

w==1
w==0
w!=1
w!=0

Q20:若a是数值类型,则逻辑表达式(a==1)‖(a!=1)的值是( )。

1
0
2
不知道a的值,不能确定

Q21:若有定义:“int a,b;”,通过语句“scanf(“%d;%d”,&a,&b);”,能把整数3赋给变量a,5赋给变量b的输人数据是()。

3 5
3,5
3;5
35

Q22:设变量已正确定义并赋值,以下正确的表达式是()。

x=y*5=x+z
int(15.8%5)
x=y+z+5,++y
x=25%5.0

Q23:若有定义语句“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++;}

Q24:关于C语言中数的表示,以下叙述中正确的是()。

只有整型数在允许范围内能精确无误的表示,实型数会有误差
只要在允许范围内整型数和实型数都能精确的表示
只有实型数在允许范围内能精确无误的表示,整形数会有误差
只有用八进制表示的数才不会有误差

Q25:有以下程序(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

Q26:有以下程序#include stdio.hmain(){ int n=2,k=0;while(k++n++2);printf("%d%d\n",k,n);}程序运行后的输出结果是( )。

02
13
57
12

Q27:有以下程序#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

Q28:有以下程序#include stdio.hmain(){ 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

Q29:有以下程序:#include stdio.hint 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

Q30:设有定义:“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;}

Q31:执行下列程序后,w的值为( )。int w='A',x=14,y=15;w=((x‖y)(w'a'));

-1
NULL
1
0

Q32:以下选项中不能用作C程序合法常量的是( )。

1,234
'\123'
123
“\x7G”

Q33:以下选项中可用作C程序合法实数的是( )。

.le0
3.Oe0.2
E9
9.12E

Q34:有以下程序#include stdio.hmain(){ char s[]="rstuv";printf(“%c\n”,*s+2);}程序运行后的输出结果是( )。

tuv
字符t的ASCII码值
t
出错

Q35:下列选项中正确的定义语句是( )。

double a;b;
double a=b=7;
double a=7,b=7;
double, a,b;
问卷网
二级C语言(数据类型及运算)
关于
1年前
更新
0
频次
35
题目数
分享