国家二级C语言机试(C语言基础知识)模拟试卷23_第1页
国家二级C语言机试(C语言基础知识)模拟试卷23_第2页
国家二级C语言机试(C语言基础知识)模拟试卷23_第3页
国家二级C语言机试(C语言基础知识)模拟试卷23_第4页
国家二级C语言机试(C语言基础知识)模拟试卷23_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国家二级C语言机试(C语言基础知

识)模拟试卷23

一、选择题(本题共30题,每题1.0分,共30分。)

1、若变量均已正确定义并赋值,以下合法的c语言赋值语句是

A、x=n%2.5;

B、x+n-i:

C>x=5=4+l;

D、x=y==5;

标准答案:D

知识点解析:选项D的含义是把关系表达式y=5的值赋给变量x。所以这是一条正

确的赋值语句。因为赋值运算符左侧的操作数必须是一个变量,而不能是表达式或

者常量.因为求余运算符“%”两侧的运算对象都应当是整型数据.

2、若有定义语句:inta=3,b=2,c=l;以下选项中错误的赋值表达式是

A、a=b=c+1;

a=(b=4)=3:

C、a=(b=4)+c;

D、a=l+(b=c=4);

标准答案:

知识之解析B:本题主要考查赋值表达式,对于赋值表达式来说,赋值号』”的左边

一定为变量名,右边为一个C语言合法的表达式。

3、表达式a+=a-=a=9的值是

A、.9

B、0

C、18

D、9

标准答案:B

知识点解析:第一步a=9,然后计算a-a的值,并将此值赋给a,因此此时a=0,最

后计算a+a,并将此值赋给a,因此最终结果为0。

4、若有以下程序#includemain(){inla二一11,b=10;a/=b/=-4;printf("%d%d

\n",a,b);}则程序的输出结果是

A、-1.2

B、5-2

C、4-3

D、5-3

标准答案:B

知识点解析:对于语句“a/=b/=4;”相当于“a=a/(b于/句);'匕初值为-11,b的

初值为10,则运算以后10/-4值为-2,-11/-2值为5。

5、以下叙述中正确的是

A、在赋值表达式中,赋值号的右边可以是变量,也可以是任意表达式

B、a是实型变量,a=10在C语言中是允许的,因此可以说:实型变量中可以存放

整型数

C、若有inta=4,b=9;执行了a=b后,a的值已由原值改变为b的值,b的值变为

0

D、若有inta=4,b=9;执行了a=b;b=a;之后,a的值为9,b的值为4

标准答案:A

知识点解析:选项B中a=10,在赋值时会把10自动转换为double类型然后赋值,

实型变量中不可能存放整型。而选项C中执行a=b后,b的值不变还是9,选项D

中执行"a=b;b=a;”后,a的值为9,b的值也为9c

6、有以下程序,程序运行后的输出结果是#inch】demain(){inta=3:printf(M%d\

n",(a+=a-=a*a));}

A、9

B、0

C、3

D、-12

标准答案:D

知识点解析:对于表达式“a+=a-=a*a”相当于“a=a-(a*a)”,然后计算“a=a+a",a的初

值为3,则表达式的值为-12。

7、若有定义和语句:inta,b;scanf(u%d,%d,7&a,&b):以下选项中的输

入数据,不能把值3赋给变量a、5赋给变量b的是

A、3,5

B、3,5,

C、3,5

D、3,5,4

标准答案:C

知识点解析:在格式控制字符串中插入其他字符,则在输入的时候应该据实加入到

输入流中,不能随意加入空格等,否则无法得到正确的输入结果。

