计科模拟卷1(答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一部分 C语言程序设计(共100分)答案
一、单项选择题(本大题共30小题,每小题2分,共60分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将正确答案代码填写在答题纸相应位置上。
1、()是整型常量。 A
A、0xff
B、12e+2
C、(double)3
D、-2.3
2、已知各变量的类型说明如下:int k,a,b ;
unsigned long w=5 ;
double x=1.42
以下不符合C语言语法的表达式是()A
A、x%(-3)
B、w+=-2
C、k=(a=2,b=3,a+b)
D、a+=a-=(b=4)*(a=3)
3、'\0'&&'0'的值为()A
A、0
B、1
C、大于0
D、小于0
4、'x' 和 "x"各占()字节 A
A、1,2
B、1,1
C、2,1
D、2,2
5、以下for循环体的执行次数是
for (x=0,y=0;(y=123)&&x<4;x++); ()C
A、执行3次
B、循环次数不定
C、执行4次
D、是无限循环
6、int a[10],*p=a; 则*(p+5)表示()B
A、元素a[5]的地址
B、元素a[5]的值
C、元素a[6]的地址
D、元素a[6]的值
7、若定义int a[3][4],下列四种对a数组元素的引用中有可能出错的是()D
A、a[0][2*1]
B、a[1][3]
C、a[4-2][0]
D、a[3][3]
8、设m,n,a,b,c,d均为0,执行(m=a= =b)||(n=c= =d)后,m,n的值是()C
A、0,0
B、0,1
C、1,0
D、1,1
9、设int a,i,j;则赋值语句 a+=a=(i=14)%(j=12);执行后a的值为()C
A、2
B、0
C、4
D、不确定
10、float *p, 则p+1的含义是()B
A、p的值加1
B、p的值加上sizeof(float)
C、p的值减去sizeof(float)
D、p的值加2
11、设int a[12]; 则a[i] 的地址为()C
A、&(a+i)
B、a[i]
C、(a+i)
D、*(a+i)
12、执行以下程序段后,输出结果是()A
main()
{ int x=-1,a=0,b=0;
switch(x)
{ case 0:b++;
case 1:a++;b++;
case 2:b++;
}
printf("a=%d,b=%d\n",a,b);
}
A、a=0,b=0
B、a=1,b=1
C、a=1,b=2
D、a=2,b=2
13、设char x='0';则 printf("%c,%d",x,x);的输出为()A
A、0,48
B、0,0
C、48,0
D、48,48
14、设int x=1,*p=&x;则语句 x=*p+x;则()B
A、语法错误
B、执行后x的值为2
C、执行后x的值为1
D、执行后x的值无法确定
15、执行以下程序段后,输出结果是()D
main()
{
char *p="\\\"ABC\"\\";
printf("%d,%d\n",strlen(p),sizeof(p));
}
A、7,8
B、8,8
C、8,4
D、7,2
16、逻辑运算符两侧的运算对象()D
A、只能是0或1
B、只能是0或非0正数
C、只能是整型或字符型数据
D、可以是任意类型数据
17、设int m1=5,m2=3; 表达式m1>m2?(m1=1):(m2=-1)运算后m1和m2的值分别是()B
A、1和-1
B、1和3
C、5和-1
D、5和3
18、设char c[5]={'a','b','\0','c','\0'};则printf("%s",c);的输出是()B
A、'a' 'b'
B、ab
C、abc
D、"ab\0"
19、设char *s="china";则 printf("%s,%c,%c\n",s,*s,s[3]);的输出是()A
A、china,c,n
B、china,china,i
C、c,cn
D、china,china,n
20、与语句if (a>b) if(c>d)x=1;else x=2;等价的是()A
A、if (a>b) {if(c>d)x=1;else x=2;}
B、if (a>b)
{if(c>d)x=1;}else x=2;
C、if ((a>b)&& (c>d))x=1;else x=2;
D、if(a<=b) x=2;else if(c>d)x=1;
21、执行下列程序
int a[3][3]={{1},{2},{3}};
int b[3][3]={1,2,3};
main()
{ printf("%d\n",a[1][0]+b[0][0]); }
后的输出结果是()D
A、0
B、1
C、2
D、3
22、在文件使用方式中,字符串"rb"表示()A
A、打开一个已存在的二进制文件,只能读取数据
B、打开一个文本文件,只能写入数据
C、打开一个已存在的文本文件,只能读取数据
D、打开一个二进制文件,只能写入数据
23、设char str1[10]="ABCDE",str2[10]="XYZ";则执行语句printf("%d",
strlen(strcpy(str1,str2)));后的输出是()A
A、3
B、5
C、8
D、9
24、下列运算符中,优先级最低的是()D