一:单选题
1、下列说法正确的是( c )
A. C 语言的主函数不允许有参数
B. C 语言的主函数最多允许 1 个参数
C. C 语言的主函数可以无参数
D. C 语言的主函数允许任意个参数
2、表达式 (!'1'||'1')+5 的值是( c )
A. 不确定 B. 5 C. 6 D. 7
3、选出表达式结果为假的一项( b )
A. 1<4&&5>=4 B. (2>5==5)
C. (3<=3)&&(2<5) D. !(4<=8)||(3<=7)
4、下列表达式中, 已知float a=5;int b=4;其中非法的是( a )
A. a%3+b B. b*b&&a||b C. (a>b)+(int)b%2 D. --b+a
5、下列运算符中,优先级别最高的是( b )。
A. <= B. % C. || D. +
6、在一个C语言程序中( b )。
A. main函数必须出现在所有函数之前
B. main函数可以在任何地方出现
C. main函数必须出现在所有函数之后
D. main函数必须出现在固定位置
7、函数fun(float x)的函数类型是( a )。
A. int B. void
C. float D. 不确定
8、关于C程序说法正确的是( c )。
A. 一行只能写一条语句
B. 一个语句不可以分写在多行上
C. C语言本身没有输入输出语句
D. 分号不是C语句的必要组成部分
9、假定x和y为double型,则表达式x=2,y=x+3/2的值是( d )。
A. 3.500000 B. 3
C. 2.000000 D. 3.000000
10、下列运算符结合方向是右结合的是( d )。
A. + B. &&
C. >= D. ?:
11、设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
12、合法的赋值语句是( b )。
A. x=y=100 B. d--;
C. x+y; D. c=int(a+b);
13、只有当整数x为奇数时,表达式为逻辑“真”的是( b )。
A. x%2==0 B. !(x%2==0)
C. (x-x/2*2)==0 D. !(x%2)
14、下列选项中合法的字符常量是 ( b )
A. "&" B. 'R'
C. "ABC" D. "
"
15、int x=3,y=4,a=5,b=6; 则表达式(a=x) &&(b=y)的值是 ( b )。
A. 0 B. 1
C. 2 D. 不确定
16、一个C语言程序由若干个函数组成,其中唯一不可缺少的函数是( d )。
A. 库函数 B. scanf 函数
C. printf函数 D. main函数
17、设int x=12,y=12345;则执行语句printf("x=%4d,y=%4d",x,y);的结果是( c )。
A. x= 12,y=1234 B. x=12,y=12345
C. x= 12,y=12345 D. x= 12,y=2345
18、a,b,c,d 都为float 型,且已正确赋值,则与数学表达式2ab/(5cd)等价的 C语言表达式是( a )。
A. a/c*b/d*2/5 B. a/(5*c*d)/2*b
C. 2*a*b/5*c*d D. 2/5*a*b*(1/c*d)
19、下列程序的执行结果是( b )。
main()
{ int a,b,c; c=(a=3,b=a--);
printf("%d,%d,%d",c,a,b); }
A. 3,3,3 B. 3,2,3
C. 2,3,3 D. 2,2,3
20、有如下定义:int a=3,b=-4; long c=5; float x; double y ; 则下列选项中不符合C语言语法的表达式是( c )。
A. a+=a-=a*b B. a%b
C. y=2*x; D. y=(float)c
21、下列常数中哪个是不合法的C常量( c )。
A. -0. B. 0003
C. 3e+2.3 D. "105"
22、下列运算符中,优先级别最高的是( c )。
A. <= B. =
C. % D. &&
23、关于C程序说法正确的是( c )。
A. 一行只能写一条语句
B. 一个语句不可以分写在多行上
C. C语言本身没有输入输出语句
D. 分号不是C语句的必要组成部分
24、float i,j,下列可以正确表示把i,j之和转换成整型的C语言表达式( c )。
A. int(i+j) B. int(i)+int(j)
C. (int)(i+j) D. (int)i+j
25、下列标识符中非法的是( a )。
A. FILE B. temp
C. stu_ave D. sum5
26、程序段:int x=10, y=3,z;
printf("%d
",z=(x%y,x/y));的输出结果是:( c )。
A. 1 B. 0
C. 3 D. 4
27、已知int a,b;则下列表达式不合法的是 ( b )。
A. a/b B. (a+b)++
C. a+=b D. a*=b+3
28、下列属于C语言基本数据类型的是( c )。
A. 整型、实型、逻辑型
B. 整型、字符型、逻辑型
C. 整型、字符型、实型
D. 整型、实型、字符型、逻辑型
29、为表示关系'a'≤x≤'z' ,C 语言表达式应是( a )。
A. (x<='z')&&(x>='a')
B. (x<='z')&(x>='a')
C. (x<='z') and (x>='a')
D. (x<='z')||(x>='a')
30、表达式x 和y 的取值同时在 ( 0, +∞) 或 同时在 (-∞, 0) "的表达式是 ( c ) 。
A. (x+y>0) && (x+y<=0)
B. (x>=0 | | y>=0) && (x<0 ||y<0)
C. x>0&&y>0 || x<0 && y<0
D. (x>=0&&y>=0) &&(x<0&&y<0)
31、有如下定义:int a=3,b=-4; long c=5; float x; double y ; 则下列选项中不符合C语言语法的表达式是( c )。
A. a+=a-=a*b B. a%b
C. y=2*x; D. y=(float)c
32、在C语言中,char型数据在内存中是以( a )形式存储的。
A. ASCII码 B. 原码
C. 反码 D. 补码
33、已知int a,b;则下列表达式合法的是( d )。
A. 2.5%a B. ++(a+b)
C. 3++ D. a=b==3
34、设有类型说明
unsigned int a=65535;
则printf函数中按 %d 格式输出a的值,其结果是( b )。
A. 65535 B. -1
C. 1 D. -32767
35、下列字符常量中非法的是( d )。
A. '\'' B. '\\'
C. '
' D. '\678'
36、字符串"abc\t\b\007
"在内存中所占字节数是( d )。
A. 14 B. 15
C. 7 D. 8
37、在一个整常量2后面,加上L字母,该常量2L类型是( b )。
A. 非法标识符 B. long
C. int D. 变量名
38、下列运算符中运算级别最低的运算符是( b )。
A. && B. =
C. ?: D. ||
39、C语言用( d )表示逻辑"真"值。
A. true B. .t.
C. 非0 D. 整型值1
40、下面字符序列中,C合法的标识符是( a )。
A. wps B. next-day
C. x$ D. goto
41、一个可执行C程序的开始执行点是( d )。
A. 程序中的第一条语句
B. 文件的第一个函数
C. 程序中第一个定义的函数
D. main( )函数
42、以下叙述中不正确的是( d )。
A. 在不同的函数中可以使用相同名字的变量
B. 函数中的形式参数是局部变量
C. 在一个函数内定义的变量只在本函数范围内有效
D. 在一个函数内的复合语句中定义的变量在本函数范围内有效
43、int i=5, k ; 表达式k=2*'B'-'A'-'C'+i的值是( a )。
A. 5 B. 6
C. 7 D. 8
44、字符串"\"yes\"or\"no\"
"在内存中所占字节数是( b )。
A. 12 B. 13
C. 17 D. 18
45、下列常数中( a )是不合法的C常量。
A. 12e1.5 B. 3e5
C. 1.3 e-5 D. 12E2
46、已知int a,b;则下列表达式不合法的是( c )。
A. 3%a B. a+=b
C. ++3+a+b D. 0