复习资料
一、判断题
1、 一个C源程序可以包含若干个函数,但必须包含一个main函数。( 对 )A 2、 在C程序中,main函数必须位于程序的最前面。( 错 )B 3、 C语言本身没有输入输出语句,一般可通过调用系统函数实现输入输出。( 对 ) 4、 C程序的注释只能是一行,不能是中文文字信息。( 错 )B
5、 程序的注释对程序的编译和运行不起任何作用,但是可以增加程序的可读性。( 对 )
6、 语言中,最简单的数据类型包括整型、实型、字符型 。( 对 )A
7、 语言中,long、int 和short 类型数据占用内存大小由C语言编译系统决定 。
( 对 )
8、 C程序中,逗号运算符的优先级最低。( 对 )
9、 C语言中,要求对变量作强制定义的主要理由是便于确定类型和分配空间。( A
对 ) 10、 11、
C程序中,使用putchar 函数时,必须在之前包含头文件stdio.h。( 对 ) getchar 函数读入字符时,可以从键盘上输入字符所对应的ASCII 码。
( 对 ) 12、 C语言中,整数可以以十二进制、八进制或十六进制的形式直接输出。
( 对 ) 13、 C语言中,一个表达式要构成一个C语句,必须以分号作为结束标记。
( 对 ) 14、 15、 16、 17、 18、 19、 二、单选题
1、以下选项中,能用作用户标识符的是( C )。 C A) viod B)8_8 C)_0_ D) unsigned
2、以下选项中,正确的变量定义语句是( C )。 C A)double a;b; B)double a=b=7; C)double a=7,b=7; D)double ,a,b; 3、表达式3.6-5/2+1.2+5%2 的值是( C )。 D
A)4.3 B)4.8 C)3.3 D)3.8 4、假定x和y为double型,则表达式x=2,y=x+3/2的值是( A )。 D
A)3.500000 B)3 C)2.000000 D)3.000000 5、 设 int a=12,表达式a+=a-=a*=a的值是( C )。 C
A)12 B)144 C)0 D)132 6、以下合法的赋值语句是( D )。 B A)int x=y=100; B)d--; C)x+y; D)c=int(a+b); 7、下面程序的输出是( C )。 C
main( )
{
int x=10,y=3;
C语言中,复合语句是用一对大括号{}界定的语句块。( 对 ) while循环中允许使用嵌套循环,但只能是嵌套while循环。( 错 ) 实际编程中,do-while循环完全可以用for循环替换。( 对 ) 不得已的情况下(例如提高程序运行效率),才使用goto语句。( 对 ) 在while循环中,根据情况可以省略while。( 错 ) 语句标号与C语言标识符的语法规定是完全一样的。( 对 )
printf(\
}
A)0 B)1 C)3 D)不确定值
8、执行下面程序中的输出语句,a的值是( B )。 C
main()
{ int a;
printf(\}
A) 65 B) 20 C) 15 D) 10 9、 设有以下定义
int a=0; double b=1.25; char c=?A?;
#define d 2
则下面语句中错误的是( D )。 D
A) a++; B) b++; C) c++; D) d++; 10、 有程序片段: int i=65536;
printf(\
上面程序片段的输出结果是 ( A )。 B
A)65536 B)0 C)有语法错误,无输出结果 D)-1 11、
以下程序的输出结果是( D )。 D #include
int a=2,c=5;
printf(“a=%%d,b=%%d\\n”,a,c); }
A)a=%2,b=%5 B)a=2,b=5 C)a=%%d,%%d D)a=%d,b=%d
12、有输入语句:scanf(\);为使变量 a的值为1,b的值为3,c的值为2,则正确的数据输入方式是( B )。D
A)132↙ B)1,3,2↙ C)a=1 b=3 c=2↙ D)a=1,b=3,c=2↙ 13、有以下程序 #include
char c1,c2,c3,c4,c5,c6;
scanf(\%c%c%c%c\,&c1,&c2,&c3,&c4); c5=getchar(); c6=getchar(); putchar(c1); putchar(c2);
printf(\%c%c\n\,c5,c6);
}
程序运行后,若从键盘输入(从第1 列开始)
123<回车> 45678<回车> 则输出结果是( D )。D
A)1267 B)1256 C)1278 D)1245 14、为了表示关系x≥y≥z,应使用的C语言表达式是( A )。A A) (x>=y)&&(y>=z) B)(x>=y)AND(y>=z)
C)(x>=y>=z) 15、
D)(x>=y)&(y>=z)
已知字母A的ASCⅡ代码值为65,若变量kk为char型,以下不能正确判断出kk
中的值为大写字母的表达式是 ( C )。 B A)kk>='A'&&kk<='Z' B)!(kk>='A'‖kk<='Z') C)(kk+32)>='a'&&(kk+32)<='z' D)isalpha(kk)&&(kk<91) 16、以下程序的输出结果是( D )。D main( )
{
int a=-1, b=4, k;
k=(++a<0)&&!(b--<=0); printf(“%d %d %d\\n”, k, a, b);
B)1 0 3
C)0 0 3
D)0 0 4
} A)1 0 4
17、若有定义:float x=1.5;int a=1,b=3,c=2;则正确的switch 语句是( B )。 C
A)switch(x) B)switch((int)x);
{ case 1.0:printf(\\n\; { case 1:printf(\\n\;
case 2.0:printf(\\n\; case 2:printf(\\n\;
} }
C)switch(a+b) D)switch(a+b)
{ case 1:printf(\\n\; { case 1:printf(\\n\;
case 2+1:printf(\\n\; case c:printf(\\n\; } }
18、下面有关for循环的正确描述是( D )。D
A)for循环只能用于循环次数已经确定的情况 B)for循环是先执行循环体语句,后判断表达式
C)在for循环中,不能用break语句跳出循环体
D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起
19、假定a和b为int型变量,则执行以下语句后b的值为( D )。 D
a=1;b=10;
do
{ b- =a;a++; }
while (b--<0);
A)9 B)-2 C)-1 D)8 20、若有如下语句
int x=3;
do
{
printf(“%d\\n”, x- =2); }while(!(--x));
则下面程序段( B )。B
A)输出的是1 B)输出的是1和-2 C)输出的是3和0 D)是死循环 21、设有程序段
int k=10;
while (k=0) k=k-1;
则下面描述中正确的是( C )。C
A)while循环执行10次 B)循环是无限循环 C)循环体语句一次也不执行 D)循环体语句执行一次 22、若i、j均为整型变量,则以下循环( D )。D
for (i=0,j=-1;j=1;i++,j++)
printf(“%d,%d\\n”,i,j);
A)循环体只执行一次 B)循环体一次也不执行 C)判断循环结束的条件不合法 D)是无限循环
23、若i、j已定义为int型,则以下程序段中,内循环总的执行次数是( for(i=5;i;i--) for(j=0;j<4;j++) {……} A)20
B)24 C)25
D)30
24、有以下程序
#include
int n=2,k=0;
while (k++&&n++>2); printf(“%d %d\\n”,k,n);
}
程序运行后的输出结果是( D )。D
A) 0 2 B) 1 3 C) 5 7 D) 1 2 25、请读程序:
#include
int num=0; while(num<=2) {
num++;
printf(\}
}
上面程序的输出结果是( C )。C
A) 1 B) 1 C) 1 A )。 D) 1
A
相关推荐: