国家二级C语言(C语言基础知识)机试模拟试卷17
选择题
1.以下选项中,合法的一组C语言数值常量是(D)
A. 12. 0Xa23 4.5e0
B. 028 .5e-3 -0xf
C. .177 4e1.5 0abc
D. 0x8A 10,000 3.e5
解析:八进制数其开头必须是数字“0”,其数字包括0~7,而在选项B中,028是错误的。浮点数据的指数形式表示常量中,C语言规定字母e或E之前必须要有数字,且e或E之后的指数必须为整数,而选项C中4e1.5是错误的。在选项D中,整型数据10,000的表示形式是错误的。
2.C源程序中不能表示的数制是(C)
A. 八进制
B. 十进制
C. 二进制
D. 十六进制
解析:在C语言的源程序中,数值可以用十进制、八进制和十六进制来表示。不用二进制来表示。
3.以下叙述中正确的是(C)
A. 在C程序中的八进制和十六进制,可以是浮点数
B. 八进制数的开头要使用英文字母o,否则不能与十进制区分开
C. 整型变量可以分为int型、short型、long型和unsigned型四种
D. 英文大写字母X和英文小写字母x都可以作为二进制数字的开头字符
解析:整型变量分为以下4种类型:
①基本型:以int表示。
②短整型:以short int表示,或以short表示。
③长整型:以long int表示,或以long表示。
④无符号型:以unsigned int表示,选项C正确,实型常量仅有十进制表示形式,八进制以数字0开头,十六进制开头为0x或者0X,不是二进制。
4.以下选项中合法的常量是(D)
A. 2.7e
B. 9 9 9
C. 123E 0.2
D. 0Xab
解析:0xab是十六进制表示的常量。
5.以下选项中能表示合法常量的是(D)
A. \\\\007
B. 1.5E2.0
C. ’\\\\’
D. 1,200
解析:选项D,1200中间不能有逗号,否则编译时会认为是1或出错。选项B,2.0错误,必须为整数。选项C,要表示字符斜杠常量’\\\\’,应该在反斜杠的前面再加上一个反斜杠。选项A为字符串常量,为正确选项。
6.以下选项中可用作C程序合法实数的是(C)
A. 3.0e0.2
B. E9
C. .1e0
D. 9.12E
解析:C程序的合法实数有两种表示形式,一种是小数形式,另一种是指数形式,对于用指数形式表示的实数来说,需要注意的是字母e或E之前必须要有数字,且字母e或E后面的指数必须为整数。
7.以下不合法的数值常量是(D)
A. 1e1
B. 011
C. 0xabcd
D. 8.0E0.5
解析:实型常量又称为实数或浮点数。在C语言中,可以用两种形式表示一个实型常量。①小数形式是由数字和小数点组成的一种实数表示形式,这种表示形式的常量必须要有小数点。②指数形式用以“e”或“E”后跟一个整数来表示以10为底的幂数。C语言的语法规定,字母e或E之前必须要有数字,且e或E后面的指数必须为整数。因为选项D中字母E后面的指数为小数形式,所以选项D这种表示方法不合法。
8.以下选项中正确的定义语句是(D)
A. double a=b=7;
B. double a; b;
C. double, a, b;
D. double a=7, b=7;
解析:在C语言中,可以用一条语句同时定义几个同类型的变量,变量之间用逗号隔开。
9.若有以下程序段
double x=5.16894;
printf(\\(B)
A. 5.175000
B. 5.169000
C. 5.170000
D. 5.168000
解析:(int)(x*1000+0.5)/(double)1000表达式功能,保存数据x的后三位小数,把第四位四舍五入。
10.以下选项中合法的实型常量是(A)
A. .914
B. 3.13e-2.1
C. 0
D. 2.0*10
解析:实型常量又称实数或浮点数,一般用小数形式或指数形式来表示。实型常量分为以下两种形式:
①小数形式:小数形式是由数字和小数点组成的一种实数表示形式。例如0.345、.123、0.0等是合法的实数。这种表示形式必须要有小数点。
②指数形式:在C语言中,用“e”或“E”后跟一个整数来表示以10为底的幂数。注意:字母“e”或“E”之前必须要有数字,后面的指数必须为整数。
选项B中e后必须为整数,选项C没有小数点,而选项D则出现非法字符*。
11.C语言中double 类型数据占字节数为(C)
A. 4
B. 12
C. 8
D. 16
解析:double类型所占字节为8。
12.以下叙述中正确的是(A)
A. 整型常量和实型常量都是数值型常量
B. 常量的类型不能从字面形式上区分,需要根据类型名来决定
C. 预定义的标识符是C语言关键字的一种,不能另作它用
D. 只能在函数体内定义变量,其他地方不允许定义变量
解析:整型常量和实型常量都是数值型常量,选项A正确;常量的类型可以从字面上区分,比如整型常量不能有小数点,组成字符为0~9等,选项B错误;预定义标识符,即预先定义并具有特定含义的标识符,可以另作他用,不过更改了原有的含义,选项C错误;变量可以定义在程序中任何的地方,属于不同的变量,选项D错误。
13.sizeof( double )是(B)
A. 一个双精度型表达式
B. 一个整型表达式
C. 一个不合法的表达式
D. 一种函数调用
解析:sizeof关键字为C语言的运算符,用于测试()内类型其变量所占内存,表达式结果返回十进制整数,因此为整型表达式,表明变量所占的内存字节数。
14.以下选项中,值为1的表达式是(C)
A. 1 -’0’
B. ’1’ -0
C. 1 – ’\\\\0’
D. ’\\\\0’ – ’0’
解析:在C程序中,字符量可参与任何整数运算。字符参与运算时,首先要将字符转换为其对应的ASCⅡ码值再参与整数运算。字符’1’对应的ASCⅡ码值是49,字符’0’对应的ASCⅡ码值是48,字符’\\\\0’是字符串结束标识符NULL,其对应的ASCⅡ码值是0。
15.以下定义语句中正确的是(C)
A. char A=65+1,b=’b’;
B. int a=b=0;
C. float a=1,*b=&a,*c=&b;
D. double a=0.0; b=1.1;
解析:本题考查的是数据类型的定义并赋值,选项B中对变量声明类型且赋值的情况是不允许出现的,必须单独定义且赋值。选项C中对于指针变量c的赋值须为同型指针,而&b为二级指针。选项D中C语言允许在一个类型说明符后说明多个相同类型的变量,各变量之间要用逗号(,)隔开,而不是用分号(;)隔开;在计算机存储字符时将字符相应的ASCII码以其对应的二进制进行存放,选项A中的定义是合法的。
16.
本文档预览:3600字符,共6128字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载