[计算机类试卷]国家二级C语言机试(数据类型、运算符与表达式)模拟试卷2及答案与解析.doc

上传人:sumcourage256 文档编号:498749 上传时间:2018-11-30 格式:DOC 页数:20 大小:50KB
下载 相关 举报
[计算机类试卷]国家二级C语言机试(数据类型、运算符与表达式)模拟试卷2及答案与解析.doc_第1页
第1页 / 共20页
[计算机类试卷]国家二级C语言机试(数据类型、运算符与表达式)模拟试卷2及答案与解析.doc_第2页
第2页 / 共20页
[计算机类试卷]国家二级C语言机试(数据类型、运算符与表达式)模拟试卷2及答案与解析.doc_第3页
第3页 / 共20页
[计算机类试卷]国家二级C语言机试(数据类型、运算符与表达式)模拟试卷2及答案与解析.doc_第4页
第4页 / 共20页
[计算机类试卷]国家二级C语言机试(数据类型、运算符与表达式)模拟试卷2及答案与解析.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、国家二级 C语言机试(数据类型、运算符与表达式)模拟试卷 2及答案与解析 一、选择题 1 以下不合法的字符常量是( )。 ( A) 018 ( B) “ ( C) ( D) xcc 2 以下选项中正确的定义语句是( )。 ( A) double a=7, b=7; ( B) double a=b=7; ( C) double a; b; ( D) double, a, b; 3 若有定义语句: int a=3,b=2,c=1; 以下选项中错误的赋值表达式是( )。 ( A) a=(b=4)=3; ( B) a=b=c+1; ( C) a=(b=4) +c; ( D) a=1+(b=c=4);

2、4 以下选项中不能用作 C程序合法常量的是( )。 ( A) 1,234 ( B) 123 ( C) 123 ( D) x7D 5 表达式 a+=a -= a=9 的值是( )。 ( A) 0 ( B) -9 ( C) 18 ( D) 9 6 若有定义语句: int x=12, y=8, z; 在其后执行语句 z= 0.9+x/y; 则 z的值为( )。 ( A) 1 ( B) 1.9 ( C) 2 ( D) 2.4 7 阅读以下程序 #include main() int case ; float printF; printf(“请输入 2个数: “); scanf(“%d %f“, pri

3、ntf(“%d %fn“,case,printF ); 该程序在编译时产生错误,其出错原因是( )。 ( A)定义语句出错, case是关键字,不能用作用户自定义标识符 ( B)定义语句出错, printF不能用作用户自定义标识符 ( C)定义语句无错, scanf不能作 为输入函数使用 ( D)定义语句无错, printf不能输出 case的值 8 以下选项中合法的标识符是( )。 ( A) _11 ( B) 1 1 ( C) 1_1 ( D) 1_ _ 9 表达式 3.6-5/2+1.2+5%2的值是( )。 ( A) 3.8 ( B) 4.8 ( C) 3.3 ( D) 4.3 10 有

4、以下定义: int a; long b; double x, y; 则以下选项中正确的表达式是( )。 ( A) a%(int)(x-y) ( B) a=x ( B) sizeof ( C) ( ) ( D) printf(“%fn“, (int)(x*1000+0.5)/(double)1000 ); 则程序段的输出结果是( )。 ( A) 5.169000 ( B) 5.175000 ( C) 5.170000 ( D) 5.168000 22 以下选项中合法的实型常量是( )。 ( A) .914 ( B) 3.13e-2.1 ( C) 0 ( D) 2.0*10 23 以下叙述中正确的

5、是( )。 ( 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 24 以下选项中合法的变量是( )。 ( A) _10_ ( B) 5a ( C) A% ( D) sizeof 25 有以下程序 #include main() int a=3; printf(“%dn“, ( a+

6、=a-=a*a ); 程序运行后的输出结果是( )。 ( A) -12 ( B) 9 ( C) 0 ( D) 3 26 C语言中 double 类型数据占字节数为( )。 ( A) 8 ( B) 4 ( C) 12 ( D) 16 27 以下叙述中正确的是( )。 ( A)标识符总是由字母、数字和下划线组成,且第一个字符不得为数字 ( B)标识符的长度不能任意长,最多只能包含 16个字符 ( C)语言中的关键字不能作变量名,但可以作为函数名 ( D)用户自定义的标识符必须 “见名知义 “,如果随意定义,则会出编译错误 28 以下叙述中正确的是( )。 ( A)整型常量和实型常量都是数值型常量

