国家二级C语言机试(数据类型、运算符与表达式)模拟试卷1题后含答案及解析_第1页
国家二级C语言机试(数据类型、运算符与表达式)模拟试卷1题后含答案及解析_第2页
国家二级C语言机试(数据类型、运算符与表达式)模拟试卷1题后含答案及解析_第3页
国家二级C语言机试(数据类型、运算符与表达式)模拟试卷1题后含答案及解析_第4页
国家二级C语言机试(数据类型、运算符与表达式)模拟试卷1题后含答案及解析_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

国家二级C语言机试(数据类型、运算符与表达式)模拟试卷1(题

后含答案及解析)

题型有:1.选择题

选择题

1.设有两行定义语句:intscanf;floatcase;则以下叙述正确的是()。

A.第2行语句不合法

B.两行定义语句都合法

C.第1行语句不合法

D.两行定义语句都不合法

TF确答案:A

解析:本题考查用户标识符,用户自己定义的标识符不能与关键字相同,并

且尽量避免和预定义标识符相同。本题中scanf为预定义标识符,可以作为用户

标识符;case为关键字,不能作为用户标识符,故而答案选A。知识模块:数据

类型、运算符与表达式

2.以下能正确表述算式sin(2Jir+30°)的C语言表达式是()。

A.sin(2*3.14*r+3.14*30/180.0)

B.sin(2*Ji*r+30)

C.sin(2*3.14*r+30)

D.sin(2*3.14*r+30*3.14/360.0)

正确答案:A

解析:考查算术表达式的写法,C中没有人,需要用数值3.14代替,C中

sin函数的参数为弧度,角度3()转成弧度应为3.14*30/18()。故而选A。知识模

块:数据类型、运算符与表达式

3.设有定义:intx=11,y=12,z=0;,以下表达式值不等于12的是()。

A.z=(x==y)

B.(z=x,y)

C.z=(x,y)

D.(z,x,y)

正确答案:A

解析:考查运算符与表达式,A)中先计算(x==y),为0,将0赋值给z,表

达式值为0,A)错;选项B)、C)、D)均涉及到逗号表达式,整个逗号表达式

的值为最后一个表达式的值,所以均为12。选A)o知识模块:数据类型、运

算符与表达式

4.以下可以将任意一个两位整数n的个位数与十位数对换的表达式为【)。

A.(n-n/10*10)*10+n/10

B.n-n/10*10+n/10

C.n/10+(n-n/10)

D.(n-n/10)*10+(n/10)

正确答案:A

解析:9查运算符与表达式,方法是想办法得到个位数字和十位数字,然后

个位数字*10+H立数字即可将个位数和十位数对换。A)中,n/10*10将整数中

的十位部分提取出来,然后用n-n/10*l()即得该整数的个位数字,n/l()得到十位

数字,(n・n/10*10)*10+n/10即完成对换,A)正确。同时易得选项B)、C)、D)

三个选项都不正确,答案选A)。知识模块:数据类型、运算符与表达式

5.设有以下程序段inty;y=rand()%30+1;则变量y的取值范围是()。

A.()VyW30

B.0Wy<30

C.l<y<3()

D.l<y<30

正确答案:A

解析:考查运算符与表达式,rand()%30求得范围在0-29之间的数据,

+1后的取值范围为1-3()(1、3()也包括在内),答案选Ao知识模块:数据类

型、运算符与表达式

6.以下关于逻辑运算符两侧运算对象的叙述中正确的是()o

A.可以是任意合法的表达式

B.只能是整数。或非0整数

C.可以是结构体类型的数据

D.只能是整数0或1

正确答案:A

解析:逻辑运算符两侧的运算对象可以任意合法的表达式,最终会根据两侧

表达式计算出的数值来判定该逻辑表达式为真(1)或假(0)o答案选A。知识

模块:数据类型、运算符与表达式

7.有以下程序#include<stdio.h>main(){char

