c语言复习题 ()

一、填空:

1. 整型数据变量声明中所使用的关键字是 int 。

2. 设 float x=2.5,y=4.7; int a=7;,表达式 x+a%3*(int)(x+y)%2/4的值为 2.5 。 3. printf(“My age is %d.”, age); 函数中,使用%d表示输出的是 整型 类型的数据。 4. 每个源程序有且只有一个 主 函数,系统总是从该函数开始执行C语言程序。 5. 设 int x=5,y,z;执行y=z=x;x=y==z;后,变量x的结果是 1 。 6. C 语言中,数组在内存中占一片 的存储区,由 代表它的首地址。数

组名是一个 ,不能对它进行赋值运算。

7. 函数的参数为 char *类型时,形参与实参结合的传递方式为 。 8. C程序编译、连接后生成 程序。

9. 当a=10,b=4,c=2时,表达式f=a>b>c的值是 。 10. 字符串数组与字符数组的在长度至少 一个元素。

11. 若函数的形式参数是指针类型,则实参可以是 或 。 12. 如定义语句为 char a[ ]= \,语句 printf(\的输出结果

为 。

13. 请在下面的程序段中填写正确的格式说明符:

int main(void) { float salary;

printf(“Enter your desired monthly salary: .”, salary); }

14. C程序编译后生成 程序。

15. C 语言的标识符只能由 、数字和 三种字符组成。

16. 设有定义 int y; ,分别写出描述“y是偶数”的表达式 ,“y是奇

数”的表达式 。

17. C语言没有字义专门的字符串变量类型,而是把它存储在 数组中。 18. 字符串常量\的长度是 。

19. 字符串存储到数组中时,在数组的最后将增加一个标记字符串结束的字符 。 20. 设有定义语句 static int a[3][4] ={{1},{2},{3}}; 则 a[1][0]值为 ,a[1][1] 值

为 ,a[2][1]的值为 。

21. 假设int a=7; 执行语句a+=a-=a*a; 后,a的值是 。

22. 若自定义函数要求返回一个值,则应在该函数体中有一条 语句,若自定义函数要求不返回一个值,则应在该函数说明时加一个 类型说明符 23. 若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)

后x的值为 。

24. 设 int x=10, y, z; 执行y=z=x; x=y= =z;后,变量x的结果是 。 25. 求解赋值表达式 a=(b=10)%(c=6),则“表达式值、a、b、c ”的值依次为 , , , 。 26. 求解逗号表达式 (x=a=3,6*a )后,“表达式值、x、a” 的值依次为 , , 。 27. 变量的指针是指该变量的 。

28. C语言中,逻辑值“假”用 表示,逻辑“真”用1表示。

29. 若有定义:int a[]={1,3,5,7,9,11,13},*p=a;则*(p+2)的值是 ,为什

么 。

30. 判断变量 a、b 的值均不为 0 的逻辑表达式为 。

31. C语言的变量名可以使用的字符包括大写字母、小写字母、 和下划线,而且必

须以 和 开头。

32. 若有定义:char a[]={‘a’,’b’, ’c’, ’d’, ’e’, ’f’, ’g’},*p=a;则*(p+2)的值

是 。

33. C 语言中,数组的各元素必须具有相同的 ,元素的下标下限为 ,下标必须是正整数、0、或者 。

34. 在C语言中,在内存中存放二维数组元素的顺序是 。 35. 假设在一维数组a[20]中,元素a[4]的指针为p,那么p+4所指向的数据元素

是 。

36. 下面程序块执行完成后,m的值是 。 m=1; n=263; do{

m*=n; n/=10; } while(n);

37. 标准C语言程序总是从 开始执行的。

38. 执行语句for(i=1;i++<4;);后,变量i的值是 ,如果语句for(i=1;++i<4;);

则执行后,变量i的值是 。

39. 设int x=1, y=3;执行x=9-(y--)-(--y);后,变量x的结果是 ,执行x=9-(--y)-(--y);后,变量x的结果是 。

40. 已知有如下定义:char str1[10]= \;,则执行下列语句, 输出结果为 。

printf(\

41. 定义int a=10;,其中变量a在内存中的地址为2000,如果再定义指针变量int *p;,

并使p指向变量a,则对指针变量p的赋值语句是 。 42. 若有char a[3]=“as”;则*a= ,*(a+2)= 。

43. 函数的形式参数的作用域为 ,全局的外部变量和函数体内定义的局部变量重名时, _________变量优先。

44. 函数调用中,函数中的形参和调用时的实参都是数组名时,传递方式为 ,都

是变量时,传递方式为 ,两种方式中, 方式可以实现在函数中修改实参变量的原值。

45. 己知j=5,a=10,下列语句 j=(a=j+2,a+3,a-5); 执行后整型变量j和a的值分别

是 和 。 46. 数组名表示 。

47. 字符串“ab\\n\\\\012\\\\\\””的长度是 。 48. 下面程序段中循环体的执行次数是 。

int a=8,b=0; do{

b+=1; a-=1+b; }

while(a>=0);

49. 已知:int a[2][3]={{1,3},{8}},则a[1][1]的值为 。 50. 字符串常量“\\\\22a,0\\n\\””的长度是 。

51. 如果一个函数没有返回值,那么该函数的类型为 。 52. C语言表达式 5>2>7>8 的值是 。 53. 若有定义:char ch;

(1)定义指针p,并指向变量ch的语句是 。

(2)若已定义char *p;,使指针p指向变量ch的赋值语句是 ; 。 (3)在(1)的基础上,通过指针p实现变量ch读入字符的scanf调用语句是 。 (4)在(1)的基础上,通过指针p给变量ch赋字符’a’的语句是 。 (5)在(1)的基础上,通过指针p用格式输出函数printf输出ch中字符的语句是 。

54. 输入一个字符,判断该字符是数字、字母、空格还是其他字符。

main( ) { char ch; ch=getchar();

if( ) printf(\ else if( ) printf(\

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4