一、单选题:(每题1.5分,共60分)
1、 C程序是( ) A. 顺序执行
B. 从Main函数开始 C. 从函数体开始 D. 任意语句
2、 以下说法中正确的是( )。
A. C语言程序中是从第一定义的函数开始执行
B. 在C语言程序中,要调用的函数必须在main()函数中定义 C. C语言程序总是从main()函数开始执行
D. C语言程序中的main()函数必须放在程序的开始部分 3、 算法的表示方法有________。
A. 自然语言,传统流程图,N-S流程图,伪代码,计算机语言 B. 高级语言,汇编语言,机器语言 C. C语言,QBASIC语言,InterDev D. 图形图像法,描述法,编程法 E. 计算机语言
4、 以下选项中,非法的字符常量是( ) A. '\\t' B. '\\17' C. \ D. '\\xaa'
5、 以下所列的C语言常量中,错误的是
A. 0xFF B. 1.2e0.5 C. 2L D. '\\72'
6、 下列变量名合法的是( ) A. #1 B. $567 C. a-b
D. m_number
7、 下面四个选项中,均是不正确的八进制数或十六进制数的选项是 A. 016 0x8f 018 B. 0abc 017 0xa C. 010 -0x11 0x16 D. 0a12 7ff -123 8、 sizeof(float)是
A. 一个双精度型表达式 B. 一个整型表达式 C. 一种函数调用
D. 一个不合法的表达式
9、 C语言中,double类型数据占( )个字节,char类型数据占( )个字节 A. 1 B. 2 C. 4
D. 8和1
10、 当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是 A. c=b=a;
B. (a=c) ‖(b=c) ; C. (a=c) &&(b=c); D. a=c=b;
11、 若已定义x和y为double型,则表达式:x=1,y=x+3/2的值是( A. 1 B. 2 C. 2.0 D. 2.5
12、 执行语句x=(a=3,b=a--)后x,a,b的值为; A. 3 3 2 B. 3 2 2 C. 3 2 3 D. 2 3 2
13、 语句printf(\的输出结果是 A. a\\bre\\'hi\\'y\\\\\\bou B. a\\bre\\'hi\\'y\\bou C. re'hi'you
D. abre'hi'y\\bou
14、 在下列运算符中,优先级别最高的是 A. <= B. = C. % D. &&
15、 若执行下面的程序时从键盘上输入3和4,则输出是 main() {
int a,b,s; a=3,b=4;
scanf(\s=a+b;
printf(\ printf(\}
A. 7,7 B. 7,5 C. 6,7 D. 7,6
) 16、 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是( )。 #include
{ int x;
seanf(”%d”,&x);
if(x++>5)printf(”%d”,x); else printf(”%d\n”,x--);} A. 7和5 B. 6和3 C. 7和4 D. 6和4
17、 设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的值为:
A. 0 B. 1 C. 2 D. 3
18、 逻辑运算符两侧运算对象的数据类型 A. 只能是0或1
B. 只能是0或非0正数
C. 只能是整型或字符型数据 D. 可以是任何类型的数据
19、 表示关系X < =Y < =Z的C语言表达式为________。 A. (X < =Y)&&(Y < =Z) B. (X < =Y)AND(Y < =Z) C. (X < =Y < =Z)
D. (X < =Y)&(Y < =Z)
20、 判断字符型变量x是否是大写字母的正确的表达式______. A. 'A'<=x<='Z' B. (x>=A)&&(x<=Z)
C. ('A'<=x)&&('Z'=>x) D. (x>='A')&&(x<='Z') 21、 有如下程序 main0
{ int x=1,a=0,b=0; switch(x){ case 0: b++; case 1: a++
case 2: a++;b++ }
printf(\
}
该程序的输出结果是 A. a=2,b=1 B. a=1,b=1 C. a=1,b=0 D. a=2,b=2
22、 已知 int x=10,y=20,z=30;以下语句执行后x,y,z的值是 if(x>y)
z=x;x=y;y=z;
A. x=10,y=20,z=30 B. x=20,y=30,z=30 C. x=20,y=30,z=10 D. x=20,y=30,z=20
23、 以下程序的输出结果是 main()
{int a=100,x=10,y=20,ok1=5,ok2=0; if(x < y) if(y!=10) if(!ok1) a=1; else
if(ok2) a=10; a=-1;
printf(\ }
A. 1 B. 0 C. -1
D. 值不确定
24、 i、j已定义为int类型,则以下程序段中内循环体的总的执行次数是 for (i=5; i; i--)
for(j=0; j < 4; j++){?} A. 20 B. 24 C. 25 D. 30
25、 以下程序的输出结果是
main( )
{ int x=10,y=10,i; for(i=0;x > 8;y=++i)
printf(\,%d \,x--,y); }
A. 10 1 9 2 B. 9 8 7 6 C. 10 9 9 0 D. 10 10 9 1
26、 执行语句: for (i=1;i++ < 4;);后,变量i的值是______. A. 3 B. 4 C. 5 D. 不定
27、 以下程序的输出结果是
{ int i,j,x=0; for(i=0;i < 2;i++) { x++;
for(j=0;j < 3;j++)
{ if(j%2) continue; x++; } x++ }
printf(\,x); }
A. x=4 B. x=8 C. x=6 D. x=12
28、 有以下程序段 int k=0
while(k=1)k++;
while 循环执行的次数是
A. 无限次
B. 有语法错,不能执行 C. 一次也不执行 D. 执行1次
29、 在while(x)语句中的x与下面条件表达式等价的是( A. x==0 B. x==1 C. x!=0 D. x!=1
30、 执行下面的程序段后,变量k中的值为 s[0]=k; k=s[1]*10; A. 不定值 B. 33
)。