最新C语言第三次课课程讲义.doc
《最新C语言第三次课课程讲义.doc》由会员分享,可在线阅读,更多相关《最新C语言第三次课课程讲义.doc(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateC语言第三次课课程讲义C语言第三次课课程讲义第三次课课程安排时间课次授课标题上课时长上午第一课时while语句50第二课时do-while语句20for语句25第三课时break和continue语句25for语句在上机考试中的考点25下午第四课时一维数组的定义15一维数组的赋值20一维数组的引用15第五课时二维数组的定义5二维数组的赋值25二维数组的引用10第六课时
2、循环与数组的应用例115循环与数组的应用例25循环与数组的应用例330循环与数组的应用例35课后布置习题作业注意:第七章中的部分涉及到指针的题目先不做,到后面再做。主要做选择题:1、2、3、8、9、10,填空题:2、3、4、5、6第四章选择题:4、9、10、11、12,16、17、18、20、23、24、26和所有的填空题第四章 循环l 本章考点考点考核几率分值while语句100%23dowhile语句100%23for语句(难点)100%57循环结构的嵌套(难点)100%46break语句(难点)70%23continue语句(难点)50%23l 教学内容一、 while循环1. 循环的引
3、入(1) 对循环的引入一定要简单,循环就是在一定条件或是范围内重复做某件事情,例如:人每天都在做着重复的事情,早上起床,然后工作学习,晚上休息睡觉。(2) 1+2+3+100这个例子不用讲,直接进入while语句,让学生通过后面的题目慢慢体会循环。2. while的一般形式 while(表达式) 循环体语句 (1) while是C语言的关键字,必须小写(2) 表达式是任意合法的表达式(包括:常量、算术、关系、逻辑、赋值表达式)(3) 循环体语句只能是一条语句或是一个复合语句(4) 表达式不能省略,循环体语句省略时表示不做任何的操作3. while的执行过程1) 判断表达式的真假2) 如果表达式
4、为真则执行循环体语句,否则结束循环4. 知识点举例(注意步骤)计算1+2+3+4+5 int i,sum; i=1,sum=0; while(i=5) sum=sum+i; i+; printf(sum=%dn,sum);执行步骤如下:(1)初值:i=1,sum=0 判断:isum=0+1,i=i+1-sum=1,i=2(2)初值:i=2,sum=1 判断:isum=1+2,i=i+1-sum=3,i=3(3)初值:i=3,sum=3 判断:isum=3+3,i=i+1-sum=6,i=4(4)初值:i=4,sum=6 判断:isum=6+4,i=i+1-sum=10,i=5(5)初值:i=5
5、,sum=10 判断:isum=10+5,i=i+1-sum=15,i=6(6)初值:i=6,sum=15 判断:ii=2,判断:n!=0为假,则结束循环;执行完循环后继续执行循环后面的语句:printf(%d,i);输出结果为:24. 融入考点讲解课本P63习题1,2,3(第3题很重要,讲解的时候先将答案告诉学生,然后通过举例的方式来讲解过程)三、 for循环1. for语句的格式for(表达式1;表达式2;表达式3) 循环体语句(1) for是C语言的关键字(2) for里面的三个表达式必须使用分号隔开1) 表达式1表示赋初值2) 表达式2表示空值循环,和while(表达式)中的表达式具有
6、同样的效果3) 表达式3表示赋值4) for PK while 表达式1;while(表达式2)循环体语句表达式3EG:i=1;while(i=100) sum=sum+1; i+;for(表达式1;表达式2;表达式3) 循环体语句EG:for(i=1;i=100;i+) sum=sum+I;总结:while和for都表示循环,本质上没有区别,用for实现的用while也能实现,一般认为for语句的格式相对要简单,因此考试中出现较多的是for语句。(3) 循环体语句只能是一条语句或是一个复合语句(4) 3个表达式可以省略,但是两个分号不能省略,循环体语句省略时表示不做任何的操作1) 省略表达式
7、1:for(;i=100;i+) sum+=i;2) 省略表达式3:for(i=1;i=100;) sum+=i;i+;3) 省略三个表达式:for(; ; )相当于while(1),表示永真,程序将进入死循环2. for语句的执行过程(1) 首先执行表达式1(2) 判断表达式2的真假(3) 如果表达式为真则执行循环体,否则结束循环(4) 执行完循环体后执行表达式3,接着执行第2步,进入循环3. for语句举例重点注意循环步骤(小知识大智慧,把下面的例题讲好讲清楚,基本上for也就掌握得差不多了)讲解课本P66例1,不能正确计算f=4!的程序段是A)f=0; for(i=1;i=4;i+) f
8、*=i; 分析步骤:(1) 初值:f=0,执行表达式1:i=1,判断表达式2:if=f*i-f=0*1-f=0,执行完循环体,继续执行表达式3,i+-i=2(2) 初值:f=0,i=2,判断表达式2:if=f*i-f=0*2-f=0,执行完循环体,继续执行表达式3,i+-i=3(3) 初值:f=0,i=3,判断表达式2:if=f*i-f=0*3-f=0,执行完循环体,继续执行表达式3,i+-i=4(4) 初值:f=0,i=4,判断表达式2:if=f*i-f=0*4-f=0,执行完循环体,继续执行表达式3,i+-i=5(5) 初值:f=0,i=5,判断表达式2:i=4为假,结束循环总结:通过执行
9、得知f最终的值为0,谨记0乘以任何数都为0,遇到乘法问题一定要注意。B)f=1;for(i=1;i4;i+) f*=i;分析步骤:(1) 初值:f=1,执行表达式1:i=1,判断表达式2:if=f*i-f=1*1-f=1,执行完循环体,继续执行表达式3,i+-i=2(2) 初值:f=1,i=2,判断表达式2:if=f*i-f=1*2-f=2,执行完循环体,继续执行表达式3,i+-i=3(3) 初值:f=2,i=3,判断表达式2:if=f*i-f=2*3-f=6,执行完循环体,继续执行表达式3,i+-i=4(4) 初值:f=6,i=4,判断表达式2:i1;i+) f*=i; 分析步骤:(1) 初
10、值:f=1,执行表达式1:i=4,判断表达式2:i1为真,因此进入循环体,执行f*=i-f=f*i-f=1*4-f=4,执行完循环体,继续执行表达式3,i+-i=5(2) 初值:f=4,i=5,判断表达式2:i1为真,因此进入循环体,执行f*=i-f=f*i-f=4*5-f=20,执行完循环体,继续执行表达式3,i+-i=6(3) i的值自增,判断的条件为i1,这样i永远大于1,程序会持续执行下去,进入死循环总结:通过执行得知f最终的值为无限大,近年考试往往会让考生判断构成或是不构成无限循环的语句。D)f=1; for(i=4;i=2;i-) f*=i; 分析步骤:(1) 初值:f=1,执行表
11、达式1:i=4,判断表达式2:i=2为真,因此进入循环体,执行f*=i-f=f*i-f=1*4-f=4,执行完循环体,继续执行表达式3,i- -i=3(2) 初值:f=4,i=3,判断表达式2:i=2为真,因此进入循环体,执行f*=i-f=f*i-f=4*3-f=12,执行完循环体,继续执行表达式3,i- -i=2(3) 初值:f=12,i=2,判断表达式2:i=2为真,因此进入循环体,执行f*=i-f=f*i-f=12*2-f=24,执行完循环体,继续执行表达式3,i- -i=1(4) 初值:f=24,i=1,判断表达式2:i=2为假,结束循环总结:通过执行得知f最终的值为24,为4*3*2
12、,刚好是4!,为了好理解循环范围做一个调整: for(i=4;i=2;i-) f*=i;改为for(i=4;i=1;i-) f*=i;四、 循环嵌套该知识点和第七章对数组的排序(冒泡法排序)结合记起来进行讲解,这里不多讲。五、 break和continue语句1、 break的使用 (1)可以用于switch和循环结构; (2)用于switch时,表示跳出switch语句;用于循环结构时,表示跳出离它最近的循环;2、 continue的使用 (1)只能用于循环结构; (2)表示结束本次循环;3、break PK continue (1)跳出循环,以for循环为例: Eg:for(表达式1;表达
13、式2;表达式3) 语句1 break; 语句2 语句3其执行顺序是:表达式2非00表达式1语句1break语句3 (2)结束本次循环,以for循环为例: Eg:for(表达式1;表达式2;表达式3) 语句1 continue; 语句2 语句3其执行顺序是:表达式2非00表达式1语句1continue语句3表达式34、讲解课本P67习题1 main()int x=8;for( ; x0 ; x-) printf(“%d,”,-x);.-if(x%3)printf(“%d,”,x-);-continue;(1) x=8,判断x0为真,执行循环体: 执行表达式3:x-,则x的值为6(2)x=6,判断
14、x0为真,执行循环体: 执行表达式3:x-,则x的值为4(3)x=4,判断x0为真,执行循环体 判断:x%3-8%3-2为真,执行if语句:printf(“%d,”,x-);输出x-为8,x为7执行continue,结束本轮循环,不在执行continue以后的语句判断:x%3-6%3-0为假,不执行if语句,执行if后面的语句printf(“%d,”,-x);输出-x为5,x为5六、上机中循环题型(编程题40分)做题技巧:(1)首先确定循环变量i的范围,开始值和终止值(2)确定求和还求乘积,求和必须给变量赋值为0,求乘积给变量赋值为1(3)确定循环体语句,谨记循环体就是一个公式,常见的公式:
15、1)求和:sum=sum+i; 2)求乘积:s=s*i; 3)求1+1/2+1/3.+1/n:sum=sum+1.0/i; 4)求ln(1)+ln(2)+.+ln(n):sum=sum+log(i);1、求小于形参n能同时被3和7同时整除的所有自然数之和的平方根(1)确定循环变量的范围:小于n的自然数,就可以确定为1-n(2)该题要求和,因此定义一个变量sum并赋值为0,定义s表示和的平方根(3)使用求和公式:sum=sum+i;int i,sum;sum=0;for(i=1;in;i+) if(i%3=0&i%7=0) sum=sum+i;s=sqrt(sum);2、求出1到m之间各个数字l
16、n(i)值的和的平方根(1) 确定循环变量i的范围:1-m,在没有特殊说明的情况下,一般都要包括1和m(2) 该题要求和,因此定义一个变量sum并赋值为0,定义s表示和的平方根(3) 使用求和公式:sum=sum+i;int i,sum;sum=0;for(i=1;i=m;i+) sum=sum+log(i);s=sqrt(sum);-第七章 数组l 本章考点考点考核几率分值一维数组的定义及引用80%13一维数组的初始化80%12二维数组的定义及引用(难点)90%34二维数组的初始化90%12l 教学内容一、 一维数组1. 一维数组的定义类型名 数组名常量表达式(1) 类型名整型(int)、单
17、精度实型(float)、双精度实型(double)、字符型(char)(2) 数组名必须符合标示符命名规则(3) 常量表达式必须为整型常量,不能为变量,常量表达式表示数组的长度(4) 一维数组举例1) int a5; /*定义了一个长度为5的一维整型数组a*/2) doule b5+5; /*定义了一个长度为10的一维双精度实型数组b*/(5) 笔试考试分析(6) 上机考试分析2. 一维数组的赋值(1) 单个赋值1) 给变量赋值int a; /*定义了一个整型变量a*/a=10; /*给变量赋值为10*/2) 给数组元素分别赋值,原理:数组元素本质就是变量int a3; /*定义了一个整型数组
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 语言 第三次 课程 讲义
限制150内