c语言程序的设计教(学)案清华谭浩强37496.doc

上传人:可****阿 文档编号:82377096 上传时间:2023-03-25 格式:DOC 页数:87 大小:446KB
返回 下载 相关 举报
c语言程序的设计教(学)案清华谭浩强37496.doc_第1页
第1页 / 共87页
c语言程序的设计教(学)案清华谭浩强37496.doc_第2页
第2页 / 共87页
点击查看更多>>
资源描述

《c语言程序的设计教(学)案清华谭浩强37496.doc》由会员分享,可在线阅读,更多相关《c语言程序的设计教(学)案清华谭浩强37496.doc(87页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、.页脚.第一章第一章语言及程序设计概述本章要求:了解 C 语言的特点、C 语言与其它高级语言相比有什么异同;了解 C 程序在 PC 机上的建立、编译和运行过程;了解 C 语言程序设计思想的基本篇;重点:重点:C 语言的主要特点;C 语言在 PC 机上的运行过程及上机操作过程;常用算法的应用难点:难点:无一、一、C C 语言概述语言概述C C 语言语言是目前国际上在各种计算机运行较为广泛流行的一种高级语言。主要表现为:C 语言:适合于作为系统描述语言可用来写系统软件。具有高级语言的特点,又有低级语言(汇编语言)的特点。C 语言:是 AT&T 贝尔实验室的 Dennis Ritchie 在 197

2、2 年发明的。C 语言:是在 B 语言的基础上发展起来的。(ALGOL 60)C 语言:最早开始是用于 UNIX 操作系统。(C 语言和 UNIX 是相辅相成的)DBASE、Microsoft Exel、Microsoft Word、PC-DOS 等,则是用 C 语言加上若干汇编子程序编写的。1983 年:制定的新标准,称为(美国国家标准化协会)ANSIC1987 年:TurboC1.0(Borland)1988 年:TC 1.5(图形和文本窗口)1989 年:TurboC2.0(DOS 操作系统、查错、Tiny 模式生成 com 文件)1991 年:TurboC+(3.0)支持 window

3、s 3.X说明:TurboC 语言可以在程序的任何地方嵌入汇编代码,提高速度,可以直接使用存储器和寄存器。二二C C 语言的特点语言的特点1 1语言简洁、紧凑、使用方便、灵活C 语言:共有 32 个关键字,9 种控制语句;程序书写自由,主要用小写字母表示;2 2运算符丰富.页脚.C 语言的运算符包含的范围很广泛,共有 34 种运算符;即:把括号、赋值、强制类型转换都作为运算符处理3 3有丰富的数据类型整型、实型、字符型、数据类型、指针类型、结构体类型、共用体(联合)类型等。实现复杂的数据结构(链表、树、栈、图)的运算。4 4具有结构化的功能,用函数作为程序模块,实现程序的模块化5 5语法限制不

4、太严格,程序设计自由度大。(放宽了语法检查)例:1)对数组下标越界不作检查,由程序编写者自己保证程序的正确;2)整型数据、字符型数据、逻辑型数据可以通用。6 6能直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。7 7生成目标代码质量高,程序执行效率高。8 8用 C 语言编写的程序,移植性较好。说明:C 语言比其它高级语言难掌握,对编程人员要求较高程序员使用 C 语言编写程序会感到限制少、灵活性大,功能强,可以编写出任何类型的程序。三三C C 程序的构成程序的构成例:main()/*主函数*/int a,b,sum;/*定义变量*/a=123;b=4

5、56;sum=a+b;printf(“sum is%dn”,sum);/*输出变量*/说明:1)程序一般用小写字母书写;2)每个程序必须要有一个 main()(只能一个),称主函数;注:C 程序是由函数构成的,函数是 C 程序的基本单位。函数:系统提供的库函数;用户设计的函数。3)程序体必须在之间;4)每个语句的结尾,必须要有“;”作为终止符。5)用/*.*/作注释.页脚.四、四、C C 程序的上机过程程序的上机过程1 1演示书:P5 程序2上机步骤书:P7注:C 语言是一种编译语言,编译语言的特点:C 编译程序Link 程序3windows 下 C 语言的运行目前 DOS 下运行 C 语言软