7、( B)常量的类型不能从字面形式上区分,需要根据类型名来决定 ( C)预定义的标识符是 C语言关键字的一种,不能另作它用 ( D)只能在函数体内定义变量,其他地方不允许定义变量 29 以下叙述中正确的是( )。 ( A)整型变量可以分为 int型、 short型、 long型和 unsigned型四种 ( B)在 C程序中的八进制和十六进制,可以是浮点数 ( C)八进制数的开头要使用英文字母 o,否则不能与十进制区分开 ( D)英文大写字母 X和英文小写字母 x都可以作为二进制数字的开头字符 30 C语言程序中,运算对象必须是整型数的运算符是( )。 ( A) % ( B) / ( C) su

8、m = pad = 5; pAd = +sum, pAd+, +pad; printf(“%dn“, pad ); 程序的输出结果是( )。 ( A) 6 ( B) 5 ( C) 7 ( D) 8 32 有以下程序 #include main() int a=3; a+=a-=a*a; printf( “%dn“, a ); 程序的输出结果是( )。 ( A) -12 ( B) 9 ( C) 3 ( D) 0 国家二级 C语言机试(数据类型、运 算符与表达式)模拟试卷 2答案与解析 一、选择题 1 【正确答案】 A 【试题解析】 ddd表示 13位八进制数代表的字符,不能出现 8,所以选项 A

9、)错误; 表示双引号符,选项 B)正确; 表示反斜线符 ,选项 C)正确;xcc表示由两位十六进制数 cc所代表的字符,选项 D)正确,所以答案选 A)。 【知识模块】 数据类型、运算符与表达式 2 【正确答案】 A 【试题解析】 选项 B)错误,定义时不能连续赋值;选项 C)错误,分号表明一句语句的结束,所以变量 b没有正确定义 ;选项 D)错误,在定义变量的时候,类型后面不能跟逗号。所以答案选 A)。 【知识模块】 数据类型、运算符与表达式 3 【正确答案】 A 【试题解析】 赋值运算符的左侧必须为变量而不能是表达式或者常量,所以答案选 A。 【知识模块】 数据类型、运算符与表达式 4 【

10、正确答案】 A 【试题解析】 123表示用 3位八进制数字表示的字符,选项 B)正确; “x7D“表示用两位十六进制数表示的字符串,选项 D)正确。而 C语言没有千分号,选项A)错误,所以答案选 A)。 【知识模块】 数据类型、运算符与表达式 5 【正确答案】 A 【试题解析】 表达式 a+=a -= a=9,先计算表达式 a=9,即将 9赋值给 a,然后计算 a-=a,得 a=0,最后计算 a+=a,最后表达式的值为 0,答案选 A。 【知识模块】 数据类型、运算符与表达式 6 【正确答案】 A 【试题解析】 考查运算符与表达式。若除法运算符 “/“的参与量均为整型,则结果也为整型。所以 x

11、/y的结果应为 1,如果赋值运算符两边的数据类型不相同,系统将自动进行类型转换,把右边的类型转换成左边的类型, 所以 z的值最终为 1,答案选 A。 【知识模块】 数据类型、运算符与表达式 7 【正确答案】 A 【试题解析】 用户自己定义的标识符不能与关键字相同,并且尽量避免和预定义标识符相同,而 case为系统关键字,故而产生编译错误,答案选 A。 【知识模块】 数据类型、运算符与表达式 8 【正确答案】 A 【试题解析】 C语言规定,标识符由字母( AZ, az)、数字( 09)或者下划线( _)组成,并且第一个字符必须为字母或者下划线,答案选 A。 【知识模块】 数据类型、运算符与表达式

12、 9 【正确答案】 A 【试题解析】 考查运算符与表达式。运算符有优先级,优先级越高的先进行计算。所以该表达式中先计算除法和求余运算,再进行加减运算。如果除法运算符“/“的参与量均为整型,则结果也为整型。所以表达式 “5/2“的结果为 2;求余运算符 “%“的参与量必须为整数,表达式 “5%2“的结果为 1,最后计算 3.6-2+1.2+1,结果为 3.8,答案选 A。 【知识模块】 数据类型、运算符与表达式 10 【正确答案】 A 【试题解析】 C语言中没有 “运算符,如果要判定两个变量不 等,应使用运算符 “!=“,选项 B)错误;求余运算符 “%“两侧的参与量必须为整型,所以选项C)错误

