收藏 分销(赏)

初中教育c语言.pptx

上传人:人****来 文档编号:4170348 上传时间:2024-08-10 格式:PPTX 页数:33 大小:192.39KB
下载 相关 举报
初中教育c语言.pptx_第1页
第1页 / 共33页
初中教育c语言.pptx_第2页
第2页 / 共33页
初中教育c语言.pptx_第3页
第3页 / 共33页
初中教育c语言.pptx_第4页
第4页 / 共33页
初中教育c语言.pptx_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、1chap04明码、密码转换2本章要点n怎样用 for 语句求 1+2+100?nfor语句的嵌套n一维数组的使用n字符数组和字符串3 程序解析例 输入2个整数lower和 upper,输出一张华氏摄氏温度转换表,华氏温度的取值范围是lower,upper,每次增加1F。fahr celsius 30 -1.1 31 -0.6 32 0.0 33 0.6 34 1.1 35 1.74程序解析-温度转换表#include int main(void)int fahr,lower,upper;double celsius;printf(Enter lower:);scanf(%d,&lower);

2、printf(Enter upper:);scanf(%d,&upper);printf(fahr celsiusn);/温度重复转换:华氏温度从lower开始,到upper结束,每次增加1F for(fahr=lower;fahr=upper;fahr+)celsius=(5.0/9.0)*(fahr-32);printf(%d%6.1fn,fahr,celsius);return 0;fahr=fahr+1Enter lower:30Enter upper:35fahr celsius 30 -1.1 31 -0.6 32 0.0 33 0.6 34 1.1 35 1.75for语句的流程

3、for(fahr=lower;fahr=upper;fahr+)celsius=(5.0/9.0)*(fahr-32);printf(%d%6.1fn,fahr,celsius);fahr=fahr+2输出?输出?Enter lower:30Enter upper:35fahr celsius 30 -1.1 31 -0.6 32 0.0 33 0.6 34 1.1 35 1.76for(表达式1;表达式2;表达式3)循环体语句实现C语句的重复执行 for语句循环语句3个表达式、循环体语句个表达式、循环体语句!书写顺序和执行顺序不同书写顺序和执行顺序不同!表达式表达式1只执行一次只执行一次7循

4、环(控制)变量:for语句中,通过改变或判断某个变量的值来控制循环的执行for(fahr=lower;fahr=upper;fahr+)celsius=(5.0/9.0)*(fahr-32.0);printf(%d%6.1fn,fahr,celsius);for语句中的循环变量赋初值赋初值判断其值判断其值改变其值改变其值8for(fahr=lower;fahr=upper;fahr+)celsius=(5.0/9.0)*(fahr-32.0);printf(%d%6.1fn,fahr,celsius);表达式1:给循环变量赋初值,指定循环的起点。fahr=lower表达式2:给出循环的条件,决

5、定循环的继续或结束。fahr=upper表达式3:设置循环的步长,改变循环变量的值,从而可改变表达式2的真假性。fahr+语句:被反复执行的语句,一条语句。for语句的说明9for(fahr=lower;fahr=upper;fahr+)celsius=(5.0/9.0)*(fahr-32.0);printf(%d%6.1fn,fahr,celsius);for(fahr=lower;fahr=upper;fahr=fahr+1)celsius=(5.0/9.0)*(fahr-32.0);printf(%d%6.1fn,fahr,celsius);复合语句 和空语句;for(fahr=lowe

6、r;fahr=upper;fahr=fahr+1);celsius=(5.0/9.0)*(fahr-32.0);printf(%d%6.1fn,fahr,celsius);!不要在!不要在for语句中随意加分号语句中随意加分号10求 1+2+100抽取具有共性的算式:sum=sum+i sum初值为0,该算式重复100次,i从1变到100设i为循环变量,则:指定循环起点的表达式1:i=1给出循环条件的表达式2:i=100设置循环步长的表达式3:i+循环体语句:sum=sum+i;for(i=1;i=100;i+)sum=sum+i;指定次数的循环程序设计11/*计算1+2+3+100 */#i

7、nclude int main(void)int i,sum;sum=0;/*置累加和sum的初值为0*/for(i=1;i=100;i+)/*循环重复100次*/sum=sum+i;/*反复累加*/printf(“sum=%dn”,sum);/*输出累加和*/return 0;源程序求 1+2+100for(i=1;i=100;i+)sum=0;sum=sum+i;sum=505012一般包含四个部分:n初始化:指定循环起点q给循环变量赋初值,如i=1;q进入循环之前,设置相关变量的初值,如sum=0。n条件控制:q只要i 100,循环结束。指定次数的循环程序设计13循环的嵌套n当循环体中的

8、语句是循环结构时,称为循环嵌套。n如:for(;)for(;)或for(;)while(表达式)语句;14例:#includemain()int i,j;for(i=1;i=6;i+)for(j=1;j=7;j+)printf(*);printf(n);getch();输出如下图形:15一维数组的定义和引用1、定义 类型名 数组名数组长度类型名:数组元素的类型数组名:数组(变量)的名称,标识符数组长度:常量表达式,给定数组的大小int a10;定义一个含有10个整型元素的数组 achar c200;定义一个含有200个字符元素的数组 cfloat f5;定义一个含有5个浮点型元素的数组 f16

