单项选择题
1.C语言程序经过以下哪个步骤操作可以得到同名的.exe文件( C0 )。
A.编辑 B.编译 C.连接 D.执行
2.C语言程序的语句结束符为( B )。
A.逗号 B.分号 C.冒号 D.引号
3.根据C语言的标识符的命名规则,以下 ( C )是不合法的变量名。
A. YOU B. bov C.5Name D._CHANG_TO
4.假设num为int变量,则以下赋值中不正确的是( A )。
A.num=156000 B.num=-3567 C.num=4000 D.num=32767
5.执行语句int a, b; b=6; a=++b; 后, a、b的值分别是 (D)。
A. 6,6 B.6,7 C. 7,6 D. 7,7
6.若有说明:int aa[3][4],则下面正确的引用是(C)。
A.aa[2][4] B.aa[1,3] C.aa[2][0] D.aa(2) (3)
7.下面程序的执行结果是在屏幕输出( D )。
main()
{ int a,b;
a=5;b=6;
printf(“%d”,a>b?a-b:a+b);
}
A. 0 B. 1 C.-1 D. 11
8.下面运算符,不属于双目运算符的是(A)
A. ~ B. + C. % D. >=
9.下列运算符中优先级最高的是(D)
A.< B.+ C.&& D.*
10.判断字符型变量ch是否为小写字母的正确表达式是(C)
A.’a’<=ch<=’ z’ B.(ch>=’ a’)&(ch<=’z’)
C.(ch>=’a’)&&(ch<=’z’) D.(‘a’<=ch)and(‘z’>=ch)
11.表达式5>4+4<5*1值是 (B)
A. 0 B. 1 C. 2 D.都不对
12.参与运算的运算量都必须是整数的运算符是(C)
A. + B. / C. % D. >>
13.C 语言程序中可以对程序进行注释,注释部分必须用符号( C )括起来。A.{ } B.[ ] C./* */ D.*/ /*
14.主函数中使用函数sqrt()函数,则应通过#include 命令把(B)文件嵌入到程序。A. stdio.h B. math.h C.string.h D. stdlib.h
15.若变量x.指针变量p已正确定义并且执行了p=&x,则(*p)++相当于(B)。
A.p++ B.x++ C.*(p++) D.&x++
16.数组定义为int a[3][2]={1, 2, 3, 4, 6, 5},数组元素( B )的值为6。
A.a[3][2] B.a[2][0] C.a[1][2] D.a[2][3]
17.以下选项中,非法的字符常量是( C )。
A. '0' B. 'd' C."n" D. '\n'
18.以下定义语句中,错误的是( D )。
A.int a[]={1,2}; B.char *a[3];
C.char s[10]="test"; D.int n=5,a[n];
19.下列运算符中优先级最高的是( B )。
A.= B.+ C.&& D.!=
20.表达式:10!=9的值是( D )。
A.true B.false C.0 D.1
21.变量的指针是指该变量的( B )。
A.值 B.地址 C.名 D.一个标志
22.若w=3,x=2,y=1,z=4,则表达式w A.4 B.3 C.2 D.1 23.若有定义int a=4;执行a<<=1;语句后a的值是( C )。 A.4 B.2 C.8 D.1 24.根据C语言的标识符的命名规则选出下面不合法的变量名( D )。 A. _TOK B.PPO C. T6 D. float 25.以下程序的输出结果是:(B) main() { int a=5; ++a; printf(“%d”,a); } A.7 B.6 C.5 D.4 26.C语言全局变量在程序执行期间( B ) A.在所有函数都有效 B.在存在和全局变量名重名的函数内无效 C.只能赋整型数据 D.使用完后就撤销 27.数组定义为int a[2][3]={1, 2, 4, 3 , 5, 6},数组元素( C )的值为5。 A.a[3][1] B.a[2][0] C.a[1][1] D.a[2][1] 28.以下选项中,非法的字符常量是(C) A. '7' B. '\’' C."n" D. '\n' 29. 以下定义语句中,错误的是(D) A.int a=1; B.char A=‘\n’; C.char s[10]="test"; D.int int=9; 30.表达式:9!=9的值是(C) A.true B.false C.0 D.1 31.下列运算符中优先级最高的是(A) A.() B.. C.&& D.!= 32. 下列选项中,不是C语言关键字是( D ) A.extern B.void C.static D. var 判断题 1.C语言源程序在编译时,注释信息也会被编译。(×) 2.若有宏定义#define S(x) x*x,则S(3+1)的值是7。(√) 3.C语言是一种高级程序语言,变量区分大小写。(√) 4.C语言提供的编译预处理功能有宏定义和文件包含。(√)` 5.字符常量’a’与字符串常量”a”在内存中所占的字节数是不同的。(√)6.若有变量定义unsigned int a;则变量可存储的最大值是65535。(√) 7.C语言中,条件运算符是三元运算符。(`√) 8.在C语言中,引用数组元素时,其数组下标可以是整型常量。(√) 9.对于数组,可以只给一部分数组元素赋初值。(√) 10.一个函数中可以有多条return语句,每次调用只能有一条被执行。(√)11.C语言程序中的变量不区分大小写。(×) 12.C语言程序中定义的全局变量在所有范围内有效。(×) 13.C语言程序中,自定义函数在使用之前必须要先声明。(×) 14.使用break语句,可以提前终止循环的执行。(√) 15.若a为一维数组名,则*(a+i)与a[i]等价。(√) 16.C语言没有三元运算符。(×) 17.对于数组,不能在定义时只给一部分元素赋初值。(×) 18.函数中只能有一个return 语句。(×) 19.函数定义不可以嵌套定义。(√) 20.C语言源程序经过编译后得到的目标程序扩展名是exe (×)21.局部静态变量,在定义它的函数内才有效。(√) 22.C语言程序中,自定义函数在使用之前可以不做声明(√) 23.break不可以用于switch结构体中,只能用于循环结构题中。(× ) 24.语句int *p;p=”abcd”;是错误的。(×) 25. 条件运算符是三元运算符(√) 26. 一个函数中可以有多个return 语句。(√) 27.函数可以嵌套调用。(√) 程序阅读一 1.计算大于等于0小于等于30的所有偶数的和并输出 main() { int i,sum=0; for(i=0;i<=30; i=i+2 ) sum=sum+i ; printf(“sum=%d”,sum); } 2.以下函数用来计算y的x次幂。 double fun(int x, double y) { int i; double z=1.0; for(i=1;i <=x ;i++) z= z*y ; return z; } 3.输出字符数组中的Like单词。 #include "stdio.h" main() { int i;char str[]="I Like C Language"; for( i=2;i<=5;i++ ) putchar(str[i] ) ;或(printf(“%c”,str[i]);) } 4.下面的程序是求数组a中的最大值,请填空main() { int a[5]={1,4,5,2,8},i,max; max= a[0] ; for(i=1;i<=4;i++)