一、填空:
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(\
else if( ) printf(\printf(\ }
55. search函数的功能是从数组a[10]中对关键字m进行查找,请填空完成程序,实现功能。
#include
for(i=0; i<=m; i++)
if( )
return i;
return -1; }
void main( ) { int a[10],m, i, n; for(i=0; i<10;i++) scanf(\ scanf(\
n=search( ); if( ) printf(\ else
printf(\ }
56. 下列程序的功能是从输入的整数中,统计大于零的整数个数和小于零的整数个数。用输
入0来结束输入,用i,j来放统计数,请填空完成程序。
void main()
{ n,i=0,j=0; printf(“input a integer,0 for end\\n”); scanf(“%d”,&n);
while ( )
{
if(n>0) i= ;
else j=j+1; }
printf(“i=M,j=M\\n”,i,j); }
57. 编程计算1+3+5…+99的值
main()
{ int i, sum = 0; i=1;
while ( ) {
sum = sum + i;
; } printf(\}
58. 有一个一维数组存放10个学生的成绩,用一个函数求平均分、最高分和最低分
#include
float average(float array[], int n); float ave, score[10]; int i;
printf(\ for(i=0; i<10;i++)
scanf( ); ave=average(score,10); printf(\ printf(\ printf(\}
float average( float array[], int n) { int i;
float aver,sum=array[0]; ; for(i=1; i if(array[i]>Max) Max=array[i]; else