ImageVerifierCode 换一换
格式:DOCX , 页数:37 ,大小:27.86KB ,
资源ID:10407716      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10407716.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言复习总纲中国农业大学信电学院计算机系吕春利老师的C语言教学例子.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言复习总纲中国农业大学信电学院计算机系吕春利老师的C语言教学例子.docx

1、C语言复习总纲中国农业大学信电学院计算机系吕春利老师的C语言教学例子中国农业大学信电学院、计算机系吕春利老师的C语言教学例子学习计算机语言,一定要上机练习,上机练习的6个境界: 0、无可救药的境界:不上机练习!1、 最低境界:能把例子看书调通,运行正确结果。(上机练习绝不能停留在这个阶段)2、 学习知识点境界:能理解例子中的每个符号。(通过看书、询问等解决那些“不懂”的符号)3、 尝试和验证理解境界:尝试修改程序,看修改后的程序结果是否符合你的预期。4、 应用境界:合上书本,能编写符合题目要求的程序。(上机的要求)5、 随心所欲境界:自己能想明白的事情,都能用计算机语言解决。 (自己给自己出题

2、,或解决自己想解决的问题。)6、 触类旁通:一门语言在心,其他种语言1天左右能会用,1个月左右基本精通。 通过例子学习计算机语言的要求:求质量基础上求数量!对质量的要求是达到上边第4境界!求数量的目的是学习语言的知识点! 计算机语言课程的精髓在训练一种“映射”能力:把自己能想清楚地事情,映射到计算机语言的表达!(也就是把客观世界的事物及其变化过程,映射到计算机世界的变量和算法。变量反映现实世界的事物,算法反映事物的变化过程) 也就是说:用计算机语言来描述客观世界及其变化过程,变量是描述客观世界的,算法描述变化过程。 教育就是忘记了在学校所学的一切之后剩下的东西-从爱因斯坦 . 一种能力是不容易

3、忘记的,比如骑车的能力,语言的能力,学习能力,“映射”能力 我们这里的大量例子的目的:首先是训练这种“映射”能力,其次是学习C语言的语法! 学会例子可以学会语法,学透例子才能提高能力! 例一顺序结构例子 学习内容: (记住如下内容) 1、main函数作为入口点、顺序结构 2、注意符号,一点都不能错 3、变量与常量的概念与定义; 4、语句与基本运算表达与赋值语句表达 5、输出函数 题目:已知某种铅密度为11340kg/m3 ,求直径为8.9cm的铅球有多重。程序: #include stdafx.h /*Visual C+6.0环境要求的头文件,初学者可以不用理解它,以后讲*/main() do

4、uble d,r,v,h; d=8.9; r=d/100.0/2.0; /*这是计算半径*/ v=4.0/3.0*3.1415926*r*r*r; h=v*11340; printf( %f ,h);思考:(1) 哪些是变量?哪些是常量?它们有什么样的区别?(2) 语句的特征是什么? 变量和常量加运算符号 构成表达式,表达式加“;”构成语句(3) 可以做哪些修改?若空心球,内径为5.1? 若是钢管呢?总结:C语言程序的特点:1、 打开编译器,上来就是一个main()函数;2、 在main()函数内定义变量,思考表达式,语句;3、 把计算出来的变量用printf()输出出来。 /*知识点与张莉老

5、师主编书的页数对应*/常量:P30,P31变量:P34P36double:P41P44Printf():P78+-*/运算符:P49=赋值语句:P59编译工具TurboC:P21表达式与语句:P70-P71 例二循环结构例子学习内容:1、 循环结构的表达,while(表达式真假)循环体 语句的语法功能。2、 复合语句的表达和意义3、 输出语句的应用4、 能想明白的事情表达成算法的练习。5、 程序调试方法:一步一步执行,边执行边看程序中变量值的变化 题目:计算1+2+3+。+100程序:#include stdafx.hmain() int sum,i; i=1; sum=0; /*为何这里要写

6、sum=0? 这句去掉可不可以?*/ while(i=100) /*注意 这个while后面没有“;”,为什么?*/ sum=sum+i; /* 红色的两句为什么要用一对花括号括上*/ i=i+1; /* i=i+1;的作用是什么?*/ printf( sum=%dnfff,sum);思考:1、 修改计算1*2*。6;2、 计算12+22+32+42+3、 计算1+3+5+7+4、 计算1+1/2+1/3+1/4+1/5+5、 计算1+1/2-1/3+1/4-1/5+6、 已知pi/4=1-1/3+1/5-1/7+1/9求pi的值/*知识点与张莉老师主编书的页数对应*/表达式真假:P56P58

