期末复习资料 第16页-总26页
函数调用: 函数定义头部: t-31 :
函数原型: char *fun(char *,char ) ; 函数调用: 函数定义头部: t-32 :
函数原型: int fun(int [], int) ;或者 int fun(int *, int) ; 函数调用: 函数定义头部: t-33 :
函数原型: int fun(int (*)[3], int,int) ; 函数调用: 函数定义头部: t-34 :
函数原型: int fun(int **, int,int) ; 函数调用: 函数定义头部: t-35 : 函数原型:
函数调用: p=fun(a,b) ; /* 若以有定义 char *p ,a[10] ,b[10] ;*/ 函数定义头部: t-36 : 函数原型:
16
期末复习资料 第17页-总26页
函数调用: sum=fun(a,5) ; /* 若以有定义 int sum,a[5]={..} ;*/ 函数定义头部: t-37 : 函数原型:
函数调用: sum=fun(a,5,5) ; /* 若以有定义 int sum,a[5][5]={..} ;*/ 函数定义头部: t-38 : 函数原型:
函数调用: fun(p,3) ; /* 若以有定义 char (*p)[3]={“..”,“..”,“..”}*/ 函数定义头部: t-39 : 函数原型:
函数调用: sum=fun(&a[0][0],9) ; /* 若以有定义 int sum, a[3][3]={...}*/ 函数定义头部: t-40 : 函数原型:
函数调用: fun(x) ; /* 若以有定义 struct A x={...}*/ 函数定义头部: t-41: 函数原型:
函数调用: fun(a,3) ; /* 若以有定义 struct A a[3]={...}*/ 函数定义头部: t-42: 函数原型:
17
期末复习资料 第18页-总26页
函数调用:
函数定义头部:int sum(int (*p)[3],int m,int n) t-43: 函数原型: 函数调用:
函数定义头部:int *sum(int *p)
在这部分内容中,对于给出的程序我们要非常明确程序采用的调用方式是传值还是传址,两个模块的接口处实参和形参的匹配,子函数返回值和主函数接收值的匹配。
第四部分:模块内部的任务实现(算法:解题思路)
多数题目在解题的过程中可能都会用到选择和循环,因此我们有必要首先对程序的这两种结构进行讨论。
选择结构的应用比较简单,只是把我们思维中的选择逻辑依葫芦画瓢的用计算机语句翻译出来就可以,而循环结构的应用对于初学者来说需要花费一定的精力,理解循环的构成,分析每一类题目循环的应用特点。
C语言中的分支语句(第5章)只提供了四种,其中三种if语句(简单if/两分支if/多分支if),一种switch语句。而应用这四种语句或嵌套能实现任何复杂情况的选择逻辑。
按选择逻辑分类,可有两分支的选择逻辑和多分支的选择逻辑,两分支的逻辑可由简单if语句和两分支if语句实现,课堂上我们曾推论过这两种结构之间的转换关系,希望大家还记得。多分支的逻辑可有三种方法实现:(1)由两分支语句嵌套实现多分支(2)应用多分支if语句实现(3)应用switch语句实现。作业中我们曾以三分支的逻辑(分段函数)为例,要求大家尽可能写出由两分支嵌套实现的三分支各种写法,其中有一种是if...else...的else分支中又嵌套了一个if...else...,而这种逻辑结构实质上就是多分支if语句的变形,由此我们推论出(1)和(2)之间的关
18
期末复习资料 第19页-总26页
系,继而又用实例演示了(2)和(3)之间的转换关系,这样我们就把选择结构的所有形式有机的串联起来,它们之间是存在紧密联系的,明白了这一点在编写程序的时候用什么形式来编写选择逻辑就很清楚了。
对于循环的应用(第6章),我们在课堂讲解时首先用较简单的例题演示了三种循环语句(while循环,do-while循环,for循环)的使用,然后总结了循环的三个构成:循环变量的初始化、循环条件的设置、循环变量步长的修改。然后对用常见的应用循环的题目根据任务性质做了分类,有数值型求解题目(主要是数学类,如1+1/2 !+1/3 !+...等)和事务管理类题目(学生成绩统计等),对于数值求解类题目有迭代算法的,有穷举算法的,也有其他算法的,它们对于循环的应用形式各有千秋,在学习时应多归纳总结规律。
选择结构这部分内容中主要会考察:
(1) 对于给定的应用选择结构的程序能清楚的找出配对关系。 (2) 各分支语句之间的转换
(3) 对于判断条件条件的理解,应会书写和计算条件
(4) 对于switch语句的理解,switch中缺省break语句对结果的影响 (5) 应用分支语句来编写程序。
(请参考第5章手册里的课后自测部分的题目) 例如以下题目:
t-44.若有a=1,b=3,c=5,d=4,x=6,则下面程序段执行后x的值是: if(a
if(c else if(b t-45.将下列switch语句改写为if语句实现 swicth(x) { case 0 : y=0 ;break ; 19 期末复习资料 第20页-总26页 case -1: y=-1;break; case 1: y=1;break; default: y=10; } t-46.将下列if语句改写为switch实现: if(x<0) y=-1 ; else if(x==0) y=0; else y=1; t-47.下面程序段输出是什么? int x=1; if(x=2) putchar(?*?); else putchar(?#?); t-48.下面程序段输出是什么? Char a[10]=”hello”,b[10]=”hi,liou”; Char *p1,*p2; p1=a;p2=b+3; if(*p1==*p2) putchar(?*?); else putchar(?#?); t-49: if(printf(?*?))的条件与下面哪一个等价 A)if(?1?) B)if(a=0) t-50:下面程序段的输出是什么? int x=3,s=0; switch(x) { case 3: 20 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言期末复习资料2011北理工版(4)在线全文阅读。
相关推荐: