c语言switch写值班表,C语言编程入门教程.ppt

C语言程序设计Copyer:Vigiking,1,第一章计算机语言与C语言概述,1.1计算机语言概念■计算机语言定义计算机能够识别和接受的语言。要使计算机按自己的意图工作,必须使用计算机所能接受、理解和执行的指令指挥计算机工作。,2,■计算机语言的种类机器语言低级语言汇编语言(面向计算机)BASIC入门语言F77科学计算高级语言Foxpro数据库管理(面向问题)C多用途,,计算机语言,……,……,,,,3,•机器语言最早问世,用二进制代码构成指令。如:100000(+)110000(-)用机器语言编程的缺点:─繁琐、不直观、不易调试。如计算y=2x2+3x-1需要七八条指令。─移植性差。依赖于计算机。,4,•汇编语言用符号构成指令,如:MOV、ADD用汇编语言编程:相对直观,但仍繁琐,仍是面向计算机的语言。汇编语言是计算机间接接受的语言,5,•高级语言与低级语言相比,有根本性的区别:是面向问题的语言。高级语言的一条指令(语句):y=2*x*x+3*x-1;对应于:y=2x2+3x-1y=sin(x);对应于:y=sinx用高级语言编程:直观、易懂、移植性好(不依赖于具体计算机),6,上机运行高级语言程序需经过编译:编译执行要上机完成一个计算问题,主要的任务就是用高级语言编写出相应的源程序。即至少要学会一种计算机语言。,高级语言源程序,,机器指令目的程序,,结果,,编译程序,7,1.2C语言的特点集高级语言和低级语言的优点于一身:●能实现低级语言的大部分功能(如直接访问内存物理地址、进行位操作等)。●图形功能强。●运算符和数据结构丰富。●语法限制不太严格,程序设计自由度大。●生成目标代码质量高,程序执行效率高。,8,1.3简单的C程序介绍例1:main()主函数说明{程序框架printf(“abcdef”);函数体}语句程序的功能是输出字符串:abcdef,,,,9,例2:求两数之和。main(){inta,b,c;aa=100;b=50;bc=a+b;cprintf(“\nc=%d”,c);}程序运行结果:c=150,,,,10,例3:求两数中的最大值。函数类型函数名形参main()intmax(intx,inty){inta,b,c;{intz;scanf(“%d,%d”,}}axbycz(两个函数组成),,,,,,,,,,3,5,3,5,5,5,11,总结上例可知:(1)C程序由函数构成。(2)函数由两部分组成:函数说明部分:函数名、函数类型、形参名、形参类型。函数体:实现函数的具体操作;由语句构成。(3)程序总是从main函数开始执行。(4)书写格式自由。(5)语句必须有分号。:,12,第二章算法2.1算法的概念要利用计算机处理问题,光学习语言的语法规则还不够,最重要的是要学会针对各类型的问题,拟定出有效的解题方法和步骤。解题方法和步骤就是算法。,13,,算法:为了解决一个问题而采取的有限步骤。计算机算法:如何使计算机一步一步地工作的具体过程。,14,利用计算机处理问题的步骤:1)设计好算法——算法设计;2)用计算机语言实现算法——程序设计。算法必须是“有效”的。算法设计还要充分考虑算法的好坏。衡量算法好坏的主要标准:①程序简练。②执行速度快。③占空间少。,15,例:考虑的算法。算法①:直接表达。直接用语句s=1+2+3+4+5+6+7+8+9+10,当项数较多时该算法不适用,s=∑i,1,10,16,算法②:迭代法(累加求和法)s=1+2+3+4+5+6+7+8+9+10算法步骤:si①使s=0+②使i=1累加器记数器③s+i→s④i+1→i⑤若i≤10转③,否则转⑥⑥输出s,,,0,1,1,2,3,3,6,4,10,5,该算法通用,是好算法,17,2.2算法的表示算法需要有统一的表示方法常用的表示方法有:自然语言流程图结构化流程图N-S流程图.,18,1、自然语言对于计算s=1+2+3+4+5+6+7+8+9+10用自然语言表示为:①使s=0(s为累加器)②使i=1(i为计数器)③s+i→s(累加求和公式)④i+1→i(计数器加1)⑤若i≤10转③,否则转⑥⑥输出s的值特点:通俗易懂、文字冗长、含义不大严格。,19,2、流程图用流程图符号表示算法。常用的流程图符号起止框输入输出框处理框流程线判断框,,,,,,,20,对于计算s=1+2+3+4+5+6+7+8+9+10用流程图表示为:,,s+i→s,,i+1→i,S+i→s,S+i→s,,i≤10,,输出s,,,,,0→s,1→i,,,,,,,,,直观形象,易于理解,次序清楚,Y,N,21,3、结构化流程图传统的流程图有一个弊端:对流程线没有严格的限制,对于较复杂的算法可能会变成乱麻一般(BS型算法)。为克服这一弊端,提出了由三个基本结构组成算法流程图的思想:结构化流程图,22,三个基本结构:①顺序结构按固定顺序(从上到下或从左到右)执行的结构。,,,,A,B,,,,,a,b,23,②选择结构根据条件P选择执行哪一个分支。成立不成立,,,p,,,,,A,B,,,,,a,b,成立,不成立,24,例:计算y=1/x当x≠0时y=10000当x=0时的算法流程图图:选择结构,,,输入x,,,,X=0?,,,,,10000→y,1/x→y,,,,,输出y,,,Y,N,25,③循环结构重复执行某些操作的结构。分为两种:当型循环和直到型循环。当型循环直到型循环,,,,,P1,,,A,,,,A,,P2,,,,,a,a,b,b,Y,Y,N,N,26,可以看出,每个基本结构都只有一个入口和一个出口,因此,用三个基本结构构成的流程图不会象乱麻一般,用三个基本结构构成的流程图就成为结构化流程图,用结构化流程图描述的算法称为结构化算法,相应的程序设计就称为结构化程序设计。,27,观察前例:,,,,,0→s,1→i,S+i→s,i+1→i,,,,,,,,,i≤10,,,,,输出s,,,顺序结构,循环结构,y,n,28,4N-S流程图N-S流程图的三个基本结构:,A,B,P,成立,不成立,A,B,A,B,当P1,直到P2,,,,,,,,,,,顺序结构,选择结构,循环结构,29,例:计算y=1/x当x≠0时y=10000当x=0时的N-S流程图:,输入x,X=0?,是,否,10000→y1/x→y,输出y,,30,,例:计算s=1+2+3+4+5+6+7+8+9+10的N-S流程图:i≤10直到i>10直到型当型,0→s,1→i,输出s,1→i,0→s,s+i→s,i+1→i,s+i→s,i+1→i,,,,,,,输出s,31,第三章数据类型、运算符与表达式3.1C的数据类型●基本类型(整型、实型、字符型、枚举型)●构造类型(略)●指针类型(略)●空类型各类型包含常量与变量,32,3.2常量与变量■常量与符号常量常量在程序运行过程中其值保持不变的量。符号常量用来代表一个常量的标识符。#definePI3.1415926,33,例:#definePI3.1415926main(){floatr=2,c;c=2*PI*r;printf(“%f”,c);},34,■变量其值可以改变的量。变量的三要素:①变量名每个变量有一个名字,作为识别该变量的标识符。②变量的值每个变量有一个值,变量的值是随时可以改变的。,35,③变量的存储单元每个变量占据一个内存单元,用于存放变量的值。变量名a变量值存储单元,3,,,,,36,变量的命名规则:由字母、数字和下划线组成以字母或下划线开头a、x1、y_2、_b1、_1c合法1x、a+2、Ф、Ω不合法变量必须先定义后使用。程序中何时使用常量?何时使用变量?,37,3.3整型数据■整型常量即整常数,c的整常数有三种形式:①十进制整数与数学中的整数一致,如:100,123,15等。②八进制整数以0开头的整数,如:010,07,020等。③十六进制整数以0 x开头的整数,如:0 x10,0 xff,0 x2a等。,38,■整型变量用于存放整数的变量。分4种类型:①基本型:inta16位,可表示的数值范围:-32768—32767②短整型:shortintb16位,可表示的数值范围:-32768—32767③长整型:longintc32位,数值范围:-2147483648—2147483647,39,④无符号型:加上unsigned只存放正数。如:unsignedintx变量x为无符号整数,16位全表示数码,数值范围:0—65535在程序设计中,如果要使用整型变量,必须首先选择以上类型符来定义变量,然后才能使用;,40,例:main()定义{inta,b,c;a=100;b=50;使用c=a+b;printf(“%d”,c);}一般根据什么原则选择变量的类型?,,,41,3.4实型数据■实型常量可使用两种形式表示:①小数形式:如1.23,3.141592615.48②指数形式:如1e-201.23e5,42,■实型变量用于存放实数的变量分单精度和双精度两种:floata,b定义a和b为单精度型变量32位,7位有效数字,10-38—1038doublex,y定义x和y为双精度型变量64位,15位有效数字,10-308—10308,43,例:main(){floatr,c;doubler,c;r=5;c=2*3.1415926*r;printf(“%f”,c);},44,3.5字符型数据■字符常量用单引号括起来的一个字符。’a’,’x’,’*’,’1’等除此外,以’\’开头的字符如’\n’,’\t’等称为转义字符,祥见书表3.3,45,■字符型变量用于存放字符的变量。charc1,c2定义c1和c2为字符型变量c1=’a’;c2=’b’;字符赋值字符型变量存放一个字符,占据一个字节,46,■字符型数据的存储形式存放ASCII码不是而是如字符’a’在内存中存放97,’b’存放98。与整数的存储形式一致,它们之间可以通用一个字符数据既可以作字符用,也可以作整数用(取其ASCII代码)。如:32+’a’相当于32+97若intx;charc;则x=’a’;c=97;x=97;c=’a’;都允许,a,97,47,■字符串常量用双引号括起来的字符序列。如:”abcde”,”china””a”也属字符串。注意”a”与’a’的区别。对于:charc;c=”a”;用法错误,48,字符串中每个字符各占一个字节,并且在字符串结尾加上一个结束标记’\0’如:”china”在内存中占6个字节。china\0C语言中专门的字符串变量,可用字符数组存放(以后介绍)。,,,,,,,,,,,,,,49,3.6变量赋初值在定义变量的同时给相应的变量赋初值。如:inta=3;afloatb=5.2;charc=’a’;intx=y=z=6;效果:在给变量分配内存单元的同时在相应的单元中存放初值。,3,50,3.7各数值型数据间的混合运算整型、实型、字符型数据间可以进行混合运算,如:10-‘a’*1.5运算时,参加运算的两个数据如果类型不同,则首先将其类型转换成一致再运算,转换规则是:将优先级低的类型转换到优先级高的类型,51,数据类型的优先级:高doublefloatlongunsignde低intchar,,,,,,,,52,3.8算术运算符与算术表达式■基本的算术运算符+-*/%■算术表达式用算术运算符将运算对象连接起来的式子用于表达数学公式的式子如:2*x+y-1/a表达式经过运算最终得到一个值:算术表达式的值,53,■运算符的优先级与结合性优先级:在对表达式求值时,如果存在多个运算符,则运算的先后次序按运算符的优先级别从高到底进行。运算符的优先级关系为:高:*/%低:+-如:a-2*x先算*2*(a+2)有括号的情况?,54,结合性:如果在一个运算对象两边的运算符的优先级相同,则按规定的“结合方向”处理。如:a-b+cb与-结合是从左到右,称“左结合性”。b与+结合是从右到左,称“右结合性”。每个运算符都有相应的优先级和结合性。基本算术运算符都是左结合性。,55,计算表达式例:2+’A’-1/2.01+3/2-1构造表达式例2x2+3x-1,a+ba-b,a+ba-bx+yx-y,a+b/a-b?,(a+b)/(a-b),2*x*x+3*x-1(*不能省),(a+b)/(a-b)/(x+y)/(x-y),(a+b)/(a-b)/((x+y)/(x-y)),(a+b)/(a-b)/(x+y)*(x-y),56,■强制类型转换可以用强制类型转换运算符将一个表达式的值转换成所需类型:如:(int)(x+y)(float)(7%3),57,应用举例:inta=200,b=300,c;c=a*b/100;?可知,有自动转换和强制转换,当自动转换达不到目的时,可用强制转换。,c=(long)a*b/100;,c=(long)(a*b)/100;,58,■自增、自减运算符自增运算符:++使变量值加1自减运算符:--使变量值减1两种用法:++i,--i先加(减)后用i++,i--先用后加(减)两种用法对i效果一样,但表达式的值不同。例:假设i的原值为5:j=++i;j=?j=i++;j=?,59,注意:●++和--只能用于变量。如:3++和(a+1)++不合法●++和--为右结合性。(-i)++-i++-(i++)若i的原值是5,则该表达式的值是多少?,,,60,例:分析执行下列语句后的结果:a=5;abcdb=a++;c=--a-b++;d=(a++)-(++b)+c--;,,,,5,5,6,5,0,6,7,-2,6,-1,,,,,61,两种特殊情况:①k=(i++)+(i++)+(i++)②i+++j是i+(++j)还是(i++)+j?i++虽然与i=i+1等效,但使用自增自减运算符的代码优化程度好,因而经常使用;但用时需特别小心。,62,3.9赋值运算符和赋值表达式■赋值运算符“=”称赋值运算符,其作用是将一个数据赋给一个变量。如:a=5不要理解为“等号”。执行赋值运算的结果,是将右边的数据存入左边变量所对应的内存单元中。,63,■赋值规则如果赋值运算符两侧的类型不一致,则在赋值时要进行类型转换,转换规则为:●实型→整变量舍去小数部分。inta=5.5;a中为5。●整型→实变量数值不变,以浮点形式存储。●字符型→整变量放在整形变量低8位。保持原值不变原则。inta=‘A’;,64,■复合赋值运算符在赋值运算符前加上其它运算符,可以构成复合赋值运算符。a+=3——a=a+3b-=x+5——b=b-(x+5)x*=c-6——x=x*(c-6)y/=a*4——y=y/(a*4)k%=b-2——k=k%(b-2)属于高效率运算符。,65,■赋值表达式主要实现赋值运算的表达式。一般形式:=如:a=5y=2*x+3a=a+1不是衡等作用:将右边表达式的值赋给左边的变量。赋值表达式的值取左边变量的值。,66,赋值表达式右边的可以是任何表达式,如:a=(b=5)赋值表达式中包含赋值表达式赋值运算符的优先级低于所有算术运算符,且是右结合性。a=(b=5)与a=b=5等效。,67,例:计算以下表达式的值:a=b=c=5a=5+(c=6)a=(b=4)+(c=6)a=(b=4.5)+(c=6.5)(a、b、c为整型变量)a+=a-=a*a(设a的原值为3),68,赋值表达式是C语言中的一个重要成分,在赋值表达式后加一分号就成为常用的赋值语句。如y=2*x+1;赋值表达式作为表达式的一种,可以出现在任何表达式中,如:x+2-(b/3-(a=k-5)+’b’,69,3.10逗号表达式逗号也是一种运算符,用它对两个表达式实现连接运算。3+5,6+8称逗号表达式。逗号表达式的一般形式:表达式1,表达式2取表达式2的值作为整个逗号表达式的值。如:a=3*5,a*4逗号表达式的值为:60,70,一个逗号表达式又可以与另一个表达式组成一个新的逗号表达式,如:(a=3*5,a*4),a+5因此,逗号表达式的一般形式可以扩展为:表达式1,表达式2,表达式3,……,表达式n取表达式n的值作为整个逗号表达式的值。逗号运算符的优先级最低,且是左结合性。逗号运算符只起到连接作用,没有实际操作。,71,第四章最简单的C程序设计,C程序最基本的成分是语句目前我们已掌握的语句:变量说明语句:inta,b,c;表达式语句:x+y;特别地:a=5;赋值语句,72,可以编写简单程序如:main(){intx,y;x=5;y=2*x*x+3*x-1;}该程序语法上完整,但还缺少输出。,73,■数据的输出用输出函数实现,其中的两种输出函数:1.putchar函数(字符输出函数)用于输出一个字符。如:putchar(‘a’);putchar(100);charc=’b’;putchar(c);,74,例:输出单词Boy的完整程序:#include“stdio.h”注意该语句的作用main(){chara,b,c;a=’B’;b=’o’;c=’y’;putchar(a);putchar(b);putchar(c);},75,2.printf函数(格式输出函数)任意类型、任意格式、任意个数。例如:inta=100,b=56;printf(“a=%d,b=%d”,a,b);普通字符格式说明格式控制输出表列输出结果:a=100,b=56“%”后的字符称格式字符,不同格式字符对应不同的数据类型。,,,,,76,d格式符:按整数格式输出几种用法:%d不指定宽度,按实际宽度输出%md按指定宽度输出,m为宽度%ld用于输出长整型数,77,例:inta=125,b=453;longc=65535;printf(“a=%d,b=%5d,c=%ld”,a,b,c);输出结果:a=125,b=453,c=65535,78,%ld也可以按指定宽度输出:printf(“c=%8ld”,c);输出结果:c=65535注意:格式字符的类型要与对应的输出对象的类型一致。,79,c格式符:用于输出字符charc=’A’;printf(“c=%c,%c”,c,’B’);输出结果:c=A,B输出对象既可以是字符变量、字符常量,还可以是整型表达式。,80,如:inta=100;charb=’A’;printf(“\n%d,%c”,a,a);printf(“\n%c,%d”,b,b);输出结果:100,dA,65,81,s格式符:用于输出字符串%s不指定宽度%-ms指定宽度,左靠齐%ms指定宽度,右靠齐%m.ns指定宽度m,只取左端n个字符,右靠齐%-m.ns指定宽度m,只取左端n个字符,左靠齐,82,例:printf(“1:%s”,”abcd”);printf(“2:%8s”,”abcd”);printf(“3:%-8s”,”abcd”);printf(“4:%8.3s”,”abcd”);printf(“5:%-8.3s”,”abcd”);1:abcd2:abcd3:abcd4:abc5:abc,83,f格式符:按小数形式输出实数%f由系统指定宽度(6位小数)%m.nf指定宽度m,小数位数n,右靠齐%-m.nf指定宽度m,小数位数n,左靠齐注意:宽度包括符号和小数点。,84,例:floata=3.141592654,b=14.326795,c=-125.2468;printf(“\na=%f,b=%8.3f,c=%-10.2f”,a,b,c);输出结果:a=3.141592,b=14.326,c=-125.24,85,完整前面的程序:,main(){intx,y;x=5;y=2*x*x+3*x-1;printf(“\ny=%d”,y);},86,程序设计例:,编写程序计算如图中的电流I.假设U=220,R1=30,R2=60,R3=45,,,,,,,,,,,,,,,U,I,R1,R2,R3,87,算法设计:I=U/R1+U/R2+U/R3程序设计:main(){},I=U/R1+U/R2+U/R3;,intU=220,R1=30,R2=60,R3=45;floatI;,printf(“\nI=%f”,I);,88,正确的程序:main(){intU=220,R1=30,R2=60,R3=45;floatI;I=(float)U/R1+(float)U/R2+(float)U/R3;printf(“\nI=%f”,I);},89,考虑通用:main(){intU,R1,R2,R3;floatI;输入U,R1,R2,R3I=(float)U/R1+(float)U/R2+(float)U/R3;printf(“\nI=%f”,I);},90,■数据的输入getchar函数(字符输入)#include“stdio.h”main(){charc;c=getchar();等待键盘输入putchar(c);},91,scanf函数(格式输入),与printf函数相反。用于输入若干任意类型的数据。scanf(“%d%d%d”,格式控制地址列表,,,92,scanf(“%d%d%d”,执行此函数时,等待从键盘输入三个整数给a,b,c若从键盘输入358则系统即从键盘缓冲区取出这三个数分别赋给a,b,c注意与printf的区别,注意格式的匹配,93,如:scanf(“%3d%2d%4d”,,94,在键盘输入时,用分隔符把每个数据隔开,标准的分隔符是空格。如:12315023若想用逗号作分隔符,则:scanf(“%d,%d,%d”,不要随便使用普通字符,如使用:scanf(“a=%d,b=%dc=%d”,floatI;scanf(“%d%d%d%d”,},96,求三角形面积,#include“math.h”main(){floata,b,c,area,s;scanf(“%f,%f,%f”,}使用数学函数,97,使用三角函数,#include“math.h”main(){floatx,y;scanf(“%f”,},98,第五章选择结构程序设计,对于如下的函数计算,算法上属于一个选择结构。y=用于实现选择结构的主要是if语句。,,,1/x当x≠0时,10000当x=0时,99,if语句的最常见形式为:if(关系表达式)语句1;else语句2;如:if(x!=0)y=1/x;elsey=10000;其中x!=0就是一个关系表达式!=就是一个关系运算符,100,5.1关系运算符和关系表达式1、关系运算符用于进行比较运算的运算符。共有六种:>===!=■优先级与结合性:①前4种大于后两种。②低于算术运算符而高于赋值运算符。③左结合性。,101,2、关系表达式一般形式:〈表达式〉〈关系运算符〉〈表达式〉如:a>ba+b>b+c经过关系运算后最终有一个值--关系表达式的值。关系表达式的值只有0(假)或1(真),102,例:设a=2,b=4,c=1计算以下关系表达式的值:a>ba+b>b+c‘a’>’b’可以是字符表达式(x=2)>(y=5)可以是赋值表达式(a(bzy>x>z(x==y-2)x+1,104,5.2逻辑运算符和逻辑表达式有时,只用一个简单的关系表达式无法完整地表达一个条件,如:y=其中的条件需要用逻辑表达式来表达:x!=0elsey=10000;,114,③if(表达式1)语句1;elseif(表达式2)语句2;elseif(表达式3)语句3;┇else语句n;if(score==100)printf(“A”);elseif(score>=90)printf(“B”);elseif(score>=80)printf(“C”);elseif(score>=70)printf(“D”);elseif(score>=60)printf(“E”);elseprintf(“F”);,115,对于:,,,,1/x当x≠0时,10000当x=0时,,一般用:if(x!=0)y=1/x;elsey=10000;,也可用:y=10000;if(x!=0)y=1/x;,y=,?y=1/x;if(x==0)y=10000,116,,例:(习题5.5):,,x(x<1),,2x-1(1≤x<10),3x-11(x≥10),y=,117,main(){floatx,y;scanf(“%f”,},118,说明:①语句中的表达式可以是任意表达式:if(x)y=1/x;elsey=10000;②一个if结构不可分割:if(x)y=1/x;z=10;elsey=10000;③一个分支中包含多个语句时,要用{}:if(a=80)if(score>=90)printf(“A”);elseprintf(“B”);elseif(score>=60)printf(“C”);elseprintf(“D”);注意else与if的匹配,124,3、条件运算符如果两个分支的内容都是给同一个变量赋值,则可用简单的条件运算符处理:if(a>b)max=a;elsemax=b;可用:max=a>b?a:b;赋值运算符右边为一条件表达式。条件表达式的一般形式:表达式1?表达式2:表达式3,125,条件表达式的执行过程:a>b?a:b优先级:低于关系运算符,高于赋值运算符。结合性:右结合性。,,表达式1,,,,,条件表达式取表达式3的值,条件表达式取表达式2的值,,,,,,,,非0,0,126,例:求a,b,c中的最大值:max=a>b?(a>c?a:c):(b>c?b:c);,127,5.4switch语句(多分支)适用于根据一个表达式的值就可确定走哪个分支的情况。switch(表达式){常量表达式1:语句1常量表达式2:语句2┋常量表达式n:语句ndefault:语句n+1},128,例:成绩分档:switch(score/10){case10:printf(“A”);case9:printf(“B”);case8:printf(“C”);case7:printf(“E”);case6:printf(“F”);default:printf(“G”);}注:应使用break.,129,switch(score/10){case10:printf(“A”);break;case9:printf(“B”);break;case8:printf(“C”);break;case7:printf(“E”);break;case6:printf(“F”);break;default:printf(“G”);},130,5.5程序举例(习题5.10)有4个圆塔,圆心分别为:(2,2),(-2,2),(-2,-2),(2,-2),圆半径为1。这4个塔的高度为10m,塔以外无建筑物。今输入任一点的坐标,求该点的建筑高度(塔外的高度为0)。,131,算法设计:条件“在某一圆内”:“在圆1内或在圆2内或在圆3内或在圆4内”若设变量c1、c2、c3、c4分别代表是否在相应的圆内,则以上条件为:c1||c2||c3||c4,,,,10在某一圆内,0在圆外,,,,,,,,(x,y),h=,132,c1=(x-2)2+(y-2)2≤1c2=(x+2)2+(y-2)2≤1c3=(x+2)2+(y+2)2≤1c4=(x-2)2+(y+2)2≤1,133,main(){inth,c1,c2,c3,c4;floatx,y;scanf(“%f%f”,},134,第六章循环控制6.1概述所谓循环控制,就是如何实现循环结构的控制问题。有4种方法:①用goto语句和if构成循环。②用while语句。③用do-while语句。④用for语句。,135,6.2用goto语句和if语句构成循环例:对于计算s=1+2+3+4+5+6+7+8+9+10,0s,1i,s+i→s,i+1→i,i≤10,,,,,,,输出s,,,,,,,y,n,136,s=0;i=1;lable:s+=i;i++;if(i<=10)gotolable;printf(“%d”,s);,,语句标号,,无条件转向语句,goto语句可以构造循环,但不主张用,因为它容易破坏结构化程序设计。,goto语句可以构造循环,但不主张用,因为它容易破坏结构化程序设计。,137,6.3while语句while语句是专门用于实现循环控制的语句之一。其一般形式为:while(表达式)语句含义:当表达式的值为非0时,执行循环体,否则执行后续语句。,,,,,语句关键,表达循环条件的表达式,循环体,语句关键字,138,执行过程:while(表达式)语句,,表达式,循环体,,,,,,,,,,,0,非0,139,,,,i≤10?,s=0i=1,s=s+ii=i+1,,,,,,,,,,例:用while语句实现前面算法:main(){inti=1,s=0;while(i<=10){s=s+i;i++;}printf(“\n%d”,s);},注意与if语句的区别。循环体中要有使循环条件趋于成立的条件,,y,n,140,while(i<=10){s=s+i;i++;}可简写为:while(i<=10)s+=i++;,141,非0(真),0(假),表达式,循环体,,,,,,,6.4do-while语句do-while语句主要用于实现直到型循环。其一般形式为:do循环体while(表达式);执行过程:,142,真,s=0i=1,i≤10?,s=s+ii=i+1,,,,,,,假,例:用do-while语句实现前面算法:main(){inti=1,s=0;dos+=i++;while(i<=10);printf(“\n%d”,s);}注意与while语句的区别。,,143,假,表达式2,求解表达式1,循环体,求解表达式3,,,,,,,,,,,,,,真,6.5for语句for语句是一种使用最为灵活,并且是用得最多的循环控制语句,其一般形式为:for(表达式1;表达式2;表达式3)循环体大体含义:对于()的情况执行循环体内容。,144,例:用for语句实现前面的算法:s=0;for(i=1;i<=10;i++)s+=i;标准形式,,,,表达式1,表达式2,表达式3,,循环体,可以理解:循环变量i从初值1开始到终值10,步长为1,重复执行循环体。,145,for语句的常见变化:s=0;i=1;for(;i<=10;i++)s+=i;s=0;for(i=1;i<=10;)s+=i++;s=0;i=1;for(;i10)break;}s=10;i=10;for(;--i;)s+=i;,省略表达式2,表达式2是任意表达式,147,s=0;for(i=1,j=10;i展开阅读全文

温馨提示:

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。

2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。

3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。

4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。

5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。

6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。

7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

bb6249c6567dd4384e6ab3556cfc22ed.gif 

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

关于本文

本文标题:C语言编程入门教程.ppt

链接地址:https://www.renrendoc.com/p-76536853.html

当前资源信息

编号:

20191012004727140

类型:

共享资源

格式:

PPT

大小:

1.34MB

上传时间:

2020-04-30

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值