试卷号:TSheet1 解析。
一、选择题
1、C语言源程序文件的扩展名一般为______ 。
(A) .txt
(B) .c
© .obj
(D) .exe
答案:B
以c为扩展名
2,4, C语言合法标识符是以数字,下划线,字母组合,且不能以字母开头,其次不能与保留关键字重复。
2、以下选项中合法的用户标识符是_____ 。
(A) long 关键字
(B) _2Test
© 3Dmax 数字开头
(D) A.dat 不能有.
答案:B
3、以下选项中,_____ 不是C语言的保留字(关键字)。
(A) printf
(B) short
© if
(D) sizeof
答案:A
A中的printf是c语言里面的输出函数,是在库中作为变量定义。但是sizeof()不是函数,是关键字和操作符。
4、下列选项中合法的变量名是_____ 。
(A) x(1)
(B) y.1
© 3y
(D) xyz
答案:D
同上
5、下面各选项中,属于非法的C语言整型常量的是____ 。
(A) 01
(B) 0x11
© 081
(D) -32765
答案:C
C语言中关于合法的数值常量。链接
-
八进制常量:开头必须是0,且八进制是0-7之间组成的数,例如,029就是错误的八进制表示方式。
-
十六进制常量:0X开头,包含字母ABCDEF,不区分大小写,例如0x与0X一样,0Xaa与0xAA,都是正确的。
-
实数型常量:必须有小数点,例如定义double a=1就是错误的,必须写成double a=1.0,另外写成a=1,0中间是逗号,就更是错误的了。
-
e与E,表示以10为底数的幂数,且e与E后面必须跟整数,若是小数,也是错误的,例如3.2e1.5 ,这里1.5是小数,所以错的。
6、以下不合法的常量是_____ 。
(A) 2.7
(B) 1.0E+3
© 3.5E-3.0
(D) 3.4e-5
答案:C
同上解答4
7、下列字符常量的写法中,正确的是_____ 。
(A) ‘\082’
(B) “ab”
© ‘\t’
(D) ‘\4f ’
答案:C
A转义字符八进制,不能大于8。B不能双引号,D要以x开头
即\000,三位八进制。\xhh 两位二进制
8、下列各组中全是字符串常量的是_____ 。
(A) ‘123’ , “456” , “789”
(B) ‘abc’ , ‘xyz’ ,‘5’
© “a+b” , “1+2=5” , “china”
(D)'\n’~~~~ , “1+2=3” , “aaa”
答案:C
A 单引号三位数表示字符常量,B,C都是字符常量。
9、已知字符A的ASCII码是65,字符a的ASCII码是97,则’\101’表示的字符常量是____ 。
(A) 字符A
(B) 字符B
© 字符e
(D) 非法常量
答案:A6
101为八进制 十进制表示是65
10、在C语言中,char型数据在内存中的存储形式是_____ 。
(A) 原码
(B) 反码
© 补码
(D) ASCII码
答案:D
在C语言中,char型数据是将一个字符bai常量放到一个字符变量中,并不是把该字符本身放到内存单元中去,而是将该字符的相应的ASCII代码放到存储单元中。
11、sizeof(float) 是_____ 。
(A) 一个双精度型表达式
(B) 一个整型表达式
© 一种函数调用
(D) 一个不合法的表达式
答案:B
sizeof就是求其所占字节大小的表达式,肯定是整数的。
sizeof 是一个操作符 不是一个函数,sizeof(float)是一个整型表达式
12、以下能正确地定义整型变量a,b,c,并给它们都赋值5的语句是_____ 。
(A) int a=b=c=5;
(B) int a,b,c=5;
© int a=5,b=5,c=5;
(D) a=b=c=5;
答案:C
A只是定义了a,并未定义bc,.赋值不能连着。D未定义。
13、以下各组运算符的优先级按由高到低的顺序排列正确的是_____ 。
(A) *=、&&、!=、%
(B) =、%、&&、!=
© %、!=、&&、=
(D) &&、!=、%、=
答案:C
算术运算符>关系运算符>赋值运算符
**14、**已知a、b为整型,z为实型,ch为字符型,下列表达式中合法的是____ 。
(A) z=(a+b)++
(B) a+b=z
© b=ch+a
(D) b=z%a
答案:C
实型的精度比整型高,可以接受整型的结果,但是++是整型变量的自增运算,相当于赋值运算,显然有错误,答案A错误
B不能这样赋值。
D只能%可以使用
15、设char ch; 则不合法的赋值语句是____ 。
(A) ch=’a+b’;
(B) ch=’\0’;
© ch=’a’+‘b’;
(D) ch=7+9;
答案:A
16、若有定义int x;则经过表达式x=(float)2/3运算后,x的值为_____ 。
(A) 2.0
(B) 0
© 2
(D) 1
答案:B
17、若有int x=13,y=5; 则表达式 x++, y+=2, x/y的值为____ 。
(A) 1
(B) 2
© 0
(D) 13
答案:B
歧义吧y+=2之后是分号。
18、逻辑运算符两侧运算对象的数据类型_____ 。
(A) 只能是0或1
(B) 只能是0或非0数
© 只能是整型或字符型数据
(D) 可以是任何类型的数据
答案:D
19、设整型变量m、n、a、b、c、d的值均为1,表达式(m=a>b)&&(n=c>b)运算后,m、n的值是____ 。
(A) 0,0
(B) 0,1
© 1,0
(D) 1,1
答案:B
逻辑运算符大于赋值运算符。 a>b 结果为0, 所以m=0,前半部分不成立后面不会进行运算,所以n不变,为1.
20、以下为非法操作的是_____ 。
(A) int i ; i=100 ;
(B) int i=100 ;
© const int i ; i=100 ;
(D) const int i=100 ;
答案:C
const int 之后不能再赋值。
21、C语言源程序文件代码经编译后生成的目标文件,其扩展名为_____ 。
(A) .txt
(B) .c
© .obj
(D) .exe
答案:C
22、C语言源程序文件代码经编译后生成目标文件,对目标文件进行连接后生成可执行文件,其生成的可执行文件的扩展名为_____ 。
(A) .txt
(B) .c
© .obj
(D) .exe
答案:D
二、填空题
1、C语言程序书写格式规定,每行可写_多个___语句,一个语句可以___多行__ 。
答案
2、一条C语言的语句至少应包含一个_____。
答案:;
3、用__//__ 对C语言程序中的任何部分作注释。
答案:
4、运用C语言实现一个基本程序的过程,包括编写源程序、_____、连接、运行(调试)。
答案:编译
5、设有说明:char c1; 则 c1=‘a’; 是否正确?(回答"是"或"否") ______
答案:是@正确
6、设有说明:char c2;则 c2=65; 是否正确?(回答"是"或"否") ______
答案:是@正确
7、char c ; 表达式 c=‘a’- ‘A’+‘B’ 运算后,c的值为______ 。
答案:‘b’@b
8、表达式 10+‘x’+2.5*7 的值为______型的量。
答案:double
9、表达式 x= (2+3, 6*5) , x+5 运算后,x的值为______ 。
答案:30
10、设 a=5 ; 则表达式 a+=a*=a+a 运算后,a的值为______ 。
答案:100
\
=的优先级是最低的。并且自右向左。
a=a+(a*=a+a) 再分解
a=a+(a=a*(a+a)) 510 +a ,此时 a=50.所以是100
11、设int a=7 ; double x=2.5,y=4.7 ; 则表达式x+a%3(int)(x+y)%2/4的值为_____ 。
答案:2.5
%的优先级和乘除一样,自左向右。 x+1*(7.2)%2/4=2.5+1/4=2.5。1/4=0;
12、把数学表达式x+y≠a+b写成C语言表达式:___________ 。
答案:(x+y)!=(a+b)
13、条件"2<x<3或x<-10"的C语言表达式是________ 。
答案:(x>2&&x<3)||x<-10@(x>2&&x<3)||(x<-10)@x>2&&x<3||x<-10
14、设int i=32,j=1,k=3;则表达式!i||(j-k)&&i&&!(k-3||i*k)的值为____ 。
答案:0
15、设int x,y,z; 则执行语句x=(y=(z=10)+5)-5;后,x值为___ ,y值为___ ,z值为___ 。
答案:10 15 10
16、表达式 (int)(sqrt(0.25)+5.7) 运算后, 其值为______ 。
答案:6
int 0.5+5.7
三、程序操作题
END