1、 1.以下叙述中错误的是( )。 A) 使用三种基本结构构成的程序只能解决简单问题 B) 结构化程序由顺序、分支、循环三种基本结构组成 C) C语言是一种结构化程序设计语言 D) 结构化程序设计提倡模块化的设计方法 2.以下可以将任意一个两位整数n的个位数与十位数对换的表达式为( ) A) (n-n/10*10)*10+n/10 B) n-n/10*10+n/10 C) n/10+(n-n/10) D) (n-n/10)*10+(n/10) 3.以下叙述中错误的是 A) 算法正确的程序可以有零个输入 B) 算法
2、正确的程序最终一定会结束
C) 算法正确的程序可以有零个输出
D) 算法正确的程序对于相同的输入一定有相同的结果
4.若有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++) : (y++)中的条件表达式(x-y) 等价的是( )。
A) (x-y<0||x-y>0)
B) (x-y<0)
C) (x-y>0)
D) (x-y==0)
5.有以下程序
#include
3、 程序的运行结果是( ) A) 3 B) 5 C) 6 D) 结果不确定 6.请选出合法的C语言赋值语句:( ) A) a=b=58 B) i++; C) a=58,b=58 D) k=int(a+b) 7.假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表 示代数式 1/abc 的表达式是:( ) A) 1/a*b*c B) 1/(a*b*c) C) 1/a/b/(float)c D) 1.0/a/
4、b/c
8.请选出以下语句的输出结果:( )
printf("%d\n",strlen("\t\"\065\xff\n"));//srelen()为求字符串长度的函数,返回字节数。
A) 5 B) 14 C) 8 D) 输出项不合法,无正常输出
9.请选出以下语句的输出结果:( )
printf("%d\n",strlen("\xffff"));
A) 1 B) 2 C) 3 D)5
10.有如下程序段,其输出结果是什么:(
5、nt a=1,b=3,c=5;
if (c=a+b)
printf ("yes\n");
elseprintf("no\n"); }
A) yes
6、) 只能是0或非0正数
C) 只能是整型或字符型数据
D) 可以是任何类型的数据
13. 以下叙述中错误的是 ()
A)C语句必须以分号结束
B)复合语句在语法上被看作一条语句
C)空语句出现在任何位置都不会影响程序运行
D)赋值表达式末尾加分号就构成赋值语句
14.已知a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a>b)&&(n=c 7、t(15.8%5)
C) x=y*5=x+z
D) x=25%5.0
16.若有定义语句:int x=10;,则表达式x-=x+x的值为( )
A) 0
B) -20
C) -10
D) 10
17.有以下程序
#include 8、有定义:int a=7;float x=2.5,y=4.7;则表达式:x+a%3*(int)(x+y)%2/4的值是:( )
A)2.500000
B)2.7500000
C)3.500000
D)0.000000
19.已知x=43,ch=’A’,y=0,则表达式(x>=y&&ch<’B’&&!y)的值是:( )
A)0
B)语法错误
C)1
D)”假”
20. 若有以下定义和语句:
Inta,b;
printf(“%d”,(a=2)&&(b=-2));
则输出的结果是()
A)无输出 B)结果不确定 C)1 D)-1
21. 以下语 9、句的输出结果是()
int a=2,b=3;
printf(a>b?”***a=%d”:”###b=%d”,a,b);
A)输出结果格式错误 B)***a=2
C)###b=2 D)###b=3
22. 下列运算符中,结合方向为自左向右的是( )
(A)?: (B), (C)+ = (D)+ +
23. 设x、y、z均为int型变量,则执行以下语句后,x、y、z的值为()
x=1;y=0;z=2; y++&&++z||++x;
A)2、1、3 B)2、0、3 C)2、1、3 D)2、1、2
24 10、若有以下定义和语句:
int y=10;
y+=y-=y-y;
则y的值是()
A)10 B)20 C)30 D)40
25. 下列表达式中,不满足”当x的值为偶数时值为真,为奇数时值为假”的要求的是()
A)x%2==0 B)!x%2!=0
C)(x/2*2-x)==0 D)!(x%2)==0
26.以下能正确定义整型变量a,b和c并为其赋初值1的语句是( )
A) int a=b=c=1; B) inta,b,c=1; C) a=b=c=1; D) int a=1,b=1,c=1;
27.字符串"\t 11、\065\xff\n"中的字符数(不算’\0’)为( )
A) 5 B) 14 C) 8 D) 4
28.若有以下定义:
chara;int b;
float c;double d;
则表达式a*b+d-c值的类型为( )
A) float B) int C) char(字符型) D) double
29.在C语言中,运算对象必须是整型数的运算符是( )
A) % B) / C) %和\ D) **
30.以下选项中,当x为大于1的奇数时,值为0的表达式是( 12、 )
A) x%2==1 1为真,0为假 B) x/2 C) x%2!=0 D) x%2==0
31.有以下程序
main()
{
char a='a',b;
printf("%c,",++a);
printf("%c\n",b=a++);
}
程序运行后的输出结果是( )
A) b,b B) b,c C) a,b D) a,c
32.写出下面程序的值.
#include 13、ntf("%d \n",a%=(b%=3));
}
A)0 B) 1 C) 10 D)2
注连续赋值操作从右向左进行
33.设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中值为0的是()
A. ‟a‟&&‟b‟ B. a<=b C. a||b+c&&b-c D. !((a 14、 _123 -abc DO
WORD IF Case sizeof
35. 若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是:
A)1 B)2
C)2.0 D)2.5
36. 有如下程序
main()
{ int y=3,x=3,z=1;
printf(“%d %d 15、\n”,(++x,y++),z+2);
}
运行该程序的输出结果是:
A) 3 4 B) 4 2 C) 4 3 D) 3 3
37.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是:
A)c=b=a; B)(a=c)‖(b=c);
C)(a=c)&&(b=c); D)a=c=b;
38. 在以下一组运算符中,优先级最高的运算符是:
A)<= B)=
C)% 16、 D)&&
39. 有以下程序
#include
main()
{ int a,b,c=246;
a=c/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);
}
输出结果是:
A) 2,1 B) 3,2 C) 4,3 D) 2,-1
40. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为:
A)a<>0 17、 B)!a
C)a=0 D)a
41、以下选项中,能用作数值常量的是________。
(A)o115 (B)0118 (C)115L (D)1.5e1.5
42、下列叙述中错误的是_______。
(A)一个 C 语言程序只能实现一种算法
(B)一个 C 函数可以单独作为一个 C 程序文件存在
(C)C 程序可以由一个或多个函数组成
(D)C 程序可以由多个程序文件组成
43、设变量已正确定义并赋值,以下正确的表达式是_______。
(A)int(15.8%5) 18、 (B)x=y+z+5, ++y (C)x=25%5.0 (D)x=y*5=x+z
44、以下叙述中错误的是_____________。
(A)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
(B)C语言源程序经编译后生成后缀为.obj 的目标程序
(C)用 C 语言编写的程序称为源程序,它以 ASCII 代码形式存放在一个文本文件中
(D)C 程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件
45、按照 C 语言规定的用户标识符命名规则,不能出现在标识符中的是___________。(A)大写字母 (B)下划线 (C) 19、数字字符 (D)连接符
46、以下选项中,合法的一组 C 语言数值常量是__________。
(A) 0x8A 10,000 3.e5 (B) .177 4e1.5 0abc (C) 028 .5e-3 -0xf (D) 12. 0Xa23 4.5e0 7、
47以下选项中不合法的标识符是__________。
(A)print (B)FOR (C)&&a (D)_00
48、若有定义:double a=22;int i=0,k=18;,则不符合 C 语言规定的赋值语句是
(A)i=(a+k)<=(i+k); (B)a=a++,i++; (C)i=a%11; ( 20、D)i=!a;
49、设有定义:int x=2;,以下表达式中,值不为 6 的是
(A)x*=(1+x) (B)x*=x+1 (C)x++,2*x (D)2*x, x+=2
50、有以下程序
#include






