C语言期末复习卷习题

发布 2024-01-14 04:55:12 阅读 3528

期末总复习(基础知识+程序设计部分)

一. 填空。

1.已知char ch=’a’; 则下列表达式的值是: a

ch=(ch>=’a’ &ch<=’z’)?ch+32):ch;

2. 若x=1,y=2,z=3, 则表达式z+=+x+y++之值是 7

3. 若x=2,y=3,则x%=y+3之值为 2

4.. 若有定义int y=3; float z=5.2, x=4.8; 则表达式y+=(int)x+x+z的值为 17

5. 设x,y,z为int型变量,且x=3,y=-4,z=5,请写出下列各表达式的值。

1)(x&&y)==x||z1

2) !x>y)+(y!=z)||x+y)&&y-z) 0

3)x++-y+(+z13

6. 设x,y,z为int型变量,请用c语言表达式描述下列命题。

1)x和y中有一个小于z (xz||x>z&&y 2) x,y和z中有两个为负数 (x<0&&y<0&&z>=0||z<0&&y<0&&x>=0||y<0&&x<0&&z>=0)==1

3)y是奇数y%2?!=0

7. 下面for循环语句最多可执行 4 次。

for (x=0,y=0?;(y?!=99)&&x<4)?;x++)

8. 设i,j,k均为int型变量,则执行以下for语句后,k的值是 10

for (i=0,j=10?;i<=j?;i++,j--)

k=i+j?;

9.若已知x,y,z,m,n均为int 型变量,则执行下面语句后,x的值为 7 y的值为 9 z的值为 7

m=10 ; n=5;

x=(-m==n++)m : n;

y=m++;

z=n;10. 若有说明语句: w=1,x=2,y=3,z=4; 则表达式w>x? w:z>y? z:x值是 4

11. 若定义的函数没有返回值时,则应该在该函数定义时加上类型说明符 void

12. 凡在函数中未指定存储类型的变量,其隐含的存储类别为动态存储

13. 在c语言中,一个函数直接或间接地调用自身,编构成函数的递归。

14. 如果被调用的自定义函数和调用函数不再同一个文件中,则在应以函数的文件中应将该文件的存储类型定义成型,在调用函数的文件中将该函数说明为型。

15. 对于所定义的二维数组a[2][3],元素a[1][2]是数组的第 6 个元素。n*j+m+1

16.若有定义:char *str=”i am a student.”;则字符串在存储单元中占 16 个字节。

17. 在执行int a[3]=,语句后,a[1][2]的值是 0

18. 调用strlen(“abc\0ef\0g”)的返回值是 3 。\0为停止符。

19. 设有定义:char s[12]=“string”; 则printf(“%d”,strlen(s));的输出值是 6

20. 执行下列程序段后,*p等于 3

int a[5]=;p=a;p++;

二. 判断(true or false)

1. 调用函数时,实参的类型、个数和顺序与函数定义时形参的类型、个数和顺序完全一致。t

2. 函数可以嵌套定义f

3. 函数必须有返回值,否则不能正确作用f

4. c程序中有调用关系的所有函数必须放在同一源程序文件中。f

5. 全局变量与函数体内定义的局部变量重名时,局部变量不起作用。f

6. 函数定义时可以不制定形参的类型,函数调用时由实参的类型决定形参的类型f

7. 当函数定义放在main()函数前面时,可以缺省函数声明。t

8. c语言中允许函数嵌套调用t

9. 局部静态变量是在编译时赋初值的,即只赋一次初值。t

10. 外部变量必须定义在文件的开头部分f

11. 字符’\0’是字符串的结束标记,其ascii码为。

12. 若有说明?:int a[3][4]=;则数组a中每个元素的初值都为。

13. 若有说明?:int a[2][4]=;则只有a[0][0]和a[0][1]的初值为0, 其余元素的初值均不为0. f

14. 若有说明?:int a[3][4];则数组a中各元素可在程序的编译阶段达到初值。

15. 若用数组名作为函数调用时的实参,则实际上传递给形参的是数组的第一个元素值。f

16. 在两个字符串的比较中,字符个数多的字符串比字符少的字符串大。f

17. 当需要接受用户从键盘上输入的含有空格的字符串时,应使用gets()函数。t

18. 在c语言中,二维数组元素在内存中的存放顺序可以随意调整变化。f

