C语言
第1章C语言的历史、特点
1.1978年美电话电报公司(AT&T)的贝尔实验室正式发表了C语言。
2.C语言把括号、赋值、强制类型转换等作为运算符处理。
3.C语言的数据类型有整型、实型、字符型、数组型、指针型、结构体类型、共用体
类型等。(树、栈、链表等为数据构)
4.C语言允许直接访问物理地址,能进行位(bit)操作。
第2章 C语言程序的基本结构
【例1】(2002年4月)编制一个好的程序,首先要保证它的正确性和可靠性,还应强调良好的编程风格,在书写功能性注释时应考虑( )。
A. 仅为整个程序作注释
B. 仅为每个模块作注释
C. 为程序段作注释
D. 为每个语句作注释
【答案】C
【例2】(2002年4月)以下叙述正确的是( )。
A. 可以把define和if定义为用户标识符。
B. 可以把define定义为用户标识符,但不能把if定义为用户标识符。
C. 可以把float型if定义为用户标识符,但不能把define定义为用户标识符。
D. define和if都不能定义用户标识符。
【答案】B (define不是关键字,if是关键字,所以define可以定义为用户的标识符。)
【例3】(2002年9月)源程序中应包含一些内部文档,以帮助阅读和理解程序,源程序的内部文档通常包括选择合适的标识符/注释和( )。
A. 程序的视觉组织
B. 尽量不用或少用GOTO语句
C. 检查输入数据的有效性
D. 设计良好的输出报表
【答案】A (源程序文档中主要包括标识符命名,注释和视觉组织。)
【例4】(2002年9月)以下叙述中正确的是( )。
A. 构成C语言程序的基本单位是函数。
B. 可以在一个函数中定义另一个函数。
C. main( )函数必须放在其他函数之前。
D. 所有被调用的函数一定要在调用之前进行定义。
【答案】A (C语言是由函数构成的,所以C语言的基本单位是函数,在C语言中不能嵌套定义,就是说不能在函数中定义函数,main()函数可以放在程序的任意位置,但是程序的执行都是从main()函数开始的,所有被调用的函数一定要在调用之前进行声明。)
【例5】(2002年9月)以下选项中合法的用户标识符是( )。
A. long B. _2Test C. 3Dmax D. A.dat
【答案】B
【例6】(2003年9月)以下叙述中正确的是( )。
A. C程序中注释部分可以出现在程序的任意合适地方。
B. 花括号“{”和“}”只能作为函数体的定界符。
C. 构成C程序的基本单位是函数,所有函数名都可以由用户命名。
D. 分号是C语言之间的分隔符,不是语句的一部分。
【答案】A
【例7】(2003年9月)若已定义的函数有返回值,则以下关于该函数调用叙述错误的是( )。
A. 函数调用可以作为独立的语句存在。
B. 函数调用可以作为一个函数的实参。
C. 函数调用可以出现在表达中。
D. 函数调用可以作为一个函数的形参。
【答案】D
在C语言中,当函数有返回值时可以作为表达式或表达式的一部分,而函数调用只能作为实参,不能作为形参。
第3章 数据类型、运算符、表达式与基本语句
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
【答案】C
【例5】(2002年9月)已知大写字母A的ASCII码的值是65,小写字母a的ASCII码是97,则用八进制表示字符常量‘\101’是( )。
A. 字符A B. 字符a C. 字符e D. 非法的常量
【答案】A
本题中101的八进制在十进制表示则是65,也就是A的ASCII码值。
【例6】(2002年9月)C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是( )。
A. void B. int C. float D. double
【答案】B
【例7】(2003年9月)以下选项中可作为C语言合法整数的是( )。
A. 10110B B. 0386 C. 0Xffa D. x2a2
【答案】C
【例8】(2003年9月)已定义c为字符变量,则下列语句中正确的是( )。
A. c=‘97’ B. c=“97” C. c=97 D. c=“a”
【答案】C
【例9】(2004年4月)以下符合C语言语法的实型常量是( )。
A. 1.2E0.5 B. 3.14159E C. 5E-3 D. E15
【答案】C
【例10】(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) 的值是( )。
A. 3 B. 4 C. 11 D. 12
【答案】A
【考点解析】在题目中,有三个运算符,其中“/”可以把1/3看成一个整体,也就是一个数,那么根据运算符优先级知道,++的优先级比*高,那么先运行++,再运行*,最后结果是3。
【例2】(2000年4月) 设 int x=1,y=1; 表达式(!x||y--)的值是( )。
A. 0 B. 1 C. 2 D. -1
【答案】B
【考点解析】在这一题中,我们要注意的是--或++的位置,在这里y--是指先把y与!x进行或运算,后y再减1,那么这个表达式的值是1。如果--y是指y减1后再与!x进行或运算。
【例3】(2000年4月) 设int b=2;表达式(b>>2)/(b>>1)的值是( )。
A. 0 B. 2 C. 4 D. 8
【答案】A
【考点解析】移位运算是用于一个整数的二进制数向左或向右移动。先是把b化成二进制,再右移两位,则是0;而右移一位,则是1,所以整个表达式的结果是0。
【例4】(2000年9月) C语言中运算对象必须是整型的运算符是( )。
A. %= B. / C. = D. <=
【答案】A
【考点解析】在C语言程序设计中“%”是表示求余运算,是必须是整形的数据类型,而其它三种运算符的运算对象可以是整形也可以是其它数据类型。
【例5】(2000年9月) 若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是( )。
A. 1 B. 2 C. 2.0 D. 2.5
【答案】B
【考点解析】在这一题中,我们清楚C语言中的自动数据类型的转换,在这里3/2是整形除以整形,所以结果自动转换成整形,再加上1,所以最后结果是2。
【例6】(2001年9月) 整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是( )。
A. x || y B. x | y C. x & y D. x ^ y
【答案】D
【考点解析】||是C语言的逻辑或运算符,表示只要有一个表达式为真,则整个表达式都为真;|是按位或运算符,先是把操作数转化成二进制,再按位进行或运算;&是按位与运算符,先是把操作数转化成二进制,再按位进行与运算;^是按位异或运算符,先是把操作数转化成二进制,再按位异或运算,就是相同的为0,不同的为1。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论