C语言补充题2.docx
- 文档编号:17986486
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:59
- 大小:58.70KB
C语言补充题2.docx
《C语言补充题2.docx》由会员分享,可在线阅读,更多相关《C语言补充题2.docx(59页珍藏版)》请在冰点文库上搜索。
C语言补充题2
一、选择题
(一)概述
1.(A)为正确变量名
A)pro_5B)caseC)5_proD)else
2.(C)为正确的用户标识符。
A)min-5B)3_rowC)max_atD)union
3.下面叙述正确的是(C)
A)程序中必需包含自定义函数
B)main()函数必须位于源程序文件的开头
C)所有语句都必须以分号“;”结束
D)每行最多只能写两个语句
4.下面叙述错误的是(A)
A)注释说明部分只能位于C源程序的最前面
B)C源程序必须包含一个main()函数
C)C源程序可由一个或多个函数组成
D)一个C源程序的执行是从main()函数开始,直到main()函数结束
(二)语法基础
5.下面叙述错误的是(C)
A)算术运算符中不包含“=”运算符
B)模运算符“%”是C语言基本的算术运算符
C)算术运算符只有“*”,“/”优先级高于关系运算符
D)自增和自减运算符只能用于变量,而不能用于常量或表达式
6.下面叙述中正确的是(B)
A)(3+9)++是正确的表达式
B)C语言中的整型与字符型变量混合运算的结果是整型
C)模运算符“%”两边运算数的数据类型是任意的
D)“abc”+“xxx”是正确的表达式
7.若有定义:
inti=3,j=6;则表达式(--i)*(j++)的值为(A)。
A)12B)10C)18D)15
8.若有定义:
floatx=3.5,y=5.5;则表达式(B)的值为2.
A)(x+y)%7B)(int)(x+y)%7
C)(int)x+y%7D)int(x+y)%7
9若有定义intx=1,y=2,n=3;则(B)为正确表达式
A)x=nyB)x=y*3,y=(x+n)/y
C)(x+y)(y+n)D)float(y/n)
10若有定义:
inta,且表达式!
a的值为0,则表达式(BD)的值为1
A)!
(a<0||a>0)B)a!
=0C)a=0D)a==0
11若有定义:
inta=3,b=5,c=8;则表达式!
(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 C)x||(y+z&&y-z)D! ((x 18.若有定义: inta=6,b=7,k=0,t=1;语句(k=a 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 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)。 A)! B)=C)*D)> 27.若有定义: inta=3;语句a+=a-=a*a;运行后,a的值为() A)-12B)-3C)0D)-6 28.x的值在-20至-5之间为“真”,否则为“假”的正确逻辑表达式为() A)-20 C)! (x>-20)&&! (x<-5)D)x>-20&&x<-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”,&x); C)scanf(“%4.2f”,&x);D)scanf(“%f”,&x); 31.若有语句inta,charc; scanf(“%3d%c”,&a,&b); 为将整数135赋给a,字符’6’赋给c,正确的数据输入方式是()(说明 A)135 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.以下程序段运行结果是()。 ints=15; switch(s/4) {default: printf(“Over”); case1: printf(“One”); break; case2: 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; if(a>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;i<=3;i++)x+=2;与下列()程序段不等价。 A)i=1; for(;i<=3;){x+=2;i++;} B)for(i=1;i<=3;){x+=2;i++;} C)i=1; for(;;i++)x+=2; D)i=1; for(;i<=3;i++)x+=2; (四)数组 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;i<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的值为() inti=0,x=0; inta[3][3]={1,2,3,4,5,6,7,8,9}; for(;i<3;i++) x+=a[i][i]; A)12B)18C)0D)15 52.以下程序运行的结果是() intfun(intarray[3][3]) {intj; for(j=0;j<3;j++)array[1][j]++; printf(“\n”); } main() {intj,a[3][3]={0,1,2,1,0,4,2,4,5}; fun(a); for(j=0;j<3;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) A)putchar()函数B)printf()函数 C)scanf()函数D)getchar()函数 55.getchar()函数的功能是获取终端输入的(C)。 A)多个字符B)一个整形变量表达式 C)一个字符D)一个实型变量值 56.下面叙述正确的是(B) A)预处理命令也是C语句,必须以分号结束 B)宏展开不占用运行时间,只占用编译时间 C)一个源程序只能有一个预处理命令行 D)宏名必须用大写字母表示 57.下面叙述错误的是(D)。 A)C源程序中加入一些预处理命令是为了改进程序设计环境,提高编程效率 B)“#definePRICE30”命令的作用是定义一个与30等价的符号常量PRICE C)预处理命令行都必须以“#”开头 D)预处理命令行必须以分号结束 58.下面叙述错误的是(B) A)”#include B)预处理命令行必须以分号结束 C)C源程序中加入一些预处理命令是为了改进程序设计环境,提高编程效率 D)宏定义也是C语句,必须在行末加分号 59.以下程序运行结果是() #defineXa+b main() {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;} main() {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;i<=2;i++) fun(); } A)12B)11C)00D)01 69.以下程序段的运行结果是()。 inta=2,b=3; intmin(inta,intb) {intc; c=a a: b; returnc; } main() {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.以下程序运行的结果是() main() {chara[]=”137”,*p;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 补充