6、件为:visual C+6.0的特点:是一个把 编辑 编译 连接 运行 等全部操作集中在一个界面上。(2)visualC+6.0 的操作及运行书:P8五、算法的概念五、算法的概念1算法的概念书:P13算法:程序的操作步骤。程序中的数据在程序设计中:操作步骤有:程序=数据结构+算法沃思 Nikiklaus Wirth程序=算法+数据结构+程序设计方法+语言工具和环境2 计算机算法分为两大类:计算机算法分为两大类:数值运算算法数值运算算法非数值运算算法非数值运算算法(1)数值运算算法:求数值解;通过运算得出一个具体值,如求方程的根等注:数值运算一般有现成的模型,算法较成熟。(2)非数值运算算法:用

7、于事务管理,如图书检索、人事管理等。3、常用简单算法(1)累乘即:1234510012 S(结果)S3 S(结果)S4 S(结果)S100 S(结果)(2)累加即:1+2+3+4+5+100源程序*.C目标程序*.OBJ执行程序*.EXE编译连接.页脚.1+2 S(结果)S+3 S(结果)S+4 S(结果)S+100 S(结果)(3)找最大值5,2,4,12,95 max(max 放最大值,后面的数都和它比较)2 max不成立4 max不成立12 max成立:12 max9 max不成立注:该算法可扩展为在一批数据中,找某一个数(4)其它算法P15 例 2.2例 2.3例 2.4例 2.5课余

8、自学(必须)4、算法的表示常用的有:自然语言传统流程图结构化流程图伪代码PAD图(1)传统流程图起止框输入输出框判断框处理框流程线连接点表示方法:P19 例注注:传统流程图对流程线的使用没有严格限制,难以实现结构化程序设计为了限制流程线的滥用,提出三种基本结构:顺序结构选择结构循环结构顺序结构顺序结构选择结构选择结构ft.f语句表达式表达式t语句语句语 句 1语 句 2.页脚.循环结构循环结构表达式语句语句表达式a)“当型当型”结构b)“直到型直到型”结构(2)N-S 流程图特点:去掉了带箭头的流程线,全部算法写在一个矩形框内。称 N-S 结构化流程图PA成立不成立当 P1 成立ABABA直到

9、 P1 成立顺序结构选择结构循环结构作业:作业:p37p372.42.4上机:熟悉上机:熟悉visual C+6.0 的操作及运行.页脚.第三章第三章 数据类型、运算符与表达式数据类型、运算符与表达式本章要求:本章是 C 语言的基本概念开篇,所介绍的概念是学习 C 语言的基础;要求熟练掌握数据类型、运算符与表达式。重点:重点:C 语言数据类型定义的方法和分类。C 语言运算符、表达式的使用以及它们的主要特点。难点:难点:自增、自减运算符、赋值运算符、逗号运算符及它们的混合使用一数据类型一数据类型概念:算法处理的对象是数据,而数据是以某种特定的形式出现。在 C 语言中,数据有:常量、变量;一般它们

10、都有一定的数据类型。(C 语言的数据结构是以数据类型形式出现的)1数据类型分类:整型 int基本类型基本类型字符型单精度型 float实型(浮点型)枚举类型双精度型 double数据类型数据类型数组类型构造类型构造类型结构体类型 struct共用体(联合)类型 union指针类型指针类型*空类型空类型voidvoid说明:在程序中对用到的所有数据都必须指定其数据类型。说明:在程序中对用到的所有数据都必须指定其数据类型。2C 语言中的常量和变量常量常量:在程序运行过程中,其值不能被改变的量。变量变量:在程序运行过程中,其值可以改变的量。说明:1)常量和变量,都要有一个名字表示它;习惯上,符号常量

11、(别名)名用大写,变量用小写。符号常量的定义为:#defineP30其它常量:直接用数据表示例:2345.5e3e+22)在 C 语言中,对变量要先定义,后使用。.页脚.3)如果一个变量被指定为一确定类型后,在 C 语言编译时,就能为其分配相应的存储单元。a变量名存储地址)20003变量值存储单元地址的概念3常用的基本数据类型(1)整型1)整型常量:十进制整数123,-11,0非 0 开头八进制整型0123,-0110 开头十六进制整型 0 x110 x200 x0D0XFF0 x4e0 x/0X 开头说明:在一个整常量后面加一个字母:l 或 L,是长整型常量。22L0733L0 xae4l2

