NEWS
1、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是____A____.
A) 10<a<15
B) a==11||a==12||a==13||a==14
C) a>10&&a<15
D) !(a<=10)&&!(a>=15)
2、下列程序执行后的输出结果是_____C____.
#include <stdio.h>
void main( )
{ int a=5,b=60,c;
if (a<b)
{c=a*b;printf("%d*%d=%d\n",b,a,c);}
else
{c=b/a;printf("%d/%d=%d\n",b,a,c);}
}
A) 60/5=12 B) 300
C) 60*5=300 D) 12
3、如果c为字符型变量,判断c是否为空格不能使用____A____.(假设已知空格ASCII码为32)
A) if(c=='32') B) if(c==32)
C) if(c=='\40') D) if(c==' ')
4、运行下面程序时,若从键盘输入"3,5<CR>",则程序的输出结果是____D____.
#include <stdio.h>
void main( )
{
int x,y;
scanf("%d,%d",&x,&y);
if (x==y)
printf("x==y");
else if (x>y)
printf("x>y");
else
printf("x<y");
}
A) 3<5 B) 5>3
C) x>y D) x<y
5、运行下面程序时,若从键盘输入数据为"6,5,7<CR>",则输出结果是____C___.
#include <stdio.h>
void main( )
{ int a,b,c;
scanf("%d,%d,%d",&a,&b,&c);
if (a>b)
if (a>c)
printf("%d\n",a);
else
printf("%d\n",c);
else
if (b>c)
printf("%d\n",b);
else
printf("%d\n",c);
}
A) 5 B) 6
C) 7 D) 不定值
6、执行下面程序时,若从键盘输入"2<CR>",则程序的运行结果是____A____.
#include <stdio.h>
void main( )
{ int k; char cp;
cp=getchar( );
if (cp>='0' && cp<='9')
k=cp-'0';
else if (cp>='a' && cp<='f')
k=cp-'a'+10;
else k=cp-'A'+10;
printf("%d\n",k);
}
A) 2 B) 4
C) 1 D) 10
7、运行下面程序时,从键盘输入"2.0<CR>",则输出结果是___B_____.
#include <stdio.h>
void main( )
{ float a,b;
scanf("%f",&a);
if (a<0.0) b=0.0;
else if ((a<0.5) && (a!=2.0)) b=1.0/(a+2.0);
else if (a<10.0) b=1.0/2;
else b=10.0;
printf("%f\n",b);
}
A) 0.000000
B) 0.500000
C) 1.000000
D) 0.250000
8、执行下面程序后,运行结果是____A____.
#include <stdio.h>
void main( )
{ int x=41,y=1;
if (x%3==0 && x%7==0)
{ y+=x;printf("y=%d\n",y);}
else
{y=x;printf("y=%d",y);}
}
A) y=41 B) y=43
C) y=42 D) y=1
9、运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是___A___.
#include <stdio.h>
void main( )
{ int x,y,z;
scanf("%d,%d,%d",&x,&y,&z);
if (x<y)
if (y<z)printf("%d\n",z);
else printf("%d\n",y);
else if (x<z)printf("%d\n",z);
else printf("%d\n",x);
}
A) 34 B) 12
C) 9 D) 不确定的值
10、运行下面程序时,从键盘输入字母H,则输出结果是_____C___.
#include <stdio.h>
void main( )
{ char ch;
ch=getchar( );
switch(ch)
{ case 'H':printf("Hello!\n");
case 'G':printf("Good morning!\n");
default:printf("Bye_Bye!\n");
}
}
A) Hello! B) Hello!
Good Morning!
C) Hello! D) Hello!
Goodmorning! Bye_Bye!
Bye_Bye!
11、假定w、x、y、z、m均为int型变量,有如下程序段:
w=1;x=2;y=3;z=4;
m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z;
则该程序段执行后,m的值是____D_____.
A) 4 B) 3
C) 2 D) 1
12、以下程序的输出结果是___D______.
main( )
{ int a=100;
if (a>100) printf("%d\n",a>100);
else printf("%d\n",a<=100);
}
A) a<=100 B) 100
C) 0 D) 1
13、若执行下面的程序从键盘上输入9,则输出结果是.______B________
#include <stdio.h>
void main( )
{int n;
scanf("%d",&n);
if (n++<10) printf("%d\n",n);
else printf("%d\n",n--);}
A) 11 B) 10
C) 9 D) 8
14、以下程序输出结果是_____D_____.
#include <stdio.h>
void main( )
{ int m=4;
if (++m>5) printf("%d\n",m--);
else printf("%d\n",--m);
}
A) 7 B) 6
C) 5 D) 4
15、在C语言中,全局变量的存储类别是____A_____.
A) static B) extern
C) void D) registe
16、以下程序段运行结果是____A____.
int x=1,y=1,z=-1;
x+=y+=z;
printf("%d\n",x<y?y:x);
A) 1 B) 2
C) 4 D) 不确定的值
17、有以下程序
#include <stdio.h>
void main( )
{ int a,b,c=246;
a=c/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);
}
输出结果是____A____.
A) 2,1 B) 3,2
C) 4,3 D) 2,-1
18、运行下面程序时,若从键盘输入数据为"123",
则输出结果是___C____.
#include "stdio.h"
void main()
{ int num,i,j,k,place;
scanf("%d",&num);
if (num>99)
place=3;
else if(num>9)
place=2;
else
place=1;
i=num/100;
j=(num-i*100)/10;
k=(num-i*100-j*10);
switch (place)
{ case 3: printf("%d%d%d\n",k,j,i);
break;
case 2: printf("%d%d\n",k,j);
break;
case 1: printf("%d\n",k);
}
}
A) 123 B) 1,2,3
C) 321 D) 3,2,1
19、执行下列程序后的输出结果是___D____.
#include <stdio.h>
void main( )
{ int k=4,a=3,b=2,c=1;
printf("%d\n",k<a?k:c<b?c:a);
}
A) 4 B) 3
C) 2 D) 1
20、以下条件表达式中能完全等价于条件表达式x的是____B___.
A) (x==0) B) (x!=0)
C) (x==1) D) (x!=1)
21、若运行下面程序时,给变量a输入15,则输出结果是___A___.
#include <stdio.h>
void main( )
{ int a,b;
scanf("%d",&a);
b=a>15?a+10:a-10;
printf("%d\n",b) ;
}
A) 5 B) 25
C) 15 D) 10
22、运行下面程序后,输出是___D___.
#include <stdio.h>
void main( )
{ int k=-3;
if (k<=0) printf("****\n");
else printf("####\n")
}
A) ####
B) ****
C) ####****
D) 有语法错误不能通过编译
23、执行下面程序的输出结果是____C____.
#include <stdio.h>
void main( )
{ int a=5,b=0,c=0;
if (a=a+b) printf("****\n");
else printf("####\n");
}
A) 有语法错误不能编译
B) 能通过编译,但不能通过连接
C) 输出 ****
D) 输出 ####
24、为了避免嵌套的if-else语句的二义性,C语言规定else总是与___C___组成配对关系.
A) 缩排位置相同的if
B) 在其之前未配对的if
C) 在其之前尚未配对的最近的if
D) 同一行上的if
25、设x 、y 、z 、t均为int型变量,则执行以下语句后,t的值为____C_____.
x=y=z=1;
t=++x || ++y && ++z;
A) 不定值 B) 4
C) 1 D) 0
26、以下程序段____C______.
x=-1;
do
{
x=x*x;
} while (!x);
A)是死循环
B)循环执行两次
C)循环执行一次
D)有语法错误
27、对下面程序段描述正确的是___B____.
int x=0,s=0;
while (!x!=0) s+=++x;
printf("%d",s);
A) 运行程序段后输出0
B) 运行程序段后输出1
C) 程序段中的控制表达式是非法的
D) 程序段循环无数次
28、下面程序段的输出结果是____C____.
x=3;
do { y=x--;
if (!y) {printf("*");continue;}
printf("#");
} while(x=2);
A) ## B) ##*
C) 死循环 D)输出错误信息
29、下面程序的运行结果是____B____.
#include<stdio.h>
void main( )
{ int a=1,b=10;
do
{ b-=a;a++;
} while(b--<0);
printf("%d,%d\n",a,b);
}
A) 3,11 B) 2,8
C) 1,-1 D) 4,9
30、下面程序段的运行结果是____B______.
int n=0;
while (n++<=2)
printf("%d",n);
A) 012 B) 123
C) 234 D) 错误信息
参考答案
1 ~ 5 ACADC
6~10 ABAAC
11~15 DDBDA
16~20 AACDB
21~25 ADCCC
26~30 CBCBB