C语言考题答案
C语言考试题
一、 单选题。 ( 共12题,每题1.5分,共18分)
1. 以下不能定义为用户标识符是( d )
a、Main b、_0 c、_int d、sizeof
2. 有以下程序
#inlcude
int main()
{
int m=12,n=34;
printf("%d%d",m++,++n);
printf("%d%d\n",n++,++m);
return 0;
} 程序运行后的输出结果是( a )
a b c d
3. 有以下语句:int b;char c[10]; 则正确的输入语句是 ( b )
a、scanf("%d%s", &b, &c); b、scanf("%d%s", &b, c);
c、scanf("%d%s", b, c); d、scanf("%d%s", b, &c);
4. 有以下程序
#inlcude
int main()
{
int m,n,p;
scanf("m=%dn=%dp=%d",&m,&n,&p);
printf("%d%d%d\n",m,n,p);
return 0;
}
若想从键盘上输入数据,使变量M中的值为123,N中的值为456,P中的值为789,则正确的输入是( a )
a、m=123n=456p=789 b、m=123 n=456 p=789
c、m=123,n=456,p=789 d、123 456 789
5. 有以下程序
#inlcude
int main()
{
int a,b,d=25;
a=d/10%9;
b=a&&(-1);
printf("%d,%d\n",a,b);
return 0;
}程序运行后的输出结果是(b )
a、6, 1 b、2, 1 c、6, 0 d、2, 0
6. 有以下程序
#inlcude
int main()
{
int i=1,j=2,k=3;
if(i++= =1&&(++j= =3||k++= =3))
printf("%d %d %d\n",i,j,k);
return 0;
}程序运行后的输出结果是 (d )
a、1 2 3 b、2 3 4 c、2 2 3 d、2 3 3
7. 有以下程序
#inlcude
int main()
{
char a[7]="a0\0a0\0";
int i,j;
i = sizeof(a);
j = strlen(a);
printf("%d %d\n",i,j);
return 0;
} 程序运行后的输出结果是( c)
a、2 2 b、7 6 c、7 2 d、6 2
8. 已有定义:char a[]="xyz",b[]={’x’,’y’,’z’};,以下叙述中正确的是(c )
a、数组a和b的长度不同 b、a数组长度小于b数组长度
c、a数组长度大于b数组长度 d、上述说法都不对
9. 以下叙述中正确的是( d)
a、预处理命令行必须位于源文件的开头
b、在源文件的一行上可以有多条预处理命令
c、宏名必须用大写字母表示
d、宏替换不占用程序的运行时间
10. 以下语句或语句组中,能正确进行字符串赋值的是(d)
a、char *sp; *sp = "right!";
b、char s[10]; s = "right!";
c、char s[10]; *s = "right!";
d、char *sp = "right!";
11. 设有如下说明
typedef struct ST
{long a;int b;char c[2];}NEW; 则下面叙述中正确的是(c)
a、以上说明形式非法 b、ST是一个结构体类型
c、NEW是一个结构体类型 d、NEW是一个结构体变量
12. 程序中若有如下说明和定义语句
char * fun(char *);
int main()
{
char *s="one", a[5]={0};
char ch;
} 以下选项中对函数fun的正确调用语句是 ( d)