12、)整型变量:定义存储字节数的范围基本型intx(2 字节)-3276832767短整型shortintx(2 字节)-3276832767长 整 型longintx(4 字 节)-2,147,483,6482,147,483,647无符号型 unsigned intx(2 字节)065535unsigned shortx(2 字节)065535unsigned longx(4 字节)04,294,967,295注:注:数据在内存中是以:二进制形式存放如:9为00001001例:x=13;x=015;x=0 xD存储结构 见 P44 图 3.5注:数据超过数据范围,会发生数据溢出注:数据超过数据

13、范围,会发生数据溢出例例 3.23.2、3.33.3(2)实型(浮点数)1)实型常量:十进制整数1.23.0123指数形式1.23e3,1.00e-32)实型变量:数的表示范围 P46表 3.2单 精 度floatx(4 字 节)3.4x10-383.4x1038TC 默 认双 精 度doublex(8 字 节)1.7x10-3081.7x10308说明:实型常量实型常量不分 float 和 double,只有十进制表达方式有的 C 编译系统 64 位存储方式,如尾加 f 或 F 可表示 32 位:.页脚.324.567f例:x=1.23;x=123e3P47 例 3.4(存储精度)(3)字符

14、型1)字符常量:a)用单引号括起来的一个字符a Ab)转义字符(由“专用字母”)书 P48 表3.3 例 3.50 字符串结束符n 换行t 水平制表ddd 八进制数xdd 十六进制数2)字符变量:charc(1 字节)说明:一个字符变量,只能放一个字符常量。实际是把该常量的 ASCII值,送入字符变量中。即:B(66)c(字符变量)书 P374ASCII 表 p50 例 3.6-7c=Bc 的内容为 66故:字符数据可以进行算术运算;即:c=B+2为 68字符数据在内存中的存储方式书 P50unsigned char0-255char-128-127 有符号数在 TC 中是用补码表示的127(

15、0 x7f)0111 1111128(0 x80)1000 0000复习:补码的规定:复习:补码的规定:正数:其原码、反码、补码相同负数:最高位为 1,其余各位为原码的反码(原码的相应位取反),然后对整个数加 1。140(0 x8c)1000 11001111 0011+1(取反加 1)1111 0100-0 x74-0 x741000 1011+1(取反加 1)1000 1100 0 x8c(0 x80 为负数-74 高位为 1)3)字符串常量用双引号括起来的字符“a”,“ABFD”“a”=“a0”A说明:说明:C 规定,在每一个字符串的结尾应加一个“字符串结束标志”(0),以便系统判断字符

16、串是否结束。4各类数值间的混合运算1)整型、字符型、单精度型、双精度型数据可以混合运算2)字符型、整型可以通用规则:高doublefloatlong.页脚.unsigned低intchar,short例如 10+a+1.5-8765.1234*b-858873.593200(TC默认 6 位小数)10+97+1.5-8765.1234*9810+97+1.5-8765.1234*98二运算符和表达式二运算符和表达式C 表达式:由变量、常量、函数等运算对象和运算符组成的式子C 运算符作用:1)能把一些基本运算模块用单一的运算符处理2)使用丰富的运算符,构成多种表达式C 运算符有优先级,优先级高的

17、先执行,同级的由结合规则决定其处理规则C 运算符有两种结合规则:1)从左到右的结合运算顺序;即:a=5+x10;运算对象与左边运算符结合2)从右到左的结合运算顺序;即:x=y=7;运算对象与右边运算符结合C 运算符分类书 P551基本运算符(算术运算符)C 语言有 7 个基本运算符1)单目运算符:(表示符号)正号“+”负号“-”2)双目运算符:+、-、*、/、%(模运算,求余运算,两侧为整数)说明:a)运算顺序的结合方向从左到右b)求余(取模)运算符是对两个整数相除的余数,计算结果的符号与第一个数的符号相同。即:-5%3值为-2、-5%-3值为-2、5%-3值为 22自增、自减运算符(优先级高

18、于算术,右结合)作用:作用:使变量的值增 1 或减 1+i(-i)在使用 i 之前,先使 i 的值加 1(减 1),然后再使用 i。i+(i-)先使用 i 的值,然后再使 i 加 1(减 1)。例:i=4;j=+i;i 值为 5,值为 5;j=i+;i 值为 5,j 值为 4说明:1)自增、自减运算符+(-),只能用于变量,不能用于常量或表达式即:5+、(a+b)+不合法2)运算顺序的结合方向从右到左.页脚.例例:main()inti=3z,x,y;z=(i+)+(i+)+(i+)x=y=3;/结果:z z 值为值为 9 9i i 值为值为 6 6z=x+y;/变量 x 右结合运算符+(不是

19、3+4+5=12)printf(z=%d,x=%d,y=%d,z,x,y);输出结果:z=6x=4y=3如果:z=-x+y;输出结果:z=0 x=4y=3x 先为-4,然后+y,最后 x+3赋值运算符和赋值表达式(优先级低于算术,右结合)(1)“=”赋值运算符作用:将一个数据赋给一个变量 即:x=21注意注意:如果赋值运算符两侧的类型不一致,在赋值时,要进行类型转要进行类型转换换。P61 例 3.9即:float f;f=23f 值为 23.0000符号位扩展(2)复合的赋值运算符“+=、-=、*=、/=、%=”在赋值符“=”之前加上其它运算符称复合运算符(也称为自反运算符)例:a+=3等价于

