第一章 基础知识
1、c语言支持三种数制,下列哪个数制不支持? A)十进制 B)八进制 C)二进制 D)十六进制 【答案】:选择C。计算机可以识别的是二进制数,八进制和十六进制的提出是为了“压缩”二进制,所以本质上八进制和十六进制一样,故而两者要么都选,要么都不选。熟悉c语言的人都知道,十进制数可以在c程序中直接使用而二进制则不可以。二进制是机器可以识别的码,在c语言中不可以直接被识别。
第二章 c语言的组成结构及数据
1、下列标识符在c语言中属于合法的用户自定义的标识符? A)a_12 B)a12 C)3m D)do E)aa.txt F)c#bh
【答案】c语言中允许的合法的用户标识符只有数字、字母、下划线,且必须以字母或者下划线开始,不能使用系统预定于的关键字作为标识符。因此,C、D、E、F均不正确。
2、在c语言中下列常量的写法正确的是? A)①、-32767 ②、023f ③、0x123dfh
分析:①:正确。是一个十进制整型常量的正确表示法。
②:错误。以“0”开头的是八进制数,在其表示的数中只能出现0~7这七种符号。正确的写法为:023.
③:错误。以0x开头的是十六进制数,在其表示的数中只能出现0~9和A~F这十六种符号,正确的写法为:0x123df。
B)①、123.46 ②、123. ③、.456 ④、0.456
分析:以上均是c语言中实型数据的一种正确表示—小数形式。 小数形式定义:由数字和小数点组成。
C)①:123.4E4 ②、5.4E0.5 ③、4E ④、1.23e-5 ⑤:3E2
分析:②、③不正确,其余全部正确。考查实型数据的指数表示形式。 指数形式应注意:
一、字母E或e之前之后必须有数字,且后必须是整数。 二、字母E或e的前后及各数字之间不能有空格。
C)①、”abbchkdl” ②、”a” ③、”” ④、’’ ⑤、’\\n’ ⑥、’\\’
分析:④、⑥不正确,其余全部正确。考查字符型常量和字符串常量的表示方法。 字符型常量应注意:
一、有一对单引号括一个字符。
二、转移字符常量,必须以一个反斜杠”\\”开头。 字符串常量应注意:
一、用一对双引号括起来若干个字符。
3、若int a,b;,则表达式a=3,b=1,b=a+b;的值为 4 ,此时a= 3 ,b= 4 。 分析:逗号表达式的形式为:表达式1,表达式2,………,表达式n。
功能:逗号表达式的值就是表达式n的值,求值顺序是从左至右依次求解。 令注:可以编写如下程序对题目结果进行验证。 #include
int a,b;
printf(\ printf(\ , b=%d\\n\}//程序2-1.cpp
运行结果,如下图所示:
4、若float x=123.456,y=0.6;求解下列表达式的值。 1)、(int) x= 123 ,(int) (x)= 123 。 2)、(int) x+y= 123.600000 ,(int)(x+y)= 124 。
分析:此题考查了强制类型转换以及不同类型的数据在做算术运算时最终结果如何得到。 (int)x:表示对浮点型x进行强制类型转化为整型。
(int)x+y:表示将x强制类型转换成整型后,再与浮点型数据y进行相加运算。由于浮点型数据高于整型,故而整个表达式的结果为浮点型数据且与y保留一样位数的小数。 令注,可以编写如下程序对题目进行验证。 #include
}//程序2-2.cpp
运行结果,如下图所示:
5、求下列表达式的值。 1)、17%3= 2 。
注意:求余(%)运算符两侧的操作数应均为整数。 2)、17%-3= 2 。 3)、-17%3= -2 。
C语言中,凡是表达式都有一个确定的值。 4)、-17%-3= -2 。
分析:求余表达式的求解过程:先忽略负号不计求出余数,再将所得余数的符号定成与被除数相同的符号即可。
编写如下程序对题目进行验证: #include
程序运行结果如下图所示:
6、下面程序的输出结果为 9, 6. #include