2010-2011年度第二学期
“C语言程序设计”期末考试复习提纲
一、 题型及知识点分配 数据类型 结构程序 数组 函数 指针 结构体 文件 题型小计
二、题例: (一)选择题:
1. 下列四组选项中,均是不合法的用户标识符的选项是( )。
A) G S_4 int
B) double 2a0 _V
abc
Swep
选择题15 2分/题 4 4 2 1 2 1 1 30 填空题5 2分/题 1 2 1 1 10 程序填空2 1.5分/空 4 4 12 程序阅读4 4分/题 1 2 1 16 编程3 1(10) 1(10) 1(12) 32 知识点小计 24 30 28 4 4 8 2 C) !A3 a#b do D) b-a
2. 下列四组选项中,属于合法的用户标识符的选项是( )。
A)for B)-XYZ C)5i D)For 3. 不合法的C语言整型常量是( )。
A)0xe2L B)2e3 C)18L D)0xe3 4. 不合法的C语言实型常量是( )。
A)-123E-3.0 B)-.123 C)-1.23E-1 D)-0.123
5.设char a; int b; float c; double d; 则表达式 d/b+c*a值的数据类型为( )。
A) char B) int C) double D) float
6.设有说明:char a; int b; float c; double d; 则表达式(int)(d)/b+c*a值的数据类型为( )。 A) char B) int C) float D) double
7. 定义三个变量x、y、z,并分别赋初值为0 ,能实现该功能的语句是( )。
A)int x=0;y=0;z=0; B)int x=0,y=0,z=0; C)int x,y,z=0; D)int x=y=z=0; 8. 定义三个变量a,b,c,并都初始化为‘a’。能实现该功能的语句是( )。
A)char a=‘a’;b=‘a’;c=‘a’; B)char a=‘a’,b=‘a’,c=‘a’; C)char a,b,c=‘a’; D)char a=b=c=‘a’; 9.设以下变量均为int类型,则值不等于8的表达式是( )。 A) (y=7,y+1,x=y,x+1) B) (x=7,x+1,y=x++,y+1)
C) (x=y=7,++x,y+1) D) (x=y=7,++x,x+1)
10.下列for循环的循环次数是( )。 int i=0,j;
for (j=3;i=j=7;i++,j++)printf(”hello”);
A)1次 B)5次 C)10次 D)无限次 11. 下列for循环的循环次数是( )。 int i=0,j;
for (j=3;i=j=0;i++,j++)printf(”hello”); A)0次 B)5次 C)1次 12. 表达式2<5 && 6<9的值是( )。
A) 0
B) 1
C) 2
13.下列for循环的循环次数是( )。 int i,j;
for(i=j=0;!i||j<=5;j++)i++;
A) 1次 B)5次 C)6次 14. 下列while循环的循环次数是( )。 int a=1,b=2; while(a++
A)0次 B)1次 C)5次 15.下面程序段的运行结果是( )。 int n=0; while( n++<=2 );
printf(\;
A)3 B)4 C)012 16.下面程序段的运行结果是( )。 int n=0;
while( n++<=2 )printf(\
A) 3 B) 4 C) 012 17. 若int a=5;则执行下列语句后打印的结果为( do
{ printf (“-\\n”, ++a);} while (a);
D)无限次
D) 3
D)无限次 D)无限次 D)123 D) 123 )。
A)6 B)5 C)不打印任何结果 D)陷入死循环 18. 若int a=5;则执行下列语句后打印的结果为( )。 while (!a)
{ printf (“-\\n”, ++a);}
A) 5 B) 9 C) 不打印任何结果 D) 陷入死循环 19.已知:int i=5;计算表达式–i++的值是( )。
A.-3 B.-2 C.-5 D.非法 20. 以下程序的输出结果是( )
main()
{ int a=2,b=1,c=3,d;
printf(\(a>c?a:c):(b)); }
A) 2 B) 1 C)3 D) 不确定 21.有一个函数原型为:
test(float x,int y); 则该函数的返回值类型为( )。 A) void B) double C) float D) int 22. 有以下程序:
#include
while((c=getchar())!='?') putchar(c++); }
程序运行时,如果从键盘输入:Y?N?<回车>,则输出结果为( )。 A) Y B) Z C) X D) YN 23. 有以下程序: #include
while((c=getchar())!='\\n') putchar(--c);
} 程序运行时,如果从键盘输入:BC<回车>,则输出结果为( )。 A) BC B) AB C) B D) C
第 3 页 共 12 页
24.有两个字符数组x、y, 则以下正确的输入语句是( )。 A) scanf(\ B) scanf(\ C) gets(x,y); D) gets(&x),gets(&y); 25.有个字符数组a,则以下正确的输入语句是( ).
A)gets(a); B)scanf(\ C)scanf(\ D)gets(\26. 以下函数调用语句中实参的个数是( )。 fun((v1,v2),(v3,v4,v5),v6);
A) 3 B) 4 C) 5 D) 6 27.若有以下定义
int a[ ]={1,2,3,4,5,6,7}; char c1=’b’,c2=’2’;
则数值为4的表达式是____ ______。
A) c2+2 B) a[2]+2 C) ‘F’-c1 D) a[‘5’-c2]
28.说明语句如下:int a[10]={1,2,3,4,5,6,7,8,9},*p=a;则数值为6的表达式是(A.*p+6 B.*(p+6) C.p+5 D.*p+=5 29.以下程序的输出结果是( )
main()
{ int x[5]={10,20,30,40,50},*p; p=x; *p++;
printf(“%d”,*p);
}
A.10 B.11 C.20 D.21 30.定义一个结构体型变量时,分配给它的内存字节数是( )。
A.结构体型变量的成员中,占用字节数最多的成员占用的字节数 B.结构体型变量的成员中,占用字节数最少的成员占用的字节数 C.结构体型变量的成员中,所有成员占用的字节数总和 D.结构体型变量的成员中,所有成员占用的字节数总和加1 31. 根据以下定义,能输出字符‘A’的语句是( )。 struct person { char name[9]; int age;
}class[10]={“John”,17,”Paul”,19,”Mary”,18,”Adam”,16};
。 )