20、a=a+3x*=y+8等价于x=x*(y+8)y/=4等价于y=y/4m%=3等价于m=m%3说明:C 语言采用这种复合运算符:为了简化程序,使程序精练;提高编译效率。(3)赋值表达式格式:变量=表达式表达式:可以是1)常量、变量、算术表达式;2)赋值表达式即:a=(b=5)或a=b=5(运算顺序的结合方向从右到左)例:.页脚.a=b=c=6;a=5+(c=6)(结果 a=11 c=6)如果:a=3;求:a+=a-=a*a;有:1 a*a;92)a=a-(a*a);-63)a+=-6-6+-6a 为:-12结果值为:-124逗号运算符和逗号表达式(优先级最低,左结合)用“,”将两个表达式连接起

21、来。格式格式:表达式 1,表达式 2即:3+5,6*9;例:3+5,6*9;值为 54(先求解表达式 1,再求解表达式 2,最后逗号表达式的值为表达式 2 的值)a=2*5,a*3;a 值为 10结果值为:30(先求:a=2*5,后求:a*3)x=(a=2*5,a*3),a+4a 值为 10 x 值为 30结果值为:14说明:使用逗号表达式的目的,只是为了得到各个表达式的值(常用于循环语句)解表达式 1 的结果可能影响解表达式 2 的值5强制类型转换运算符(优先级高于算术,右结合)在要转换的数据前在要转换的数据前,用小括号括上要转换的数据类型即:(int)x;(int)(a+b)(int)x+

22、y格式:(类型名)表达式C 一般会自动进行数据类型转换 P56 例 3.8,用于不能自动转换的地方 x%3(float f)6关系运算符和关系表达式(书 P87)(优先级低于算术,左结合,高于赋值)(1)6 种关系运算符=(优先级高)=!=(优先级低)(2)关系表达式表达式 关系运算符 表达式即:aba+b=b+c(a=4)b)|(a+b=b+c)(a=4)&(b=8)1|(1)x&y值为 11说明:说明:逻辑表达式值:逻辑表达式值:是一个逻辑值,即:“真”或“假”p90优先次序(由高到低):!(非)算术运算符关系运算符&和|赋值运算符求值短路:53&2|84-!01|(结果 1)0&(结果

23、0)如:a&b&ca0 才判断 a&b8条件运算符(书 P97)格式:表达式 1?表达式 2:表达式 3执行:先求解表达式 1,为真(非零),求表达式 2为假(为 0),求表达式 3例:y=(ab)?a:b;说明:a)条件运算符要求有三个操作对象(称三目元运算符)b)条件运算符优先于赋值运算符y=(ab)?a:b;先求(ab)?a:b后赋值c)条件运算符的结合方向为“自右至左”(ab)?a:b可写为:ab?a:bab?a:b+5相当于:ab?a:(b+5)ab?a:c d?c:d相当于:ab?a:(cd?c:d)*9位运算符(书 P298)(一般掌握)位运算:是对字节或字中的实际位进行检测、设

