重要  次重要  重复或欲删除  基础
第一章 C语言概述
1.1 选择题
1.2 填空题
第二章 数据类型、运算符与表达式
2.1 选择题
2.2 填空题
第三章 最简单的C程序设计
3.1 选择题
3.2 填空题
第四章 逻辑运算和判断选取控制
4.1 选择题
4.2 填空题
4.3 编程题
第五章 循环控制
5.1 选择题
5.2 填空题
5.3 编程题
第六章 数组
6.1 选择题
6.2 填空题
6.3 编程题
第七章 函数
7.1 选择题
7.2 填空题
7.3 编程题
第八章 编译预处理
8.1 选择题
8.2 填空题
8.3 编程题
第九章 指针
9.1 选择题
9.2 填空题
第一章 C语言概述
1.1 选择题
*1.1一个C程序的执行是从       
A)本程序的main函数开始,到main函数结束
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C)本程序的main函数开始,到本程序文件的最后一个函数结束
逗号表达式的运算顺序D)本程序文件的第一个函数开始,到本程序main函数结束
参考答案:A
参考分析:C语言总是从main函数开始,main函数结束。但是C语言中存在一个exit(0)函数,它可以使得程序在任何时候、任何位置结束程序的运行。如果不考虑exit(0)等函数的特殊作用,C则总是在main函数结束。
*1.2以下叙述正确的是       
A)在C程序中,main函数必须位于程序的最前面
B)在C程序的每一行只能写一条语句
C)C语言本身没有输入输出语句
D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误
参考答案:C
参考分析:C程序对main函数的位置没有任何要求;其书写格式自由,一行可以写多条语句,一条语句(多关键字语句)可以写在多行;C语言忽略注释,把注释看作是一个空格,不会对注释中的内容进行语法检查。因此,如果注释中存在错误,系统是不可能发现的。另外,C语言的I/O操作均通过函数实现,系统本身未提供相应的语句。
1.3以下叙述不正确的是       
A)一个C源程序可由一个或多个函数组成
B)一个C源程序必须包含一个main函数
C)C程序的基本组成单位是函数
D)在C程序中,注释说明只能位于一条语句的后面
参考答案:D
参考分析:C语言中,注释语句的位置是任意的,当然,它不能破坏标识符的完整性。C语言只是将一个注释看作是一个空格,因此对注释内的任何错误都不作检查。
1.4 C语言规定:在一个源程序中,main函数的位置       
A)必须在最开始    B)必须在系统调用的库函数的后面
C)可以任意        D)必须在最后
参考答案:C
*1.5一个C语言程序是由       
A)一个主程序和若干个子程序组成    B)若干函数组成
C)若干过程组成                    D)若干子程序组成
参考答案:B
参考分析:通常许多语言程序由主程序和子程序构成,但是C语言是函数式语言,整个程序由众多函数组成。尽管有时习惯上称main函数为主程序,显然,严格地讲还是B更为符合C语言的规则。
1.2 填空题
1.6C源程序的基本单位是【 】。
参考答案:函数
1.7一个C源程序中至少应包括一个【 】。
参考答案:main()函数
1.8在一个C源程序中,注释部分两侧的分界符分别为【1】和【2】。
参考答案:【1】/* 【2】*/
1.9在C语言中,输入操作是由库函数【1】完成的,输出操作是由库函数【2】完成的。
参考答案:【1】scanf    【2】printf
第二章 数据类型、运算符与表达式
2.1 选择题
**2.1C语言中(以16位PC机为例),各数据类型的存储空间长度的排列顺序为       
A)char<int<long<=float<double    B)char=int<long<=float<double
C)char<int<long=float=double    D)char=int=long<=float<double
参考答案:A
分析:在不同的计算机系统中,不同的C语言系统中,其各种数据类型所占据的存储空间是不同的,但是有一个总的原则,即:char<=short<=int<=long<= float<=double,只有A符合16位PC机中的具体环境。
*2.2若x、i、j和k都是int型变量,则计算下面表达式后,x的值为       
x=(i=4,j=16,k=32)
A)4    B)16    C)32    D)52
参考答案:C
参考分析:逗号表达式的计算结果是最后一个表达式的值。k=23是括号内最后一个表达式,因此x变量的值来自k变量的值。
**2.3假设所有变量均为整型,则表达式(a=2,b=5,a+b++,a+b)的值是       
A)7    B)8    C)5    D)2
参考答案:B
参考分析:逗号表达式的计算结果是最后一个表达式的值。b++在所在表达式参与运算时的值是5,该表达式计算完成后,b进行自增运算,故a+b的值为2+6=8。
2.4下列四组选项中,均不是C语言关键字的选项是       
A)define    B)getc    C)include    D)while
  IF        char      scanf        go
  type      printf    case        pow
