当前位置:
文档之家› C语言程序设计 第三版 复习资料
C语言程序设计 第三版 复习资料
3. 全局、静态变量 (参考 138 页 5.21、5.22,二个题和一个) 例以下程序求 1+2!+3!+4!+5!, 填空完成程序。 #include<stdio.h> int f( int a ) { static int c=1;//静态变量 c=c*a; return c ; } main() { int i, k; k= 1 ; for(i=2; i<=5; i++) k+=f(i); printf("%d\n",k); }
例 2 1.(课件 6 章例题) 求 a[5][5]数组中每行元素: 之和,数据由键盘输入。 #include <stdio.h> void main( ) { int a[5][5],i,j,s; for(i=0;i<5;i++) for(j=0;j<5;j++) scanf(“%d”,&a[i][j]); for(i=0;i<5;i++) { s=0; for(j=0;j<5;j++) s=s+a[i][j]; printf(“%d 行-- 和=%d\n”, i,s ); } } 2. 数组名做函数参数,修改其中部分元素,参考第 155 页例 6.10
1314 学年第 2 学期期末 《计算机程序设计 C》复习(全校)
一、 单项选择题(将选择的答案写在题号前的【 】 ) (共 40 分,每题 2 分) 1. 组成 C 语言程序的 2. 下列可以作变量名的是 3. C 语言中运算对象必须是整型的运算符是 4. 以下正确 的浮点型常量是 .. 5. 6. 7. 8. 9. 10. 设有定于 int a=0 ,b=0,c=0; 以下正确的语句是 (赋值、复合赋值、++) 正确表示关系 -10≤x≤10 的 C 语言表达式是 设有定义:int x, *p;要使 p 指向 x 正确的语句是 表达式 sqrt(9.0)+1/5 的值是 若要求从键盘输入含有空格字符的字符串,应使用的函数是 设有定义:char str1[10]=“ABCD ”,*p2=”xxxx”; 执行语句 strcat(str1,p2) ; printf(”%s %d”,str1,strlen(str1)); 后的输出结果是 (字符数组、字符指针、字符串常用函数) 以下对二维数组 a 进行定义并初始化正确的是 P32-35 设有定义:int a [ ]={1,2,3,4,5,6,7},i=3;下列数组元素引用错误 的是 .. 下面的函数调用语句中 function()函数的参数个数是 设有定义:int w=4, x=3 , y=2, z=1; 以下语句输出结果是(使用 ? : ) 以下程序段中,能实现 1+2+3+4+…….+10 的程序段是 以下程序段的输出结果是 (do—while 语句使用,参考 p109 例 4.35) 以下程序段的输出结果是, (for 循环中 continue 语句)P100 例 4.23 设有定义: struct A{ int x; double y ;char z[10] ;} a={5,1.2,”abcd”}; 语句:printf ("%f %s\n",a.x*a.y, a.z ); 的输出结果是 (数据有变)P230 例 8.2 以下 fun()函数的功能是求 (参考 p116 页例 5.2) 以下程序的输出结果是 (简单 switch 语句使用)
11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
二.改错题,以下每个程序中有二个错,指出并改正错误使程序能正确运行. (共 12 分,每题 4 分) 1. 程序的功能是求 10!(10 的阶乘)并输出 PPT 第四章 P26 2. 比较输入的二个数是否相同 if-else 3. 输出大写 26 个字母 PPT 第四章 P17 (程序错误处标识 /********/ ) (不要另写一个程序,只是改错,否则没分) 三 阅读程序,将以下各程序的输出结果写在下面或右边空白处 (共 20 分,每题 4 分) ..... 1. 二维数组求每行(或每列)元素的和(积) 例 1 求 a[4][5]中每行 5 个元素之和,数据由键盘输入。 #include <stdio.h> void main( ) { int a[4][5],i,j,sum; printf(“输入数组的值:”); for(i=0;i<4;i++) for(j=0;j<5;j++) scanf(“%d”, &a[i][j] ); for(i=0;i<4;i++) { sum=0; for(j=0;j<5;j++) sum=sum+a[i][j]; printf(“sum=%d\n”,sum ); }}
4. 递归调用,参考 126 页 方法二,稍改动 例 float fact( int n ) { if(n==0 || n==1) return 1; else return n*fact(n-1) ; } main() {int n; scanf(“%d”,&n); printf(“%d!=%f”,n, fact(n) ); 5. 指针做函数参数,190 页例 7.7,有改动
四 程序填空(按照题目要求在各题的__处填上适当的内容) (每空 2 分,共 18 分) 1. 程序输出如右图形。 (参考 97 页例 4.18,稍改) #include "stdio.h"=1;i<=8;i++) /*外循环执行 8 次*/ { for (j=1;j<=8-i;j++) printf(" "); /*输出空格*/ for (j=1;j<=i;j++) /*内循环执行 i 次*/ printf("%c",'a'+i-1); /*输出字母*/ printf("\n"); /*输出换行*/ } } 2. 程序求任意输入的 10 个实数的最大值以及第一个最大值所在的下标并输出。 (p146 例 6.4,稍改) 3. 由键盘输入 10 个整型数写入名为 fdada.txt 的文件 (参考 275 页例 9.6) 五 按要求编写程序 (10 分) (要求编写完整程序) 选做题: (做对了加分,没做或错的没有分) (做完 100 分以内的题后,有时间再做)