7、复合语句:P72Int:P36While语句:P111 例三分支结构计算分段函数: 学习内容:1、分支结构的表达,if() else 语句的语法功能。2、复合语句的表达和意义3、程序调试方法:一步一步执行,边执行边看程序中变量值的变化程序: #include stdafx.hmain() double x; int y; x=0; if(x0) /*if()后没有“;”号,为什么?*/ y=1; else /*有else 前面一定要有if,换句话else一定要和if配对,*/ y=-1; /*思考:if一定要和else配对么? */ printf(y=%d,y); 例四:分支结构题目: 输入a

8、,b,c三个数,依次输出最大、第二大、最小学习内容:1、分支结构的表达,if()语句的语法功能。2、复合语句的表达和意义3、程序调试方法:一步一步执行,边执行边看程序中变量值的变化4、scanf格式化输入函数的使用 #include stdafx.hmain() int a,b,c,t; scanf(a=%d, b=%d, c=%d,&a,&b,&c); if(ab) t=a;a=b; b=t; if(ac) t=a;a=c; c=t;if(b=0) x1=(-b+sqrt(det)/(2*a); x2=(-b-sqrt(det)/(2*a); printf(nx1=%f,x2=%f,x1,x

9、2); else p=-b/(2*a); q=sqrt(-det)/(2*a); printf(n has complex roots:); printf(x1=%f+%fin,p,q); printf(x2=%f-%fin,p,q); getch(); 例六:解释浮点数的大小比较为什么不能直接用= #include stdafx.h main() double a=1.0/3,c=1.0,b=1.0/729; int i=1,n=100; while(in) c=a*c; i=i*i; printf(nc=%f,c); if(c-b=0) printf(=0); else printf(!=

10、0); return ;由于历史上的原因,多数教材和参考书上会介绍一些具有“小技巧”的“短小”、“精炼”的例子程序,并说明这样写的程序如何“高效”,即执行速度快或节省内存。实践表明现在用一些小技巧写出这样短小、精悍的程序已经过时了,不是现代主流软件产业所要求的了,新时期的主流要求是代码的可维护性,即一个人写的代码易于让另外的人理解并修改。这背后的原因主要基于两个事实:1、判断一段代码正确与否所花的时间可能要比编写这段代码所花的时间要长。2、软件产业的现状和要求是铁打的营盘,流水的兵,即软件人才的流动性很大,但软件产品的生存期要很长,比如瑞星杀毒软件已经在市场立足10多年,但又有多少程序员能在同

11、一个公司、同一个产品上编10年代码?这就要求你写的代码必须要可读性强、易于修改。试想充满技巧和个性的长篇程序代码如何让人读懂和修改?如何让人接手?”所以同学们刚开始学习编程语言时就要培养写“可读性强”,“易于修改”程序的意识和习惯。习惯一些好的编程规范:如写程序要用“缩进”体现出层次;多写程序注释;不要写if(a=0),要写if(0=a),以防止忘记一个“=”;if ,while, for等不管后面是否为复合语句,一律加上“”,这目的就是为了可读性;定义指针就初始化为常量int *p=NULL,杜绝野指针的存在;少用全局变量。 例七:绯波纳锲数列 能想明白的事情表达成算法的练习。 #inclu

12、de stdafx.h int main(int argc, char* argv) unsigned long an,an_1,an_2,n=3; an_1=1; an_2=1; n=3; while(n=20) an=an_1+an_2; /*/ printf(na%d=%ld,%f,n,an,1.0*an/an_1); /*/ an_2=an_1; /*/ an_1=an; /*/ n+; return 0;思考:1、句调换会结果会是什么? 2、句挪到后结果会怎样? 3、句中为何用“*1.0”? 例八:已知pi/4=1-1/3+1/5-1/7+1/9求pi的值学习内容:1、 学习找规律2

13、、 表达你所发现的规律 int main(int argc, char* argv) double f,sum; int s; f=1.0; sum=0; s=1; while(f20000000000) sum=sum+1.0/f*s; f=f+2.0; s=s*-1; printf(pi=%15.14f,sum*4); return 0; 例九:输入一个数,判断这个数是不是质数(也叫素数,即除了1和本身外无其他因子)学习内容:语法break的作用和使用:结束该循环!训练能力:小学时,给你一个数,你就能判断它是不是一个质数。现在你把这个判断过程用计算机语言表达出来!int main(int

14、argc, char* argv) unsigned int x,i; scanf(%d,&x); for(i=2;i=x/2;i+) if(x%i=0) break; if(i=x/2) printf(%d is not a prime,x); else printf(%d is a prime,x); return 1; 例十:“今有物不知其数,三三数之剩二;五五数之剩三,七七数之剩二;问物几何?” 学习内容:1、用“穷举”法求解一些问题。“穷举”法非常常用!2、算符“%”;3、算符“&”; int main(int argc, char* argv) int x; for(x=1;x10

15、000;x+) if(x%3=2 & x%5=3 & x%7=2) printf(x=%d,x); break; /*去掉break会怎样?*/ return 0; 例十一:已知x为正整数,x*x 除以391(17*23)的余数是13,求解x;学习内容:1、用“穷举”法求解一些问题。“穷举”法非常常用!2、算符优先级; int main(int argc, char* argv) int x; for(x=1;x100000;x+) if(x*x %(17*23)=13) printf(x=%d,x); break; /*去掉break会怎样?*/ return 0; 例十一:已知x为正整数,

