第1章 C语言程序设计概述
一、选择题
1.下列关于计算机语言的叙述中,正确的是_______。
A.在计算机语言中,只有机器语言属于低级语言
B.高级语言的源程序可以被计算机直接执行
C.C语言属于高级语言
D.机器语言是与所有机器无关的语言
2.源程序TEST.C经编译产生的目标文件和连接后产生的可执行文件是_______。
A.TEST.BAK和TEST.OBJ            B.TEST.OBJ和TEST.EXE
C.TEST.EXE 和TEST.C                D.TEST.BAK和TEST.EXE
3.一个C程序的执行是从_______。
A.本程序的main函数开始,到main函数结束
B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C.本程序的main函数开始,到本程序文件的最后一个函数结束
D.本程序文件的第一个函数开始,到本程序main函数结束
4.以下叙述正确的是_______。
A.在C程序中,main函数必须位于程序的最前面
B.程序的每行中只能写一条语句
C.C语言本身没有输入输出语句
D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误
5.以下叙述不正确的是_______。
A.一个C源程序可由一个或多个函数组成
B.一个C源程序必须包含一个main函数
C.在C程序中,注释说明只能位于一条语句的后面
D.C程序的基本组成单位是函数
6.一个C语言程序是由_______。
A.一个主程序和若干子程序组成
B.函数组成
C.若干过程组成
D.若干子程序组成
7.关于C语言程序书写规则说法中正确的是_______。
A.程序语句必须占一行                B.不区分大小写
C.每行必须有行号                    D.每条语句用分号结束
8.下面关于算法的说法,错误的是_______。
A.算法必须有输出,但不一定有输入
B.算法必须在计算机上用某种语言实现
C.算法必须在有限步执行后能结束
D.算法的每一步骤必须有确切的定义
9.结构化程序设计规定的3种基本控制结构是_______。
A.顺序、选择和转向                    B.层次、网状和循环
C.模块、选择和循环                    D.顺序、选择和循环
10.结构化程序由三种基本结构组成,三种基本结构组成的算法_______。
A.可以完成任何复杂的任务            B.只能完成部分复杂的任务
C.只能完成符合结构化的任务            D.只能完成一些简单的任务
二、填空题
1.C源程序的基本单位是________,一个C源程序中必须包括一个________。
2.在一个C源程序中,注释部分两侧的分界符分别为________和________。
3.C语言源程序文件的后缀是________;经过编译后,生成文件的后缀是________;经过连接后,生成的文件的后缀是________。
4.结构化程序由________、________、________,3种基本结构组成。
三、编程题
1.编写一个程序,用2个printf()语句分别输出学校名称和自己的姓名。
2.编写一个程序,用1个printf()语句输出学校名称和自己的姓名。

第2章 数据类型及其运算
一、选择题
1.下面四个选项中,均是不合法的用户标识符的选项的是____C___。
A.A  p_o    do                      B.float    lao    _A
C.b-a  goto  int                      D._123  temp    INT全国计算机等级考试成绩
2.以下选项中可以作为C语言中合法整数的是___C____。
A.    10110B            B.    0386        C.    0Xffa        D.    x2a2
3.以下选项中合法的实型常数是__C_____。
A.5E2.0            B.E-3            C.2E0            D.1.3E
4.以下选项中可作为C语言合法常量的是__A_____。
A.-80                B.-080        C.-8e1.0        D.-80.0e
5.下面四个选项中,均是合法转义字符的选项是 __B___。
A.'\'  ' \\'  '\n'                      B.'\''  '\017'  '\t'
C.'\018'  ' \f'  '\xab'                    D.'\\0'  '\101'  'x1f'
6.下面不正确的字符串常量是__A_____。
A.'abc'            B."12’12"            C."0"                  D."  "
7.以下选项中不属于C语言的类型的是____D___。
A.signed short int                      B.unsigned long int
C.unsigned int                        D.long short
8.在C语言中,要求运算数必须是整型的运算符是___D____。
A./              B.++                C.!=                D.%
9.以下运算符中优先级最低的是___A____,以下运算符中优先级最高的是__B_____。
A.&&            B.<=                C.||                  D.==
10.若x = 2 , y=3,则x && y的结果是___B____。
A.0              B.1                  C.2                  D.3
11.若x,i,j和k都是int型变量,则计算表达式x = ( i = 4 , j = 16 , k = 32 )后,x的值为__C_____。
A.4            B.16                  C.32                  D.52
12.若有定义:int a = 7 ; float x = 2.5 , y = 4.7 ; ,则表达式x + a % 3 * ( int )( x + y ) % 2 / 4的值是__A_____。
A.2.500000        B.2.750000          C.3.500000            D.0.000000
13.若有以下类型说明语句:char w ; int x ; float y ; double z ; ,则表达式w * x + z - y的结果为_D______类型。
A.float          B.char              C.int              D.double
14.已有定义:int x = 3 , y = 4 , z = 5 ; 则表达式!( x + y ) + z – 1 && y + z / 2的值是__D_____。
A.6            B.0                C.2                D.1
15.以下选项中非法的表达式是___D____。
A.0 <= x < 100    B.i = j == 0            C.( char )( 65 + 3 )    D.x + 1 = x + 1
16.设a、b、c、d、m、n均为int型变量,且a = 5、b = 6、c = 7、d = 8、m = 2、n = 2,则逻辑表达式( m = a > b ) && ( n = c > d)运算后,n的值为___C____。
A.0            B.1                C.2                D.3
17.若变量c为char类型,能正确判断出c为小写字母的表达式是___D____。
A.'a' <= c <= 'z'                        B.( c >= 'a' ) || ( c <= 'z' )
C.( 'a' <= c ) and ( 'z' >= c )            D.( c >= 'a' ) && ( c <= 'z' )
18.若x和y代表整型数,以下表达式中不能正确表示数学关系|x―y|<10的是____C___。
A.abs( x – y ) < 10                    B.x – y > -10 && x – y < 10
C.!( x – y ) < -10 || !( y – x ) > 10        D.( x – y ) * ( x – y ) < 100
二、填空题
1.C语言中的标识符只能由三种字符组成,它们是_______,_______和_______。
2.在C语言中(以32位PC机为例),一个char型数据在内存中所占的字节数为_______,一个int型数据在内存中所占的字节数为_______,一个float型数据在内存中所占的字节数为_______,一个double型数据在内存中所占的字节数为_______。
3.有以下定义int m = 5,y = 2;则计算表达式y += y -= m *= y后的y值是_______。
4.若定义:int a = 2,b = 3;float x = 3.5,y = 2.5;则表达式( float )(a + b ) / 2 + ( int ) x % ( int ) y的值是_______。