24、置、屏蔽、移位。位运算符:&位逻辑与|位逻辑或 位逻辑异或 位逻辑反 右移b?a c?a:c:bc?b:c相当于:ab?(a c?a:c):(bc?b:c)(求最大值,如求最大值,如 a=2,a=2,b=8,b=8,c=5c=5结果为:结果为:8)8)3运算符的优先次序(书 P375附录)()、!+/-/-转移、算术、关系(=)、关系(=!=)、&、|、条件(?)、赋值、逗号例:1)-a+相当于-(a+)2)x=4,y=7求:y+=+x-3x 的值 5y 的值 93)x=4,y=7求:y=y+x-3x 的值 4y 的值 94)a=7,x=2.5,y=4.7求:s=x+a%3*(int)(x+y

25、)%*2/4s 的值2.500000a%3*(int)(x+y)%*2=1(整型)/4(整型)=0.25=0(整型)5)a%3&a%5|a+b如:a=7,b=5a 的值 8b 的值 6结果值 11|1如:a=15,b=15a 的值 16b 的值 16结果值 01|0如:a=15,b=14a 的值 16b 的值 15结果值 00|0如:a=15,b=13a 的值 16b 的值 14结果值 10|1四、该章的主要例题四、该章的主要例题数:P39 例 3.1P44 例 3.2P44 例 3.3字符:P49 例 3.5P50 例 3.6P51 例 3.7五、该章的主要习题五、该章的主要习题P653.5

26、3.63.83.93.103.12六、该章的主要上机内容六、该章的主要上机内容P39 例 3.1P44 例 3.2P44 例 3.3P51 例 3.7P653.63.83.10.页脚.第四章第四章 简单的简单的 C C 程序设计(顺序程序设计)程序设计(顺序程序设计)知识点知识点:1、赋值语句;2、字符数据的输入/输出;3、格式输入/输出语句 printf 和 scanf 及其格式控制符;%c、%f、%d(输出宽度、对齐方式、其它格式控制符只作了解)4、程序的结构框架。重点:重点:1 1赋值语句;2基本输入/输出语句 printf 和 scanf 及其格式控制符%c、%f、%d 等的意义。难点

27、:难点:无一、C C 程序结构程序结构C 程序源程序文件 1源程序文件 2源程序文件 n预编译命令函数 1函数 n说明部分执行部分(语句)语句的分类语句的分类 P67P67P68P681、控制语句条件:ifelse循环:for()循环:while()循环:dowhile()循环结束:continue终止循环或 switch:break多分支:switch转向:goto函数返回:return.页脚.2、函数调用语句printf(“a=%d”,a);3、表达式语句i=i+1表达式i=I+1;表达式语句函数调用也可以认为是表达式语句4、空语句:一个“;”5、复合语句(用:分程序)x x=3;3;x=

28、x+1;x=x+1;print(print(“x=%xx=%x”,x),x)二赋值语句二赋值语句变量名=表达式注:是组成顺序结构的主要语句。a=b;if(max=x)max=x;三基本输入三基本输入/输出语句输出语句C 语言本身不提供输入输出语句,输入输出操作是由函数来实现。即:printfputcharscanfgetchar注:(1)这些函数构成一个标准的 I/O 函数库(放在“stdio.h”中)(2)如果要使用 C 语言库函数,要用预编译命令“#include”将有关“头文件”包括到用户源文件中。#include#include“stdio.h”当前目录当前定义的目录中寻找1print

29、f 函数 格式输出函数格式:printf(格式控制,输出表列)格式控制:用双引号括起来的字符串,也称为“转换控制字符串”printf 的格式字符书 P77 表 41输出表列:需要输出的数据、表达式即:printf(“x=%5.1f,y=%d,z=%c”,x,y,z)d,i带符号十进制形式u无符号十进制形式例 3-3c字符形式s字符串形式f实数(小数)形式默认 6 位小数说明:1)printf(“y=%-4d”,y)输出数据左对齐(默认为右对.页脚.齐)2)数据输出长度的修正;l 输出长整型或双精度数据即:printf(“%ld,%lf”,i,y)h 输出短型数据即:printf(“%hu”,a

30、)-m.nm 最小宽度n 小数(实数)-左对齐2putchar 函数 字符输出函数向终端输出一个字符格式:putchar(变量)putchar(x)putchar(“n”)输出一个换行符3scanf 函数 格式输入函数格式:scanf(格式控制,地址表列)格式控制:用双引号括起来的字符串,也称为“转换控制字符串”scanf 的格式字符书P80表 43地址表列:由若干个地址组成的表列,有:变量地址&x字符串的首地址&地址运算符功能:求变量的地址(只能用于变量)&x 表示 x 变量值的内存单元的地址即:scanf(“%d,%4d”,&a,&b)说明:1)不带分隔字符的方式,系统将自动按格式说明截取

