C语言选项.docx
- 文档编号:12273802
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:30
- 大小:24.03KB
C语言选项.docx
《C语言选项.docx》由会员分享,可在线阅读,更多相关《C语言选项.docx(30页珍藏版)》请在冰豆网上搜索。
C语言选项
C语言选项
1.若有说明语句:
inta;floatb;,以下输入语句正确的是()[单选题]*
A)scanf(“%f%f”,&a,&b);
B)scanf(“%f%d”,&a,&b);
C)scanf(“%d,%f”,&a,&b);(正确答案)
D)scanf(“%d,%f”,a,b);
2.执行以下程序:
inta;floatb;scanf(“a=%d,b=%f”,&a,&b);,欲将28和2、8分别赋给a和b,正确的输入方法是()[单选题]*
A)282、8
B)a=28,b=2.8(正确答案)
C)28,2.8
D)a=28b=2.8
3.下列标识符中,合法的用户标识符是()[单选题]*
A)abc(正确答案)
B)int
C)7_a
D)a+b
4.计算机唯一能识别的的语言是()[单选题]*
A)机器语言(正确答案)
B)汇编语言
C)高级语言
D)面向对象语言
5.下面关于解释程序和编译程序,正确的描述是()[单选题]*
A)解释程序和编译程序均能产生目标程序
B)解释程序和编译程序均不能产生目标程序
C)编译程序能产生目标程序,解释程序不能产生目标程序(正确答案)
D)编译程序不能产生目标程序,解释程序能产生目标程序
6.用计算机高级语言编写的程序一般称为()[单选题]*
A)目标程序
B)可执行程序
C)源程序(正确答案)
D)伪代码程序
1.以下选项中,不属于C语言的类型的是()[单选题]*
A)signedshortint
B)unsignedlongint
C)unsignedint
D)longshort(正确答案)
2.以下语句的输出结果是()
intu=010,v=0x10,w=10;
printf(“%d,%d,%d\n”,u,v,w);[单选题]*
A)8,16,10(正确答案)
B)10,10,10
C)8,8,10
D)8,10,10
3.下列4组数据类型中,C语言允许的一组是()[单选题]*
A)整型、实型、逻辑型、双精度型
B)整型、实型、字符型、空类型(正确答案)
C)整型、双精度型、布尔型、空类型
D)整型、实型、复型、字符型
4.以下关于float型变量和double型变量的描述,不正确的是()[单选题]*
A)double型变量精度更高
B)double型变量的取值范围更大
C)double型变量占用的存储空间更大
D)double型变量更常用(正确答案)
5.在C语言中,char型数据在内存中存储的是()[单选题]*
A)补码
B)反码
C)字形码
D)ASCII码(正确答案)
6.表达式5/2的值是()[单选题]*
A)2.5
B)2(正确答案)
C)3
D)1
7.设有如下定义:
inta;
floatf;
doublei;
则表达式10+a+i*f的值的数据类型为()[单选题]*
A)int
B)float
C)double(正确答案)
D)不确定
1.能表示数学式x A)(x B)(x C)(x D)(x 2.判断char型变量ch是否为大写字母的正确表达式是()[单选题]* A)‘A’<=ch<=‘Z’ B)(ch>=‘A’)&(ch<=‘Z’) C)(ch>=‘A’)&&(ch<=‘Z’)(正确答案) D)(‘A’<=ch)AND(‘Z’>=ch) 3.下列运算符中优先级别最高的是()[单选题]* A)< B)+(正确答案) C)&& D)! = 4.设intx=1,y=2;,则表达式(! x||y)的值是()[单选题]* A)0 B)1(正确答案) C)2 D)-1 5.当A为奇数时表达式的值为真,否则为假,不能满足此要求的表达式是()[单选题]* A)A%2==1 B)! (A%2==0) C)! (A%2)(正确答案) D)A%2 6.以下4个选项中,不能看作一条语句的是()[单选题]* A){;} B)a=0,b=0,c=0; C)if(a>0); D)if(b==0)m=1;n=2;(正确答案) 7.已知inta=10,b=20,c=30;,执行语句if(a>b)c=a;a=b;b=c;后,a、b、c的值是()[单选题]* A)a=10,b=20,c=30 B)a=20,b=30,c=30(正确答案) C)a=20,b=30,c=10 D)a=20,b=30,c=20 8.已知intx=5,y=5,z=5;,执行语句x%=y+z后,x的值是()[单选题]* A)0 B)1 C)5(正确答案) D)6 9.以下程序的输出结果是() #include voidmain() { inta=3,b=3,c=1; a=(b=4)+c; printf(“%d\n”,a); }[单选题]* A)3 B)4 C)5(正确答案) D)6 10.以下程序的输出结果是() #include voidmain() { inta=3,b=2,c=1; c=5? a++: b--; printf(“%d\n”,c); }[单选题]* A)2 B)3(正确答案) C)4 D)5 11.已知intx=(1,2,3,4);,变量x的值是()[单选题]* A)1 B)2 C)3 D)4(正确答案) 12、以下if语句不正确的是()[单选题]* A)if(i B)if(i==j)i=0,j++; C)if(i D)if(i! =j)i=j; 13、已知inta=5,b=6,c=3;,以下语句执行结果与其他3个不同的是()[单选题]* A)if(a>b)c=a,a=b,b=c; B)if(a>b){c=a,a=b,b=c;} C)if(a>b)c=a;a=b;b=c;(正确答案) D)if(a>b){c=a;a=b;b=c;} 14、已知inta=0,b=4;,下列语句中i++;语句能够执行的是()[单选题]* A)if(a)i++; B)if(a=b)i++;(正确答案) C)if(a>=b)i++; D)if(! (b-a))i++; 1.以下程序的执行结果是() #include voidmain() { intn=9; while(n>6) { n--; printf(“%d”,n); } }[单选题]* A)987 B)876(正确答案) C)8765 D)9876 2.下面叙述中正确的是()[单选题]* A)do-while语句构成的循环不能用其他循环语句替代 B)do-while语句构成的循环只能用break语句退出 C)do-while语句构成的循环,当条件表达式为0时退出循环(正确答案) D)do-while语句构成的循环,当条件表达式为非0时退出循环 3.下面有关for循环的正确描述是()[单选题]* A)for循环只能用于循环次数已经确定的情况 B)for循环是先执行循环体语句,后判断条件表达式 C)for循环中,不能用break语句跳出循环体 D)for循环的循环体可以包含多条语句,但必须用花括号括起来(正确答案) 4.对for(表达式1;;表达式3)可理解为()[单选题]* A)for(表达式1;0;表达式3) B)for(表达式1;1;表达式3)(正确答案) C)for(表达式1;表达式1;表达式3) D)for(表达式1;表达式3;表达式3) 5.以下正确的描述是()[单选题]* A)continue语句的作用是结束整个循环的执行 B)只能在switch语句体内使用break语句 C)在循环体内使用break和continue语句的作用相同 D)只能在循环体内和switch语句体内使用break语句(正确答案) 6.若intx=-1;,则while(! x)x=x+10;语句中循环体的执行次数为()[单选题]* A)1 B)0(正确答案) C)无数 D)2 7.对以下程序段,叙述正确的是() intx=-1; do { x=x*x; }while(! x);[单选题]* A)是死循环 B)循环体执行二次 C)循环体执行一次(正确答案) D)有语法错误 8、以下程序中,while循环的执行次数是() #include voidmain() { inti=0; while(i<9) { if(i<1)continue; if(i==4)break; i++; } }[单选题]* A)2 B)3 C)8 D)死循环(正确答案) 9.下面程序的运行结果是() #include voidmain() { intx=56; do { printf(“%d”,x--); }while(! x); }[单选题]* A)55 B)56(正确答案) C)不输出任何内容 D)陷入死循环 10.下面程序的运行结果是() #include voidmain() { intk=0; while(k<=2) { k++ printf(“%d\n”,k); } }[单选题]* A)1234 B)123(正确答案) C)12 D)1 11.下面程序段的内循环体要执行的次数是() for(i=5;i>0;i--) for(j=0;j<4;j++) {···}[单选题]* A)15 B)16 C)20(正确答案) D)25 12.下面程序的运行结果是() #include voidmain() { inti,sum; for(i=1;i<5;i++) sum+=i; printf(“%d\n”,sum); }[单选题]* A)15 B)14 C)不确定(正确答案) D)0 13.以下能正确计算10! 的程序段是()[单选题]* A)do{i=1;s=1;s=s*i;i++}while(i<=10);printf(“%d”,s); B)do{i=1;s=0;s=s*i;i++}while(i<=10);printf(“%d”,s); C)i=1;s=1;do{s=s*i;i++}while(i<=10);printf(“%d”,s);(正确答案) D)i=1;s=0;do{s=s*i;i++}while(i<=10);printf(“%d”,s); 14.下列语句中,能正确输出26个英文字母的是()[单选题]* A)chara;for(a=‘a’;a<=‘z’;)printf(“%c”,++a); B)chara;for(a=‘a’;a<=‘z’;)printf(“%c”,a); C)chara;for(a=‘a’;a<=‘z’;)printf(“%c”,a++);(正确答案) D)chara;for(a=‘a’;a<=‘z’;printf(“%c”,a)); 15.以下描述中正确的是()[单选题]* A)do-while循环中,循环体内不能使用复合语句 B)do-while循环由do开始,至while结束,在while(表达式)后面不能写分号 C)在do-while循环中,循环体至少执行一次(正确答案) D)在do-while循环中,根据情况可以省略while 16.已知: intt=0; while(t=1) {···} 则以下叙述正确的是()[单选题]* A)循环控制表达式的值为0,不执行循环体 B)循环控制表达式的值为1,执行循环体(正确答案) C)循环控制表达式不合法 D)以上说法都不对 17.语句while(! E){···}中表达式! E等价于()[单选题]* A)E==0(正确答案) B)E! =1 C)E! =0 D)E==1 18.下面程序的运行结果是() #include voidmain() { intn=0; while(n++<=2); printf(“%d\n”,n); }[单选题]* A)2 B)3 C)4(正确答案) D)有语法错误 19、下面程序的运行结果是() #include voidmain() { inti; for(i=2;i==0;) printf(“%d”,i--); }[单选题]* A)0 B)1 C)2 D)无输出(正确答案) 1.对赋值语句intb[10]={1,2,3,4,5};的正确理解是()[单选题]* A)将5个初始值依次赋给b[1]至b[5] B)将5个初始值依次赋给b[0]至b[4](正确答案) C)将5个初始值依次赋给b[6]至b[10] D)因为数组长度与初值的个数不相同,所以此语句不正确 2.C语言的字符串以()结尾[单选题]* A)‘1’ B)‘\0’(正确答案) C)'\n’ D)字符串长度 3.下面不正确的字符串常量是()[单选题]* A)‘abc’(正确答案) B)“1212\n” C)“0” D)“” 4.若有说明: inta[10];,则对a数组元素的正确引用是()[单选题]* A)a[10] B)a[3、5] C)(a)(5) D)a[10-10](正确答案) 5.已知: inta[1,2,3,4]: 若int型变量占4个字节,则数组a在内存中所占的字节数是()[单选题]* A)16 B)20 C)40(正确答案) D)不变 6.以下不正确的定义语句是()[单选题]* A)doublea[5]={1、0,2、0,3、0,4、0,4、0,}; B)inta[5]={0,1,2,3,4,5};(正确答案) C)charc[]={‘1’,‘2’,‘3’,‘4’,‘5’} D)charc[]={‘\x18’,‘\x3a’,‘\x18’}; 7.已知: intb[3][3]={1,2,3,4,5,6,7,8,9};,则数组a第一维的大小是()[单选题]* A)4 B)5 C)6 D)3(正确答案) 8、以下选项中,不能正确赋值的是()[单选题]* A)chara[]=“Bejing”; B)chara[30]={“Beijing”}; C)chara[30];a=“Beijing”;(正确答案) D)chara[30]={‘B’,‘e’,‘i’,‘j’,‘i’,‘n’,‘g’}; 9、以下定义语句,错误的是()[单选题]* A)inta[5]={1}; B)intc[]={1,2,0,0,0}; C)intb[3+3]; D)inti=5,a[i];(正确答案) 10、若有定义: inta[3][4];,则以下对数组a元素的引用错误的是()[单选题]* A)a[2][3*1] B)a[1][2] C)a[3-2][0] D)a[1][4](正确答案) 11、以下不能正确定义二维数组的选项是()[单选题]* A)intb[2][2]={{3},{4}}; B)intb[][2]={2,5,3,4}; C)intb[2][2]={{1,2},{2,3}}; D)intb[2][]={{1,2},{3,4}};(正确答案) 12、判断字符串x是否大于字符串y,应当使用()[单选题]* A)if(x>y) B)if(strcmp(x,y)) C)if(strcmp(y,x)>0) D)if(strcmp(x,y)>0)(正确答案) 13、将字符串b链接到字符串a之后,应当使用()[单选题]* A)strcpy(a,b); B)strcat(b,a); C)syrcat(a,b);(正确答案) D)strcmp(b,a); 14、设有定义: chara[10];,要想从键盘输入仪的字符串给a,应使用()[单选题]* A)scanf(“%c”,a) B)gets(a)(正确答案) C)a=gets(a) D)puts(a) 15、以下程序输出结果是() #include #include voidmain() { charstr[12]={‘C’,‘h’,‘i’,‘n’,‘a’}; printf(“%d\n”,strlen(str)); }[单选题]* A)5(正确答案) B)6 C)10 D)12 [单选题]* A)3080 B)1570(正确答案) C)2430 D)输出值不定 17、以下程序输出结果是() #include voidmain() { inti,b[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) printf(“%d”,b[i][i]); }[单选题]* A)268 B)369 C)159(正确答案) D)157 1、以下叙述错误的是()[单选题]* A)C程序必须有一个或多个函数组成 B)函数调用可以作为一条独立的语句 C)函数形参值得改变一定会影响到其所对应的实参的值(正确答案) D)若函数有返回值,则需要通过return语句返回 2.以下函数中叙述正确的是()[单选题]* A)函数定义不能嵌套,但函数调用可以嵌套(正确答案) B)函数的定义和调用都能嵌套 C)函数定义可以嵌套,但函数调用不可以嵌套 D)函数的定义与调用都不能嵌套 3.以下所列的个函数首部中,正确的是()[单选题]* A)doublef(inta,intb)(正确答案) B)doublef(inta;intb) C)doublef(inta,intb); D)doublef(inta,b); 4.C程序中函数如果没有返回值,则定义是该函数的返回值类型设为()[单选题]* A)void(正确答案) B)int C)float D)double 5.以下关于return语句的叙述中,正确的是()[单选题]* A)一个自定义函数中必须有一条return语句 B)一个自定义函数中可以根据需要设置多条return语句(正确答案) C)定义成void类型的函数中可以有带返回值的return语句 D)没有return语句的自定义函数在执行结束后不能返回到调用处 6、如果实参为变量,则它与形参之间的数据传递方式是()[单选题]* A)地址传递 B)从实参到形参的单向值传递(正确答案) C)由用户指定传递方式 D)实参值传给形参,形参值再传回给实参 7、函数和变量的定义如下: voidf(intm,doublen) {、、、} intx=5,k; doubley=2、4; 则正确的函数调用语句是()[单选题]* A)f(intx,doubley); B)f(x,y);(正确答案) C)k=f(5,2、4); D)voidf(x,y); 8、若用数组名作为函数实参,则传递给形参的是()[单选题]* A)数组的第一个元素的值 B)数组的首地址(正确答案) C)数组全部元素的值 D)数组元素的个数 9、以下对函数形参的说明有语法错误的是()[单选题]* A)inty(floatx[],intn) B)inty(intx,intn) C)inty(floatx,n)(正确答案) D)inty(floatx,intn) 10、以下程序有语法错误,有关错误原因的正确说法是() voidmain() { intF=5,k; voidf_c(); k=f_c(F); } voidf_c(intx) {、、、}[单选题]* A)函数声明和函数调用语句之间有矛盾(正确答案) B)变量名不能使用大写字母 C)语句voidf_c();是函数调用语句,不能用void说明 D)函数名不能使用下划线 11、关于函数声明,不正确的说法是()[单选题]* A)如多函数定义出现在函数调用之前,则可以省略函数说明 B)如果调用之前已在主调函数外部进行了函数声明,则调用时不必在做函数声明 C)标准库函数只需要包含相应的头文件即可,不需要再进行函数声明 D)自定义函数在调用之前,必须进行函数声明,否则编译会出错(正确答案) 12、未指储存类型的局部变量,其存储类型默认是()[单选题]* A)auto(正确答案) B)static C)extern D)register 13、以下叙述不正确的是()[单选题]* A)在不同函数中可以使用相同的变量名 B)形式参数是局部变量 C)在函数定义的变量只在本函数内有有效 D)在函数内复合语句中定义的变量在本函数内有效(正确答案) 1.已知: int*p,a;,则语句p=&a;中运算符“&”的含义是()[单选题]* A)逻辑与运算符 B)位与运算 C)取指针内容 D)取变量地址(正确答案) 2.已知: inti,j=7,*p,则与i=j;等价语句是()[单选题]* A)i=*p; B)*p=j;(正确答案) C)i=&j; D)i=**p; 3.已知: int=5,j;j=f(&i);,则以下函数f的返回值是() intf(int*p) { return*p }[单选题]* A)形参p中存放的值 B)不确定的值 C)一个整数(正确答案) D)形参p的地址 4.已知: inta[10],*p=a;,以下对数组元素的引用正确的是()[单选题]* A)a[p] B)p[a] C)*(p+2)(正确答案) D)p+2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 选项