ImageVerifierCode 换一换
格式:DOCX , 页数:59 ,大小:47KB ,
资源ID:12188842      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12188842.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c语言选择题解题思路.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c语言选择题解题思路.docx

1、c语言选择题解题思路语法基础12.正确的用户标识符是(B)A.3f 标识符不能以数字开头B._for C.struct 不能使用关键字D._f.5 标识符只能包括字母,数字和下划线,不能包括.14.正确的常量(D)A.E-5 指数记数法e前必须有数字B.1E5.1 指数记数法e后的数字必须是整数C.a12 字符常量是单引号括起来的单个字符D.32766L15.正确的变量名(D)A.a.bee 标识符只能包括字母,数字和下划线,不能包括.B.-p11 标识符只能包括字母,数字和下划线,不能包括-C.int 不能使用关键字D.p_1116.正确的字符常量(C)A.“c” 字符常量应由单引号括起来B

2、. 非法字符常量C.WD.“32a” 字符常量应由单引号括起来17.不正确的字符串常量(A)A.abc 字符串常量应由双引号括起来B.“1212” C.“0”D.“”19.正确的浮点数(B)A.e3 指数记数法e前必须有数字B.62 C语言中,小数点前如果是0可以省略C.2e4.5 指数记数法e后的数字必须是整数D.123 是整型,不是浮点数 20.不属于C语言关键字的是(B)A.continue 结束本次循环B.integerC.static 静态变量声明,内部函数声明D.signed 有符号23.正确的赋值表达式是(A)A.a-=(a*3)B.double(-a) 强制类型转换时,类型名应