31、数据例:scanf(“%4d%*3d%f”,&I,&p);输入:12345678.93 时得 I=1234,p=8.93“*”作用是“虚读”,跳过相应的数据2)带分隔字符的方式(分隔字符:空格、tab、回车、逗号)即:scanf(“%d,%d”,&a,&b)4getchar 函数 字符输入函数从终端输入一个字符格式:getchar()即:c=getchar()函数值是从输入设备得到的字符四、该章的主要例题四、该章的主要例题1 已知矩形的两边长,求矩形的面积、周长2 大小写字母互相转化3 教材 P83 的例子五、该章的主要习题五、该章的主要习题P844.54.9.页脚.第五章第五章选择结构程序设

32、计选择结构程序设计知识点知识点:1、关系、逻辑运算符、逻辑真/假;2、关系表达式、逻辑表达式;3、分支的概念及其算法描述;4、三种 IF 分支语句;5、条件运算符;6、SWITCH 语句。(了解)重点:重点:1、关系、逻辑运算符、逻辑真/假;2、关系表达式、逻辑表达式;3、三种 IF 分支语句。难点:难点:1、逻辑真/假;2、关系、逻辑运算优先级。一、关系表达式及逻辑表达式在分支选择结构的作用一、关系表达式及逻辑表达式在分支选择结构的作用在程序设计中,表示一些复杂的条件1 1、关系运算符及关系表达式(第三章)、关系运算符及关系表达式(第三章)2 2、逻辑运算符及逻辑表达式(第三章)、逻辑运算符

33、及逻辑表达式(第三章)3 3、条件运算符(第三章)、条件运算符(第三章)二分支语句二分支语句(书 P91)从一个条件表达式中,选择语句的执行(用 if 语句或 switch 语句来实现)f.t.f表达式表达式t语句语句 1语 句21If 语句(1)C 语言提供三种形式的 if 语句.页脚.1)if(表达式表达式)语句语句例:if(xy)printf(“%d”,x);注意“;”位置2)if(表达式表达式)语句语句 1 1else语句语句 2 2例:if(xy)printf(“%d”,x);elseprintf(“%d”,y);注意分号“;”3)if(表达式表达式 1 1)语句语句 1 1else

34、 if(表达式表达式 2 2)语句语句 2 2else if(表达式表达式 3 3)语句语句 3 3else if(表达式表达式 n n)语句语句 n nelse语句语句 n n+1+1例:p92 图 5.6(2)if()和 else 后的执行语句可以使用复合语句 例 5.1、5.2p93if 结构将输入的三个数从大到小排列输出例 5.3p95if 嵌套结构计算函数值(3)用条件运算符代替 if 语句例:if(ab)y=a;条件运算符else可以用:y=(ab)?a:b;y=b;例 5.4p98条件运算符代替 if 结构将输入字符中的大写转换成小写输出2switch 语句(了解)switch

35、语句是多分支选择语句表达式语句 1语句 2语句 3语句 4格式:switch(表达式)表达式=常量表达式 n 执行语句 n case常量表达式 1:语句 1;.页脚.break;case常量表达式 2:语句 2;break;case常量表达式 3:语句 3;break;case常量表达式 n:语句 n;break;default:语句 n+1;例:四级(ABCD)转化成百分制#include main()char grade;scanf(%c,&grade);switch(grade)case A:printf(85100n);break;case B:printf(7584n);break;

36、case C:printf(6074n);break;case D:printf(60n);break;default:printf(errorn);例:百分制成绩转化成五级(ABCDE)五级记分 5-4-1三三、程序举例、程序举例例 5.7p103运费计算(自学)p101例 5.6求一元二次方程根(自学)p100例 5.5判断某一年是否是闰年(自学)五、该章的主要习题五、该章的主要习题P1045.35.10该章的主要上机内容该章的主要上机内容P91例 5.2、P100 例 5.5,P101 例 5.6P104习题习题 5.5、5.6、5.9其他:上机实验指导书中内容.页脚.第六章第六章循环结

37、构程序设计循环结构程序设计知识点知识点:1、循环的概念及其算法描述;2、goto 循环;3、while 循环;重点重点4、dowhile 循环;重点重点6、for 循环;重点重点 难点难点7、break、continue 语句;8、各种循环结构中的执行循环体、判断循环条件的顺序;重点重点9、各种循环结构在一定条件下的转化。重点重点难点难点一、循环结构的概念一、循环结构的概念循环语句主要用于:重复执行的操作1C 语言在实现循环过程可使用以下语句:a)用 goto 语句和 if 语句构成循环b)用 while 语句c)用 dowhile 语句d)用 for 语句2循环可分为二种类型结构:a)“当型

