- 26
- 0
- 约1.33万字
- 约 16页
- 2017-10-19 发布于重庆
- 举报
C语言按章节分类易错习题
C语言
第1章C语言的历史、特点
1.1978年美电话电报公司(ATT)的贝尔实验室正式发表了C语言。
2.C语言把括号、赋值、强制类型转换等作为运算符处理。
3.C语言的数据类型有整型、实型、字符型、数组型、指针型、结构体类型、共用体类型等。(树、栈、链表等为数据构)
4.C语言允许直接访问物理地址,能进行位(bit)操作。
第2章 C语言程序的基本结构
【例1】(2002年4月)以下叙述正确的是( )。
A. 可以把define和if定义为用户标识符。关键字
B. 可以把define定义为用户标识符,但不能把if定义为用户标识符。
C. 可以把if定义为用户标识符,但不能把define定义为用户标识符。
D. define和if都不能定义用户标识符。
【答案】B (define不是关键字,if是关键字,所以define可以定义为用户的标识符。)
【例2】(2002年9月)源程序中应包含一些内部文档,以帮助阅读和理解程序,源程序的内部文档通常包括选择合适的标识符/注释和( )。
A. 程序的视觉组织
B. 尽量不用或少用GOTO语句
C. 检查输入数据的有效性
D. 设计良好的输出报表
【答案】A (源程序文档中主要包括标识符命名,注释和视觉组织。)
数据类型、运算符、表达式与基本语句
3.1数据类型
【例1】(2000年4月)下列变量定义中合法的是( )。
A. short _a=1-.le-1 B. double b=1+5e2.5
C. long do=0xfdaL D. float 2_and=1-e-3
【答案】A
【例2】(2001年4月) 以下只有在使用时才为该类型变量分配内存的存储类说明是( )。
A. auto和 static B. auto和 register
C. register和 static D. extern和 register
【答案】B
根据C 语言的规定,auto和register在C语言程序中当它们被用到时才会分配内存,在它们声明时并不占用内存空间的。
【例3】(2002年4月)以下选项中不属于C语言类型的是( )。
A. signed short int B. unsigned long int
C. unsigned int D. long short
【答案】D
【例4】(2002年9月)以下选项中合法的实型常数是( )。
A. 5E2.0 B. E-3 C. 2E0 D. 1.3E
【例5】(2002年9月)C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是( )。
A. void B. int C. float D. double
【答案】B
【例6】(2003年9月)以下选项中可作为C语言合法整数的是( )。
A. 10110B B. 0386 C. 0Xffa D. x2a2
【答案】C
【例7】(2002年4月) 设有以下变量定义,并已赋确定的值
char w; int x; float y; double z;
则表达式:w*x+z-y所求得的数据类型为 。
【答案】double
【考点解析】当不同数据类型一起运算时,如果有精度大的数据类型参加时,结果会上最后会以精度大的,这样能保持数据的精度。
3.2运算符
【例1】(2000年4月) 设有 int x=11; 则表达式 (x++*1/3) 的值是( )。(x++)*1/3
A. 3 B. 4 C. 11 D. 12
【答案】A
【考点解析】在题目中,有三个运算符,其中“/”可以把1/3看成一个整体,也就是一个数,那么根据运算符优先级知道,++的优先级比*高,那么先运行++,再运行*,最后结果是3。
【例2】(2003年4月)下列关于单目运算符++、--的叙述中正确的是( )。
A. 它们的运算对象可以是任何变量和常量。
B. 它们的运算对象可以是char型变量和int型变量,但不能是float型变量。
C. 它们的运算对象可以是int型变量,但不能是double型变量和float型变量。
D. 它们的运算对象可以是char型变量、int型变量和float型变量。
【答案】D
【考点解析】在C语言中,++、--是单目运算符,分别表示进行加1、减1运算,一般是在char、int、float数据类型中运算。
【例3】(2004年9月)有以下定义语句
double a,b; int w;long c;
若各变量已正确赋值,则下列选项中正确的表达式是( )。
A. a=a+b=b++ B. w%((int)a+b)
C. (c+w)%(int)a
原创力文档

文档评论(0)