资源预览内容
第1页 / 共27页
第2页 / 共27页
第3页 / 共27页
第4页 / 共27页
第5页 / 共27页
第6页 / 共27页
第7页 / 共27页
第8页 / 共27页
第9页 / 共27页
第10页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第二、三讲 第三章第三章 顺序结构程序设计顺序结构程序设计 数据输出数据输出 数据输入数据输入 第四章第四章 选择结构程序设计选择结构程序设计 选择结构选择结构 选择结构实现一选择结构实现一 if if语句语句 选择结构实现二选择结构实现二 else ifelse if语句语句 选择结构实现三选择结构实现三 if if语句的嵌套语句的嵌套 关系表达式和逻辑表达式关系表达式和逻辑表达式 顺序结构顺序结构顺 序 结 构三种基本结构三种基本结构顺序结构 、选择结构、循环结构 顺序结构顺序结构开 始赋 值处 理int a , b, c;a=10; b=4;c=a+b;main( ) printf(“%d,%d,%d”,a,b,c);输 出结束 流程图流程图赋 值 处 理 输 出 N-SN-S图图赋值语句赋值语句变量=表达式;格式功能先计算表达式的值后赋给左边的变量注意“=”不是等号而是赋值号定 义定 义数 据 输 出printf(“格式控制”,输出项)printfprintf函数的格式函数的格式如: printf(“%d,%d,%d”,a,b,a+b)如: printf(“ t= %f, sint= %f n ”,t,sin(t)格 式 说 明%d按十进制输出整数格式控制意 义%f按小数形式输出实数n换行其它字符原样输出例:当a=10,b=-5.3时,写出下面语 句的输出结果格式输出语句格式输出语句printf(“格式控制”,输出项);printf(“%d , %f”,a,b);10,-5.300000printf(“a=%d nb=%f”,a,b);a=10 b=-5.300000输出项:变量、表达式、函数 格式控制: 为输出项提供格式说明 提供需要原样输出的文字或符号; ;格式说明符的个数与输出项个数相等 格式说明符的类型与输出项类型相同数 据 输 出控制输出数据的宽度控制输出数据的宽度 格式说明意 义数据宽度%d按十进制输出整数%f按小数形式输出实数系统决定%md注:m、n为整型常数按十进制输出整数占m位,m大左补空格,m小按实际例1 a=23,b=34,c=-55,写出下面语句 的运行结果 printf(“a=%d,b=%5d,c=%2d”,a,b,c)a=23 ,b=34,c=-55%m.nf按小数形式输出实数(小数占6位不够补零).(实际位数)系统决定n位m位(含小数点)例2 t=2.346写出下面语句的运行 结果 printf(“t=%f,%5.2f,%3.2f”,t,t,t)t=2.346000,2.35 ,2.35m大左补空格 m小按实际举 例例1 已知三边长,求三角形面积(四舍五入保留两位小数)。输 入 处 理 输 出如何保留小数? 13.45613.46 1)移动小数点13.456*1002)加0.51345.6+0.53)取整 4)小数点还原1346/100area*100.0=1345.6=1346.1 1346=13.46 (int)( )+0.5 /100用同一个程序计算边长为 不同值的三角形面积设边长为a、b、c,则:问题s=(a+b+c)/2;float a,b,c,s,area; a=3.0;b=4.0;c=6.0;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(“area=%fn”,area);area=(int)(area*100+0.5)/100.0;#include “stdio.h”void main( ) %f%6.2fprintf(“a,b,c=%f,%f,%fn”,a,b,c);a,b,c=area=3.000000,4.0000005.336.004.00,6.0000005.330000a,b,c=3.00area=#include “math.h”数据输入 scanfscanf函数的格式函数的格式 scanf(“格式控制”,地址表)如:scanf(“%d,%f”, 数据输入语句数据输入语句;%d按十进制输入整数格式 说明格式控制意 义%f按小数形式输入实数其它字符原样输入scanf(“%d,%f”,scanf(“a=%d,b=%f”,2 2 2.52.5 : :数据间的分隔符2 2 ,2.52.5 2 2,2.52.5 a=a=b=b=输 入 缓冲区ab内存 单元 意义意义程 序 运 行 时例1更改例2 将两个变量中的值互换。分 析ab 211a 2b方法一:ab21a=b b=a11方法二:酱油酱油醋2a=b b=cc醋酱油酱油=acab2a1bc12输 入 交 换 输 出void main( ) int a,b,c;scanf(“%d,%d”,c=a; a=b; b=c; printf(“a=%d,b=%dn”,a,b); printf(“a=%d,b=%dn”,a,b);printf(“Please input a,b:”);中间变量的类型要与原始变量一致Please input a,b:2 , 1 2 , 1 a=2, b=1 a=1, b=2#include “stdio.h”实际问题数学模型计算方法编 程编辑程序编译查错连接错?修改程序修改算法模型运行结束错?运行程序错?编写、调试、运行程序小结yyynnn输出结果第三章上机练习题vP42,习题3vP43,习题4、5、6、7vP44,习题8举 例实现用同一个程序计算边长 为不同值的三角形面积例1 已知三边长,求三角形面积(四舍五入保留两位小数)。s=(a+b+c)/2;float a,b,c,s,area; a=3.0;b=4.0;c=6.0;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(“area=%fn”,area);area=(int)(area*100+0.5)/100.0;#include “stdio.h”void main( ) printf(“a,b,c=%f,%f,%fn”,a,b,c);#include “math.h”scanf(“%f,%f,%f”,x0? x0?YESYESNONO真真假假选 择 结 构#include“stdio.h” void main( ) int x;scanf(“%d”,if(x0)printf(“x=%d,YES”,x);elseprintf(“x=%d,NO”,x); 选择结构选择结构 算法图示算法图示 流程图流程图 N-SN-S图图x0真YES假NOP49P59条件根据条件是否为 真而选择执行不 同的程序块关系表达式 关系运算符及其优先级关系运算符及其优先级( (小于等于小于等于) )=( (大于大于) )= = =( (大于等于大于等于) )!=!=( (等于等于) )( (不等于不等于) )同同 级级同同 级级高高低低 关系表达式关系表达式 ab ab -1!=-1!=c+3 c+3 各种运算符的优先级各种运算符的优先级 关系表达式的计算结果关系表达式的计算结果t=5=3 t=5=3 算术算术关系关系赋值赋值得整数值:0或10 0:假假 1 1:真真例例 若若a=5,b=7a=5,b=7, ,计算表达式的值计算表达式的值 b (a=4)+14 45 51 1c=ac=%d,YES”,x);elseelse printf(“nxprintf(“nx=%d,NO ”,x);=%d,NO ”,x);if if(x0x0) printf(“nxprintf(“nx=%d”,x);=%d”,x);elseelse printf(“nxprintf(“nx=%d”,x);=%d”,x);printf(“YESprintf(“YES”);”); printf(“NOprintf(“NO”);”); 非非0:0:真真0:0:假假退出退出if子句或else子句包含多个 语句时,就要用 括起来表达式为真? 真If子句假else子句例例1 1 判断一个数能否被判断一个数能否被3 3整除,若能被整除,若能被3 3整除,计算该数的立方,整除,计算该数的立方, 并打印并打印yesyes,否则,计算该数的平方,并打印否则,计算该数的平方,并打印nono。 void main( )void main( ) intint x,pf,lf; x,pf,lf; printf(“nPleaseprintf(“nPlease input x:”); input x:”); scanf(“%d”, ); if(x%3=0)if(x%3=0) lf=x*x*x;lf=x*x*x; printf(“xprintf(“x=%d,yesnlf=%d”,x,lf);=%d,yesnlf=%d”,x,lf); elseelse pf=x*x;pf=x*x; printf(“xprintf(“x=%=%d,nonpfd,nonpf=%d”,x,pf); =%d”,x,pf); x%3=0真计算x x3 3假计算x x2 2输入x输出yes 输出no结束举 例# #include“stdio.hinclude“stdio.h” ”if语句 省略省略elseelse的选择结构的选择结构if if(表达式)表达式)if if子句子句 执行过程执行过程表达式为真表达式为真? ?if if子句子句真真假假退出退出例例2 2 写出程序的运行结果写出程序的运行结果void main( )void main( ) intint a,b,s; a,b,s;if(a=0) if(x0) y=1; else y=0; else y=-1; x 1 00 -9 -1在在if if子句中嵌套具有子句中嵌套具有 elseelse子句的子句的if if语句语句, ,不不 会发生语法错误会发生语法错误y=-1; if(x!=0) if(x0) y=1; else y=0; x1 0 -1 -9 0y=-1; if(x!=0) if(x0) y=1; else y=0; x 10 0 -9 -1在在if if子句中嵌套没有子句中嵌套没有elseelse 子句的子句的if if语句语句, ,内嵌的内嵌的if if语语 句要用句要用 、 括起来括起来. .y 40y40y40举 例举 例例7 编写程序计算表达式的值:x-5 else If(x10) y=x-1; else y=x+1; printf(“xprintf(“x=%5.2f,y=%5.2f,y= %5.2f”,x,y);%5.2f”,x,y); x10真 y=x-1y=x+1假void main( )多分支选择结构 switchswitch语句语句switch(switch(表达式)表达式) case case 常量表达式常量表达式1 1: :语句语句1 1case case 常量表达式常量表达式2 2: :语句语句2 2 case case 常量表达式常量表达式n n: :语句语句n ndefault :default :语句语句n+1n+1 语 句 体整型类型相同零个或一个以 上的语句 执行过程执行过程计算表达式的值
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号