26. 若int k=10, 循环语句while (k=0) k=k-1; 执行_________次。
27.若int k=2, 循环语句while (k!=0) { printf(\执行_____次。 28. 若int i=10,s=0;,执行语句while(s+=i--,--i);后s、i值分别为 。 29. 程序段 int s,i; for(i=1;i<=100;s+=i,i++); 能否计算1~100的和? 原因是 。
30. 若int类型变量字长为2,程序段 int jc=1; for(int i=2;i<10;i++)jc*=i; 能否 计算10的阶乘? 原因是 。 31. 定义a为共有10个元素的静态存储int类型数组的语句为 。
32. 定义a为长度为10的字符串、同时为字符串赋初值”continue”的语句为 。
33. 定义a为共有5个元素的一维整型数组、同时定义p为指向a数组首地址的指针变 量的语句为 。
34. 定义a为4行5列的二维整型数组、同时定义p为指向a数组首地址的指针变量的 语句为 。 35. 如定义语句为“char a[]=”windows ”,b[]=”95”;”,
语句“printf(”%s”,strcat(a,b));”的输出结果为 。 36. 定义语句为 char a[15],b[]=”windows 95”;,则语句 printf(”%s”,strcpy(a,b)); 的输出结果为 。
37. 定义语句为 char a[]=”Box”,b[]=”Boss”;,语句 printf(”%d”,strcmp(a,b));输 出 。
38. 定义语句为“char a[10]=”student”;”,语句“printf(”%d”,strlen(a));”的输出 结果为 。
39. 定义语句为 char a[]=”WINDOWS”;,语句 printf(”%s”,strlwr(a));输出 。 40. 定义语句为 char a[]=”hangzhou”,*p=a;,语句 for(int i=0; *p!=?\\0?; p++,i++); 执行后i的值为 。
41. 对宏定义语句“#define f(x,y) printf(x,y)”的引用 f(”%d\\n”,m); 置换展开后为 。
42. 宏定义语句 #define f(x,y) fopen(x,y) 的引用 f(”a.txt”,”rw”); 置换展开后为 。
43. 宏定义语句 #define f(c) c>=?A?&&c<=?Z? 的引用 f(x[i]) 置换展开后为 。
44.表达式 3&5、3|5、3||5 的值分别为 、 、 。
45.设 int x=707,表达式 x^x、x|x、~x^x 的值分别为 、 、 。
46.设 int x=0707,表达式 ~x&&x、!x&&x、x>>3&~0的值分别为 、 、 。 47. 函数的参数为int类型时,虚参与实参结合的传递方式为 。
8
48. 函数的参数为floatl类型时,虚参与实参结合的传递方式为 。 49. 函数的参数为char*类型时,虚参与实参结合的传递方式为 。 50. 函数的实参为常量时,虚参与实参结合的传递方式为 。 51.对下列递归函数,函数调用f(3)的返回值是 。 int f(int n) { return((n==0)?1:f(n-1)+2);}
52.函数f定义如下,调用f(\的返回值为 。 int f(char *s) { int k=0; while(*s) k+=*s++-'0'; return k;}
53. 函数change定义如下,a=10、b=5,执行 change(a,b)后a、b的值分别为 。 void change(int a,int b) { int t=0; t=a; a=b; b=t;}
54. 开辟一个存储n个int数据的内存区、并将内存区首地址送入p(指向int类型的指 针变量)的语句为 。 55.释放由p所指向的内存区的语句为 。
56.fp为文件位置指针,将fp移到离当前位置25个字节处的语句为 。
9
3 写输出结果题
阅读下列程序,将程序运行时的输出结果填写在答案栏内。
1. #include
{ char ch; int k=0;
for(ch=?A?;ch
} 输出结果:
2. #include
{ int k=0; char c='A'; do {
switch (c++) {
case 'A': k++; break; case 'B': k--;
case 'C': k+=2; break; case 'D': k=k%2; break; case 'E': k=k*10; break; default: k=k/3;
} k++;
} while(c<'G');
printf(\
} 输出结果:
3. #include
{ int a[6]={12,4,17,25,27,16},b[6]={27,13,4,25,23,16},i,j; for(i=0;i<6;i++) {
for(j=0;j<6;j++) if(a[i]==b[j])break; if(j<6) printf(\ }
printf(\
} 输出结果:
4. #include
{ int a[8]={1,0,1,0,1,0,1,0},i;
for(i=2;i<8;i++) a[i]+=a[i-1]+a[i-2];
10
for(i=0;i<8;i++) printf(\ printf(\
} 输出结果:
5. #include
{ int s=1,t=1,a,n; scanf(\ for(int i=1;i t=t*10+1; s=s+t; 输入数据:2,4 } s*=a; printf(\输出结果: } 6. #include #define PR(x,y) printf(\ void main( ) { int x=03,y=02,z=01; 输出结果: ___________ PR(\ PR(\ PR(\ } ___________ 7. #include { int a[5]={2,4,6,9,12},b[6]={2,3,4,6,8,9}; for(int i=0;i<5;i++) for(int j=0;j<6;j++) if(*(a+i)==*(b+j)) printf(\ printf(“\\n”); } 输出结果: 8. #include { char str1[]=\ for(int i=0;i<4;i++) { printf(\ str1[i]=? ?; str1[strlen(str1)-1]='\\0'; } } 11