38、当型”结构b)“直到型直到型”结构二循环语句二循环语句1用用 gotogoto 语句和语句和 ifif 语句构成的循环语句构成的循环(1)goto 语句无条件转向语句格式:goto语句标号语句标号:用标识符表示例:gotonext;如:goto 123;(不合法)(2)goto 和 if 语句构成循环一般较少使用(不符合结构化原则)语句语句.页脚.例:求250nimain()inti,sum=0;i=1;loop:if(i=50)sum=sum+2*i;i+;goto loop;printf(“%dn”,sum);2while 语句实现“当型当型”循环结构格式:while(表达式)语句例:求2

39、50nimain()inti,sum=0;i=1;while(i=50)说明:说明:sum=sum+2*isum=sum+2*i;i+i+;printf(“%dn”,sum);语句可为复合语句(用构成)3dowhile 语句实现“直到型”循环结构格式:do语句语句while(表达式表达式);例:求250nimain()inti,sum=0;i=1;do sum=sum+2*i;i+;while(i=50);printf(“%dn”,sum);do while 和 while 比较 p109例 6.44for 语句可以用于循环次数已知循环次数已知和循环次数不确定循环次数不确定(可以代替 whil

40、e 语句)(应用广泛,而且使用较活)格式:for(表达式表达式 1 1;表达式表达式 2 2;表达式表达式 3 3)语句过程:.页脚.表达式 1F表达式 2T说明:语句表达式 1-循环变量赋初值表达式 2-循环结束条件表达式 3表达式 3-循环变量增值即:for(循环变量赋初值,循环结束条件,循环变量增值)语句例:求250nifor(i=1;i=50;i+)sum=sum+2*i;forfor 语句的其它表示语句的其它表示(1)用用 whilewhile 来表示来表示表达式 1while(表达式 2)语句表达式 3;(2)表达式可以省略,但分号不能省略a)省略表达式 1i=1for(;i=50

41、;i+)sum=sum+2*ib)省略表达式 2产生死循环for(i=1;i+)sum=sum+2*ic)省略表达式 3for(i=1;i=50;)sum=sum+2*i;i+;d)省略表达式 1,省略表达式 3i=1i=1for(;i=50;)while(i=50).页脚.sum=sum+2*i;相当于sum=sum+2*i;i+;i+;(3)表达式 1,表达式 3 可以是:a)简单的表达式 b)逗号表达式表达式 2:一般是关系表达式或逻辑表达式即:for(sum=0,i=1;i=50;i+,i+)sum=sum+2*i;或:for(sum=0,i=1;i=3)4.p115例 6.8 判断

42、m 是否是素数5.p115例 6.9 求 100-200 间的所有素数6.例 求任意输入 10 个数中的最大数 6-max四、该章的主要习题四、该章的主要习题P1206.16.15五、该章的主要上机内容五、该章的主要上机内容P115例 6.5、例 6.6、例 6.7、例 6.9P120习题习题 6.4、6.7、6.9、6.11、6.14其他:上机实验指导书中内容作业解答:5-8 利润提成:类似所得税.页脚.第七章第七章 数组数组1、数组的概念及数组的定义;2、在程序设计中的如何使用数组;3、字符数组是 C 语言存放字符串的主要方法,并注意字符串结束标志的规定。重点:重点:数组的组成和特点。一维