cl,c2;cl='A'+'8'・'4';c2='A'+'8'・5;prinlf("%c,%d'm”,cl,c2);}已知字母A的ASCH

码为65,程序运行后的输出结果是()。

A.E,68

B.D,69

C.E,D

D.输出无定值

正确答案:A

解析:考查字符型数据。字符常量与其ASCII码值一一对应,在计算的时

候,一般是字符数据本应的ASCII码参与运算,输出时会根据格式控制符输出

对应的字符或者ASCH码。本题中,结果为4,,A,+4的结果为69即,E,,

所以cl=E,对应ASCII码为69。8・5为3,火+3的结果为68,即D,所

以c2=,D1对应ASCII码为68。故而输出结果为A)。知识模块:数据类型、

运算符与表达式

8.以下选项中,合法的一组C语言数值常量是()o

A.12.0Xa234.5e0

B.028.5e-3-Oxf

C..1774el.50abc

D.0x8A10,0003.e5

正确答案:A

解析:考查整型常量、实型常量。选项B)的“028”错,以()开头表示为八

进制整常数,不能出现数字8;选项C)的“4el.5"错,e后面应为整数,"Oabc”

错,八进制整常数只能由()〜7构成:选项D)的”1(),()()()”错,C语言没有千分号,

所以答案选A)。知识模块:数据类型、运算符与表达式

9.以下选项中不合法的标识符是()。

A.&a

B.FOR

C.print

D._()()

正确答案:A

解析:考查标识符的概念。C语言规定,标识符由字母(A~Z,a〜z)、数字

(0-9)或者下划线(一)组成,并且第一个字符必须为字母或者下划线。符号?&?

不能用于标识符,所以答案选A。知识模块:数据类型、运算符与表达式

10.若有定义:doublea=22;inti=(),k=18;则不符合C语言规定的赋值语句

是()。

A.i=a%H;

B.i=(a+k)<=(i-k);

C.a=a++,i++;

D.i=!a;

正确答案:A

解析:考查运算符与表达式。求余运算符'%'要求参与运算的量均为整型,

选项A)中的a为双精度,不符合运算规则,所以答案选A)。知识模块:数据

类型、运算符与表达式

11.有以下程序#inckide<stdio.h>main(){ints,t,A=10;double

B=6;s=sizeof(A);t=sizeof(B);printf(“%d,%d\n”,s,l);}在VC6平台上编译运行,程序

运行后的输出结果是()。

A.4,8

B.4,4

C.2,4

D.10,6

正确答案:A

解析:考查不同类型的变量占用的字节数。VC6中,int型、long、int型以

及对应的unsigned型数据占用字节数均为4,shortint型,unsignedshortint型数

据占用字节数为2,tloat型数据占用字节数为4,double型数据占用字节数为8。

sizeof是C语言关键字,作用就是返回一个对象或者类型所占的内存字节数。所

以输出结果为A)。知识模块:数据类型、运算符与表达式

12.以下选项中,能用作数据常量的是()。

A.115L

B.0118

C.1.5el.5

D.0115

正确答案:A

解析:数据后面加L表示该数据为长整型,选项A)正确。以0开头表示

为八进制整常数,不能出现数字8,选项B)错;科学计数法中,e/E前后必须

有数字并且后面的数字必须为整数,选项C)错;八进制数是以数字0开始而不

是字母o,选项D)错。答案选A)。知识模块:数据类型、运算符与表达式

13.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是〔)。

A.连接符

B.大写字母

C.数字字符

D.下划线

正确答案:A

解析:C语言规定,标识符由字母(A〜Z,a~z)、数字(0-9)或者下划线

(_)组成。由此选A。知识模块:数据类型、运算符与表达式

14.设变量已正确定义并赋值,以下正确的表达式是()o

A.x=y+z+5,++y

B.int(15.8%5)

C.x=y*5=x+z

D.x=25%5.0

正确答案:A

解析:w查运算符与表达式。求余运算符“%”要求参与运算的量均为整型,

选项B)、D)错;赋值运算符的左侧必须为变量而不能是表达式,选项C)错。

