欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    计算机软件基础第二章.ppt

    • 资源ID:73976223       资源大小:455KB        全文页数:62页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机软件基础第二章.ppt

    第二章第二章 顺序结构、选择结构、循环结顺序结构、选择结构、循环结构的程序设计构的程序设计程序设计的三种基本结构顺序结构顺序结构用来表示一个操作序列,它的执用来表示一个操作序列,它的执行过程是按顺序执行各序列。行过程是按顺序执行各序列。选择结构选择结构也称分支结构,根据给定条件,也称分支结构,根据给定条件,选择执行某个分支操作。选择执行某个分支操作。循环结构循环结构根据条件重复执行某些操作。根据条件重复执行某些操作。相关基础知识在使用在使用CC语言库函数时,要用预编译命令语言库函数时,要用预编译命令#include#include将有关的将有关的 头文件头文件 包括到用户到源文件中。包括到用户到源文件中。在头文件中包含了与用到的函数有关的信息在头文件中包含了与用到的函数有关的信息。例如使用标准输入输出库函数时,要用到例如使用标准输入输出库函数时,要用到stdio.hstdio.h文件。文文件。文件后缀件后缀hh是是headhead的缩写,的缩写,#include#include命令都是放在程序的开头,因命令都是放在程序的开头,因此这类文件被称为此这类文件被称为 头文件头文件。在调用标准输入输出库函数时,文。在调用标准输入输出库函数时,文件开头应有以下件开头应有以下预编译命令预编译命令:#include#include或或#includestdio.h#includestdio.h stdio.hstdio.h是是standard intput&outputstandard intput&output的缩写,它包含了与标准的缩写,它包含了与标准I/OI/O库库有关的变量定义和宏定义有关的变量定义和宏定义。考虑到。考虑到printfprintf和和scanfscanf函数使用频繁,系函数使用频繁,系统允许在使用这两个函数时可不加统允许在使用这两个函数时可不加#include#include 命令。命令。一、格式输出函数一、格式输出函数printf的一般格式的一般格式Printf(格式控制字符串格式控制字符串,输出表列,输出表列);printf(a=%d,b=%d,a,b);括号内包括两部分:括号内包括两部分:(1 1)格式控制字符串格式控制字符串 是用双引号括起来的字符串,也称是用双引号括起来的字符串,也称 转转换控制字符串换控制字符串,它包括两种信息:,它包括两种信息:格式说明,由格式说明,由%和格式字符组成,如和格式字符组成,如%d,%f%d,%f,%c%c等。它的等。它的作用是将输出的数据转换为指定的格式输出。格式说明总是由作用是将输出的数据转换为指定的格式输出。格式说明总是由%字符开始的。字符开始的。普通字符,即需要原样输出的字符。例如上面普通字符,即需要原样输出的字符。例如上面printfprintf函数中双函数中双引号内的逗号、空格、引号内的逗号、空格、a=a=和和b=b=。(2 2)输出表列输出表列 是需要输出的一些数据,可以是表达式。是需要输出的一些数据,可以是表达式。常用的有以下几种格式字符:常用的有以下几种格式字符:d格式符格式符。用来输出十进制整数。有以下几种用法:。用来输出十进制整数。有以下几种用法:%d%d,按整型数据的实际长度输出。,按整型数据的实际长度输出。%md%md,m m为指定的输出字段的为指定的输出字段的宽度宽度。如果数据的位数小于。如果数据的位数小于m,m,则左端补以则左端补以空格空格,若大于,若大于m m,则按实际位数输出。,则按实际位数输出。%ld%ld,输出长整型数据。如:,输出长整型数据。如:long a=135790;long a=135790;printf(%ld,a);printf(%ld,a);如果用如果用%d%d输出,就会发生错误,因为整型数据的范围为输出,就会发生错误,因为整型数据的范围为32768327683276732767。对。对longlong型数据应当用型数据应当用%ld%ld格式输出。对长整型数格式输出。对长整型数据据也可以指定字段宽度也可以指定字段宽度,如将上面,如将上面printfprintf函数中的函数中的%ld%ld改为改为%8ld,%8ld,则输出为:则输出为:135790135790一个一个int型数据可以用型数据可以用%d或或%ld格式输出格式输出。c格式符格式符 用来输出一个字符。用来输出一个字符。f格式符格式符 用来输出实数(包括单、双精度),以小数形用来输出实数(包括单、双精度),以小数形式输出。有以下几种用法:式输出。有以下几种用法:%f,不指定字段宽度,由系统自动指定,使整数部,不指定字段宽度,由系统自动指定,使整数部分全部如数输出,并输出分全部如数输出,并输出6位小数。应当注意,并非位小数。应当注意,并非全部数字都是有效数字。全部数字都是有效数字。单精度实数的有效位数一般单精度实数的有效位数一般为为7位。位。%m.nf指定输出的数据共占指定输出的数据共占m列,其中有列,其中有n位小数。位小数。如果数值长度小于如果数值长度小于m,则左端补空格。,则左端补空格。%-m.nf与与%m.nf基本相同,只是使输出的数值向左基本相同,只是使输出的数值向左端靠,右端补空格。端靠,右端补空格。main()float f=123.456;printf(“%fn%10fn%10.2fn%-10.2fn,f,f,f,f,f);输出结果如下:输出结果如下:123456001凵凵凵凵123.456001凵凵凵凵凵凵凵凵凵凵凵凵123.46凵凵凵凵123.46凵凵凵凵凵凵凵凵二、二、scanf函数的一般格式函数的一般格式 scanf(“格式控制字符串格式控制字符串”,地址表列,地址表列)格式控制格式控制的含义同的含义同printf函数;函数;地址表列地址表列是由是由若干个地址组成的表列,可以是变量的地址,或字符若干个地址组成的表列,可以是变量的地址,或字符串的首地址。串的首地址。scanf(%d,&a);(1)可以指定输入数据所占列数,系统自动按它截)可以指定输入数据所占列数,系统自动按它截取所需数据。取所需数据。如:如:scanf(%3d%3d,&a,&b);输入:输入:123456 系统自动将系统自动将123赋给赋给a,456赋给赋给b。此方法也可用于字符型:此方法也可用于字符型:scanf(%3c,&ch);如果从键盘连续输入如果从键盘连续输入3个字符个字符abc,由于,由于ch只能容纳一个只能容纳一个字符,系统就把第一个字符字符,系统就把第一个字符a赋给赋给ch。(2)输入数据时不能规定精度输入数据时不能规定精度,例如,例如,scanf(%7.2f,&a);scanf(%7.2f,&a);是不合法的,不能企图用这样的是不合法的,不能企图用这样的scanfscanf函数并输入以下数据而函数并输入以下数据而使使a a的值为的值为12345.6712345.67。1234567(3)scanf函数中的函数中的格式控制格式控制后面应当是后面应当是变量地址,变量地址,而不应是变量名而不应是变量名。(4)如果在)如果在格式控制格式控制字符串中除了格式说明以外还字符串中除了格式说明以外还有其它字符,则在输入数据时应输入与这些字符相同的有其它字符,则在输入数据时应输入与这些字符相同的字符。字符。如如scanf(%d,%d,&a,&b);scanf(%d,%d,&a,&b);输入时应用如下形式:输入时应用如下形式:3 3,44 如果是:如果是:scanf(%dscanf(%d凵凵凵凵%d,&a,&b);%d,&a,&b);输入时两个数据间应空输入时两个数据间应空2 2个或更多的空格字符。如:个或更多的空格字符。如:1010凵凵凵凵3434或或1010凵凵凵凵凵凵3434如果是:如果是:scanf(%dscanf(%d:%d,&a,&b);%d,&a,&b);输入应该用以下形式:输入应该用以下形式:1212:3434 如果是:如果是:scanf(a=%d,b=%d,&a,&b);scanf(a=%d,b=%d,&a,&b);输入应为以下形式:输入应为以下形式:a=12,b=34a=12,b=34putchar函数(字符输出函数)的作用是向终端输函数(字符输出函数)的作用是向终端输出一个字符。出一个字符。例如:例如:putchar(c);putchar(c);它输出字符变量它输出字符变量c c的值。的值。c c可以是字符型变量或整型变量。可以是字符型变量或整型变量。getchar函数的作用是从终端(或系统隐含指定的函数的作用是从终端(或系统隐含指定的输入设备)输入输入设备)输入一个字符一个字符。getchar函数没有参数,函数没有参数,其一般形式为其一般形式为 getchar()函数的值就是从输入设备得到的字符。函数的值就是从输入设备得到的字符。putchar和和getchar可以用一行表示:可以用一行表示:putchar(getchar();如如getchar()getchar()的值为的值为aa,因此,因此putcharputchar函数输出函数输出aa。也可以用也可以用printfprintf函数输出:函数输出:printf(%c,getchar();printf(%c,getchar();如果在一个函数中(现为如果在一个函数中(现为main函数)要调用函数)要调用getchar函数,应该在该函数的前面(或本文件开函数,应该在该函数的前面(或本文件开头)加上头)加上包含命令包含命令:#include顺序结构的例题:顺序结构的例题:例例4:输入三角形的三边长,求三角形面积输入三角形的三边长,求三角形面积 为简单起见,设输入的三边长为简单起见,设输入的三边长a、b、c能构成三角形。能构成三角形。从数学知识已知求三角形面积的公式为从数学知识已知求三角形面积的公式为 area=,其中其中s=(a+b+c)/2据此编写程序为:据此编写程序为:#include main()float a,b,c,s,area;scanf(%f,%f,%f,&a,&b,&c);s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);/*sqrt()是求平方根的函数是求平方根的函数*/printf(a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2fn,a,b,c,s);printf(area=%7.2fn,area);例例5:从键盘输入一个大写字母,要求改用小:从键盘输入一个大写字母,要求改用小写字母输出写字母输出 如何将一个大写字母转换成小写字母?我如何将一个大写字母转换成小写字母?我们通过们通过码的形式来进行转换。码的形式来进行转换。includestdio.h main()char c1,c2;c1=getchar();printf(%c,%dn,c1,c1);c2=c1+32;printf(%c,%dn,c2,c2);选择结构选择结构选择结构选择结构选择结构选择结构 基础知识基础知识关系运算符:关系运算符:、=、!=(双目运算符)(双目运算符)关系表达式:用关系运算符连接的式子关系表达式:用关系运算符连接的式子关系表达式的值只有两个:真为关系表达式的值只有两个:真为1,假为,假为0321逻辑运算符:双目逻辑运算符:双目&、|,单目,单目!逻辑表达式的结果是逻辑值,用逻辑表达式的结果是逻辑值,用0(逻辑假)、(逻辑假)、1(逻(逻辑真)辑真)表示表示逻辑运算符的运算规则:逻辑运算符的运算规则:ab!a!ba&ba|b非非0非非00011非非0001010非非01001001100 ()()高高 !、!、+、-*、/、%+、-、=、!=&|=低低 选择结构选择结构选择结构选择结构一、一、一、一、if if语句语句语句语句if if语句是用来判定所给定的条件是否满足,根据判定的语句是用来判定所给定的条件是否满足,根据判定的语句是用来判定所给定的条件是否满足,根据判定的语句是用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。结果(真或假)决定执行给出的两种操作之一。结果(真或假)决定执行给出的两种操作之一。结果(真或假)决定执行给出的两种操作之一。if if语句的三种形式语句的三种形式语句的三种形式语句的三种形式a.ifa.if(表达式)(表达式)(表达式)(表达式)语句语句语句语句 例如:例如:例如:例如:if(xy)printf(%d,x);if(xy)printf(%d,x);这种这种这种这种if if语句的执行过程见右图语句的执行过程见右图语句的执行过程见右图语句的执行过程见右图单分支单分支单分支单分支if if语句语句语句语句b.if if(表达式)语句(表达式)语句(表达式)语句(表达式)语句1 1 else else 语句语句语句语句2 2 例如:例如:例如:例如:if(xif(x y)printf(%d,xy)printf(%d,x););else else printf(%d,yprintf(%d,y););执行过程见图。执行过程见图。执行过程见图。执行过程见图。双分支双分支双分支双分支if if语句语句语句语句例例例例6 6 输入两个实数,按代数值由小到大的次序输出这输入两个实数,按代数值由小到大的次序输出这输入两个实数,按代数值由小到大的次序输出这输入两个实数,按代数值由小到大的次序输出这两个数。两个数。两个数。两个数。main()main()float a,b,t;float a,b,t;scanf(%f,%f,&a,&b);scanf(%f,%f,&a,&b);if(ab)if(ab)t=a;a=b;b=t;t=a;a=b;b=t;printf(%5.2f,%5.2f,a,b);printf(%5.2f,%5.2f,a,b);运行情况如下:运行情况如下:运行情况如下:运行情况如下:3.63.6,-3.2-3.2 -3.20-3.20,3.603.60例例例例7 7 输入输入输入输入3 3个数个数个数个数a a、b b、c c,要求按由小到大的顺序输出。,要求按由小到大的顺序输出。,要求按由小到大的顺序输出。,要求按由小到大的顺序输出。main()main()float a,b,c,t;float a,b,c,t;scanf(%f,%f,%f,&a,&b,&c);scanf(%f,%f,%f,&a,&b,&c);if(ab)if(ab)t=a;a=b;b=t;t=a;a=b;b=t;运行情况如下:运行情况如下:运行情况如下:运行情况如下:if(ac)3if(ac)3,7 7,1 1 t=a;a=c;c=t;1.00 t=a;a=c;c=t;1.00,3.003.00,7.007.00if(bc)if(bc)t=b;b=c;c=t;t=b;b=c;c=t;printf(%5.2f,%5.2f,%5.2f,a,b,c);printf(%5.2f,%5.2f,%5.2f,a,b,c);c.ifc.if语句的嵌套语句的嵌套语句的嵌套语句的嵌套在在在在if if语句中又包含一个或多个语句中又包含一个或多个语句中又包含一个或多个语句中又包含一个或多个if if语句称为语句称为语句称为语句称为if if语句的嵌套。一般形语句的嵌套。一般形语句的嵌套。一般形语句的嵌套。一般形式如下:式如下:式如下:式如下:if ()if ()if ()if ()语句语句语句语句1 1 内嵌内嵌内嵌内嵌if if else else 语句语句语句语句2 2 else else if ()if ()语句语句语句语句3 3 内嵌内嵌内嵌内嵌if if else else 语句语句语句语句4 4应当注意应当注意应当注意应当注意if if与与与与elseelse的配对关系。的配对关系。的配对关系。的配对关系。elseelse总是与它上面的最近的总是与它上面的最近的总是与它上面的最近的总是与它上面的最近的if if配配配配对。对。对。对。如果如果如果如果if if与与与与elseelse的数目不一样,为实现程序设计者的要求,可以的数目不一样,为实现程序设计者的要求,可以的数目不一样,为实现程序设计者的要求,可以的数目不一样,为实现程序设计者的要求,可以加花括号来确定配对关系加花括号来确定配对关系加花括号来确定配对关系加花括号来确定配对关系。例如:。例如:。例如:。例如:if ()if ()if ()if ()语句语句语句语句1 1 (内嵌(内嵌(内嵌(内嵌if if)else else 语句语句语句语句2 2 这时这时这时这时 限定了内嵌限定了内嵌限定了内嵌限定了内嵌if if语句的范围,因此语句的范围,因此语句的范围,因此语句的范围,因此elseelse与第一个与第一个与第一个与第一个if if配对。配对。配对。配对。例例例例8 8 有一函数:有一函数:有一函数:有一函数:-1 (x0)-1 (x0)1 (x0)编一程序,输入一个编一程序,输入一个编一程序,输入一个编一程序,输入一个x x的值,输出的值,输出的值,输出的值,输出y y值值值值此题有多种解法,在此列出其中两种:此题有多种解法,在此列出其中两种:此题有多种解法,在此列出其中两种:此题有多种解法,在此列出其中两种:程序程序程序程序1 1:main()main()int x,y;int x,y;scanf(%d,&x);scanf(%d,&x);if(x0)y=-1;if(x=0)if(x=0)if(x0)y=1;if(x0)y=1;else y=0;else y=0;else y=-1;else y=-1;printf(x=%d,y=%dn,x,y);printf(x=%d,y=%dn,x,y);2 2、条件运算符、条件运算符、条件运算符、条件运算符若若若若if if语句中,在表达式为语句中,在表达式为语句中,在表达式为语句中,在表达式为 真真真真 和和和和 假假假假 时,且都只执行时,且都只执行时,且都只执行时,且都只执行一个赋值语句给同一个变量赋值时,可以用简单的条一个赋值语句给同一个变量赋值时,可以用简单的条一个赋值语句给同一个变量赋值时,可以用简单的条一个赋值语句给同一个变量赋值时,可以用简单的条件运算符来处理。例如,若有以下件运算符来处理。例如,若有以下件运算符来处理。例如,若有以下件运算符来处理。例如,若有以下if if语句:语句:语句:语句:if(ab)max=a;if(ab)max=a;else max=b;else max=b;可以用下面的条件运算符来处理:可以用下面的条件运算符来处理:可以用下面的条件运算符来处理:可以用下面的条件运算符来处理:max=(ab)?a:b;max=(ab)?a:b;其中其中其中其中max=(ab)?a:bmax=(ab)?a:b是一个是一个是一个是一个 条件表达式条件表达式条件表达式条件表达式。它。它。它。它是这样执行的:如果(是这样执行的:如果(是这样执行的:如果(是这样执行的:如果(abab)条件为真,则条件表达)条件为真,则条件表达)条件为真,则条件表达)条件为真,则条件表达式取值式取值式取值式取值a a,否则取值,否则取值,否则取值,否则取值b b。条件运算符要求有条件运算符要求有条件运算符要求有条件运算符要求有3 3个操作对象,称三目(元)运个操作对象,称三目(元)运个操作对象,称三目(元)运个操作对象,称三目(元)运算符,它是算符,它是算符,它是算符,它是C C语言中唯一的一个三目运算符语言中唯一的一个三目运算符语言中唯一的一个三目运算符语言中唯一的一个三目运算符。条件表。条件表。条件表。条件表达式的一般形式为达式的一般形式为达式的一般形式为达式的一般形式为 表达式表达式表达式表达式1 1?表达式?表达式?表达式?表达式2 2:表达式:表达式:表达式:表达式3 3说明:说明:说明:说明:(1 1)条件运算符的执行顺序:先求表达式)条件运算符的执行顺序:先求表达式)条件运算符的执行顺序:先求表达式)条件运算符的执行顺序:先求表达式1 1,若为,若为,若为,若为非非非非0 0(真)则求解表达式(真)则求解表达式(真)则求解表达式(真)则求解表达式2 2,此时表达式,此时表达式,此时表达式,此时表达式2 2的值就作的值就作的值就作的值就作为整个条件表达式的值。若表达式为整个条件表达式的值。若表达式为整个条件表达式的值。若表达式为整个条件表达式的值。若表达式1 1的值为的值为的值为的值为0 0(假),(假),(假),(假),则求解表达式则求解表达式则求解表达式则求解表达式3 3,表达式,表达式,表达式,表达式3 3的值就是整个条件的值就是整个条件的值就是整个条件的值就是整个条件 表达表达表达表达式的值。式的值。式的值。式的值。(2 2)条件运算符优先于赋值运算符。低于关系运)条件运算符优先于赋值运算符。低于关系运)条件运算符优先于赋值运算符。低于关系运)条件运算符优先于赋值运算符。低于关系运算符和算术运算符。算符和算术运算符。算符和算术运算符。算符和算术运算符。(3 3)条件运算符的结合方向为)条件运算符的结合方向为)条件运算符的结合方向为)条件运算符的结合方向为 自右至左自右至左自右至左自右至左。如果。如果。如果。如果有以下条件表达式:有以下条件表达式:有以下条件表达式:有以下条件表达式:ab?a:cd?c:dab?a:cd?c:d 相当于相当于相当于相当于 ab?a:(cd?c:d)ab?a:(cd?c:d)如果如果如果如果a=1,b=2,c=3,d=4,a=1,b=2,c=3,d=4,则条件表达式的值等于则条件表达式的值等于则条件表达式的值等于则条件表达式的值等于4 4例例9 输入一个字符,判断它是否为大写字母,若输入一个字符,判断它是否为大写字母,若是则变成小写字母,若不是则不作处理。最后输是则变成小写字母,若不是则不作处理。最后输出这个字符。出这个字符。main()char ch;scanf(%c,&ch);if(ch=A&ch=3000)c=12;if(s=3000)c=12;else c=s/250;else c=s/250;switch(c)switch(c)case 0:d=0;break;case 0:d=0;break;case 1:d=2;break;case 1:d=2;break;case 2:case 2:case 3:d=5;break;case 3:d=5;break;case 4:case 4:case 5:case 5:case 6:case 6:case 7:d=8;break;case 7:d=8;break;case 8:case 8:case 9:case 9:case 10:case 10:case 11:d=10;break;case 11:d=10;break;case 12:d=15;break;case 12:d=15;break;f=p*w*s*(1-d/100.0);f=p*w*s*(1-d/100.0);printf(freight=%15.4f,f)printf(freight=%15.4f,f);循环结构循环结构循环结构循环结构一、一、一、一、whilewhile语句语句语句语句whilewhile语句用来实现语句用来实现语句用来实现语句用来实现 当型当型当型当型 循环结构。其一般形式循环结构。其一般形式循环结构。其一般形式循环结构。其一般形式如下:如下:如下:如下:while(while(表达式表达式表达式表达式)语句语句语句语句 当表达式为非当表达式为非当表达式为非当表达式为非0 0值时,执行值时,执行值时,执行值时,执行whilewhile语句中的内嵌语语句中的内嵌语语句中的内嵌语语句中的内嵌语句。其流程下图。其特点是:句。其流程下图。其特点是:句。其流程下图。其特点是:句。其流程下图。其特点是:先判断表达式,后执先判断表达式,后执先判断表达式,后执先判断表达式,后执行语句行语句行语句行语句。例例11 求求main()main()int i,sum=0;int i,sum=0;i=1;i=1;while(i=100)while(i=100)sum=sum+i;sum=sum+i;i+;i+;printf(%d,sum);printf(%d,sum);二、二、二、二、do-while do-while 语句语句语句语句do-whiledo-while语句的特点是语句的特点是语句的特点是语句的特点是先执行循环体先执行循环体先执行循环体先执行循环体,然后判断循环,然后判断循环,然后判断循环,然后判断循环条件是否成立。其一般形式为条件是否成立。其一般形式为条件是否成立。其一般形式为条件是否成立。其一般形式为 dodo 循环体循环体循环体循环体 while(while(表达式表达式表达式表达式);它是这样执行的:先执行一次指定的循环体语句,它是这样执行的:先执行一次指定的循环体语句,它是这样执行的:先执行一次指定的循环体语句,它是这样执行的:先执行一次指定的循环体语句,然后判别表达式,当表达式的值为非零(然后判别表达式,当表达式的值为非零(然后判别表达式,当表达式的值为非零(然后判别表达式,当表达式的值为非零(真真真真)时,)时,)时,)时,返回重新执行循环体语句,如此反复,直到表达式的返回重新执行循环体语句,如此反复,直到表达式的返回重新执行循环体语句,如此反复,直到表达式的返回重新执行循环体语句,如此反复,直到表达式的值等于值等于值等于值等于0 0为止,此时循环结束。为止,此时循环结束。为止,此时循环结束。为止,此时循环结束。例例例例12 12 用用用用do-while do-while 语句求语句求语句求语句求main()main()int i,sum=0;int i,sum=0;i=1;i=1;dodo sum=sum+i;sum=sum+i;i+;i+;while(i=100);while(i=100);printf(%d,sum);printf(%d,sum);三、三、三、三、whilewhile语句和语句和语句和语句和do-whiledo-while语句的区别与联系语句的区别与联系语句的区别与联系语句的区别与联系在一般情况下,用在一般情况下,用在一般情况下,用在一般情况下,用whilewhile语句和用语句和用语句和用语句和用do-whiledo-while语句处语句处语句处语句处理同一问题时,若二者的循环体部分是一样的,理同一问题时,若二者的循环体部分是一样的,理同一问题时,若二者的循环体部分是一样的,理同一问题时,若二者的循环体部分是一样的,它们的结果也一样。如例它们的结果也一样。如例它们的结果也一样。如例它们的结果也一样。如例1111和例和例和例和例1212程序中的循环程序中的循环程序中的循环程序中的循环体是相同的,得到结果也相同。但是如果体是相同的,得到结果也相同。但是如果体是相同的,得到结果也相同。但是如果体是相同的,得到结果也相同。但是如果whilewhile后后后后面的表达式一开始就为假(面的表达式一开始就为假(面的表达式一开始就为假(面的表达式一开始就为假(0 0值)时,两种循环的值)时,两种循环的值)时,两种循环的值)时,两种循环的结果是不同的。结果是不同的。结果是不同的。结果是不同的。main()main()int i,sum=0;int i,sum=0;scanf(%d,&i);scanf(%d,&i);while(i=10)while(i=10)sum=sum+i;sum=sum+i;i+;i+;printf(sum=%d,sum);printf(sum=%d,sum);main()main()int i,sum=0;int i,sum=0;scanf(%d,&i);scanf(%d,&i);dodo sum=sum+i;sum=sum+i;i+;i+;while(i=10);while(i=10);printf(sum=%d,sum);printf(sum=%d,sum);运行情况如下:运行情况如下:运行情况如下:运行情况如下:1 1 sum=55sum=55再运行一次:再运行一次:再运行一次:再运行一次:1111 sum=0sum=0 运行情况如下:运行情况如下:运行情况如下:运行情况如下:1 1 sum=55sum=55再运行一次:再运行一次:再运行一次:再运行一次:1111 sum=11sum=11四、四、四、四、forfor语句语句语句语句C C语言中的语言中的语言中的语言中的forfor语句使用最为灵活,不仅可以用于循语句使用最为灵活,不仅可以用于循语句使用最为灵活,不仅可以用于循语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不环次数已经确定的情况,而且可以用于循环次数不环次数已经确定的情况,而且可以用于循环次数不环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代确定而只给出循环结束条件的情况,它完全可以代确定而只给出循环结束条件的情况,它完全可以代确定而只给出循环结束条件的情况,它完全可以代替替替替whilewhile语句。语句。语句。语句。forfor语句的一般形式为:语句的一般形式为:语句的一般形式为:语句的一般形式为:for(for(表达式表达式表达式表达式1 1;表达式;表达式;表达式;表达式2 2;表达式;表达式;表达式;表达式3)3)语句语句语句语句forfor语句最简单的应用形式也就是最易理解的如下形式:语句最简单的应用形式也就是最易理解的如下形式:语句最简单的应用形式也就是最易理解的如下形式:语句最简单的应用形式也就是最易理解的如下形式:for(for(循环变量赋初值;循环条件;循环变量增值循环变量赋初值;循环条件;循环变量增值循环变量赋初值;循环条件;循环变量增值循环变量赋初值;循环条件;循环变量增值)语句语句语句语句例如:例如:例如:例如:for(i=1;i=100;i+)sum=sum+i;for(i=1;i=100;i+)sum=sum+i;可以看到它相当于一下语句:可以看到它相当于一下语句:可以看到它相当于一下语句:可以看到它相当于一下语句:i=1;i=1;while(i=100)while(i=100)sum=sum+i;sum=sum+i;i+;i+;对于以上对于以上对于以上对于以上forfor语句的一般形式也可以改写为语句的一般形式也可以改写为语句的一般形式也可以改写为语句的一般形式也可以改写为whilewhile循环的循环的循环的循环的形式:形式:形式:形式:表达式表达式表达式表达式1 1;while(while(表达式表达式表达式表达式2)2)语句语句语句语句 表达式表达式表达式表达式3 3;1 1、forfor语句的一般形式中的语句的一般形式中的语句的一般形式中的语句的一般形式中的 表达式表达式表达式表达式11可以省略,此时可以省略,此时可以省略,此时可以省略,此时应在应在应在应在forfor语句之前给循环变量赋初值。语句之前给循环变量赋初值。语句之前给循环变量赋初值。语句之前给循环变量赋初值。注意省略表达式注意省略表达式注意省略表达式注意省略表达式1 1时,其后的分号不能省略。时,其后的分号不能省略。时,其后的分号不能省略。时,其后的分号不能省略。如如如如for(;i=100;i+)for(;i=100;i+)sum=sum+i;sum=sum+i;执行时,跳过执行时,跳过执行时,跳过执行时,跳过 求解表达式求解表达式求解表达式求解表达式11这一步,其这一步,其这一步,其这一步,其他不变。他不变。他不变。他不变。2 2、如果表达式、如果表达式、如果表达式、如果表达式2 2省略,即不判断循环条件,循环无终止省略,即不判断循环条件,循环无终止省略,即不判断循环条件,循环无终止省略,即不判断循环条件,循环无终止地进行下去。也就是认为表达式地进行下去。也就是认为表达式地进行下去。也就是认为表达式地进行下去。也就是认为表达式2 2始终为真。始终为真。始终为真。始终为真。例如:例如:例如:例如:for(i=1;i+)sum=sum+i;for(i=1;i+)sum=sum+i;表达式表达式表达式表达式1 1是一个赋值表达式,表达式是一个赋值表达式,表达式是一个赋值表达式,表达式是一个赋值表达式,表达式2 2空缺。它相当空缺。它相当空缺。它相当空缺。它相当于:于:于:于:i=1i=1;while(1)while(1)sum=sum+1;sum=sum+1;i+;i+;3 3、表达式、表达式、表达式、表达式3 3也可以省略,但此时程序设计者应另外设也可以省略,但此时程序设计者应另外设也可以省略,但此时程序设计者应另外设也可以省略,但此时程序设计者应另外设法保证循环能正常结束。如:法保证循环能正常结束。如:法保证循环能正常结束。如:法保证循环能正常结束。如:for(i=1;i=100;)for(i=1;i=100;)sum=sum+1;sum=sum+1;i+;i+;在上面的在上面的在上面的在上面的forfor语句中只有表达式语句中只有表达式语句中只有表达式语句中只有表达式1 1和表达式和表达式和表达式和表达式2 2,而没,而没,而没,而没有表达式有表达式有表达式有表达式3 3。i+i+的操作不放在的操作不放在的操作不放在的操作不放在forfor语句的表达式语句的表达式语句的表达式语句的表达式3 3的位的位的位的位置处,而作为循环体的一部分,效果是一样的,都能置处,而作为循环体的一部分,效果是一样的,都能置处,而作为循环体的一部分,效果是一样的,都能置处,而作为循环体的一部分,效果是一样的,都能使循环正常结束。使循环正常结束。使循环正常结束。使循环正常结束。4 4、可以省略表达式、可以省略表达式、可以省略表达式、可以省略表达式1 1和表达式和表达式和表达式和表达式3 3,只有表达式,只有表达式,只有表达式,只有表达式2 2,即,即,即,即只给循环条件。如:只给循环条件。如:只给循环条件。如:只给循环条件。如:for(;i=100;)for(;i=100;)sum=sum+i sum=sum+i;i+i+;相当于相当于相当于相当于 while(i=100)while(i=100)sum=sum+i sum=sum+i;i+i+;在这种情况下,完全等同于在这种情况下,完全等同于在这种情况下,完全等同于在这种情况下,完全等同于whilewhile语句。可语句。可语句。可语句。可见见见见forfor语句比语句比语句比语句比whilewhile语句功能强,除了可以给出循环语句功能强,除了可以给出循环语句功能强,除了可以给出循环语句功能强,除了可以给出循环条件外,还可以赋初值,使循环变量自动增值。条件外,还可以赋初值,使循环变量自动增值。条件外,还可以赋初值,使循环变量自动增值。条件外,还可以赋初值,使循环变量自动增值。5 5、3 3个表达式都可省略。如:个表达式都可省略。如:个表达式都可省略。如:个表达式都可省略。如:for(;)for(;)语句语句语句语句 相当于相当于相当于相当于 while(1)while(1)语句语句语句语句 即不设初值,不判断条件(认为表达式即不设初值,不判断条件(认为表达式即不设初值,不判断条件(认为表达式即不设初值,不判断条件(认为表达式2 2为真为真为真为真值),循环变量不增值。无终止的执行循环体。值),循环变量不增值。无终止的执行循环体。值),循环变量不增值。无终止的执行循环体。值),循环变量不增值。无终止的执行循环体。6 6、表达式、表达式、表达式、表达式1 1可以是设置循环变量初值的赋值表达式,可以是设置循环变量初值的赋值表达式,可以是设置循环变量初值的赋值表达式,可以是设置循环变量初值的赋值表达式,也可以是与循环变量无关的其他表达式。如:也可以是与循环变量无关的其他表达式。如:也可以是与循环变量无关的其他表达式。如:也可以是与循环变量无关的其他表达式。如:for(sum=0;i=100;i

    注意事项

    本文(计算机软件基础第二章.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开