9、2、引用n先定义,后使用n只能引用单个的数组元素,不能一次引用整个数组数组名下标下标:整型表达式取值范围:0,数组长度-1int a10;10个元素:a0、a1、a9n数组元素的使用方法与同类型的变量相同scanf(%d,&ai);temp=ai;ai=ak;ak=temp;/*实现两个数的交接*/printf(%d,ai);下标不要越界下标不要越界不能使用不能使用a1017定义数组类型名 数组名数组长度引用数组元素数组名下标int a10;a0=a9=0;a10=1;()ak=temp;区分数组的定义和数组元素的引用下标不要越界下标不要越界数组长度为常量数组长度为常量18一维数组的初始化n定

10、义数组时,对数组元素赋初值类型名 数组名数组长度=初值表;int a10=1,2,3,4,5,6,7,8,9,10;a0=1,a1=2,.a9=10n静态数组、动态数组的初始化static int b5=1,2,3,4,5;静态存储的数组如果没有初始化,所有元素自动赋0static int b5;动态存储的数组如果没有初始化,所有元素为随机值auto int c5;19static int b5=1,2,3;b0=1,b1=2,b2=3,b3=0,b4=0 auto int fib20=0,1;fib0=0,fib1=1,其余元素不确定n如果对全部元素都赋初值,可以省略数组长度int a 10

11、 =0,1,2,3,4,5,6,7,8,9针对部分元素的初始化建议不要省略数组长度建议不要省略数组长度20使用一维数组编程数组和循环for(i=0;i n;i+)printf(%d,ai);数组下标作为循环变量,通过循环,逐个处理数组元素 21用数组计算fibonacci数列的前20个数,并按每行打印5个数的格式输出。1,1,2,3,5,8,13,用数组计算并存放fibonacci数列的前20个数f0=f1=1fn=fn-1+fn-2 2n19例7-2计算fibonacci数列22#include int main(void)int i;int fib20=1,1;/*数组初始化*/for(i

12、=2;i 20;i+)fibi=fibi-1+fibi-2;for(i=0;i 20;i+)printf(%6d,fibi);if(i+1)%5=0)/*5个数换行*/printf(n);return 0;源程序 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610987 1597 2584 4181 6765 23输入5个整数,将它们存入数组a中,再输入1个数x,然后在数组中查找x,如果找到,输出相应的下标,否则,输出“Not Found”。输入:2 9 8 9 6 要查找的数:9输出:1输入:2 9 8 9 6 要查找的数:7输出:Not Found例7-3

13、在数组中查找一个给定的数24#include int main(void)int i,flag,x;int a5;printf(“Enter 5 integers:);for(i=0;i 5;i+)scanf(%d,&ai);printf(“Enter x:);scanf(%d,&x);flag=0;for(i=0;i 5;i+)if(ai=x)printf(Index is%dn,i);flag=1;break;if(flag=0)printf(Not Foundn);return 0;源程序Enter 5 integers:2 9 8 1 9Enter x:9Index is 1Enter

14、 5 integers:2 9 8 1 9Enter x:7Not Found25一维字符数组n字符串的存储和运算可以用一维字符数组实现n一维字符数组的定义、引用、初始化与其他类型的一维数组一样。char str80;定义一个含有80个字符型元素的数组str char t5=H,a,p,p,y;初始化数组 t t0 t1 t4t H a p p y输出数组输出数组 t 的所有元素的所有元素for(i=0;i 对字符数组的操作291.字符串的存储数组初始化字符串可以存放在一维字符数组中 static char s6=H,a,p,p,y,0;字符数组初始化:用字符串常量static char s6

15、=Happy;static char s6=Happy;数组长度=字符串的有效长度+1char t5;Happy 能存入t吗?s0 s1 s5s H a p p y 030字符串的存储auto char s80=Happy;字符串遇 0 结束第一个 0 前面的所有字符和 0 一起构成了字符串 Happy”0 之后的其他数组元素与该字符串无关 s0 s1 s5s H a p p y 0?字符串由有效字符和字符串结束符 0组成 312.对字符串的操作n把字符串放入一维字符数组(存储)n对字符串的操作=对字符数组的操作普通字符数组:数组元素的个数是确定的,一般用下标控制循环字符串:没有显式地给出有效

16、字符的个数,只规定在字符串结束符 0 之前的字符都是字符串的有效字符,一般用结束符 0 来控制循环循环条件:si!=0 32输入一个以回车结束的字符串(少于80个字符),统计其中数字字符的个数。分析:数组长度取上限80以 n 做为输入结束符参看例ex7-11例7-11统计字符33#include int main(void)int count,i;char str80;printf(“Enter a string:);i=0;while(stri=getchar()!=n)i+;stri=0;/*输入结束符字符串结束符*/count=0;for(i=0;stri!=0;i+)if(stri=0)count+;printf(count=%dn,count);return 0;字符串的输入字符串的输入Enter a string:Its 512?count=3如何改变输入结束符如何改变输入结束符?能省略能省略stri=0吗?吗?0 1 2 3 4 5 6 7 8sI t s 5 1 2 0?

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服