C机考复习题12.docx
- 文档编号:12012435
- 上传时间:2023-04-16
- 格式:DOCX
- 页数:39
- 大小:26.58KB
C机考复习题12.docx
《C机考复习题12.docx》由会员分享,可在线阅读,更多相关《C机考复习题12.docx(39页珍藏版)》请在冰豆网上搜索。
C机考复习题12
一、单选
1.以下说法中正确的是(C)
A)C语言程序总是从第一个的函数开始执行
B)在C语言程序中,要调用的函数必须在main()函数中定义
C)C语言程序总是从main()函数开始执行
D)C语言程序中的main()函数必须放在程序的开始部分
2.下选项中不是语句的是(C)。
A){inti;i++;printf(“%d\n”,i);}
B);
C)a=5,c=10
D){;}
3.以下选项中不能作为C语言合法常量的是
(A)
A)'cd'
B)0.1e+6
C)"\a"
D)'\011'
4.若x,a,b和c均是int型变量则执行表达式x=(a=1,b=2)后x的结果为(B)。
A)1
B)2
C)3
D)不确定
5.以下能正确定义整型变量a,b和c并为其赋初值1的语句是(D)。
A)inta=b=c=1;
B)inta,b,c=1;
C)a=b=c=1;
D)inta=1,b=1,c=1;
6.字符串"\t\065\xff\n"中的字符数(不算’\0’)为(D)
A)5
B)14
C)8
D)4
7.对两个静态函数A和B进行如下初始化
charA[]="ABCDEF";
charB[]={'A','B','C','D','E','F'};
则下列叙述正确的是(D)。
A)A和B完全相同
B)A和B只是长度相等
C)A和B不相同A是指针数组
D)A数组长度比B数组长
8.若有以下定义
chara;intb;
floatc;doubled;
则表达式a*b+d-c值的类型为(D)
A)float
B)int
C)char
D)double
9.在C语言中运算对象必须是整型数的运算符是(A)
A)%
B)/
C)%和\
D)**
10.有以下程序
main()
{intx,y,z;
x=y=1;
z=x++,y++,++y;
printf("%d,%d,%d\n",x,y,z);
}
程序运行后的输出结果是
(C)
A)2,3,3
B)2,3,2
C)2,3,1
D)2,2,1
11.以下选项中当x为大于1的奇数时值为0的表达式是(D)
A)x%2==1
B)x/2
C)x%2!
=0
D)x%2==0
12.以下程序的输出结果是(C)。
main()
{
intx=10,y=3;
printf("%d\n",y=x/y);
}
A)0
B)1
C)3
D)不确定的值
13.若a为int类型且其值为3则执行完表达式a+=a-=a*a后a的值是(C)
A)-3
B)9
C)-12
D)6
14.已知字符A的ASCII码为十进制的65下面程序的输出是(A)
main()H
{
charch1,ch2;
ch1='A'+'5'-'3';
ch2='A'+'6'-'3';
printf("%d,%c\n",ch1,ch2);
}
A)67,D
B)B,C
C)C,D
D)不确定的值
15.有以下程序
main()
{
chara='a',b;
printf("%c,",++a);
printf("%c\n",b=a++);
}
程序运行后的输出结果是
(A)
A)b,b
B)b,c
C)a,b
D)a,c
16.设a、b、c、d、m、n均为int型变量且a=5、b=6、c=7、d=8、m=2、n=2则逻辑表达式(m=a>b)&&(n=c>d)运算后n的值为(C)
A)0
B)1
C)2
D)3
17.设x、y、t均为int型变量则执行语句x=y=3;t=++x||++y;后y的值为(C)
A)不定值
B)4
C)3
D)1
18.有以下程序段
intk=0;
while(k=1)k++;
while循环执行的次数是(A)
A)无限次
B)有语法错不能执行
C)一次也不执行
D)执行1次
19.能正确表示逻辑关系“a>=10或a<=0”的C语言表达式是(D)
A)a>=10ora=10
B)a>=0|a<=10
C)a>=10&&a<=0
D)a>=10||a<=0
20.表示关系x≤y≤z的c语言表达式为(A)
A)(x<=y)&&(y<=z)
B)(x<=y)AND(y<=z)
C)(x<=y<=z)
D)(x<=y)&(y<=z)
21.设有inta=1,b=2,c=3,d=4,m=3,n=3;执行(m=a>b)||(n=c>d)后n的值为(A)。
A)0
B)1
C)2
D)3
22.以下关于逻辑运算符两侧运算对象的叙述中正确的是
(D)
A)只能是整数0或1
B)只能是整数0或非0整数
C)可以是结构体类型的数据
D)可以是任意合法的表达式
23.若x和y都是int型变量x=100y=200且有下面的程序片段
printf("%d",(x,y));
上面程序片段的输出结果是(A)
A)200
B)100
C)100200
D)输出格式符不够输出不确定的值
24.以下程序的输出结果是(D)
main()
{intk=17
printf("%d%o%x\n"kkk)
}
A)170210x11
B)171717
C)170x11021
D)172111
25.x、y、z被定义为int型变量若从键盘给x、y、z输入数据正确的输入语句是(B)。
A)INPUTx、y、z;
B)scanf("%d%d%d",&x,&y,&z);
C)scanf("%d%d%d",x,y,z);
D)read("%d%d%d",&x,&y;&z);
26.有以下程序
main()
{
inti;
for(i=0;i<3;i++)
switch(i)
{
case0:
prinft("%d",i);
case2:
prinft("%d",i);
default:
prinft("%d",i);
}
}
程序运行后的输出结果是(C)
A)022111
B)021021
C)000122
D)012
27.C语言中用于结构化程序设计的三种基本结构是(A)
A)顺序结构、选择结构、循环结构
B)if、switch、break
C)for、while、do-while
D)if、for、continue
28.若执行下面的程序时从键盘上输入5则输出是(B)
main()
{intx;
scanf("%d",&x);
if(x++>5)printf("%d\n",x);
elseprintf("%d\n",x--);}
A)7
B)6
C)5
D)4
29.在嵌套使用if语句时C语言规定else总是
(C)
A)和之前与其具有相同缩进位置的if配对
B)和之前与其最近的if配对
C)和之前与其最近的且不带else的if配对
D)和之前的第一个if配对
30.设有以下程序片段:
switch(X)
{
case'A':
printf("A");
case'B':
printf("B");
default:
printf("error");
}
假设X='A',程序输出结果是(D)
A)A
B)B
C)error
D)ABerror
31.读程序
main()
{intnum=0;
while(num<=2)
{num++;printf("%d",num);}
}
上面程序的输出结果是(C)
A)1
B)22
C)123
D)1234
32.下述语句执行后变量k的值是(B)。
intk=1;
while(k++<10);
A)10
B)11
C)9
D)此为无限循环值不定
33.以下程序段的执行结果是(A)。
intx=5;
do{printf("%2d\n",x--);}
while(!
x);
A)5
B)无任何输出
C)4
D)陷入死循环
34.设变量已正确定义则以下能正确计算f=n!
的程序段是
(D)
A)f=0;
for(i=1;i<=n;i++)f*=i;
B)f=1;
for(i=1;i C)f=1; for(i=n;i>1;i++)f*=i; D)f=1; for(i=n;i>=2;i--)f*=i; 35.以下程序的输出结果是(C)。 main() { inta,b; for(a=1,b=1;a<=100;a++) { if(b>=10)break; if(b%3==1) { b+=3; continue; } } printf("%d\n",a); } A)101 B)6 C)5 D)4 36.下列合法的数组定义是(D)。 A)inta[]="string"; B)inta[5]={0,1,2,3,4,5}; C)chara="string"; D)chara[]={0,1,2,3,4,5}; 37.以下定义语句中错误的是(D) A)inta[]={1,2}; B)char*a[3]; C)chars[10]="test"; D)intn=5,a[n]; 38.以下正确的数组定义语句是(D)。 A)inty[1][4]={1,2,3,4,5}; B)floatx[3][]={{1},{2},{3}}; C)longs[2][3]={{1},{1,2},{1,2,3}}; D)intm[1][4]={4}; 39.以下程序的输出结果是(C)。 main() { inti,a[10]; for(i=9;i>=0;i--) a[i]=10-i; printf("%d%d%d",a[2],a[5],a[8]); } A)258 B)741 C)852 D)369 40.下面的程序中(C)有错误(每行程序前面的数字是行号)。 1#include 2main() 3{floats[5]; 4inti,sz=0; 5for(i=0;i<5;i++) 6scanf("%d",s[i]); 7for(i=0;i<5;i++) 8sz+=s[i]; 9printf("\n%f",(float)sz); 10} A)没有错误 B)第4行错误 C)第6行错误 D)第9行错误 41.若有定义语句inta[3][6];按在内存中的存放顺序a数组的第10个元素是(B) A)a[0][4] B)a[1][3] C)a[0][3] D)a[1][4] 42.以下数组定义中不正确的是(D) A)inta[2][3]; B)intb[][3]={0,1,2,3}; C)intc[100][100]={0}; D)intd[3][]={{1,2},{1,2,3},{1,2,3,4}}; 43.以下程序的输出结果是(A)。 main() { inta[4][4]={{1,3,5},{2,4,6},{3,5,7}}; printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]); } A)0650 B)1470 C)5430 D)输出值不定 44.若二维数组a有m列则在a[i][j]前的元素个数为(B A)j*m+i B)i*m+j C)i*m+j-1 D)i*m+j+1 45.以下程序的输出结果是 (B) main() {charcf[3][5]={"AAAA","BBB","CC"}; printf("\"%s\"\n",cf[1]);; } A)"AAAA" B)"BBB" C)"BBBCC" D)"CC" 46.设有数组定义: chararray[]="China";则数组array所占的空间为(C) A)4个字节 B)5个字节 C)6个字节 D)7个字节 47.以下选项中不能正确赋值的是(A)。 A)chars1[10];s1="Ctest"; B)chars2[]={'C','t','e','s','t'}; C)chars3[20]="Ctest"; D)char*s4="Ctest\n"; 48.给出以下定义 charx[]="abcdfeg"; chary[]={'a','b','c','d','e','f','g'}; 则正确的叙述为(D)。 A)数组x和数组y等价 B)数组x和数组y长度相同 C)数组x的长度大于数组y的长度 D)数组x的长度小于数组y的长度 49.设有 charstr[]="Beijing"; 则执行 printf("%d\n",strlen(strcpy(str,"China"))); 后的输出结果为(B)。 A)5 B)7 C)12 D)14 50.若要求从键盘读入含有空格字符的字符串应使用函数 (B) A)getc() B)gets() C)getchar() D)scanf() 51.有语句 charstr1[10],str2[10]={"books"}; 则能将字符串books赋给数组str1的正确语句是(B)。 A)str1={"Books"}; B)strcpy(str1,str2); C)str1=str2; D)strcpy(str2,str1); 52.以下语句的输出结果是(A) printf("%d\n",strlen("\tc\065\xff\n")); A)5 B)14 C)8 D)输出项不合法无正常输出 53.若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是(D)。 A)a,point,*&a B)&*a,&a,*point C)*&point,*point,&a D)&a,&*point,point 54.设已有定义floatx;则以下对指针变量p进行定义且赋初值的语句中正确的是(D) A)float*p=1024; B)int*p=(float)x; C)floatp=&x; D)float*p=&x; 55.设有语句inta=1,b=2,*p1=&a,*p2=&b;以下可使指针p1指向变量b的赋值语句是(C)。 A)p1=*p2 B)*p1=p2 C)p1=p2 D)*p1=*p2 56.有以下程序 main() { inta[]={1,2,3,4,5,6,7,8,9,0},*p;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 复习题 12