13、,选项 A)正确;赋值运算符的左侧只能为变量,不能为常量或者表达式,选项 D)错误;答案选 A)。 【知识模块】 数据类型、运算符与表达式 11 【正确答案】 A 【试题解析】 表达式 “a %= b %= 4;“先计算表达式 “b %= 4;“的值, b为 2,然后计算表达式 “a %= b“即 “a=a%b“得 a为 -1,所以输出结果为选项 A)。 【知识模块】 数据类型、运算符与表达式 12 【正确答案 】 A 【试题解析】 C语言中,可以用一个用户自定义标识符来表示一个常量,称为符号常量,符号常量的标识符习惯大写,但是也可以用小写字符,选项 B)错误;宏定义可以放在程序中的任意位置,

14、所以可以在程序中间重新定义相同符号常量的值,选项 C)错误;符号常量的符号名可以为一个常量或者字符串,选项 D)错误;由此答案选 A)。 【知识模块】 数据类型、运算符与表达式 13 【正确答案】 A 【试题解析】 表达式 “a %= b %= 4;“先计算表达式 “b %= 4;“的值, b为 2,然后计算表达式 “a %= b“即 “a=a%b“得 a为 -1,所以输出结果为选项 A)。 【知识模块】 数据类型、运算符与表达式 14 【正确答案】 A 【试题解析】 表达式 “c= (a -= +a), (a+=b, b+=4)“中,先计算括号内的表达式:“(a -= +a)“得 a为 0;

15、然后把该表达式的值赋值给 c,所以 c为 0; “(a+=b, b+=4)“为一个逗号表达式,整个逗号表达式的值为最后一个表达式的值,即为 4,其中 b的值为 4;所以答案为 A)。 【知识模块】 数据类型、运算符与表达式 15 【正确 答案】 A 【试题解析】 逗号运算符连接的是两个表达式,不能连接空语句,答案选 A。 【知识模块】 数据类型、运算符与表达式 16 【正确答案】 A 【试题解析】 变量是指在程序运行过程中,其值发生变化的量,所有变量在使用前均需要先定义后使用,并且变量的命名规则需要符合标识符的命名规则:由字母、数字、下划线组成并且第一个字符不能为数字,答案选 A。 【知识模块

16、】 数据类型、运算符与表达式 17 【正确答案】 A 【试题解析】 考查运算符与表达式。若除法运算符 “/“的参与量均 为整型,则结果也为整型,所以表达式 “a /= b /= -4;“先计算表达式 “b /= -4;“的值, b为 -2,然后计算表达式 “a /= b“即 “a=a/b“得 a为 5,所以输出结果为选项 A)。 【知识模块】 数据类型、运算符与表达式 18 【正确答案】 A 【试题解析】 考查运算符与表达式。表达式 “c= (a+=+b, b+=4);“中 (a+=+b, b+=4)为逗号表达式,先计算 “a+=+b“得 b=1, a=1。然后计算 “b+=4“得 b=5,所

17、以整个逗号表达式的值为 5,即 c=5.最终输 出结果为 A)。 【知识模块】 数据类型、运算符与表达式 19 【正确答案】 A 【试题解析】 C语言中,标识符分为:关键字、预定义标识符和用户标识符三种,答案选 A。 【知识模块】 数据类型、运算符与表达式 20 【正确答案】 A 【试题解析】 C语言中没有 “运算符,如果要判定两个变量不等,应使用运算符 “!=“,答案选 A。 【知识模块】 数据类型、运算符与表达式 21 【正确答案】 A 【试题解析】 表达式 “(int)(x*1000+0.5)/(double)1000“先计算 “(x*1000+0.5)“,结果为 5169.44,将其转

18、化为 int型,得表达式 “(int)(x*1000+0.5)“的值为 5169,所以整个表达式 “(int)(x*1000+0.5)/(double)1000“的值为 5.169,输出结果为 A)。 【知识模块】 数据类型、运算符与表达式 22 【正确答案】 A 【试题解析】 科学计数法中, e/E前后必须有数字并且后面的数字必须为整数,选项 B)错; 0为整型常量,不为实型常量,选项 C)错误;实型常量不是表达式,选项 D)错误; 小数形式的实型常量,若整数部分为 0,则该整数部分可以省略,选项 A)正确,答案选 A)。 【知识模块】 数据类型、运算符与表达式 23 【正确答案】 A 【试

