(21)對表達式for(表達式1; ;表達式3)可理解為
A)for(表達式1;0;表達式3)
B)for(表達式1;1;表達式3)
C)for(表達式1;表達式1;表達式3)
D)for(表達式1;表達式3;表達式3)
正確答案: B
(22)以下程序的輸出結(jié)果是
main()
{int a,i;a=0;
for(i=1;i<5;i++)
{switch(i)
{case 0:
case 3:a+=2;
case 1:
case 2:a+=3;
default:a+=5;
}
}printf("%d\n",a);
}
A)31
B)13
C)10
D)20
正確答案: A
(23)若有如下語句
int x=3;
do{ printf("%d\n",x-=2);}
while(!(--x));
則上面程序段
A)輸出的是1
B)輸出的是1和-2
C)輸出的是3和0
D)是死循環(huán)
正確答案: B
(24)判斷char型變量cl是否為大寫字母的正確表達式是
A)′A′<=cl<=′Z′
B)(cl>=A)&&(cl<=Z)
C)(′A′>=cl)||(′Z′<=cl)
D)(cl>=′A′)&&(cl<=′Z′)
正確答案: D
(25)下面程序的功能是將從鍵盤輸入的一對數(shù),由小到大排序輸出,當輸入一對相等數(shù)時結(jié)束循環(huán),請選擇填空。
#include <stdio.h>
main()
{int a,b,t;
scanf("%d%d",&a,&b);
while(_______)
{if(a>b)
{t=a;a=b;b=t;}
printf("%d,%d\n",a,b);
scanf("%d%d",&a,&b);
}
}
A)!a=b
B)a!=b
C)a==b
D)a=b
正確答案: B
(26)以下對C語言函數(shù)的有關(guān)描述中,正確的是
A)在C語言中調(diào)用函數(shù)時,只能把實參的值傳給形參,形參的值不能傳送給實參
B)C函數(shù)既可以嵌套定義又可以遞歸調(diào)用
C)函數(shù)必須有返回值,否則不能使用函數(shù)
D)函數(shù)必須有返回值,返回值類型不定`
正確答案: A
(27)有以下程序:
void fun(int a,int b,int c)
{a=456,b=567,c=678;}
main()
{int x=10,y=20,z=30;
fun(x,y,z);
printf("%d,%d,%d\n",x,y,z);
}
輸出結(jié)果是
A)30,20,10
B)10,20,30
C)456,567,678
D)678,567,456
正確答案: B
(28)有如下程序段
int *p,a=10,b=1;
p=&a; a=*p+b;
執(zhí)行該程序段后,a的值為
A)12
B)11
C)10
D)編譯出錯
正確答案: B
(29)有如下說明
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
則數(shù)值為9的表達式是
A)*p+9
B)*(p+8)
C)*p+=9
D)p+8
正確答案: B
(30)以下程序中調(diào)用scanf函數(shù)給變量a輸入數(shù)值的方法是錯誤的,其錯誤原因是
main()
{ int *p,*q,a,b;
p=&a;
printf("input a:");
scanf("%d",*p);
}
A)*p表示的是指針變量p的地址
B)*p表示的是變量a的值,而不是變量a的地址
C)*p表示的是指針變量p的值
D)*p只能用來說明p是一個指針變量
正確答案: B