16、x*x 除以(19*23)的余数是13,求解x;学习内容:1、 计算机语言这种工具的局限性。2、 注意运算超界int main(int argc, char* argv) int x; for(x=1;x100000;x+) if(x*x %(19*23)=13) printf(x=%d,x); break; return 0; 例十二:判断一年是否为闰年?解法一: int main(int argc, char* argv) unsigned int year; year=2000; if(0=year%400)|(year%100!=0&year%4=0) printf(%d is lea

17、p year,year); else printf(%d is not leap year,year); return 0;解法二:辅助变量的使用int main(int argc, char* argv) int leap; if(0=year%400) leap=1; else if(0=year%100) leap=0; else if(0=year%4) leap=1; else leap=0; if(1=leap) printf(%d is leap year,year); else printf(%d is not leap year,year); return 0; 例十三:为什

18、么闰年的规律是那个样的?模拟计算,如果不润;每四年一闰;每四年一闰,百年不闰;每四年一闰,百年不闰,四百年再补一闰;四种规则与实际年的差别。 学习内容: 1、 能力训练2、 Printf(%m.nf”)的输出格式3、 If()语句 int main(int argc, char* argv)double deff_0,deff_4,deff_100,deff_400, RealYear= 365.24219; int i,det4=0,det100=0,det400=0; i=1; while(i=5000) deff_0=(365-RealYear)*i; if(0=i%4) det4+;

19、deff_4=deff_0+det4; if(0=i%100) det100-; deff_100=deff_4+det100; if(0=i%400) det400+; deff_400=deff_100+det400; printf(n i=%4d, %15f, %10f, %10f, %10f,i,deff_0,deff_4,deff_100,deff_400); i+; return 0; 例十四:三对情侣参加婚礼,三个新郞为A、B、C,三个新娘为X、Y、Z。有人不知道谁和谁结婚,于是询问了六位新人中的三位,但听到的回答是这样的:A说他将和X结婚;X说她的未婚夫是C;C说他将和Z结婚。

20、这人听后知道他们在开玩笑,全是假话。请找出谁将和谁结婚。 *问题分析与算法设计 将A、B、C三人用1,2,3表示,将X和A结婚表示为“X=1”,将Y不与A结婚表示为“Y!=1”。按照题目中的叙述可以写出表达式: x!=1 A不与X结婚 x!=3 X的未婚夫不是C z!=3 C不与Z结婚 题意还隐含着一夫一妻,则有:x,y,z三个值各不相同;学习内容:1、客观事物到计算机变量的映射2、计算机用于推理的展示3、字符型常量的表示和应用void main() int x,y,z; for(x=1;x=3;x+) /*穷举x的全部可能配偶*/ for(y=1;y=3;y+) /*穷举y的全部可能配偶*/

21、 for(z=1;z=a&c=A&c=Z) total_counter+; switch (c) case a: case A: a_counter+; break; case b: case B: b_counter+; break; case c: case C: c_counter+; break; case e: case E: e_counter+; break; printf(pa=%f,pb=%f,pc=%f,pe=%f,(double)a_counter/total_counter,(double)b_counter/total_counter,(double)c_counte

22、r/total_counter,(double)e_counter/total_counter); return 0; 例十六:字母频率的统计(只统计a-z26个英文字母),即一片英文文章中,a出现的频率,b出现的频率.z出现的频率。 学习内容:1、 数组定义与使用2、 字符常量的概念和使用 int main(int argc, char* argv) char c=0; long total_counter=0, a_zCounter26; int i; for(i=0;i26;i+) a_zCounteri=0; while(c!=) c=getchar(); if(c-a=0) total_counter+; a_zCounterc-a+; else if(c-A=0) total_counter+; a_zCounterc-A+; printf(n); for(i=0;i0.0000001 |y00) y1=y0; x1=x; else x2=x; return x; int main(int argc, char* argv) printf(x=%14.13lf,root(0,100); return 0;例十八 用数组实现斐波纳妾数列学习内容:1、数组使用 int mai

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1