简单程序和选择语句.ppt_第1页
简单程序和选择语句.ppt_第2页
简单程序和选择语句.ppt_第3页
简单程序和选择语句.ppt_第4页
简单程序和选择语句.ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章 简单程序和选择语句,1 三种流程结构 顺序、分支、循环 2 C语句概述 (1) 表达式语句 (2) 复合语句 (3) 选择语句(if和switch) (4) 循环语句(while,do-while和for) (5) 转移语句(break,continue,goto和return) (6) 标号语句,31 流程控制和语句,32 表达式语句 语法格式: 表达式 ; (赋值语句,函数调用语句等),33 复合语句 语法格式: 语句 语句 复合语句在语法上等同于一条语句。,如:#include ,C语言没有输入输出语句,其输入输出均采用标准函数来实现。,要使用标准输入输出函数,必须在使用前加以说明,其说明方式是在程序的开头使用包含编译预处理命令把标准输入输出头文件包含到本文件中即可。,34 输入输出函数调用,341 字符输出函数 putchar(),342 字符输入函数 getchar(),343 格式输出函数 printf(),344 格式输入函数 scanf(),341 字符输出函数 putchar(),1函数原型为:int putchar(int c);,功能: 将要输出的字符码转换为unsigned char送到标准输出设备中去。 返回值是被输出的字符,如果出错则返回EOF。,调用格式为:putchar(c) 其中c为实参。,342 字符输入函数 getchar(),1函数原型为:int getchar(void);,功能: 从键盘缓冲区读一个字符。 返回值是读入的字符,如读到文件尾则返回EOF。 此函数无参数,调用格式为:getchar(),343 格式输出函数 printf(),函数原型为:int printf(const char *format,);,format为格式字符串, “”为输出的表达式表,它的项数是可变的。,调用格式为: printf(格式字符串,输出表达式表); 此函数至少必须给出第一个参数。,格式字符串中可以包含普通字符和格式字符,普通字符照原样输出,格式字符说明输出数据所需的格式,格式字符也叫转换字符,转换说明的形式为: %flagswidth.precF|N|h|l|Ltype 每种格式均以%开头,以格式字符结尾。,printf函数的格式字符串,344 格式输入函数 scanf(),函数原型为:int scanf(const char *format,);,format为格式字符串,它与printf函数中的格式相似。 “”为地址表,它的项数是可变的。,调用格式为: scanf(格式字符串,地址表); 此函数除必须给出第一个参数外,至少需要读入一个数据。,格式字符串中可以包含普通字符和格式字符,普通字符照原样输入,格式字符说明输入参数所需的格式和类型,格式字符也叫转换字符,转换说明的形式与printf函数类似,格式为: % width h|l|Ltype 每种格式均以%开头,以格式字符结尾。,scanf函数的格式字符串,注:整型还可以使用大写的 D,I,O,U,X 表示长整型,E,G 同 e,g,35 流程图,常用的流程图有传统流程图、结构化流程图和PAD图。这里主要介绍传统流程图和结构化流程图。,一、传统流程图,处理框,判断框,流向,开始结束,A,连接点,用传统流程图来表示三种基本结构,步骤1,步骤2,步骤n,顺序结构,条件,语句1,语句2,分枝结构,T,F,条件,T,循环体,F,当型(while) 循环,条件,T,循环体,F,直到型循环(do循环的反条件),循环结构,二、结构化流程图,顺序结构,条件,T,F,语句1,语句2,(可以没有),分枝结构,条件,循环体,当型循环,循环体,条件,直到型循环,循环结构,36 if 语句,语法:,1、,if(表达式)语句,2、,if(表达式)语句1 else 语句2,表达式,语句,非0,0,表达式,语句1,语句2,非0,0,例1:任意输入一个整数如果为正数,则输出,否则不输出。,输入一个整数x,开始,打印输出x,x=0吗,是,否,结束,#include main() int x; scanf(“%d”, ,例2:任意输入两个整数,输出其中最大的。,输入两个整数x,y,开始,打印输出x,xy吗,是,否,结束,#include main() int x,y; scanf(“%d%d”, ,打印输出y,例3:求分段函数y= 。,输入实数x,开始,y=sin(x)+cos(x),x=5吗,是,否,结束,#include #include main() float x,y; scanf(“%f”, ,y=x2+x+1,sin(x)+cos(x) x=5,x2+x+1 x5,输出y,37 if 嵌套,if语句格式: if(表达式)语句1 else 语句2,在if语句中的语句1和语句2处还可以写if语句,此时称为if嵌套,如: if(表达式1) if(表达式2) 语句1 else 语句2 else if(表达式3) 语句3 else 语句4,如: if(表达式1) if(表达式2) 语句1 else if(表达式3) 语句3 else 语句4,如: if(表达式1) if(表达式2) 语句1 else 语句2 elseif(表达式3) 语句3 else 语句4,例:编程计算下列分段函数:,y = 2x-2 (1x10),x (x1),2x-20 (x10),#include #include main() float x,y; scanf(“%f“,if(x1) y=x; else if(x10) y=2*x-2; else y=2*x-20; printf(“x=%f,y=%fn“,x,y); getch(); ,例如:解一元二次方程ax2+bx+c=0的根,输入三个数a,b,c,开始,a=0吗,是,否,结束,b=0吗,c=0吗,输出无穷解,输出无解,输出x= -c/b,否,否,是,是,计算d=b2-4ac,d0吗,计算两个不相等的实根 x1,x2并输出,是,D0吗,是,计算两个相等的实根 x1,x2并输出,否,计算两个共轭的复实根 x1,x2并输出,否,#include #include #include #define EPS 1.0e-5 main() double a,b,c,d,x,x1,x2,r,im; scanf(“%lf%lf%lf“, ,else d=b*b-4*a*c; if(dEPS) x1=(-b+sqrt(d)/(2*a); x2=(-b-sqrt(d)/(2*a); printf(“x1=%.2f,x2=%.2fn“,x1,x2); else if(fabs(d)EPS) x=-b/(2*a); printf(“x1=x2=%.2fn“,x); else r=-b/(2*a); im=fabs(sqrt(-d)/(2*a); printf(“x1=%.2f+%.2fin“,r,im); printf(“x2=%.2f-%.2fin“,r,im); getch(); ,38 switch语句(开关语句),switch 语句格式: switch(表达式) case 常量表达式1 : 【语句块1】 case 常量表达式2 : 【语句块2】 case 常量表达式n : 【语句块n】 【default : 语句块n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论