一:单项选择题:(每题2分,共10题)
1、若有定义:int a=3,b=2,c=1;并有表达式:①a%b,②a>b>c,③b&&c+1,④c+=1,则表达式值相等的是 C 。
A)①和② B)②和③ C)①和③ D)③和④
2、若有说明语句int i=5,j=4,k=6;float f;则执行f=(i<j&&i<k)?i:(j<k)?j:k;语句后,f的值为 A 。
A)4.0 B)5.0 C)6.0 D)7.0
3、对下述程序, A 是正确的判断
int x,y;
scanf(“%d,%d”,&x,&y);
if (x>y)
x=y;y=x;
else
x++;y++;
printf(“%d,%d”,x,y);
A)有语法错误,不能通过编译 B)若输入3和4,则输出4和5
C)若输入4和3,则输出3和4 D)若输入4和3,则输出4和5
4、下述表达式中, A 可以正确表示x≤0或x≥1的关系。
A)(x>=1) | | (x<=0) B)x>=1 | x<=0
C)x>=1 && x<=0 D)(x>=1) && (x<=0)
5、执行语句for (i=1;i++<4;) ; 后变量i的值是 C 。
A)3 B)4 C)5 D)不定
6、下面程序的功能是在输入的一批正数中求最大者,输入0结束循环,选择 B 填空。
void main()
{
int a,max=0;
scanf("%d",&a);
while (【 】) {
if (max<a) max=a ;
scanf ("%d",&a);
}
printf("%d",max);
}
A)a==0 B)a C)!a==1 D)!a
7、以下for循环的执行次数是 C 。
for (x=0,y=0; (y=123) && (x<4) ; x++);
A)无限循环 B)循环次数不定 C)4次 D)3次
8、以下程序的运行结果为 D 。
void main()
{
int b=5,y=3;
#define b 2
#define f(x) b*(x)
printf("%d\n",f(y+1));
#undef b
printf("%d\n",f(y+1));
}
A)20 B)20 C)8 D)8
8 20 8 20
9、下面程序段的运行结果是 C 。
char *s="abcde" ;
s+=2 ; printf("%d",s);
A)cde B)字符’c’ C)字符’c’的地址 D)不确定
10、fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是 C 。
A)只写 B)追加 C)读或读写 D)B和C都正确
二:判断题:(每题2分,共10题) switch case判断字符串
1、 以下程序的输出结果是__0__。【 true 】
void main()
{int a=1,b=2;
printf("%d\n",a%b);}
2、switch语句的case表达式必须是常量表达式。【 true 】
3、内层break语句可以终止嵌套的switch,使最外层的switch结束。【 false 】
4、以下程序段是死循环【 false 】
x=-1;
do
{ x=x*x; }
while (!x);
5、在while循环中允许使用嵌套循环,但只能是嵌套while循环。【 false 】
6、判断字符串a和b是否相等,应当使用if (a==b) 【 false 】
7、double x[3][5],则x数组中行下标的下限为3 ,列下标的下限为5【 false 】
8、宏替换不占用编译时间占用运行时间【 false 】
9、设有以下字符串char a[]=”China”a只能存放5个字符【 false 】
10、若以”a+”方式打开一个已存在的文件文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作【 false 】
三:阅读程序,在横线上填上正确内容:(每空3分,共8空)
1、 以下程序为输入一个10进制数输出相应的二进制数:
#define N 30
void main()
{
int num;
int a[N],i=0;
printf("输入一个十进制数:\n");
scanf("%d",&num);
for (;【 num 】!=0;)
{
a[i]=num%2;
【 num=num/2 】;
i++;}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论