首页 > 全部 > 二级C语言 > 国家二级C语言(C语言基础知识)机试模拟试卷19

国家二级C语言(C语言基础知识)机试模拟试卷19

本单篇文档共6247字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C语言 章节练习 5944人下载
价格: 免费 原价:¥7.00
收藏

国家二级C语言(C语言基础知识)机试模拟试卷19

选择题

1.以下叙述中正确的是(A)

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

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

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

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

解析:选项B中a=10,在赋值时会把10自动转换为double类型然后赋值,实型变量中不可能存放整型。而选项C中执行a=b后,b的值不变还是9,选项D中执行a=b;b=a;后,a的值为9,b的值也为9。

2.有以下程序

#include <stdio.h>

main() {

int a=3;

printf(\\(D)

A. 9

B. 0

C. 3

D. -12

解析:对于表达式a+=a-=a*a相当于a=a-(a*a),然后计算a=a+a,a的初值为3,则表达式的值为-12。

3.若有定义和语句:

int a, b;

scanf(\\(C)

A. 3,5

B. 3,5,

C. 3 ,5

D. 3,5,4

解析:在格式控制字符串中插入其他字符,则在输入的时候应该据实加入到输入流中,不能随意加入空格等,否则无法得到正确的输入结果。

4.设有定义: int x=2; 以下表达式中,值不为6的是(C)

A. 2*x, x+=2

B. x++,2*x

C. x*=(1+x)

D. x*=x+1

解析:本题考查逗号表达式。逗号表达式的求解过程是:先求解表达式1,再求解表达式2,整个逗号表达式的值是表达式2的值,因此,选项A中值为4;选项B中,值为6。选项C中x*=x+1 等价于x=x*(x+1),所以等于6;选项D与选项C等价,结果也为6。

5.有以下程序

#include

main() {

int x, y, z; x=y=1;

z=x++,y++,++y;

printf(\\(A)

A. 2,3,1

B. 2,3,2

C. 2,3,3

D. 2,2,1

解析:在程序中,整型变量x、y的初值都为1,赋值语句z=x++,y++,++y右边的“x++,y++,++y”是一个逗号表达式,所以逗号表达式的值为++y的值。执行逗号表达式“x++,y++,++y”后,x的值为2,y的值为3,z取逗号表达式的值,为1。

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

A. ++x,y=x–

B. x+1=y

C. x=x+10=x+y

D. double(x)/10

解析:用逗号将表达式连接起来的式子称为逗号表达式。其表达式的一般形式为:表达式1,表达式2,……,表达式n。最后一个表达式的值就是此逗号表达式的值。所以选项A为C语言中的逗号表达式。赋值表达式的左侧只能是变量,不能是常量或表达式。强制类型转换表达式的形式为:(类型名)(表达式),其中(类型名)称为强制类型转换运算符,数据类型两边的圆括号不能省略。

7.设有定义: int k=0; 以下选项的四个表达式中与其他三个表达式的值不相同的是(A)

A. k++

B. k+=1

C. ++k

D. k+1

解析:因为题中有语句int k=0;,所以选项B、C、D都是对k的值加1,选项A的语句k++表示先利用k的值进行运算,然后k值才加1。

8.若有以下程序

#include <stdio.h>

main() {

int a=0,b=0,c=0;

c= (a -= ++a), (a+=b, b+=4);

printf(\\(C)

A. 0,4,4

B. 1,4,1

C. 0,4,0

D. 1,4,4

解析:表达式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。

9.若有以下程序

#include <stdio.h>

main() {

int a=0,b=0,c=0 c= (a+=++b, b+=4);

printf(\\(C)

A. 1,5,1

B. -1,4,4

C. 1,5,5

D. -1,4,-1

解析:对于语句c= (a+=++b, b+=4);首先计算a=a+(++b),a,b初值为0,则计算以后a为1,b为1,然后计算b+=4,得到b的值为5,此时表达式b+=4的值为整个逗号表达式的值,因此c的值为5。

10.有以下程序

main() {

int sum, pad, pAd;

sum = pad = 5;

pAd = ++sum, pAd++, ++pad;

printf(\\(D)

A. 5

B. 7

C. 8

D. 6

解析:有逗号表达式构成的语句:pAd = ++sum, pAd++, ++pad;主要从左到由连续运算,因此pad的值为6。注意pad和pAd的是不同的变量。

11.若有定义int x,y; 并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++) : (y++)中的条件表达式(x-y) 等价的是(D)

A. (x-y<0)

B. (x-y>0)

C. (x-y<0‖x-y>0)

D. (x-y==0)

解析:条件表达式的形式如下:表达式1?表达式2 : 表达式3。其含义为当“表达式1”的值为非零时,求出“表达式2”的值,此时“表达式2”的值就是整个条件表达式的值;当“表达式1”的值为零时,则求“表达式3”的值,这时“表达式3”的值就是整个表达式的值。本题条件表达式的执行顺序是先求解表达式“x-y”的值,若其值为非0(可以是正数,也可以是负数),则再求表达式“x++”的值,其值就是条件表达式的值;若表达式“x-y”的值为0,则再求表达式“y++”的值,其值就是条件表达式的值。

12.以下选项中,当x为大于1的奇数时,值为0的表达式是(B)

A. x/2

B. x%2==0

C. x%2!=0

D. x%2==1

解析:因为x的值为大于1的奇数,所以x除以2的余数等于1。所以选项B等于关系表达式的结果为假,即等于0。

13.以下选项中,当x为大于1的奇数时,值为0的表达式是(C)

A. x/2

B. x%2!=0

C. x%2==0

D. x%2==1

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

14.以下叙述中正确的是(A)

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

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

本文档预览:3600字符,共6247字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C语言(C语言基础知识)机试模拟试卷19

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号