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