程序设计基础第6章.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《程序设计基础第6章.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 基础
- 资源描述:
-
1、顺序结构程序设计顺序结构程序设计6.16.2选择结构程序设计选择结构程序设计6.3循环结构程序设计循环结构程序设计源程序文件1预处理命令全局变量声明函数首部局部变量声明执行语句函数体函数1函数n源程序文件2源程序文件nC程序程序的结构:程序的结构:6 6.1.1.1.1 C语言的基本语句语言的基本语句 程序的执行部分是由语句组成的。程序的功能也是由执行语句实现的。表达式语句:表达式语句:表达式语句由表达式加上分号“;”组成。其一般形式为:表达式表达式;1函数调用语句:函数调用语句:由函数名、实际参数加上分号“;”组成。其一般形式为:函数名函数名(实际参数表实际参数表);26 6.1.1.1.1
2、 C语言的基本语句语言的基本语句 控制语句:控制语句:控制语句用于控制程序的流程,以实现程序的各种结构方式。可分成以下三类:条件判断语句:if语句、switch语句;循环执行语句:do while语句、while语句、for语句;转向语句:break语句、goto语句、continue语句、return语句。3复合语句:复合语句:把把多个语句用括号 括起来组成的一个语句称复合语句。4空语句:空语句:只有分号“;”组成的语句称为空语句。空语句是什么也不执行的语句。在程序中空语句可用来作空循环体。56 6.1.1.2 2 赋值赋值语句语句 赋值语句是C语言的基本语句之一,赋值语句是由一个赋值表达式
3、加上一个分号构成的。1)在赋值语句中,允许连续给多个变量赋值。2)在变量说明中,不允许连续给多个变量赋初值。3)给变量赋初值是变量说明的一部分,赋初值后的变量与其后的同类型的其他变量之间仍必须用逗号间隔,而赋值语句之间则必须用分号间隔。4)赋值表达式是一种表达式,它可以出现在任何允许表达式出现的地方,而赋值语句则不能。6 6.1.1.3 3 数据的输入输出数据的输入输出 (1)putchar 函数(字符输出函数)putchar 函数是字符输出函数,其功能是在显示器上输出单个字符。其一般形式为:putchar(字符变量字符变量)(2)getchar 函数(键盘输入函数)getchar函数的功能是
4、从键盘上输入一个字符。其一般形式为:getchar()1.1.字符数据的输入输出字符数据的输入输出(1 1)getchar 函数只能接受单个字符,输入数字也按字符处理。输入多于一个字符时,只接收第一个字符。6 6.1.1.3 3 数据的输入输出数据的输入输出 (2 2)使用本函数前必须包含文件“stdio.h”。(3 3)在 TC 屏幕下运行含本函数程序时,将退出TC 屏幕进入用户屏幕等待用户输入。输入完毕再返回 TC 屏幕。(3 3)程序最后两行可用下面两行的任意一行代替:putchar(getchar();printf(“%c”,getchar();。6 6.1.1.3 3 数据的输入输出
5、数据的输入输出 (1)printf 函数(格式输出函数)printf 函数称为格式输出函数,其关键字最末一个字母f即为“格式”(format)之意。其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。2.2.格式输入输出格式输入输出 1)printf 函数调用的一般形式调用的一般形式:printf(“(“格式控制字符串格式控制字符串”,输出表列,输出表列)a=3;b=4;printf(“a=%d,b=%d”,a,b);格式说明格式说明 普通字符普通字符 输出列表输出列表 运行结果:运行结果:a=3,b=46 6.1.1.3 3 数据的输入输出数据的输入输出 6 6.1.1.3 3 数据的
6、输入输出数据的输入输出 2)格式字符 (1)d 格式符d d:按十进制整型数据的实际长度输出1234md:m为指定的输出字段的宽度ld:输出长整型数据mld:m为指定的输出字段的宽度6 6.1.1.3 3 数据的输入输出数据的输入输出 (2)o 格式符oomolomlo (3)x 格式符x:输出十六进 制整型数据mx:m为指定的 输出字段的 宽度lx mlx6 6.1.1.3 3 数据的输入输出数据的输入输出 (4)u 格式符u:输出 unsigned 整型数据,以十进制整数形式输出。(5)u 格式符说明:说明:一个0255之间的整数可以用”%c”以字符的形式输 出;一个字符也可以用”%d”以
7、整数的形式输出。c:输出一个字符。mc:m为指定的输出字段的宽度。6 6.1.1.3 3 数据的输入输出数据的输入输出 (6)s 格式符:输出一个字符串s:按字符串的实际长度输出。ms:m为指定的输出字符串的宽度。如果字符串的 实际长度大于m,则突破m的限制,字符串全部 输出;若串长小于m,则左补空格。-ms:若串长小于m,则字符串向左靠,右补空格。m.ns:输出占m列,但只输出字符串中左端n个字符。-m.ns:如果nm,则m自动取n值,即保证n个字符能正 常输出。6 6.1.1.3 3 数据的输入输出数据的输入输出 (7)f 格式符:输出实数(单精度和双精度)f:按字实数的实际长度输出。m.
8、nf:输出占 m 列,其中 n 位小数,如果数值长度 小于 m,则左端补空格。-m.nf:(8)e 格式符:以指数形式输出实数e:一般 C 语言编译系统自动指定给出数字部分的 小数位数是6位,指数部分是5位。m.ne:n 指拟输出的数据的小数部分的小数位数。-m.ne:6 6.1.1.3 3 数据的输入输出数据的输入输出 (9)g 格式符:输出实数(单精度和双精度)g:用来输出实数,它根据数值的大小,自动选择选用f格式或e格式,且不输出无意义的0。说明:格式控制字符里,除了X,E,G,其它的必须用小写。如果想输出%,必须在格式控制中用两个连续的%表示。6 6.1.1.3 3 数据的输入输出数据
9、的输入输出 (2)scanf 函数(格式输入函数)共同特点是:原始数据不是编写在程序中,而是当程序运行时,才从键盘上输入数据。scanf 函数称为格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。1)scanf 函数的一般形式 scanf 函数是一个标准库函数,它的函数原型在头文件“stdio.h”中,与 printf 函数相同,语言也允许在使用scanf 函数之前不必包含s tdio.h 文件。scanf 函数的一般形式为:scanf(“scanf(“格式控制字符串格式控制字符串”,地址表列,地址表列););6 6.1.1.3 3 数据的输入输出数据的输入输出 2)格式字符
10、串 格式字符串的一般形式为:%*输入数据宽度输入数据宽度长度长度 类型类型1类型:表示输入数据的类型2“*”符:用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。6 6.1.1.3 3 数据的输入输出数据的输入输出 1宽度:用十进制整数指定输入的宽度(即字符数)2长度:长度格式符为l和h,l表示输入长整型数据(如%ld)和双精度浮点数(如%lf)。h表示输入短整型数据。格式格式字符意义字符意义d输入十进制整数o输入八进制整数6 6.1.1.3 3 数据的输入输出数据的输入输出 格式格式字符意义字符意义x输入十六进制整数u输入无符号十进制整数f或e输入实型数(用小数形式或指数形式)c输入
11、单个字符s输入字符串1scanf 函数中没有精度控制,不能企图用此语句输入小数为2位的实数。6 6.1.1.3 3 数据的输入输出数据的输入输出 2scanf 中要求给出变量地址,如给出变量名则会出错。3在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔则可用空格,TAB 或回车作间隔。C编译在碰到空格,TAB,回车或非法数据(时即认为该数据结束。4在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。6 6.1.1.4 4 顺序结构程序设计举例顺序结构程序设计举例 【例6.14】输入三角形的三边长,求三角形面积。已知三角形的三边长a,b,c,则该
12、三角形的面积公式为:)()(csbsassarea源程序如下:#include“math.h”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);printf(“a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2fn”,a,b,c,s);printf(“area=%7.2fn”,area);其中 s=(a+b+c)/26.1.4 顺序结构程序设计举例顺序结构程序设计举例6 6.1.1.4 4 顺序结构程序设计举例顺序结构程序设计举例 要注意数
13、学上面的表达式要在程序里书写成符合C语言语法规则的形式,譬如1/2要写成1.0/2等。要注意 sqrt 是个求数的开方的函数,里面的参数值要保证=0。由 于 程 序 中用 到 了 数 学函数sqrt,所以 必 须 在 程序 最 开 始 的地 方 加 上 文件包含命令。6 6.1.1.4 4 顺序结构程序设计举例顺序结构程序设计举例 【例6.15】求 ax2+bx+c=0 方程的根,a,b,c由键盘输入,设 b2-4ac0。求根公式为:abp2aacbq242#include“math.h”main()float a,b,c,disc,x1,x2,p,q;scanf(“a=%f,b=%f,c=%
14、f”,&a,&b,&c);disc=b*b-4*a*c;p=-b/(2*a);q=sqrt(disc)/(2*a);x1=p+q;x2=p-q;printf(“nx1=%5.2fnx2=%5.2fn”,x1,x2);则 x1=p+q x2=p-q6 6.2 2.1 1 if 语句语句 if 语句:是用来判断所给定的条件是否满足,根据判定的结果(真或假)决定执行给定的某种操作之一。1.1.if 语句的形式语句的形式 1 1双边选择结构双边选择结构执行过程:执行过程:判断条件:判断条件:表达式取值非0,即条件成立,执行语句后继续向下执行。表达式取值为0,即条件不成立,跳过语句向下执行。P语句语句(
15、出口出口)YN(入口入口)格式:格式:if(表达式)语句6 6.2 2.1 1 if 语句语句 2.2.if 语句的形式语句的形式 2 2双边选择结构双边选择结构格式格式:if(表达式)语句1 else 语句2 执行过程:执行过程:判断条件:判断条件:表达式取值非0,即条件成立,执行语句1后继续向下执行。表达式取值为0,即条件不成立,跳过语句1执行语句2后向下执行。P语句语句1(出口)(出口)YN语句语句26 6.2 2.1 1 if 语句语句 2.2.if 语句的形式语句的形式 2 2双边选择结构双边选择结构格式格式:if(表达式)语句1 else 语句2 执行过程:执行过程:判断条件:判断
16、条件:表达式取值非0,即条件成立,执行语句1后继续向下执行。表达式取值为0,即条件不成立,跳过语句1执行语句2后向下执行。P语句语句1(出口)(出口)YN语句语句26 6.2 2.1 1 if 语句语句 3.3.if 语句的形式语句的形式 3 3多层选择结构多层选择结构格式格式:if(表达式1)语句1 else if(表达式2)语句2 else if(表达式3)语句3 :else if(表达式n)语句n else 语句n+1 执行过程:执行过程:依次计算各表达式的值,若表达式之值为非0,即条件成立执行其后的语句后,跳过其它语句,向下执行;若表达式之值为0,即条件不成立,则继续判断其它条件;当所
17、有的条件都不成立时,执行语句n+1后继续向下执行。6 6.2 2.1 1 if 语句语句 表达式1语句1Y表达式2N语句2Y表达式3N语句3Y表达式4N语句4Y语句5N6 6.2 2.1 1 if 语句语句 双边选择结构举例按升序输出两个实数l main()l float a,b;l scanf(%f,%f,&a,&b);l printf(na=%.1f,b=%.1f n,a,b);l if(ab)l printf(%.1f,%.1fn,b,a);l elsel printf(%.1f,%.1fn,a,b);l printf(Endn);这是一个这是一个双边结构双边结构6 6.2 2.1 1
18、if 语句语句 单边选择结构举例两个变量交换数据的实现方法注意:变量a,b交换内容不能简单地用a=b;b=a;来实现 正确的方法是借助一个中间变量(如t)来实现l main()l float a,b,t;l scanf(%f,%f,&a,&b);l if(ab)l t=a;a=b;b=t;/*变量交换变量交换 */l printf(%5.2f,%5.2fn,a,b);l printf(Endn);6 6.2 2.1 1 if 语句语句 1 1。先执行。先执行t=a;t=a;将将a a的值保存在的值保存在中间变量中间变量t t中中 2 2。再执行。再执行a=b;a=b;将将b b的值赋给变量的值
19、赋给变量a a 3 3。最后执行。最后执行b=t;b=t;将将t t中保存的变量中保存的变量a a的原来值赋给变量的原来值赋给变量b b6 6.2 2.1 1 if 语句语句 多层选择结构举例判别键盘输入字符的类别#include stdio.hmain()char c;printf(input a character:);c=getchar();if(c=0&c=A&c=a&c0)0 (x=0)-1 (x=0)if(x0)y=1;else y=0;else y=-1;printf(x=%d,y=%dn,x,y);6 6.2 2.1 1 if 语句语句 用 if 嵌套结构求分段函数的值 这是一
展开阅读全文