




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课 题第一章 程序设计基本概念教 学目 的1、了解程序设计的基本概念2、了解算法的概念和特性3、了解结构化程序设计和模块化结构教 材分 析教学重点C程序执行过程、三种基本结构流程图教学难点结构化流程图教学内容及过程设计一、新课引导语言:人人语言交流;聋哑人手势语;人机计算机语言。C语言是一种流行的计算机高级语言,C语言适合于编写系统软件,也可以编写应用程序。二、讲授新课(一)、程序和程序设计 1、C程序(1)程序:可以连续执行的一条条指令的集合。(2)源程序:由高级语言编写的程序。(3)目标程序:由二进制代码表示的程序。(4)编译程序:具有将源程序翻译成目标程序的功能的软件。 图1.1 C语言
2、编译程序功能示意图 注:C程序编译之后生成一个后缀名为.obj的二进制文件(称为目标文件),再由连接程序把.obj文件与C语言提供的各种库函数连接生成一个后缀名为.exe的可执行文件。 2、程序设计 简单的程序设计一般包含以下5个部分:(1) 确定数据结构(2) 确定算法(3) 编码(4) 在计算机上调试程序(5) 整理并写出文档资料(二)、算法 1、算法的概念 算法是指为解决某个特定问题而采取的确定且有限的步骤。 2、算法的特性(1)有穷性 (2)确定性 (3)可行性(4)有零个或多个输入 (5)有一个或多个输出教学内容及过程设计3、算法的描述方法伪代码和流程图图1.2 一般流程图所用的几种
3、基本图形(三)、结构化程序设计和模块化结构 1、结构化程序 结构化程序由三种基本结构组成,分别是顺序结构、选择结构和循环结构。(1)顺序结构:语句按在程序中的先后顺序逐条执行。语句1语句2语句1语句2 (a)一般流程图 (b)N-S流程图 图1.3 顺序结构流程图(2)选择结构:根据不同的条件去执行不同分支中的判断表达式语句1语句2不满足满足判断表达式满足不满足语句1语句2a)一般流程图 (b)N-S流程图 图1.4 选择结构流程图教学内容及过程设计(3)循环结构:根据各自的条件,使同一组语句重复执行多次或零次。判断表达式循环体不满足满足当判断表达式满足循环体 a)一般流程图 (b)N-S流程
4、图 图1.5 当型循环流程图 判断表达式循环体不满足满足直到判断表达式满足循环体 a)一般流程图 (b)N-S流程图 图1.6 直到型循环流程图2、模块化结构 由一个个功能模块构成的程序结构称为模块化结构。C语言是一种自顶向下、逐步细化、模块化的程序设计语言。三、课堂小结1、 C语言程序的执行过程2、 三种基本结构:顺序、选择、循环结构 四、布置作业P6 1.1、1.2、1.3备注课 题第二章 C程序设计的初步知识教 学目 的1、掌握C语言程序的构成与格式2、掌握标识符命名规范3、掌握整型、实型、字符型数据的常量及变量4、掌握运算符(优先级、结合性)与表达式教
5、材分 析教学重点各种基本数据类型的常量和变量、各种运算符的使用教学难点混合表达式中运算符的运算顺序、自加自减运算教学内容及过程设计一、复习引导上次课我们已经学习了程序设计的基本概念,现在来学习如何编写C语言程序以及程序中需用到的几种基本数据类型、运算符等。二、讲授新课(一)、C语言程序的构成与格式例2.1:求矩形的面积。 #include <stdio.h>void main( ) double a , b , area ; a = 1.2; b = 3.6; /*将矩形的两条边长分别赋给a和b*/ area = a * b; /*计算矩形的面积并存储到变量area中*/ prin
6、tf(“a = %f , b = %f , area = %f n”, a , b , area ); 注:1、函数在程序中的位置没有限制,但程序运行总是从主函数开始直到主函数结束,且仅有一个主函数。2、每条语句以分号(;)结束,一行内可写一条或多条语句,一条语句也可以写在一行或多行。3、注释可以出现在任何地方。4、大小写敏感。5、由于调用了printf标准库函数,需包含相应的头文件stdio.h。(二)、标识符、常量和变量 1、标识符 标识符的命名规则:可以由字母、数字和下划线组成,并且第一个字符必须为字符或下划线。 2、标识符的分类 (1)关键字:C语言预先规定了一批标识符,它们在程序中都
7、代表固定的含义,不能另用他用。 (2)预定义标识符:指C语言预先定义并具有特定含义的标识符,如printf、define等,但C语言允许其重新定义另作他用。 (3)用户标识符:由用户根据需要定义的标识符。教学内容及过程设计备注 3、常量 所谓常量是指在程序运行过程中,其值不能被改变的量。在C语言中,可以用一个符号名来代表一个常量,称为符号常量。例2.2 已知半径,求圆面积#include <stdio.h> #define PI 3.1416 void main( ) float r,s; r=5; s=PI*r*r; printf(“ns=%f”,s); 注:程序中用#defin
8、e命令行(不是语句)定义PI代表一串字符3.14159,在程序编译时,凡本程序出现PI的地方均用3.14159来替换。 4、变量 所谓变量是指在程序运行过程中其值可以改变的量。一个本来实质上代表了内存中的某个存储单元。 注:(1)大小写敏感(2)不能与保留字重名(3)使用前,必须先定义,指明为何种类型,然后才能在程序中使用(三)、整型数据1、整型常量的表示方法(1) 十进制 如:123,-456,0(2) 八进制数 如:0123,-011 (以
9、0开头的数)(3) 十六进制数 如:0x123,-0x12,0xABC (以0x开头的)2、整型变量(1) 整型数据在内存中以二进制形式存放,每一个整型变量在内存中占2个字节。例:定义整型变量i=10 和j= -10的存放形式。(2)整型变量的分类:基本型int、短整型short、长整型long、无符号型unsigned。 (3) 整型变量的定义与初始化如:int k; /*定义k为整型变量*/ int i,j,k *定义i、j、k为整型变量*/ int i=1,j=0,k=2; (4)整数在内存中的存储形式 存储
10、的存储单位有位、字节、字正整数在内存中以原码形式存储,负整数以补码形式存储。教学内容及过程设计 (四)、实型数据 1、实型常量的表示方法(1) 小数形式 如:0.123,.456,0.0,123.,123.0 整数部分和小数部分都可省,但不能同时省(2) 指数形式 如:123e3,123E3代表123×103 注:指数部分为整常数; 尾数部分可以是整常数,也可以是实常数;尾数部分和指数部分均不可省。E10, 100.e15.2, .e5均为不
11、合法的浮点数。2、实型变量(1)实型数据在内存中的存放形式一个实型数据一般在内存中占4个字节(32位)。实型数据是按照指数形式存储的。(2)实型变量的分类:单精度float、双精度double、长双精度long double (五)、算术表达式 1、基本的算术运算符:+、 、*、/、% 优先级: * / % 高于 + 结合性:左结合性注:取余运算时,%两端的数必须是整型数据。 2、算术表达式:用算术运算符和括号将运算对象(操作数)连接起来的、符合C语法规则的式子称为算术表达式。 3、强制类型转换运算符:(类型名)(表达式) (六)、赋值表达式1、 简单的赋值运算符:= 除逗号表达式
12、外,优先级最低2、 复合赋值运算符: += *= %=等3、 赋值表达式: <变量><赋值运算符>< 表达式/值>一般格式:变量 = 表达式 例如: b=4*2; a=3.5; 结合性: 自右向左4、 嵌套的赋值表达式例:求表达式 a + =a - = a*(a=12) 的值?(答案:264)(七)、自加、自减与逗号表达式1、 自加运算符“+”、自减运算符“-” + 自加运算符,如+i,i+, 使 i 的值加 1 - 自减运算符,如 -i,i-, 使 i 的值减 1注:自加自减运算符的操作数必须是一整型变量,常用于循环语句中循环变量的计数。例:以下运算式是不
13、正确的:+6, (a+5)-。 例:设 i、a 为一整型变量, i=4 +i; 结果:i=5教学内容及过程设计 i+; 结果:i=5 -i;结果:i=3 i-;结果:i=3 a=+i; 结果:i=5,a=5a=i+; 结果:i=5,a=4 a=-i; 结果:i=3,a=3 a=i -; 结果:i=3,a=42、 逗号表达式一般形式: 表达式1,表达式2,表达式n求解过程:先求表达式1,再求表达式2,依次求下去,直到求出表达式n,整个逗号表达式的值就是表达式n的值。例: 表达式(i=3,i+,+i,i+)的值为10,i的值为5。 表达式 3+5,6+7的值为13。 表达式 a=3*5,a*4,a
14、+5的值为 20。三、课堂小结1、 C语言程序的构成与格式2、 +、-运算3、 各种运算符的优先级 4、表达式值的求解 四、布置作业P20 2.14、2.15、5.24 备注课 题第三章 顺序结构教 学目 的1、掌握C语言常用的输入/出方式2、学会简单的顺序程序设计教 材分 析教学重点C语言常用的输入/出方式教学难点格式输入输出教学内容及过程设计一、复习引导上一章介绍的常量、变量、运算符、表达式等都是构成程序的基本成分。本章将介绍为编写简单程序所必需的一些内容。二、讲授新课(一)、赋值语句赋值语句是由赋值表达式加上一个分号构
15、成。如:b=3; a=b+c; i+; a= b=c a= b, b=c; (二)、数据输出 1、 把数据从计算机内部送到计算机外部设备上的操作称为“输出”。从计算机外部设备将数据送入计算机内部的操作称为“输入”。注:(1)C语言不提供输入输出语句,输入输出操作通过函数调用实现。(2)要使用C语言库函数,应用“#include”将头文件sdtio.h包括到用户源程序中。 2、输出函数printf语法:printf (格式控制, 输出项1,输出项2,); 格式控制:是用双引号括起来的字符串,包含两种信息: 普通字符和转义字符
16、(这类字符总是原样输出)格式说明:由%和格式控制符组成。如:%d, %f等;(P24)如:printf(“a=%d, b=%d”,a,b); 若a、b的值分别为3和4,则输出结果为: a=3, b=4。(1) printf函数中常用的格式说明表3.1 格式字符及其功能格式字符说明c输出一个字符d或i输出带符号的十进制整数o按八进制输出一个整型数据x或X按十六进制输出一个整型数据u按十进制输出一个无符号整数f带小数点形式输出单精度和双精度实数e或E按指数形式输出单精度和双精度实数s输出字符串%输出% 教学内容及过程设计(2)附加成分说明:格式字符说明例子l长度修饰符long a=67789;pr
17、intf(“%ld”, a); m指定宽度printf(“%5d”, 42); / 42m,n指定宽度和小数位数printf(“%6.1f”, 123.55); /123.6-左对齐int a=12;printf(“n a=%-4d4a=%4d”,a.,4*a);#加 0 或 0x 区分八/十六进制数printf(“%o,%#o,%x,%#x”,10,10,10,10); /12,012,a,0xa0前导0printf(“%05d”, 42); /输出00042(3) 使用printf函数时的注意事项 1)printf的输出格式为自由格式,是否在两个数之间留逗号、空格或回车,完全取决于格式控制
18、,如果不注意,很容易造成数字连在一起,使得输出结果没有意义。 2)格式控制中必须含有与输出项一一对应的输出格式说明,类型必须匹配。 3)还可以包含合法字符,这些字符原样输出。 4)printf函数有返回值,返回值是本次调用输出字符的个数。 5)输出数据时的域宽可以改变。(三)、输入函数scanf 语法:scanf(格式控制,地址表列);格式控制:包含三类符号 空白字符:(空格、Tab或、),输入时不必一一对应; 普通字符:(非格式转换说明符、非空白符、非%),输入时必须一一对应; 格式转换说明符:注意:scanf函数规定,组成输入项表的输入对象须是地址量;如: scanf(“%d,%d,%d”
19、,&a,&b,&c); scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);第一个输入语句,正确的输入数据流为:123,456,789<enter>,处理的结果为:123a,456b,789c同理对第二个输入语句,正确的输入数据流应是:a=123,b=456,c=789<enter> 该输入数据流中除123,456,789被赋给相应变量外,其余都被丢弃教学内容及过程设计 (1)格式说明%c 输入一个字符 %d 输入十进制整数 %o 输入八进制整数 %x 输入十六进制整数 %u 输入无符号十进制整数 %f(%l
20、f)、%e(%le) 输入小数或指数形式的单精度(双精度)数 %s 输入字符串注:除%s外,都需要地址符&,对双精度数,输入时必须%lf或%le,输出时%f(%lf)、%e(%le) 都可以。例:int a,b; char c,d;scanf(“%d%d”,&a,&b);/输入 3 5scanf(“%d, %d”,&a,&b);/输入3,5scanf(“a=%d,b=%d”,&a,&b);/输入a=3,b=5scanf(“%3d%3d”,&a,&b);/输入 123456如何?scanf(“%c%c”,&c,&am
21、p;d);/输入mn或m n如何?scanf(“%c,%c”,&c,&d);/输入m,n(四)、复合语句和空语句复合语句:在语法上为一条语句,以 为标志。如:t=a;a=b;b=t;空语句:只有一个“;”的句子,执行空语句不产生任何动作。注:随意加分号会导致逻辑上的错误。(五)、程序举例 例3.1 交换两个整数并输出。#include<stdio.h>void main() int x,y,t; printf("Enter x & y : n"); scanf("%d %d",&x,&y); print
22、f("x=%d y=%d n",x,y);t=x; x=y; y=t; printf("x=%d y=%d n",x,y);例3.2 输入一个double数,保留位小数,第位小数四舍五入,最后输出。#include<stdio.h>void main() double x; printf("Enter x: "); scanf("%lf",&x); printf("(1) x=%f n",x); x=x*100; x=x+0.5; x=(int)x;x=x/100; prin
23、tf("(2) x=%f n",x);三、课堂小结1、 printf和scanf语句2、 复合语句与空语句 四、布置作业P34 3.17、3.18、3.19、3.20备注课 题第四章 选择结构教 学目 的1、掌握实现选择结构的两种语句、关系逻辑运算符2、学会编写选择结构的程序教 材分 析教学重点关系逻辑运算符、if-else语句、switch语句、条件运算符教学难点嵌套if-else语句中的if与else匹配问题教学内容及过程设计一、复习引导上一次课已经介绍了程序基本结构之一:顺序结构,但在大多数情况下都要用到选择结构。二、讲授新课(一)、关系
24、运算和逻辑运算 1、C语言的逻辑值 逻辑值只有两个:分别用“真”和“假”表示。在C语言中,没有专门的“逻辑值”,而是用非0表示“真”,用0表示“假”。 2、关系运算符和关系表达式 (1)关系运算符:< <= > >= = = ! =优先级:< <= > >= 高于 = = != 注:关系运算符低于算术运算符,高于赋值运算符。 (2)关系表达式:用关系运算符将两个表达式连接起来的式子。关系表达式求值:关系成立,值为1;关系不成立,值为0。 3、逻辑运算符和逻辑表达式(1)逻辑运算符:&& | !优先级:! 高于 &&
25、 高于 | 注:优先级从高到低:!、算术运算符、关系运算符、&&、|、赋值运算符 (2)逻辑表达式:由逻辑运算符和运算对象组成的表达式。逻辑表达式的值要么为1要么为0。 (二)、if语句和if语句构成的选择语句1、不含else子句的if语句(1)语句形式 if(表达式e) 语句s(2)执行过程 如果表达式e为真,则执行语句s,然后去执行if语句后的下一条语句,如果表达式e为假,则不执行语句s,直接执行if语句后的下一条语句。 例4.1 输入两个数,分别放入x和y中,若两数不相等,则输出其中的大数;若两数相等,则输出字符串x=y和x的值。#include<stdio.h&g
26、t;void main() int x,y; printf(“Enter x&y ; n”) scanf(“%d%d”,&x,&y);printf(“x,y:%d%dn,x,y); if(x>y)printf(“x=%dn”,x); if(y>x)printf(“y=%dn”,y);if(x = = y) printf(“x = = y %d;n”,x);教学内容及过程设计例 4.2 输入三个整数分别放在变量a、b、c中,然后把输入的数据按由小到大的顺序放在变量a、b、c中,然后输出a、b、c中的值。#include<stdio.h>void m
27、ain() int a,b,c,t; printf(“ a,b,c:”);scanf(%d%d%d”,&a,&b,&c); printf(“a=%d,b=%d,c=%d”n”,a,b,c); if (a>b) t=a;a=b;b=t;if(a>c) t=a;a=c;c=t;if(b>c) t=b;b=c;c=t;printf(“%d,%d,%dn”,a,b,c); 2、含else子句的if语句(1)语句形式 if(表达式e) 语句1 else 语句2 (2)执行过程 如果表达式e为真,则执行语句1,然后去执行if语句后的下一条语句,如果表达式e为假,则
28、执行语句2,然后执行if语句后的下一条语句。 例 4.3 输入两个数,分别赋给x和y,输出其中的大数。#include <stdio.h>void main()int x,y; printf(“Enter x&y:”); scanf(“%d%d”,&x,&y);printf(“x,y:%d %dn”,x,y); if(x>y) printf(“max=x=%dn”,x); else printf(“max=y=$dn”,y); printf(“*end*n);例 4.4 输入一个数,判别它是否能被3整除。若能被3整除,打印YES,不能被3整除,打印NO
29、。#include <stdio.h> void main()int n; printf(“input n:”);scanf(“%d”,&n); if(n%3=0) /*判断n能否被3整除*/printf(“n=%dYESn”,n); elseprintf(“n=%dNOn”,n);教学内容及过程设计 3、关于if语句的说明: (1)if后面圆括号的表达式可以是任意合法的C语言表达式也可以是任意类型的数据。(2)无论是否有else子句,if子句中如果只有一条语句,则此语句的分号不能省略。 4、嵌套的if语句 (1)在if子句中嵌套具有else子句的if语句 语句形式如下:
30、if(表达式1) if(表达式2) 语句1 else 语句2 else 语句3 (2)在if子句中嵌套不含else子句的if语句 语句形式如下: if(表达式1) if(表达式2) 语句1 else 语句2 (3)在else子句中嵌套if语句 1)内嵌的if语句带else 2) 内嵌的if语句不带else if(表达式1) 语句1 if(表达式1) 语句1 else else if(表达式2) 语句2 if(表达式2) 语句2 else 语句3 例 4.5 编写程序,根据输入的学生成绩给出相应的等级,大于或等于90分以上的等级为A,60分以下的等级为E,其余每10分为一个等级。#include
31、<stdio.h>void main()int g; printf(“Enter g:”);scanf(“%d”,&g);printf(“g=%d:”,g)if(g>=90)printf(“An”); else if (g>=80)printf(“Bn”);else if (g>=70)printf(“Cn”);else if (g>=60)printf(“Dn”)else printf(“En”); 教学内容及过程设计 (三)、条件表达式构成的选择语句 1、条件表达式的形式如下: 表达式1?表达式2:表达式32、条件表达式的功能 当表达式1的值为非
32、零时,表达式2的值为整个条件表达式的值,当表达式1的值为零时,表达式3的值为整个条件表达式的值。 (四)、switch语句以及switch语句和break语句构成的选择结构 1、switch语句 (1) switch语句形式如下: switch(表达式) case 常量表达式1: 语句1 case 常量表达式2: 语句2 case 常量表达式n: 语句ndefault : 语句n+1 (2) switch语句的执行过程 首先计算表达式的值,然后在switch语句体内寻找与该值吻合的case标号。若有与该值相等的标号,则执行该标号后开始的各语句,包括在其后的所有case和default中的语句,
33、直到switch语句体结束;如果没有与该值相等的标号,并且存在default标号,则从default标号后的语句开始执行,直到switch语句体结束;如果没有与该该值相等的标号,同时又没有default标号,则跳过switch语句体,去执行其之后的语句。 例 4.6 用swith 语句改写例4.5。#include<stdio.h>void main ( )int g;printf(“Enter a mark:”);scanf(“%d”,&g);printf(“g=%d:”,g);switch(g/10)case 10: case 9:printf(“An”); case
34、8:printf(“Bn”); case 7:printf(“Cn”); case 6:printf(“Dn”); default 5:printf(“En”); 2、在switch语句体中使用break语句 每当执行到break语句时,立即跳出switch语句体。 例:修改例4.6的程序,在case语句后面加break。 教学内容及过程设计 (五)、语句标号和goto语句 例如: goto stop; stop: printf(“endn”);三、课堂小结1、 关系逻辑运算2、 if与switch语句 四、布置作业P49 4.21、4.22、4.25备注课 题第
35、五章 循环结构教 学目 的1、掌握三种循环语句的语法结构2、灵活运用循环语句 教 材分 析教学重点三种循环语句while、do-while、for教学难点三种循环语句的区别教学内容及过程设计一、复习引导问题1:假如全班41人,欲从键盘上输入每人的数学成绩,然后计算出平均成绩;问题2: 编程计算n!。重复执行一组语句是程序设计要求的基本功能之一。在C语言中可以用以下语句来实现循环:(1)while (2)do-while (3)for 二、讲授新课(一)、while语句和用while语句构成的循环结构 语法:while (exp) 循环体语句;语义:当exp为真时,执行循环体;为假
36、时,执行循环语句的后续语句; 说明:1) 循环体可以用复合语句;2) 在while语句前应有为测试表达式(exp)中的循环控制变量赋初值的语句,以确保循环的正常开始;3) 循环体内应有改变循环控制变量的语句,以确保循环进行有限次后正常结束; 如:i=1;while (i<=100) sum=sum+1; (死循环)4) while 循环的特点是先判断后执行,故循环有可能一次都不被执行; 如: i=3; while (i<3) printf(“i=%dn”,i); 例5.1 编写程序求12+22+32+n2,直到累加和大于或等于10000
37、为止。#include<stdio.h>void main( ) int i,sum; i=0;sum=0; /*i和sum的初值为0*/while(sum<10000) /*当sum小于10000时执行循环体*/ sum+=i*i; /*在循环体中每累加一次后,i增加1*/i+;printf(“n=%dsum=%dn”,i-1,sum);例5.2 用公式求的近似值,直到最后一项的绝对值小于10为止。 #include<stdio.h>#include<math.h>教学内容及过程设计void main( ) int s;float n, t , pi
38、;t=1.0;pi=0;n=1.0;s=1;while(fabs(t)>1e-6) pi=pi+t; n+=2.0; s=-s; t=s/n; pi=pi*4;printf(“pi=%fn”,pi);例5.3 用迭代法求方程x=cosx的根,要求误差小于10.#include<stdio.h>#include<math.h>void main( ) double x1,x2;x1=0.0;x2=cos(x1);while(fabs(x2-x1)>1e-6) x1=x2; x2=cos(x1); printf(“x=%fn”,x2); (二)、do-while
39、语句和用do-while语句构成的循环结构语法:do 循环体语句; while (exp);语义:当exp为真时,执行循环体;为假时,执行循环语句的后续语句;说明:1) 循环体可以用复合语句;2) 循环控制变量在执行do前必须赋初值;循环体内应有改变循环控制变量的语句;3) do-while 循环的特点是先执行后判断,故循环至少被执行一次。 例5.4 计算Fibonacci数列,直到某项大于1000为止,并输出该项的
40、值。#include<stdio.h>void main() int f1,f2,f;f1=0; f2=1;dof=f1+f2;f2=f;while(f2<=1000);printf(“F=%dn”,f2);教学内容及过程设计 (四)、for 语句语法:for(表达式1;表达式2;表达式3) 循环体语句;语义:1、先求表达式1;2、求解表达式2,若值为真,则执行第三步;若为假,则结束循环;3、执行循环体中的语句;4、求解表达式3;5、转回第二步继续执行如:for( i=1; i<=100; i+) sum=sum+i;可看成:for(循环变量赋初值;循环条件;循环变量增
41、值)语句;说明:(1)显然for循环更简洁,更灵活;(2)循环体可以是复合语句;(3)for语句中的三个表达式均可以是逗号表达式,故可同时对多个变量赋初值及修改。如:for(i=0, j=1; j<n && i<n; i+, j+) (4)for语句中三个表达式可省:例5.5 编写程序,求1+2+3+100.#include<stdio.h>void main( ) int i,sum;sum=0; for(i=1;i<=100;i+) sum+=i; printf(“sum=%dn”,sum);例5.6 编写程序,计算半径为0.5m
42、m、1.0mm、1.5mm、2.0mm、2.5mm时的圆的面积。#include<stdio.h>void main() doulde r , s , pi=3.1416;for(r=0.5;r = <2.5;r+=0.5) s=pi*r*r; printf(“r=%3.1f s=%fn”,r ,s );(五)、几种循环的比较 (1)可以相互代替使用 (2)while, do-while循环,在while后面指定循环条件,在循环体中应包含使循环趋向于结束的语句 (3)凡是在while中能完成的,在for 语句中也能完成。教学内容及过程设计 (六)、循环结构的嵌套 在一个循环体
43、内又完整地包含了另一个循环,称为循环嵌套。 例5.7 使用双层for循环打印如下由星号组成的倒三角形图形: * * * *#include<stdio.h>void main( ) int k , i , j; for( i =0;i<4;i+) for(k=1;k<=i;k+) printf (“ ”); for(j=0;j<7-i*2;j+) printf(“ * ”); printf(“n”);例5.8 编写程序,找出2100以内的所有质数(素数)。#include<stdio.h>void main( ) int k , i , tag;pri
44、ntf(“2,”);for(i=3;i<=100;i+=2)tag = 0; for(k=2;tag=0&&k<sqrt(i);k+) if(i%k=0) tag=1; if(tag=0) printf(“%d,”,i); (七)、break和continue语句在循环体中的作用(1)break语句:可以用于switch语句中,也可以用于循环语句中,当用于循环语句中时,用于在满足条件情况下,跳出本层循环。(2)continue语句:用于循环语句中,在满足条件情况下,跳出本次循环。即跳过本次循环体中下面尚未执行的语句,接着进行下一次的循环判断。例5.9 求s=1+2+
45、3+i,直到s大于5000为止,并给出s和i的值。#include<stdio.h>void main( ) int i , s;s=0;for( i = 1;i+) s=s+i; if(s>5000) break;printf(“s=%d,i=%dn”,s,i);教学内容及过程设计例5.10 在循环体中continue语句执行示例。#include<stdio.h>void main( ) int k=0,s=0,i;for(i=1;i< =5;i+) s=s+i;if(s>5) printf(“* * * *i = %d,k = %dn”,i ,s
46、 ,k ); continue; k = k + s;printf(“i=%d,s=%d,k=%dn”,i,s,k); (八)、程序举例例5.11 从输出的若干大于零的正整数中选出最大值,用-1结束输入。#include<stdio.h>void main( ) int x,max;printf(“Enter -1 to end:n”);do printf(“Enter x:”); scanf(“% d”,&x);while(x<0&& x! = - 1);max= x;while(x!= - 1) printf(“Enter x:”);scanf(“%d”,&x);if (x > 0&& x >max ) max=x; if(max!= - 1) printf(“max = %dn”,max);例5.12 用迭代法求某个数a的平方根。已知求平方根的迭代公式为:#include<stdi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 林地房屋售卖协议书
- 橱柜员工入股协议书
- 搏击培训合同协议书
- 漳浦签订对口协议书
- 泥土运输合作协议书
- 村里老人住院协议书
- 海边烧烤违法协议书
- 林地青苗补偿协议书
- 手机铃声恋爱协议书
- 施工合同安全协议书
- 房屋外立面改造施工组织设计方案
- 商品房交房验收项目表格
- TSG特种设备安全技术规范 TSG G7002-2015
- 中小学文言文阅读详解基础篇 56:《齐人攫金》
- 第十五届运动会场馆医疗保障工作方案
- 岗位风险辨识及风险辨识结果、风险控制措施培训记录
- 浅析幼儿攻击性行为产生的原因及对策
- 印染厂染色车间操作手册培训教材
- 《学弈》优质课教学课件
- 教学课件:《国际金融》
- 贵州版二年级综合实践活动下册-教学计划
评论
0/150
提交评论