第一章测试
1.在C语言中,下面标识符非法的是(  )。
A:abc3
B:_name
C:sum&
D:SUM
答案:C
2.C语言源程序要正确地运行,必须要有(  )。
A:自定义函数
B:Printf函数   
C:main函数
D:scanf函数
答案:C
3.一个C 语言程序是由(  )。
A:若干过程组成
B:函数组成
C:一个主程序和若干子程序组成
D:若干子程序组成
答案:B
4.C语言中数据的基本类型包括(  )。
A:整型、实型、字符型和结构体
B:整型、实型
C:整型、实型、字符型和指针型
D:整型、实型、字符型
答案:D
5.C 语言规定:在一个源程序中,main函数的位置(  )
A:可以任意
B:必须在最后
C:必须在最开始
D:必须在系统调用的库函数的后面
答案:A
第二章测试
6.若变量a是int类型,并执行了语句:a=‘A’+1.6;,则对于运算后变量a正确的叙述是(  )
A:a的值是整型
B:不允许字符型和浮点型相加
C:a的值是浮点型
D:a的值是字符型
答案:A
7.若有定义:int a=8,b=5,c; ,执行语句c=a/b+0.4;后,c的值为(  )
A:2
B:1.4
C:1
D:2.0
答案:C
8.如果有定义: int k=8 ,x=13;表达式的值为2的是(  )
A:x%=(k-k%5)
B:x%=(k%=5)
C:x%=k-k%5
D:(x%=k)-(k%=5)
答案:D
关于printf函数正确的是9.已知字母’A’的ASCII码为十进制数65,变量ch1为字符型,则执行语句ch1=‘A’+‘5’-‘2’;后,ch1中的值是(  )。
A:‘C’
B:67
C:‘D’
D:不确定
答案:C
10.若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是(  )
A:2.5
B:2
C:2.0
D:1
答案:C
11.以下关于标识符的说法错误的是(  )。
A:标识符不能与系统的关键字同名
B:标识符由字母、数字和下划线组成
C:不区分大小写,s和S是同一个变量
D:首字符必须是字母或下划线
答案:C
第三章测试
12.函数putchar()可以输出一个( )。
A:字符或字符型变量值
B:实型变量值
C:字符串
D:整型变量表达式值
答案:A
13.若定义x为double型变量,则能正确输入x值的语句是(  )
A:scanf(“%5.1f”,&x);
B:scanf(“%lf”,&x); 
C:scanf(“%f”,x);
D:scanf(“%f”,&x);
答案:B
14.已m,n,k为int型变量,若从键盘输入:5,6,7,使m的值为5,n的值为6,k的值为7,则输入语句正确的是(  )。
A:scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);
B:scanf(“%d,%d,%d”,&i,&j,&k);
C:scanf(“%2d%2d%2d”,&i,&j,&k);
D:scanf(“%d_%d_%d”,&i,&j,&k);
答案:B
15.#include<stdio.h> void main() {      int i,j;      scanf(“%3d%2d”,&i,&j);    printf(“i=%d,j=%d”,i,j); }  如果从键盘上输入1234567,则程序的运行结果是(  ).
A:i=1234,j=567
B:i=123,j=4567
C:i=123,j=45
D:i=1,j=2
答案:C
16.输入函数scanf()和输出函数printf()一定是在stdio.件中定义的。
A:错
B:对
答案:B
第四章测试
17.在结构化程序设计中,不包含下列哪种结构(  )
A:循环结构
B:分支结构
C:嵌套结构
D:顺序结构
答案:C
18.设x=3,y=-4,z=6,写出表达式 !(x>y)+(y!=z)||(x+y)&&(y-z) 的结果 (  )
A:-1
B:1
C:2
D:0
答案:B
19.下关于运算符优先顺序的描述中正确的是(  )
A:关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符
B:算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符
C:赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符
D:逻辑运算符< 关系运算符< 算术运算符< 赋值运算符
答案:C
20.C语言对嵌套if语句的规定是:else总是与(  )
A:第一个if配对
B:缩进位置相同的if配对
C:其之前最近的且尚未配对的if配对
D:其之前最近的if配对
答案:C
21.当a,b,c的值分别为3,4,5时,以下各语句执行后a,b,c的值为多少(  )if (a>c)    {a=b; b=c; c=a;}else   {a=c; c=b; b=a;}printf(“%d,%d,%d”,a,b,c);
A:5,5,4
B:5,4,3
C:3,4,5
D:5,4,5
答案:A
第五章测试
22.在C语言中,在do-while循环结构的条件控制语句while(表达式)中的表达式为(  )时,循环可以反复执行。
A:1
B:false
C:0
D:true
答案:A
23.假设i和x都是int类型,则以下for循环的循环体执行次数是(  )for(i=0,x=0;i<=9&&x!=876;i++) scanf(“%d”,&x);
A:最多执行9次
B:是无限循环
C:循环体一次也不执行
D:最多执行10次
答案:D
24.以下程序段的执行结果是(  ).  int i,j,m=0;  for(i=1;i<=15;i+=4) {    for(j=3;j<=19;j+=4)          m++;  }printf(“%d”,m); 
A:25
B:12
C:20
D:15
答案:C
25.break语句可以中断循环,执行循环的下一条语句。
A:错
B:对
答案:B
26.do-while语句中的循环体一般不能是复合语句。
A:对
B:错
答案:B
第六章测试
27.若调用一个函数,且此函数中没有return语句,则正确的说法是(   )
A:该函数没有返回值
B:能返回一个用户所希望的函数值
C:函数返回若干个系统默认值   
D:返回一个不确定的值
答案:A
28.在C程序中,下面描述正确的是(  )
A:函数的定义不可以嵌套,但函数的调用可以嵌套
B:函数的定义可以嵌套,但函数的调用不可以嵌套
C:函数的定义和调用都不可以嵌套
D:函数的定义和函数调用都可以嵌套
答案:A