50道 C 语言知识题
1.以下叙述中正确的是
A)用C 程序实现的算法必须要有输入和输出操作
B)用C 程序实现的算法可以没有输出但必须要有输入
C)用C 程序实现的算法可以没有输入但必须要有输出
D)用C 程序实现的算法可以既没有输入也没有输出
2.下列可用于C 语言用户标识符的一组是
A)void, define, WORD B)a3_3,_123,Car
C)For, -abc, IF Case D)2a, DO, sizeof
3.以下选项中可作为C 语言合法常量的是
A)-80 B)-080 C)-8e1.0 D)-80.0e
4.若有语句:char *line[5];,以下叙述中正确的是
A) 定义line 是一个数组,每个数组元素是一个基类型为char 为指针变量
B) 定义line 是一个指针变量,该变量可以指向一个长度为5的字符型数组
C) 定义line 是一个指针数组,语句中的*号称为间址运算符
D) 定义line 是一个指向字符型函数的指针
5.以下定义语句中正确的是
A)int a=b=0; B)char A=65+1,b=′b′;
C)float a=1,*b=&a,*c=&b; D)double a=0 0;b=1.1;
6.有以下程序段
char ch; int k;
ch=′a′;
k=12;
printf("%c,%d,",ch,ch,k); printf("k=%d \n",k);
已知字符a 的ASCII 码值为97,则执行上述程序段后输出结果是
A)因变量类型与格式描述符的类型不匹配输出无定值
B)输出项与格式描述符个数不符,输出为零值或不定值
C)a,97,12k=12
D)a,97,k=12
7.有以下程序
main()
{ int i,s=1;
for (i=1;i<50;i++)
if(!(i%5)&&!(i%3)) s+=i;
printf("%d\n",s);}
程序的输出结果是
A)409 B)277 C)1 D)91
8.当变量c 的值不为2、4、6时,值也为"真"的表达式是
A)(c==2)||(c==4)||(c==6)
B)(c>=2&& c<=6)||(c!=3)||(c!=5)
C)(c>=2&&c<=6)&&!(c%2)
D)(c>=2&& c<=6)&&(c%2!=1)
9.若变量已正确定义,有以下程序段
int a=3,b=5,c=7;
if(a>b) a=b; c=a;
if(c!=a) c=b;
printf("%d,%d,%d\n",a,b,c);
其输出结果是
A)程序段有语法错 B)3,5,3 C)3,5,5
D)3,5,7
10.有以下程序
#include
main()
{ int x=1,y=0,a=0,b=0;
switch(x)
{ case 1:
switch(y)
{ case 0:a++; break;
case 1:b++; break;
}
case 2:a++; b++; break;
case 3:a++; b++;
}
printf("a=%d,b=%d\n",a,b);
}
程序的运行结果是
A)a=1,b=0 B)a=2,b=2 C)a=1,b=1
D)a=2,b=1
11.下列程序的输出结果是
#include "stdio.h"
main()
{ int i,a=0,b=0;
for(i=1;i<10;i++)
{ if(i%2==0)