选项A)为正确的逗号表达式,答案选A)。知识模块:数据类型、运算符与表

达式

15.设有定义:intx=2;以下表达式中,值不为6的是()。

A.2*x,x+=2

B.x++,2*x

C.x*=(l+x)

D.x*=x+l

i卜确答案:A

解析:逗号表达式的计算过程是分别计算所有表达式的值,并把最后一个表

达式的值作为整个逗号表达式的值。选项A)中,先计算2*x,值为4,再计算

x+=2,值为6,整个表达式的值为6;选项B)中先计算x++,值为3,再计算

2*x,值为6,整个表达式的值为6。选项C)可以写作x=x*(l+x),计算得的结

果为6;选项D)可以写作x=x*(x+l),计算结果为6。综上,答案选A)。知识

模块:数据类型、运算符与表达式

16.有以下程序#include<stdio.h>main(){intx,y,

z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n”,x,y,z);}程序运行后的输出结果息

()o

A.2,3,1

B.2,3,2

C.2,3,3

D.2,2,1

正确答案:A

解析:考查逗号表式。逗号表ii式的计算过程是分别计算所有表iA式的值,

并把最后一个表达式的值作为整个逗号表达式的值。x二尸1;将x、y初始化为1,

逗号表达式z=x++,y++,++y;中先计算z=x++,得到x=2,z=l,计算y++,得y=2,

再计算++y,得y=3。所以最终结果为x=2,y=3,z=l,答案选A。知识虢块:

数据类型、运算符与表达式

17.C源程序中不能表示的数制是()。

A.二进制

B.八进制

C.十进制

D.十六进制

正确答案:A

解析:C语言中,能表示的数制有八进制、十六进制和十进制三种,没有二

进制,答案选A。知识模块:数据类型、运算符与表达式

18.以下选项中,能用作用户标识符的是()。

A.0

B.8_8

C.void

D.unsigned

正确答案:A

解析:考查用户标识符。C语言规定,标识符由字母(A〜Z,a〜z)、数字(0~9)

或者下划线(_)组成,并且第一个字符必须为字母或者下划线。用户自定义的

标识符不能与关键字相同,而且尽量避免与预定义标识符相同。选项B)不能以

数字开始;选项C)、D)为C语言关键字,不能作为用户标识符。答案选A1知

识模块:数据类型、运算符与表达式

19.若有定义语句:intx=10;则表达式x-=x+x的值为()。

A.-10

B.-20

C.0

D.10

正确答案:A

解析:考查复合赋值运算符。x-=x+x与x=x-(x+x)等价,所以输出结果为A)。

知识模块:数据类型、运算符与表达式

2().以下选项中能表示合法常量的是()。

A.\007

B.1.5E2.0

C.'V

D.1,200

正确答案:A

解析;若查常量。科学计数法中E后应为整数,选项B)错;要表示反斜杠,

应写作'\',选项C)错;C语言没有千分号,选项D)错。选项A)表示的是八

进制数()07所代表的字符串。答案选A)。知识模块:数据类型、运算符与表达

21.以下定义语句中正确的是()。

A.charA=65+l,b=tb,;

B.inta=b=0;

C.floata=1,*b=&a,*c=&b;

D.doublea=().();b=l.l;

i卜确答案:A

解析:定义变量时不能连续赋值,选项B)错;保存指针变量的地址应使用

指向指针的指针,选项C)变量c应为指向指针的指针,写作**c;C语言中,

分号为一个语句的结束标记,语句到a=0.0;遇到分号该语句己经结束,所以变量

b定义时没有类型说明符,可以改作doublea=0.0,b=1.1doublea=0.0;double

b=l.l;选项D)错;每个字符常量都有唯一一个ASCH码与其对应,计算时,可

以使用该字符常量也可以使用该字符常量对应的ASCII码,选项A)正确。知

识模块:数据类型、运算符与表达式

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

A.++x,y=x—

B.x+l=y

C.x=x+IO=x+y

D.double(x)/10