8、有以下程序,程序运行后的输出结果是main(){intm=12,n=34;printf("%d%

d”,m++,++n);printf("%d%d\n”,n++,++m):)

A、12353514

B、123535i3

C、12343514

D、12343513

标准答案:A

知识点解析:本题主要考查自加运算符,自加运算符++在变量前表示先增加然后

再使用,++在变量后表示先使用然再增加。本题中,第一个primf语句m++表示先

输出m的值,然后m增加1,因此首先输出的是12,然后m的值变成13,++n表

示n首先增加1变成35然后输出,因此输出的是35;在第二个primf。语句中,

n++是先输出n的值然后增加,即输出35,n的值变为36,++m表示先增加m的

值再输出,m的值由13变成14,故最后输出的是14。

9、在16位编译系统上,若有定义“inta[]={10,20.30},*p=a;",当执行

“p++;”后,下列说法错误的是

A、p向高地址移了一个字节

B、p向高地址移了一个存储单元

C、p向高地址移了两个字节

D、p与a+1等价

标准答案:B

知识点解析:本题考查数组和数组指针。a是一个整型数组,p指针指向a数组,

即p指向a数组的首元素的地址,因此p十十之后,p往高地址移动,指向首元素后

面一个元素的地址。

10、设有定义:intx=2:以下表达式中,值不为6的是

A、2*x,x+=2

B、x++,2*x

C^x*=(l+x)

D、x*=x+l

标准答案:A

知识点解析:本题考查逗号表达式.逗号表达式的求解过程是:先求解表达式I.

再求解表达式2,整个逗号表达式的值是表达式2的值,因此,选项A中值为4;

选项B中,值为6。选项C中x*=x+l等价于x=x+[x+l),所以等于6:选项D与

选项C等价,结果也为6。

II、有以下程序,程序运行后的输出结果是用ncludemain。{是x,y,z;x=y=1;

z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}

A、2,3,I

B、2,3,2

C、2,3,3

D、2,2,1

标准答案:A

知识点解析:在程序中,整型变量x、y的初值都为1,赋值语句“z=x++,y++,

++y”右边的“x++,y++,Hy”是一个逗号表达式,所以逗号表达式的值++y的值。

执行逗号表达式“x++,y++,++y”后,x的值为2,y的值为3,z取逗号表达式的

值,为1。

12、若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是

A、++x,y=x—

B、x+l=y

C^x=x+10=x+y

D、double(x)/10

标准答案:A

知识点解析:用逗号将表达式连接起来的式子称为逗号表达式。其表达式的一•般形

式为:表达式1,表达式2,……,表达式n。最后一个表达式的值就是此逗号表

达式的值。所以选项A为C语言中的逗号表达式。赋值表达式的左侧只能是变

量,不能是常量或表达式。强制类型转换表达式的形式为:(类型名)(表达式),其

中(类型名)称为强制类型转换运算符,数据类型两边的圆括号不能省略。

13、设有定义:intk=0;以下选项的四个表达式中与其他三个表达式的值不相同

的是

A、k++

B、k+=l

C、++k

D、k+1

标准答案:A

知识点解析:因为题中有语句“intk=0;”,所以选项B、C)、D)都是对k的值加

1,选项A的语句k++表示先利用k的值进行运算,然后k值才加lo

14、若有以下程序,则程序的输出结果是#ineludemain(){inta=0,b=0,c=0;

c=(a-=++a)»(a+=b»b+=4);printf("%d,%d,%d\n",a,b,c);)

A、0,4,4

B、1,4,1

C、0,4,0

D、1,4,4

标准答案:C

知识点解析:表达式c=(a-二++a),(a+=b,b+=4)相当于逗号表达式,首先计算

c=(a-=++a),其中(a・=++a)等价于a=a-(++a),得到a的值0,c的值为0,在计算

(a+=b,b+=4)时,a和b的初值为0,计算以后,a为0,b为4。

15、若有以下程序程ncludemain(){inta=0,b=0,c=0c=(a+=++b,b+=4);

printfC%d,%d,%d\n”,a,b,c);}则程序的输出结果是‘

A、1,5,1

B、-1,4,4

C、1,5,5

D、-1,4,-1

标准答案:C

知识点解析:对于语句“c=(a+=++b,b+=4);”首先计算“a=a+(++b)”,a,b初值为

0,则计算以后a为1,b为1,然后计算b+=4,得到b的值为5,此时表达式

b+=4的值为整个逗号表达式的值,因此c的值为5。

16、有以下程序,程序的输出结果是main(){intsum,pad,pAd:sum=Pad=5;

pAd=++sum,pAd++,++pad;printf("%d\n",pad):}

A、5

B、7

C、8

D、6

标准答案:D

知识点解析:有逗号表达式构成的语句“pAd=++sum,pAd++,++pad;”主要从左

到由连续运算,因此pad的值为6。注意pad和pad的是不同的变量。

17、若有定义“intx,y;”并已正确给变量赋值,则以下选项中与表达式“(x—

y)?(x++):(y++)”中的条件表达式(x・y)等价的是

A、(x-y<0)

B、(x-y>0)

C、(x-y<0IIx-y>0)

D、(x-y==0)

标准答案:D