43、数组和二维的定义、赋值。字符串与字符数组的关系以及数组在程序中的使用。难点:难点:数组元素存储格式对程序设计的使用。字符串在数组中的组成以及字符串操作语句的使用。基本类型数组类型C 语言:数据类型构造类型结构体类型共用体类型指针类型构造类型:是由基本类型按一定规则组成的类型一数组的概念一数组的概念数组:1)是一组有序数据有序数据的集合2)这个集合用一个数组名数组名来表示3)数组的元素序号用一个下标值下标值来表示如:a0,a1,a2,a3b11,b12,b21,b22注意:注意:a)数组名后,用方括号;下标从 0 开始。b)下标值下标值可以是常量表达式常量表达式常量表达式:包括常量和符号常量(用

44、#define 定义的),但不能包含变量。C 语言:不允许数组进行动态定义。即:intn;scarf(“%d”,&n);intxn;/*定义数组*/c)数组分为:一维、二维等,主要由下标值的多少来确定。.页脚.二一维数组二一维数组1定义格式:类型说明符数组名常量表达式类型说明符:表示数组的类型int,short,long,unsigned,float,double,char 等数组名:表示各数组元素的统一名字,定义方法和变量名相同常量表达式:表示数组的长度即:int a10注意:C C 语言不提供数组下标越界的保护,设计时要注意。语言不提供数组下标越界的保护,设计时要注意。2数组元素的初始化数

45、组在定义的时候,同时,可对数组元素进行初始化格式:staticinta10=0,0,0,0,0,0,0,0,0,0静态定义a10=0,1,2,3,4,5,6,7,8,9说明:1)static 数组不赋初值,系统会对所有数组元素自动赋以0 值。即:inta10=0,0,0,0,0,0,0,0,0,0;等价于等价于:staticinta10;2)对全部数组元素赋初值,可以不指定数组长度。即:staticinta=0,1,2,3,4,5;等价于:staticinta6=0,1,2,3,4,5;3)可以部分赋初值即:inta5=1,3;3数组元素的引用C 语言规定:只能逐个引用数组元素,而不能一次引用

46、整个数组。4程序举例书 P124例 7.2例 7.3三二维数组和多维数组三二维数组和多维数组1定义格式:类型说明符数组名常量表达式 常量表达式类型说明符:表示数组的类型int,short,long,unsigned,float,double,char 等数组名:表示各数组元素的统一名字常量表达式:表示数组的长度.页脚.即:inta5 6说明:a)每一维的下标从 0 开始,整个数组元素为:56=30 个b)C 语言中,二维数组中元素排列的顺序是按行存放。即:先存放第一行的元素,再存放第二行的元素345存储单元a=678对应表:129c)可以计算数组元素在数组中的序号假设mn 的数组 a,计算 a

47、ij序号的公式:in+j如:a0103+1=1(第二个)如 33a12 的序号是:13+2=5a2223+2=8d)多维数组的定义格式:类型说明符数组名常量表达式 常量表达式 常量表达式即:类型说明符数组名长度 1 长度 2 长度 3 inta2 342二维数组初始化1)两种基本方法:(a)分行给二维数组赋初值staticinta23=1,2,3,5,6,7(b)所有数据写在一个化括弧内staticinta23=1,2,3,5,6,72)可以对部分元素赋初值staticinta23=1,3即:100300staticinta34=1,3,1,0,0,93a004a015a026a107a118

48、a121a202a219a22.页脚.即:1000310000903)定义数组时,第一维的长度可以不指定,但第二维的长度要指定(编译系统自动计算)。staticinta 3=1,2,3,4,5,6,7,8,9等价于:staticinta33=1,2,3,4,5,6,7,8,9staticinta 4=1,3,1,0,0,9等价于:staticinta34=1,3,1,0,0,94程序举例书 P128例 7.4 二维数组行列转换例 7.5 34 矩阵求最大元素及行列号四字符数组四字符数组存放字符数据的数组;每一个元素存放一个字符。1定义char数组名常量表达式即:charc10;说明:由于字符与

49、整型是互相通用的,可使用 intc10;定义。2字符数组的初始化1)staticcharc5=a,b,c,d,e;注意:注意:staticcharc5=a,b,c,d,e,f;(错误,多一个元素)staticcharc5=a,b,c;(正确)后面元素自动定为空格2)staticcharc=a,b,c,d,e;系统自动根据初值个数确定数组长度3字符数组的引用一个字符数组元素,代表一个字符。即:x=c2x 的值为“c”4字符串的使用C 语言中,将字符串作为字符串来处理。规定:一个“字符串结束标志”,以字符0,在遇到字符0时,表示字符串结束。1)使用字符串常量进行数组初始化.页脚.staticcha

50、rc=“Iamhappy”;或staticcharc=“Iamhappy”;等价于staticcharc=I,a,m,h,a,p,p,y,0;注:(a)系统对字符串常量自动加一个0(b)字符数组并不要求它的最后一个字符为02)数组长度始终保证大于字符串实际长度staticcharc10=“ABCDE”;(第 5 个元素0,第 6 个开始为空字符 ASC为 0)staticcharc10=A,B,C,D,E;(后面 5 个元素为空字符 ASC为 0)例 7-6P131:字符数组引用例子 打印图形(J5_1.C)#define NL printf(n)main()char a10=*,*,*,*,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

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

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