闽高校计算机二级C语言模拟题Word文件下载.doc
《闽高校计算机二级C语言模拟题Word文件下载.doc》由会员分享,可在线阅读,更多相关《闽高校计算机二级C语言模拟题Word文件下载.doc(20页珍藏版)》请在冰点文库上搜索。
(a-b)||(c-b)的值为()。
A)0B)2C)3D)1
12.若有定义:
intx,charc=’A’;
则正确的赋值表达式是(D)。
(说明:
’A’的ASCII码的十进制值为65,’a’的ASCII码的十进制值为97)
A)x=c+’ABC’B)x=c+’CBA’
C)x=’ABC’D)X=c+32
13.(A)为非法的字符串常量
A)’123’B)”056”C)””D)”case”
14.(C)为正确的字符常量
A)’165’B)’\084’C)’@’D)’bcd’
15.(B)为合法的常量
A)’b_k’B)1.23E+8C)3.21E-6.5D)5,326
16.若有定义:
intb=-15,则()为正确的赋值表达式
A)b=*5B)b+=b*3
C)*b=6D)b+10=-5
17.若有定义:
intx=1,y=2,z=3,则表达式()的值为0.
A)x<
y||x<
zB)x<
=y
C)x||(y+z&
&
y-z)D!
((x<
y)&
z)
18.若有定义:
inta=6,b=7,k=0,t=1;
语句(k=a<
b)&
(t=a==b);
运行后,k,t的值分别是()。
A)10B)01C)00D)11
19.(B)语句符合C语言语法
A)floatx=3.2,inti,j=6;
B)floatx=2.3,b,c;
C)inta=2,b+=a;
D)inta=b=2,c=5;
20.下面叙述正确的是(D)
A)++2与3等价B)++2与--3等价
C)2/3与2%3等价D)5/(int)4.0与5/4等价
21.若有定义floatx=3.5,y=3.6;
则表达式(C)的值为6
A)x+yB)(int)(x+y)
C)(int)x+(int)yD)int(x+y)
22.以下程序段运行后x的值为()
inta=3,b=6,x;
x=(a==b)?
a++:
--b;
A)3B)4C)6D)5
23.若有定义:
inta,b=5;
语句a=(b/2)+(b%2);
运行后,a的值为()
A)0B)2C)4D)3
24.若有定义:
inta=1,b=2,c=3,d=4,t=2,k=2;
语句(t=a<
b)||(k=c<
d);
运行后,k的值为()
A)-1B)1C)0D)2
25.若有定义:
floatx=2,y;
inta=3;
语句y=1*(x+a)/3;
运行后y的值为()
A)1.666667B)1.0C)2.0D)0
26.下面运算符中优先级最低的是(B)。
B)=C)*D)>
27.若有定义:
inta=3;
语句a+=a-=a*a;
运行后,a的值为()
A)-12B)-3C)0D)-6
28.x的值在-20至-5之间为“真”,否则为“假”的正确逻辑表达式为()
A)-20<
x<
-5B)-5<
-20
C)!
(x>
-20)&
!
(x<
-5)D)x>
-20&
-5
29.若有定义:
intx,y,z;
语句x=(y=z=3,++y,z+=y);
运行后,x的值为()。
A)7B)3C)6D)8
30.若有定义floatx;
要从键盘输入数据6.02赋给x,则应选用()语句。
A)scanf(“%8.2f”,&
x);
B)scanf(“%1.2f”,&
C)scanf(“%4.2f”,&
D)scanf(“%f”,&
31.若有语句inta,charc;
scanf(“%3d%c”,&
a,&
b);
为将整数135赋给a,字符’6’赋给c,正确的数据输入方式是()(说明<
CR>
代表换行,_代表空格)
A)135<
6<
B)1356<
C)135_6_
D)135_6<
32.若有定义:
charc1=’A’,c2=’B’;
语句printf(“%d+%d=%d”,c1,c2,c1+c2);
运行的结果为()。
(说明’A’的ASCII码的十进制值为65)
A)A+B=131B)65+66=131
C)65+66=ABD)A+B=AB
33.若有定义:
inta=8,b=5;
要实现输出形式为:
8*5=40,正确的printf()函数调用语句是()。
A)printf(“%d*%d=a*b\n”,a,b);
B)printf(“%d*%d=%d\n”,a,b,a*b);
C)printf(“a*b=%d\n”,a*b);
D)printf(“a*b=a*b\n”);
(三)控制结构
34.以下程序段运行的结果是()
ints=15;
switch(s/4)
{case1:
printf(“One”);
case2:
printf(“Two”);
case3:
printf(“Three”);
default:
printf(“Over”);
}
A)TwoOver
B)OneOver
C)ThreeOver
D)Three
35.以下程序段运行结果是()。
{default:
case1:
printf(“One”);
break;
printf(“Two”);
A)OverOne
B)Two
C)One
D)Overtwo
36.以下程序段运行后,若从键盘输入5,则运行结果是()
inta,y=10;
scanf(“%d”,&
a);
if(a>
10)y=a+6;
printf(“%d\n”,y+a);
A)15B)16C)10D)11
37.以下程序运行结果是()
voidmain()
{inta,b=2,c=6;
a=3;
6)a=a+6;
elseif(a==6)b=a+c;
elsea=b+c;
printf(“%d\n”,a);
}
A)6B)9C)5D)8
38.以下程序段运行后,x的值为()
inti,j,x=0;
for(i=3;
i>
=1;
i--)
for(j=1;
j<
=i;
j++)x=x+2;
A)10B)14C)8D)12
39.若有定义inti,x;
()不是死循环
A)for(x=5;
x>
0;
x--);
B)while(x=1);
C)for(;
;
i+=2);
D)for(i=10;
i--);
40.以下程序段运行后,x的值为()
inti=0,x=0;
for(;
i<
=5;
i++,i++)
{x+=3;
A)9B)6C)12D)15
41.以下程序段运行后x的值为()。
inti=0,x=2;
while(i++<
=5)
{x+=2;
A)14B)8C)12D)10
42.下面叙述正确的是()
A)for循环的循环体可包含多条语句,但必须用花括号{}括起来
B)在for循环中,不能用break语句跳出循环体
C)for循环是先执行循环体语句,后判断表达式
D)for循环只能用于循环次数已经确定的循环
43.若有定义:
inti,x=0;
语句for(i=1;
=3;
i++)x+=2;
与下列()程序段不等价。
A)i=1;
for(;
){x+=2;
i++;
}
B)for(i=1;
){x+=2;
C)i=1;
i++)x+=2;
D)i=1;
for(;
(四)数组
44.下面叙述错误的是(C)
A)数组中每一个元素都属于同一个数据类型
B)C语言规定可逐个引用数组元素,但不能一次引用整个数组
C)C语言数组长度在定义数组时可不确定
D)C语言数组名称是数组的首地址
45.若有定义:
inta[10],i=2;
则能正确引用数组元素的是()
A)a[10]B)a(7)C)a[9+i]D)a[10-i]
46.若有定义:
intarr[15],n=5;
无法正确引用arr数组元素的是(D)。
A)arr[0]
B)arr[n]
C)arr[15-n]
D)arr[10+n]
47.以下程序段运行后,x的值为()
inta[8]={1,2,3,4,5,6,7,8},i,x=0;
for(i=0;
8;
i++,i++)
x=x+a[i];
A)18B)16C)20D)36
48.C语言中,二维数组元素在内存中的存放顺序是()
A)按列存放B)随机存放
C)由用户自己定义D)按行存放
49..以下()对二维数组arr的初始化是错误的。
A)intarr[2][3]={{1,2},{3,4}};
B)intarr[2][3]={{1,2},{3,4},{5,6}};
C)intarr[][3]={1,2,3,4,5};
D)intarr[2][3]={{1},{3,4,5}};
50.以下程序段的运行结果是()
intt[][3]={1,2,3,4,5,6,7,8,9,10,11,12};
printf(“%d\n”,t[1][1])}
A)3B)1C)5D)4
51.以下程序段运行后,x的值为()
inta[3][3]={1,2,3,4,5,6,7,8,9};
3;
i++)
x+=a[i][i];
A)12B)18C)0D)15
52.以下程序运行的结果是()
intfun(intarray[3][3])
{intj;
for(j=0;
j++)array[1][j]++;
printf(“\n”);
main()
{intj,a[3][3]={0,1,2,1,0,4,2,4,5};
fun(a);
j++)printf(“%2d”,a[1][j]);
printf(“\n”);
A)215B)104C)012D)123
53.以下程序段的运行结果是()。
charstr[3][2]={‘a’,’b’,’c’,’\0’,’e’,’f’};
printf(“%s”,str[0]);
A)abc\0efB)aC)abcD)abcef
(五)函数
54.只能向终端输出一个字符的是()
A)putchar()函数B)printf()函数
C)scanf()函数D)getchar()函数
55.getchar()函数的功能是获取终端输入的()。
A)多个字符B)一个整形变量表达式
C)一个字符D)一个实型变量值
56.下面叙述正确的是()
A)预处理命令也是C语句,必须以分号结束
B)宏展开不占用运行时间,只占用编译时间
C)一个源程序只能有一个预处理命令行
D)宏名必须用大写字母表示
57.下面叙述错误的是()。
A)C源程序中加入一些预处理命令是为了改进程序设计环境,提高编程效率
B)“#definePRICE30”命令的作用是定义一个与30等价的符号常量PRICE
C)预处理命令行都必须以“#”开头
D)预处理命令行必须以分号结束
58.下面叙述错误的是()
A)”#include<
stdio.h>
”命令的作用是在预处理时将stdio.h文件中的实际内容代替该命令
B)预处理命令行必须以分号结束
C)C源程序中加入一些预处理命令是为了改进程序设计环境,提高编程效率
D)宏定义也是C语句,必须在行末加分号
59.以下程序运行结果是()
#defineXa+b
{inta=3,b=4,s1;
s1=2*X;
printf(“%d\n”,s1);
A)10B)8C)6D)14
60.若有定义:
#definePI3,则表达式PI*2*2的值为()
A)4B)12C)不确定D)322
61.若有定义:
#defineF2+3,则表达式F*F的值为()
A)17B)13C)25D)11
62..以下程序段运行结果是()
charstr[]={“Fujian”};
printf(“%d”,strlen(str));
A)6B)8C)9D)7
63.以下程序段运行后,a的值为()
inta=2;
a=strcmp(“miss”,“miss”);
A)trueB)-1C)0D)1
64.以下程序段的运行结果是()
chara[]=”abcdef”;
charb[]=”xyz”
strcpy(a,b);
printf(“%c”,a[2]);
A)bB)zC)yD)c
65.若有定义:
charstr1[10],str2[10]=”Fujian”;
能将字符串“Fujian”赋给数组str1的正确语句是()
A)strcpy(str1,str2);
B)str1=”Fujian”;
C)strcpy(str2,str1);
D)strcopy(str1,str2);
66.以下程序段的运行结果是()
chara[]=”abc”;
charb[]=”xyz”;
charc[10];
strcpy(c,a);
strcat(c,b);
printf(“%s”,c);
A)xyzabcB)abcxyzC)abcD)xyz
67.以下程序的运行结果是()
intf(intc)
{c+=2;
returnc;
{inta=2,c=5;
a=f(a);
printf(“%d%d\n”,a,c);
A)44B)25C)45D)24
68.以下程序段运行结果是()
fun()
{staticinta=0;
a++;
printf(“%d“,a);
main()
{inti;
for(i=1;
=2;
fun();
A)12B)11C)00D)01
69.以下程序段的运行结果是()。
inta=2,b=3;
intmin(inta,intb)
{intc;
c=a<
b?
a:
b;
{inta=4;
printf(“%d”,min(a,b));
A)3B)2C)4D)2,3
(六)指针
70.下面叙述错误的是()
A)可以将一个整数值赋给指针变量
B)一个变量的地址称为该变量的指针
C)一个指针变量只能指向同一类型的变量
D)任何指针变量都可以与空类型NULL进行比较
71.以下程序段运行结果是()
intx[3]={1,2,3};
int*p;
p=x;
for(p++;
p<
x[2];
p++)
printf(“%d“,*p);
A)3B)2C)23D)12
72.以下程序运行的结果是()
{chara[]=”137”,*p;
for(p=a;
a+3;
printf(“%s”,p);
A)7B)137C)137377D)13737
73.以下程序段运行后,*(p+1)的值为()
chara[]=”good”;
char*p;
p=a;
A)a[1]的地址B)’o’C)不确定D)’g’
74.()能正确定义一个指向函数的指针。
A)(int*)p()B)int*p()
C)int(*p())D)int(*p)()
75.以下程序段的运行结果是()
intx[]={2,3,4,5,6,7},*p=x;
inti,s=0;
5;
i++)s+=p[i++];
printf(“%d”,s);
A)6B)8C)20D)14
76.以下程序段运行后,x的值为()
inta[]={1,2,3,4,5,6,7,8};
inti,x,*p;
x=1;
p=&
a[1];
x*=*(p+i);
A)120B)6C)1D)24
77.若有定义:
inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;
则()表达式是错误的。
A)a++B)a[2]C)p++D)p[2]
78.若有定义
inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12},(*p)[4];
()对数组a元素的引用是正确的
A)*(p[2]+3)B)**(p+4)C)(**p)[4]D)*(p[4])
79.下面程序段运行后,()对数组a元素的引用是错误的。
(其中0≤i<
4,0≤j<
3)
inti,j,(*p)[3];
inta[][3]={1,2,3,4,5,6,7,8,9,10,11,12};
A)*(*(a+i)+j)B)p[i][j]
C)*(*(p+i)[j]D)*(p[i]+j)
80.以下程序运行的结果是()
{intx,y;
int*p,*q,*t;
x=23;
y=45;
p=&
x;
q=&
y;
t=p;
p=q;
q=t;
printf(“%d,%d\n”,x,y);
A)23,45B)45,23
C)23,23D)45,45
81.以下程序的运行结果是()。
{inta[3]={1,2,3};
int*num[3];
int**p,i;
num[i]=&
a[i];
p=num;
printf(“%d”,**p);