参考答案:A
参考分析:是关键字的有:char、case、while。
2.5下列四组选项中,均是C语言关键字的选项是       
A)auto    B)switch    C)signed    D)if
  enum    typedef      union      struct
  include    continue    scanf      type
参考答案:B
参考分析:不是关键字的:include、scanf、type
*2.6下面四个选项中,均是不合法的用户标识符的选项是       
A)A        B)float    C)b-a      D)_123
    P_0        la0        goto      temp
  do        _A        int        INT
参考答案:C
参考分析:合法的有:A、P_0、la0、_A、_123、temp、INT。
**2.7 C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符       
A)必须为字母  B)必须为下划线  C)必须为字母或下划线
D)可以是字母、数字和下划线中的任一种字符
参考答案:C
参考分析:教材中只是强调首字符必须为字母,我们应当知道,在语言系统中,下划线和字母具有同等的“法律效力”。
*2.8 下面四个选项中,均是合法整型常量的选项是     
A)160      B)-0xcdf    C)-01      D)-0x48a
  -0xffff      01a        986,012    2e5
  011        0xe        0668        0x
参考答案:A
参考分析:不合法的B2,C2,C3,D2。解释:A2:-0xffff十六进制数本身已经包含了符号位,一般不前面加符号位,但加上符号位也不错误;C3:0668在有些C系统中,八进制数中允许出现8,但是通常不允许使用8;D3:0x显然后面缺少数值,但在TC中是允许的。
*2.9下面四个选项中,均是不合法的整型常量的选项是     
A)--0f1    B)-0Xcdf    C)-018    D)-0x48eg
  -0xffff      017          999        -068
  0011      12,456        5e2        03f
参考答案:D
参考分析:不合法的A1,B3,C1,C3,D。解释:A1:--0f1十六进制数没有0x,显然不合法,这里需要讨论的是常量前面允许不允许加上--号,是否可以负负得正,显然不可以,--在C中是自减运算,它只适用于变量;B1:0Xcdf  X大写也可以!C3:5e2是个实型数。
*2.10下面四个选项中,均是不合法的浮点数的选项是     
A)160.    B)123    C)-.18    D)-e3
  0.12      2e4.2      123e4    .234
  e3        .e5        0.0      1e3
参考答案:B
参考分析:不合法的有A3,B,D1。部分解释:A1,D2:C语言中小数点前面或后面的0可以省略。但是不能只有小数点自身;A3,B3,D1:e的前后必须有合法数字。1.e2  .1e2合法,.e2不合法;B1:123是整型数,不是浮点数。
*2.11下面四个选项中,均是合法的浮点数的选项是     
A)+1e+1    B)-.60    C)123e    D)-e3
  5e-9.4      12e-4      1.2e-.4    .8e-4
  03e2      -8e5      +2e-1      5.e-0
参考答案:B
参考分析:不合法的有A2:阶码不能为小数;A3:浮点数的尾数及阶码不能用八进制数表示;C1:e后必须有整数,C2:阶码不能为小数;D1:缺少尾数。
*2.12下面四个选项中,均是合法转义符的选项是     
A)'\''    B)'\'    C)'\018'    D)'\\0'
  '\\'      '\017'    '\f'        '\101'
  '\n'      '\"'      'xab'      'x1f'
参考答案:A
参考分析:"\"后面的数字,c总是按照八或十六进制解释。由于c支持扩展ASCII字符集,所以,八进制数范围在0~377,十六进制数范围在00~ff。