19. &b指的是变量b的地址处所存放的值;f

20. 指针变量可用于保存同类型变量的地址值;f

21. 存放地址的变量同其他类型的变量一样,可以存放任何类型的数据;f

22. 指向同一数组的两指针p1,p2相减的结果与所指元素的下标相减的结果是相同的。f

23. 如果定义函数时参数是指针变量,那么,调用函数时的参数就可以是同类型的指针变量,数组名或简单变量的地址t

24. char *name[5]定义了一个一维指针数组,它有5个元素,每个元素都是指向字符数据的指针型数据。f

25. 语句y=*p++;和y=(*p)++是等价的。f

26. 函数指针指向的是函数的入口地址。t

27. int *p;定义了一个指针变量,其值是整型的。f

28. 用指针作为函数参数时,采用的是“地址传送”方式。t

三、 选择题

1.下列变量名中哪些是合法的?

2a a# c$ t3 _var ? int

2.语言中用___表示逻辑值“真”。

a) trueb) 整型值c) 非零整数值d) t

3.下列合法的字符常量为___

a) "ab) 'nc) 'chinad) a

4. 设有语句char c='\72'; 则变量c___

a) 包含1个字符 b)包含2个字符 c) 包含3个字符 d) 不合法。

5. 字符串"\t\"name\\address"的长度为___

a) 19b) 15c) 18d) 不合法。

6. 设a,b,c 为 int 型变量,且a = 3 ,b = 4 , c = 5,下面表达式值为0的是___

a) 'a' &bb) a <=b

c) a ||b+c &&b-c d) !a7. 若有以下定义:

char aint bfloat cdouble d ;

则表达式 a * b + d – c 的值的类型为。

a) floatb) intc) chard) double

8. 设有语句int a = 3; 执行了语句a +=a -=a * a; 后,变量a的值是___

a) 3b) 0c) 9d) -12

9. 设有语句int a = 3; 执行了语句printf("%d", a ++后,输出的结果是__c___变量a的值是__d___

a) 3b) 4c) -3d) -2

10. 将下列数学表达式表示为合法的c语言表达式。

1) [b^}}altimg': w': 73', h':

57'}]2) [a+b)(c+d)+2\\end', altimg': w': 171', h':

21'}]3) [

4) [altimg': w': 45', h': 666) [2e^}}altimg': w': 130', h': 48'}]

12. 下列可作为c语言赋值语句的是。

a) x = 3, y = 5 b) a = b = c c) id) y = int ( x )

13. 以下程序的输出结果为。

main()

int a = 2, c = 5;

printf("a = d, b = d", a, c);

a) a = 2, b = 5 b) a = 2, b = 5 c) a=%%d, b=%%d d) a=%d, b=%d

14. 在下面的条件语句中,只有一个在功能上与其它三个语句不等价(其中s1和s2表示它是c语句),这个不等价的语句是。

a) if (a) s1; else s2;

b) if (!a) s2; else s1;

c) if (a !=0) s1; else s2;

d) if (a ==0) s1; else s2;

15. 设有声明语句:int a=1,b=0;则执行以下语句后输出为。

switch (a)

case 1:

switch (b)

case 0: printf("*0**"break;

case 1: printf("*1**"break;

C语言期末复习卷习题

期末总复习 基础知识 程序设计部分 一 填空。1 已知char ch a 则下列表达式的值是 a ch ch a ch z ch 32 ch 2.若x 1,y 2,z 3,则表达式z x y 之值是 7 3 若x 2,y 3,则x y 3之值为 2 4.若有定义int y 3 float z 5.2...

C语言期末复习卷习题

期末总复习 基础知识 程序设计部分 一 填空。1 已知char ch a 则下列表达式的值是 a ch ch a ch z ch 32 ch 2.若x 1,y 2,z 3,则表达式z x y 之值是 7 3 若x 2,y 3,则x y 3之值为 2 4.若有定义int y 3 float z 5.2...

C语言期末复习卷

一 单项选择题 共10题,每题2分,共20分。在备选答案中选择一个最佳答案。多选 错选 不选不得分 1 不是c语言基本数据类型的是 a 指针类型 b 整型。c 字符型d 实型。2 设有 int a 3,b 4,c 5,x y 表达式0 x a y b 的值为 a 1 b 0 c 3 d 4 3 设有...