正确答案:A

解析:考查运算符与表达式。赋值运算符左侧只能为变量,不能为表达式,

所以选项B)、C)错。强制类型转换时,数据类型两侧的圆括号不能省,选项D)

错,应写作(double)x/10。选项A)为逗号表达式,符合C语言语法。答案选A)。

知识模块:数据类型、运算符与表达式

23.以下选项中可用作C程序合法实数的是()o

A..leO

B.3.0c0.2

C.E9

D.9.12E

正确答案:A

解析:常查实型常量的科学计数法。科学计数法中,e/E前后必须有数字并

且后面的数字必须为整数,所以答案选Ao知识模块:数据类型、运算符与表

达式

24.下列定义变量的语句中错误的是()。

A.floatUS$;

B.doubleint_;

C.charFor;

D.int_int;

正确答案:A

解析:考查标识符。定义的变量名要符合表示符的命名规则:C语言规定,

标识符由字母(A~Z,a〜z)、数字(0〜9)或者下划线(_)组成,并且第一个字

符必须为字母或者下划线,由此答案选Ao知识模块:数据类型、运算符与表

达式

25.表达式:(int)((double)9/2)-9%2的值是(

A.3

B.0

C.4

D.5

正确答案:A

解析:考查运算符与表达式。表达式(int)((double)9/2)-9%2先计算

(double)9/2,结果为4.5。然后被强制转换成int型,结果为4。接着计算9%2,

结果为1,最后计算4-1,结果为3,。所以答案选A。知识模块:数据类型、运

算符与表达式

26.以下选项中关于C语言常量的叙述错误的是()。

A.经常被使用的变量可以定义成常量

B.常量分为整型常量、实型常量、字符常量和字符串常量

C.常量可分为数值型常量和非数值型常量

D.所谓常量,是指在程序运行过程中,其值不能被改变的量

正确答案:A

解析;9量是指在程序运行过程中其值不发生改变的量,和使用次数无关,

所以答案选A。知识模块:数据类型、运算符与表达式

27.以下选项中,不合法的C语言用户标识符是()。

A.a-b

B.AaBc

C.a_b

D._1

正确答案:A

解析:考查用户标识符的命名规则。合法的标识符由字母、数字、下划线组

成并且第一个字符不能为数字,由此选项A)不合法。答案选A)。知识模块:

数据类型、运算符与表达式

28.若变量均已正确定义并赋值,以下合法的C语言赋值语句是()o

A.x=y==5;

B.x=n%2.5;

C.x+n=i;

D.x=5=4+l;

正确答案:A

解析:常查运算符与表达式。求余运算符”%“要求参与运算的量均为整型,

所以选项B)错误;赋值运算符的左侧必须为变量而不能是表达式或者常量,选

项C)、D)错;选项A)中的语句x=y==5;先判定关系表达式y==5的值,然后

把计算得到的值赋值给x所以答案选A)。知识模块:数据类型、运算符与表达

29.以下不合法的数值常量是()。

A.8.0E0.5

B.lei

C.Oil

D.Oxabcd

正确答案:A

解析:科学计数法中,e/E前后必须有数字并且后面的数字必须为整数,所

以答案选A。知识模块:数据类型、运算符与表达式

3().以下关于C语言数据类型使用的叙述中错误的是()。

A.若只处理"真“和“假“两种逻辑值,应使用逻辑类型

B.若要保存带有多位小数的数据,可使用双精度类型

C.若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类

D.整数类型表示的自然数是准确无误差的

正确答案:A

解析:C语言数据类型中没有逻辑类型,选项A)叙述错误,所以答案选A)。

知识模块:数据类型、运算符与表达式

31.设有定义:血k=0;以下选项的四个表达式中与其他三个表达式的值不

相同的是()o

A.k++

B.k+=l

C.++k

D.k+1

正确答案:A

解析:表式“k++”表示先取得变量k的值作为整个表iA式的值,然后变量

k再自

温馨提示

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

评论

0/150

提交评论