知识点解析:条件表达式的形式如下:表达式1?表达式2:表达式3。其含义为当

“表达式「'的值为非零时,求出“表达式2”的值,此时“表达式2”的值就是整个条件

表达式的值;当“表达式1”的值为零时,则求“表达式3”的值,这时“表达式3”的值

就是整个表达式的值。本题条件表达式的执行顺序是先求解表达式“x-y”的值,若

其值为非0(可以是正数,也可以是负数),则再求表达式“x+十”的值,其值就是条件

表达式的值:若表达式“x-y”的值为0,则再求表达式的值,其值就是条件表

达式的值。

18、以下选项中,当x为大于1的奇数时,值为。的表达式是

x/2

B、x%2!=0

C、x%2=0

D、x%2==l

标准答案:C

知识点解析:由于x为大于1的奇数,因此x%2取余的值为1,和0不相等。

19、以下叙述中正确的是

A、关系运算符两边的运算对象可以是C语言中任意合法的表达式

B、在C语言中,逻辑真值和假值分别对应1和0

C、对于浮点变量x和y,表达式:x==y是非法的,会出编译错误

D、分支结构是根据算术表达式的结果来判断流程走向的

标准答案:A

知识点解析:C语言中没有逻辑类型,用非零表示爱辑真。0表示逻辑假,选项B

错误,无法判断两个浮点变量是否相等,但是X==y不会出现编译错误,选项C错

误,分支结构根据表达式的值,不一定为算术表达式,选项D错误。

20、以下叙述中正确的是

A、a表示一个字符常量

B、'\0,表示字符0

C、表达式:句>力,的结果是''假"

D、,\…是非法的

标准答案:C

知识点解析:字符常量可以参加关系运算,按照其存储的ASCII码值进行比

较,匕不成立,值为假。而、(T表示NULL,ASCII码值为0。

21、以下关于逻辑运算符两侧运算对象的叙述中正确的是

A、只能是整数0或非0整数

B、可以是结构体类型的数据

C、可以是任意合法的表达式

D、只能是整数。或1

标准答案:C

知识点解析:逻辑运算符两侧的运算对象可以是任意合法的表达式。逻辑表达式的

运算结果或者为1(“真”),或者为0(“假”)<>

22、若a是数值类型,则逻辑表达式(a==l)II(a!=l)的值是

A、0

B、2

C、1

D、不知道a的值,不能确定

标准答案:c

知识点解析:在逻辑表达式中,a11b,只有在a跟b都为0时,表达式的结果才为

0。在题中所给的表达式中a要么等于1,要么不等于1,肯定会有一方的值不为

真,表达式值为1。

23、当变量c的值不为2、4、6时,值也为“真”的表达式是

A、(c==2)II(c==4)II(c==6)

B、(c>=2&&c<=6)&&!(c%2)

C^(c>=2&&c<=6)&&(c%2]=1)

D、(c>=2&&c<=6)II(c!=3)II(c!=5)

标准答案:D

知识点解析:逻辑或运算中,只要有一项为真,表达式的值就为真,故选项D中c

的值不为2、4、6时,那么表达式(c>=2&&c<=6)以及(c!=3)、(c!=5)必有一个成

立,表达式的值也为真。

24、表示关系式xgySz的C语言表达式的是

A、(x<=y)II(y<=z)

(x<=y<=z)

C、(x<=y)&&(y<=z)

D、(x<=y)!(y<=z)

标准答案:C

知识点解析:表示三个变量的关系,要利用逻辑表达式,用逻辑与连接。

25、若变量已正确定义,以下选项中非法的表达式是

A、a!=4IIE

B、'a,%4

C、'a,=l/2*(x=y=20,x*3)

D、'A,+32

标准答案:C

知识点解析:赋值表达式左边应为变量,选项C中左边为字符常量,因此非法,

其余表达式均为合法的表达式。

26、有以下程序,程序运行后的输出结果是main(){intx=35,B;charz^B*;

B=((x)&&(zv'b')):printf("%d\n",B):!

A、0

B、35

C、1

D、66

标准答案:C

知识点解析:表达式((x)&&(z〈E)),x为35非零,考虑表达式zv,b"成立,则B

的值为1。

27、与数学表达式xNQz对应的C语言表达式是

A、(x>=y>=z)

B、(x>=y)&&(y>=z)

C>(x>=y)!(y>=z)

D、(x>=y)II(y>=x)

标准答案:B

知识点解析:若要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论