19、题解析】 实型变量只能存放实型数据,把一个整型数据赋值给实型变量会将该整型转成实型,选项 B)错误;赋值语句 “a=b“是把 b的值赋值给 a,而 b的值不会发生改变,选项 C)错误;赋值语句 “a=b;b=a;“先把 b的值指给 a,此时a=9, b=9,然后把 a的值赋值给 b, a、 b为 9,选项 D)错误;赋值运算符的左侧必须为变量,右侧可以是变量或者任意的表达 式,所以答案选 A)。 【知识模块】 数据类型、运算符与表达式 24 【正确答案】 A 【试题解析】 C语言规定,标识符由字母( AZ, az)、数字( 09)或者下划线( _)组成,并且第一个字符必须为字母或者下划线。变量

20、为用户标识符,命名方法需要遵循标识符的命名规则,答案选 A。 【知识模块】 数据类型、运算符与表达式 25 【正确答案】 A 【试题解析】 表达式 “( a+=a-=a*a )“,先计算表达式 “a-=a*a“,即 “a=a-a*a“,结果为 “a=-6“然后计算 “a+=a“即 “a=a+a“,得 a=-12,所以输出结果为 A)。 【知识模块】 数据类型、运算符与表达式 26 【正确答案】 A 【试题解析】 实型数据中, float类型占用字节数为 4,而 double类型占用的字节数为 8,答案选 A。 【知识模块】 数据类型、运算符与表达式 27 【正确答案】 A 【试题解析】 C语言

21、规定,标识符由字母( AZ, az)、数字( 09)或者下划线( _)组成,并且第一个字符必须为字母或者下划线,选项 A)正确;标识符的长度没有限制,选项 B)错误;用户标识 符不能与关键字相同,并且尽量避免和预定义标识符相同,而变量名和函数名都属于用户标识符,都不能与关键字相同,选项 C);只要符合用户标识符的命名规则就不会出现编译错误, “见名知义“只不过增加了程序的可读性,选项 D)错误。所以答案选 A)。 【知识模块】 数据类型、运算符与表达式 28 【正确答案】 A 【试题解析】 数值型常量包括整型常量、实型常量和字符常量,选项 A)正确;变量的类型通过类型名区分,常量则是通过字面形

22、式区分,如 3为整型常量, 3.14为实型常量, h即为符号常量,选项 B)错误; C语 言标识符包括关键字、预定义标识符、用户标识符三种,预定义标识符和关键字不同,虽然可以作为用户标识符使用,但是不建议另作他用,选项 C)错误;变量有全局变量和局部变量之分,局部变量在函数体内定义,全局变量可以在函数体外定义,选项 D)错误;答案选 A)。 【知识模块】 数据类型、运算符与表达式 29 【正确答案】 A 【试题解析】 八进制和十六进制是对整型常量的描述,不能为浮点数据,选项B)错误;八进制开头以数字 0开始,选项 C)错误; C语言中没有二进制, 0X和 0x是十六进制的前缀,选项 D)错误;

23、答案 选 A)。 【知识模块】 数据类型、运算符与表达式 30 【正确答案】 A 【试题解析】 求余运算符 “%“为求得两数相除后的余数,要求参与的两个运算量都必须为整型,答案选 A。 【知识模块】 数据类型、运算符与表达式 31 【正确答案】 A 【试题解析】 C语言对字母大小写敏感, pAd与 pad不是同一个变量,表达式“pAd = +sum, pAd+, +pad;“中牵扯到 pad的只有最后一个逗号后的表达式,pad=6,所以输出的最后结果为 A)。 【知识模块】 数据类型 、运算符与表达式 32 【正确答案】 A 【试题解析】 表达式 “( a+=a-=a*a )“,先计算表达式 “a-=a*a“,即 “a=a-a*a“,结果为 “a=-6“然后计算 “a+=a“即 “a=a+a“,得 a=-12,所以输出结果为 A)。 【知识模块】 数据类型、运算符与表达式

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1