3、加括号,(double)(-a)为正确表达式C.a*3 该表达式正确,但是是算术表达式,不是赋值表达式D.a*4=3 赋值号左边只能是变量,不能是表达式24.x=(a=3,b=+a)运行后,x,a,b的值依次为(C)A.3,3,4 B.4,4,3 C.4,4,4 D.3,4,3x=(a=3,b=+a(执行后a=4,b=4) = 425.a=(3/4)+3%2运行后a的值为(B)A.0 B.1 C.2 D.3(3/4)+3%2 = 0+1 =126.符合C语言语法的语句是(C)A.int a+b=c; 赋值号左边只能是变量,不能是表达式B.int a=12:b=12:c=12; 同类型变量应使用

4、逗号隔开C.int a=12,b=12,c=12;D.int a,b=12,float c=21; 不同类型变量的定义必须分为两条语句,用分号隔开27.若有定义:int x,a;则语句x=(a=3,a+1)运行后,x,a的值依次为(C)A.3,3 B.4,4 C.4,3 D.3,4x=(a=3,a+1(执行后a=3)=4 28.符合C语言语法的表达式是()A.a=8+b+c,a+B.a=a3C.int(12.3%4) 强制类型转换时,类型名应加括号,(int) (12%4)为正确表达式D.a=a+1=c+b 赋值号左边只能是变量,不能是表达式29.若为定义:int a,b;double x;则

5、不符合C语言语法的表达式是(A)A.x%(-3) %运算符两个运算对象必须是整型,x为double型不符合语法规则B.a+=-2C.a=b=2D.x=a+b30.若有定义:int x=2,y=3;float I;符合C语言语法的表达式是(BA.x=x*3=2 赋值号左边只能是变量,不能是表达式B.x=(y=1)C.i=float(x) 强制类型转换时,类型名应加括号,(float) (x)为正确表达式D.i%(-3) %运算符两个运算对象必须是整型,i为float型不符合语法规则31.若有定义:int x;则语句x=(2*3)+6%5;运行后,x的值是(B)A.8 B.7 C.6 D.6.5(

6、2*3)+6%5 = 6+1 = 732.错误的是(A)A.可以用const关键字定义变量 const用于定义常量B.在C程序中,SUM和sum是不同的变量C.变量名必须由字母或下划线开头D.变量的类型确定了变量的取值范围33.若有定义:int x=5,y=6;则表达式x=(y=6)的值为(B)A.5 B.1 C.6 D.0x=(y=6) = x=(6=6) = x=1 = 134.下面叙述正确的是(B)A.2/3与2.0/3.0等价 2/3是整数除,值为0,2.0/3.0是实数除,值为0.666B.(int)2.0/3与2/3等价C.+5与6等价 +5是错误的C表达式D.A与“A”等价 A是

7、字符常量,“A”是字符串,不等价36.叙述正确的是(A)A.强制类型转换运算的优先级高于算术B.若a和b是整型变量,(a+b)+是合法的 (a+b)+是错误的C表达式C.A*B是不合法的 合法,等价于65*66D.“A”+“B”是合法的 不合法,字符串表示地址,地址不能进行+运算37.若有定义:int i=1,j=5;则表达式(+j)*(i-)的值为(C)A.1 B.0 C.6 D.7 (+j)*(i-) = 6*1 = 638.设整型变量a为5,使b不为2的表达式是(C)A.b=(+a)/3 (+a)的值为6,(+a)/3的值2B.b=6-(-a) (-a)的值为4,6-(-a)的值为2C.

8、b=a%2 a%2的值为1D.b=a/2 a/2的值为2 39.若有定义:int a=1,b=2,c=3;则语句+a|+b&+c;运行后b的值为(C)A.1 B.0 C.2 D.3+a|+b&+c = 2|+b&+c = 1,因此b,c不变40.若有定义:int i,j;则表达式(i=2,j=5,i+,i+j+)的值是(B)A.7 B.8 C.9 D.10(i=2,j=5,i+(执行后i=3),i+j+) = 841.若有定义:int a,b;则表达式(a=2,b=5,a*2,b+,a+b)的值是(B)A.7 B.8 C.9 D.10(a=2,b=5,a*2(执行后a=2),b+(执行后b=6

9、),a+b) =842.若有定义:int i=2,j=5;则表达式(i+1,j+1,(+i)+(j-)的值为(A)A.8 B.6 C.7 D.5(i+1(执行后i=2),j+1(执行后j=5),(+i)+(j-) = 843.若有定义:int i=3,k;则语句k=(i-)+(i-);运行后k的值为(C)A.4 B.5 C.6 D.7先使用再-,因此k=(i-)+(i-)=3+3=645.若己定义:float m;拟从键盘输入135.78这一数据变量给变量m,则应选用的语句是(D)A.scanf(“%5.2f”,&m); scanf中不能使用精度B.scanf(“%3.2f”,&m); C.s

10、canf(“%6.2f”,&m); D.scanf(“%6f”,&m); 46.己知double a;使用scanf函数输入一个数值给变量a,正确的函数调用是(D)A.scanf(“%ld”,&a); %ld,应输入long int型B.scanf(“%d”,&a); %d,应输入int型C.scanf(“%7.2f”,&a); %f,应输入float型,该选项中.2错误,不能使用精度D.scanf(“%lf”,&a); 47.己知char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是(B)A.scanf(“%d”,&a); B.scanf(“%lf”,&a);C.sca

11、nf(“%c”,&a);D.scanf(“%u”,&a);字符变量以ASCII码存储于内存,ASCII码为数值,可使用整型输入,因此%d,%u也适用于字符型变量49.以下程序段运行后的输出结果是(D)int k=11;printf(“k=%d,k=%o,k=%xn”,k,k,k);A.k=11,k=13,k=cB.k=11,k=12,k=13C.k=11,k=11,k=bD.k=11,k=13,k=b%d为十进制,因此输出10,%o为八进制,因此输出13,%x为十六进制,因此输出b50.若有定义:int x=1234,y=123,z=12;则主事句printf(“%4d+%3d+%2d”,x,

12、y,z);运行后的输出结果为(D)A.123412312B.12341234123412341231231231212C.1234+1234+1234D.1234+123+12%4d,以4的宽度输出x,即输出1234,+号原样输出,%3d,以3的宽度输出y,即输出123,+号原样输出,%2d以2的宽度输出z,即输出12。因此输出结果为1234+123+1251.int a;char c1,c2;scanf(“%d%c%c”,&a,&c1,&c2);若要求a,c1,c2的值分别为10,A,B,正确的数据输入是(A)。A.10ABB.10 A BC.10A BD.10 AB%c会接收空白字符(如空

13、格,TAB和回车),因此输入10后应输入AB,不需要加任何空格52.int a=0,b=0,c=0;if(a&+b) c+;printf(“%d,%dn”,b,c);以上程序运行结果是(A)A.0,0 B.1,2 C.2,2 D.1,2逻辑表达式a&+b中,先执行a为0即为假,由于不完全计算,&左边为假即得整个表达式为假,因此+b没有执行。if的表达式为假,因此c+不执行。b,c无变化,运行结果为0,053.以下程序的运行结果是(D)int a=65;char c=A;printf(“%x,%d”,a,c);A.65,a B.41,a C.65,65 D.41,65%x以十六进制输出变量a中的

14、值,即十进制65转为十六进制41后输出%d以十进制输出变量c中的值,即A转为十进制65(65即A的ASCII码值)后输出。54.若己定义:int a=5;float b=63.72;以下语句中能输出正确值的是(B)A.printf(“%d %d”,a,b);B.printf(“%d %.2f”,a,b);C.printf(“%.2f %.2f”,a,b);D.printf(“%.2f %d”,a,b); a为整型,应使用格式说明符%d,b为float型,应使用格式说明符%.2f55.运行以下程序段时编译出错,其原因是(B)char c1=8,c2=2008;printf(“%c,%dn”,c1

15、,c2);A.c2是字符变量,只能赋以字符常量,不能赋以字符串常量(2008不是字符串常量)B.字符串要用“2008”表示,而2008不是字符串表示C.2008只能赋值给字符数组(2008是错误表达式)D.字符变量不能用%d格式输出(可以使用%d输出)56.若己定义:int a=3,b=15,c;则语句c=ab;运行后c的值为(B)A.1 B.0 C.t. D.f.ab(315)的值为假,假即为0,因此c=ab,c=058.若己定义:int a=-36,b=-30,c;则语句c=ab;运行后c的值为(A)A.1 B.t. C.0 D.f.ab = -36=y=500的C语言表达式是(A)A.(

16、y=500) B.(y=500) 没有AND这个关键字C.800=y=500 此表达式等价于(800=y)=500D.(y=500) &为按位与,应为逻辑与&60.若有定义:int x=3,y=4;则表达式!x|y的值为(A)A.1 B.0 C.3 D.4!x|y = !3|4 = 0|1 =161.若有定义:int i=7.j=8;则表达式i=j|i=j|i=8|78 = 0|1 = 162.若希望当a的值为奇数时,表达式的值为真,a的值为偶数时,表达式的值为假。则不能满足要求的表达式是(C)A.a%2=1 B.!(a%2=0) C.!(a%2) D.a%2可对每个表达式代入某个特定的数进行

17、验证,假若代入奇数3A中3%2=1为真,符合题目要求B中!(3%2=0)为真,符合题目要求C中!(3%2)为假,不符合题目要求D中3%2为真,符合题目要求63.若有定义:int x=3,y=4,z=5;则值为0的表达式是(D)A.x&y 120&121 = 1B.x=y 3=4 = 1C.x|y+z&y-z 3|y+z&y-z = 1D.!(xy)&!z|1) !(xy)&!z|1) = !1 =064.若有定义:int a=5,b=2,c=1;则表达式a-bc|b=c的值是(A)A.0 B.1 C.2 D.-15-21|2=1 = 0|0 =0 65.C语言中,能正确表示条件10x20的逻辑

18、表达式是(D)A.10x10|x10&10)&(x20)66.以下运算符优先级最低的是(D)P408A. D.|67.己知double a=5.2;则正确的赋值表达式是(A)A.a+=a-=(a=4)*(a=3)B.a=a*3=2 赋值号左边只能是变量,不能是表达式C.a%3 %运算符两个运算对象必须是整型,a为double型不符合语法规则D.a=double(-3) 强制类型转换时,类型名应加括号,(double) (-3)为正确表达式68.己知char a=R;则正确的赋值表达式是(A)A.a=(a+)%4B.a+2=3 赋值号左边只能是变量,不能是表达式C.a+=256 256为错误的C

19、表达式D.a=078 错误C字符常量 69.己知int a=R;则正确的表达式是(A)A.a%10B.a=int(3e2) 强制类型转换时,类型名应加括号,(double) (-3)为正确表达式C.2*a=a+ 赋值号左边只能是变量,不能是表达式D.a=a+a=a+3 赋值号左边只能是变量,不能是表达式70.设有语句float x=3.0,y=3.0;使x值为6.0的表达式是(D)A.x*=y-4 x=x*(y-4)=3*(-1)=-3B.x*=y x=x*y=9C.x-=y+4 x=x-(y+4)=3-7=-4D.x+=y x=x+y=671.若有定义:float x=3.5;int z=8

20、;则表达式x+z%3/4的值为(B)A.3.75 B.3.5 C.3 D.4x+z%3/4 = 3.5+8%3/4 =3.5+2/4 = 3.5+0=3.572.设有语句int x=3,y=3,a=1,b=2;表达式(x=ab)&(y=ba)的值是(D)A.8 B.1 C.5 D.0(x=ab)&(y=ba) = (x=12)&(y=21) = (x=0)&(y=1) = 0&1 =073.若有定义:int a=2,b=3;float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值是(A)。A.3.5 B.3.0 C.2.5 D.2.0(float

21、)(a+b)/2 = (float)5/2 = 5.0/2 = 2.5(int)x%(int)y = (int)3.5%(int)2.5 = 3%2 = 174.若有定义:int b=7;float a=2.5,c=4.7;表达式a+(b/2*(int)(a+c)/2)%4的值是(C)A.2.5 B.3.5 C.4.5 D5.5a+(b/2*(int)(a+c)/2)%4 = a+(7/2*(int)(a+c)/2)%4 = a+(3*(int)(a+c)/2)%4 =a+(3*7/2)%4 = a+(21/2)%4 = a+(10)%4 = 2.5+2 =4.575.若有定义:int a=6

22、,b=2;char c1=a,c2=b;则表达式a+b%5+c2-c1的值是(C)A.7 B.8 C.9 D.表达式错误a+b%5+c2-c1 = a+2%5+c2-c1 = 6+2+98-97 = 9控制结构78.输入10,输出结果是(D)int a;scanf(“%d”,&a); /输入后a的值为10if(a+10) /比较1010为假,比较完后执行a+,执行后a的值为11printf(“%dn”,a);elseprintf(“%dn”,+a); /先执行+a,得出a的值为12后输出A.2 B.11 C.3 D.1279.以下程序的运行结果是(B)int x,y=1,z;z=-1;if(z

23、=0) /z=0值为假z=-z;elsex=y0?3:5; / y0?3:5,y0值为真,取3printf(“%dn”,x);A.-1 B.3 C.1 D.580.对于整型变量x,下述if语句与赋值语句:x=x%2=0?1:0;不等价(B)A.if(x%2!=0) x=0;else x=1;/代入奇数3,x取0,等价B.if(x%2) x=1;else x=0;/代入奇数3,x取1,不等价C.if(x%2=0) x=1;else x=0;D.if(x%2=1) x=0;else x=1;x=x%2=0?1:0 x是偶数时取1,x是奇数时取081.以下程序段运行的结果是(C) int a,b,c

24、,x; a=b=c=0;x=15; if(!a) x-; /!a = !0 =1为真,执行x-,执行后x=14 else if(b); if(c) x=3; /c值为0 即为假 else x+=4; /执行后x=18 printf(“%dn”,x);A.15 B,17 C.18 D.1982.若有定义:int a=1,b=2,c=3;则执行以下程序段后a,b,c的值分别为(D) if(a=6) /先使用再加,5=6为假,接着执行n+,执行完n的值为6printf(“%dn”,n);else printf(“%dn”,+n); /执行+n后n的值为7后输出A.4 B.5 C.6 D.788.若有

25、定义:int a=1,b=2,c=3;运行后c的值为(D)if(ab) /12为假c=a*b;else c=a-b; /c=1-2=-1A.2 B.0 C.1 D.-189.若有定义:int x;以下不会产生死循环的是() 死循环:循环条件永远为真A.for(;(x=getchar()!=n;);B.while(1) x+;C.for(i=10; ;i+);D.for(; ;x+=1); 91.count+=2运行次数为(B)int I,j,count=0;for(i=1;i=4;i+)for(j=1;j=i;j+) count+=2;printf(“%d”,count);A.8 B.10 C

26、.16 D.20 93.循环体运行次数(B) int i=10,x; for(;i10;i+) x=x+i;A.10 B.0 C.1 D.无限i10 = 1010 循环条件为假,不进入循环体,因此循环体运行次数为094.变量n的值(D)int i=1,n=1;for(;i3;i+) continue;n=n+i;continue语句作用为结束本次循环,继续下次循环,n=n+i未执行,n值不变95.输出结果(A)int i;for(i=0;i3;i+)switch(i) case 1:printf(“%d”,i); case 2:printf(“%d”,i);default: printf(“%

27、d”,i);A.011122 B.01222 C.012020 D.120运行步骤:i0 switch(0) 入口为default,执行printf(“%d”,i);即输出01 switch(1) 入口为case 1,执行printf(“%d”,i); printf(“%d”,i); printf(“%d”,i);即输出1112 switch(2) 入口为case 2,执行printf(“%d”,i); printf(“%d”,i);即输出2296.运行结果(C)int sum=0,item=0;while(item=6) break;printf(“%dn”,sum);A.10 B.15 C.6 D.7

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1