




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
clrscr(); /*清屏*/选择结构一、单分支选择语句1. 格式 if(表达式) 语句2. 功能 当表达式的值为非0(真、条件成立)时,执行“语句”。否则执行if之后的下一句。 3. 说明(1)表达式可以是任意类型的表达式(结果是数值型),但通常是关系或逻辑表达式。也可以是数值型的常量或变量(它们是最简单的表达式)。(2)“语句”可以是以分号结束的单个语句,也可以是一个复合语句。不可以是多个语句。4. 举例例1、任意读入两个整数,然后输出其中的较大者。main()int x,y; scanf(%d%d,&x,&y); if(xy)printf(%dn,x); if(y=x)printf(%dn,y); 二、双分支if语句【格式】if(表达式) 语句1else 语句2【功能】【说明】1.“语句1”和“语句2”可以分别是以分号结束的单个语句,也可以分别是一个复合语句。都不可以是多个语句。2. else子句不可以独立存在。改写上例:任意读入2个整数,输出较大数。main()int x,y; scanf(%d%d,&x,&y); if(xy) printf(%dn,x); else /*暗含两种情况:和=*/ printf(%dn,y);例如:任意读入2个整数,按从小到大的顺序输出这2个数。【法1】main()int x,y; scanf(%d%d,&x,&y); if(xy) t=x; x=y; y=t; printf(%d,%dn,x,y);【基本算法一:两数交换,借助第三数】 t=x; x=y; y=t;【思考:本题改成“任意读入3数,从小到大输出”】三、多分支if语句【格式】 if(表达式1) 语句1 else if(表达式2) 语句2 else if(表达式3) 语句3 else 语句n+1【功能】【注意】else和if之间有空格。 最后的else子句可以省。【举例】例1、批发铅笔,批发量x,100x300,打7折;300x500,打5折;500x1000,打4.5折;x=1000,打4折。其余不打折。求顾客应付款。(1元/支)【法1:多分支选择语句】main()int x; float cost; scanf(%d,&x); if(x=1000) cost=1*x*0.4; else if(x=500) cost=1*x*0.45; else if(x=300) cost=1*x*0.5; else if(x=100) cost=1*x*0.7; else cost=1*x; printf(cost=%fn,cost);%m.nf(m、n是正整数,通常mn,m表示整个实数所占显示宽度,包含小数点,实数宽度不够时,左补空格;n表示小数点右边的位数。)例如:printf(%6.2fn,3.14159);UU3.14(U代表空格)又如:printf(%3.4fn,3.14159);3.1416【注意】%m.nf的格式可以省写成“%.nf”,即可将m省略。%-m.nf(若数宽度不够,则右补空格)%.nf(m可以省,满足小数点后保留n位,该实数实际需要占多少位,就占多少位。)关于整数:%md: 输出的整数若位数不足m位,左补空格。%-md: 输出的整数若位数不足m位,右补空格。例:任意读入一个年份,判断其是否为闰年。(能被400整除,或能被4整除且不能被100整除的,就是闰年)四、if语句的嵌套(if语句中含有另一个if语句)例1:铅笔打折的改写。main()int x; float cost; scanf(%d,&x); if(x100) cost=1*x; else if(x300) cost=1*x*0.7; else if(x500) cost=x*1*0.5; else if(x1000) cost=1*x*0.45; else cost=1*x*0.4; printf(cost=%.2fn,cost);【注意】(1)外选择语句必须完整地包含内选择语句,请缩进书写。(2)else总是和前面最近的一个没有配对且有资格配对的if配对。例2、任意读入一个字符,判断其是否为数字字符,若是,进一步判断其是否为5,是就输出该字符及其ASCII码值;若不是数字字符,就输出“Is not digit!”。【法一:利用ASCII值判断】#includemain()char c; c=getchar(); if(c=0&c=9) if(c=5) printf(%c,%dn,c,c); else puts(Is not digit!n);【用取消内if的配对资格!】【法二:利用系统函数isdigit判断数字字符】用系统函数(库函数):isdigit(字符型数据)含义是判断“字符型数据”是否为数字字符。(是,则函数返回值为非0;否则为0),使用时一定要加头文件“ctype.h”。#include #include main()char x; scanf(%c,&x); if(isdigit(x)!=0) /*逻辑等价于isdigit(x)*/ if(x=5) printf(%c:%dn,x,x); else printf(Is not digit!n);【将光标移到系统函数名下方,然后按Ctrl+F1,弹出对应头文件名。按Esc键回到蓝色编辑环境。】【结论】(1)用扩住某单分支if语句,可以取消其与else的配对资格!(2)两组逻辑等价式:变量a格式a取值逻辑等价式 a0或非0a!=0 !a0或非0a=0【解释:】数值数据aa!=00(假)假非0(真)真所谓“逻辑等价”就是,当某式子的结果被当做逻辑值用时,其逻辑等价式的真值与该式子完全一致。五、多分支switch语句【格式】 switch(表达式) case 常量1:语句块1;break; case 常量2:语句块2;break;case 常量3:语句块2;break;default: 语句n+1;【说明】(1)switch后的表达式通常是整型或字符型表达式(常量、变量);(2)case后的常量必须是整型或字符型。(3)“break;”语句只能出现在switch或循环语句中。作用是跳出所在语句结构。(4)“语句块1;语句块n+1;”可以是若干个语句,不必构成一个复合语句。(5)default分支可以省略。【功能】例1:改写铅笔。#includemain()int x; float cost; scanf(%d,&x); switch(x/100) case 0: cost=1*x; break; case 1: case 2: cost=1*x*0.7;break; case 3: case 4: cost=1*x*0.5;break; case 5: case 6: case 7: case 8: case 9: cost=1*x*0.45; break; default:cost=1*x*0.4; printf(%.2fn,cost);【而以下也正确】#includemain()int x; float cost; scanf(%d,&x); switch(x/100) case 1: case 2: cost=1*x*0.7;break; default:cost=1*x*0.4;break; case 3: case 4: cost=1*x*0.5;break; case 5:case 6:case 7:case 8: case 9: cost=1*x*0.45; break; case 0: cost=1*x; printf(%.2fn,cost);【注意】(1)各分支位置可以不分先后(不好!应试的)。但依然只有最后一个分支可以不加break;语句!。(2)两个(或以上)相邻分支的操作一样,可将对应语句写在最后一个分支上。(3)如果前面的分支缺了b
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 承德高速招聘考试题库及答案
- 化工工程师考试题及答案
- 2025年项目合作合同
- 2025年广西专业技术人员公需科目考试试题和答案
- 2025年广西梧州市公需课培训(专业技术人员继续教育)试题及答案
- 珠宝鉴定专业考试试题及答案
- 地理开卷考试题型及答案
- 安徽二造考试真题及答案
- 中级数学考试题库及答案
- 五级验光员考试题库及答案
- 乡级增补叶酸培训课件
- 信访诉求书撰写指南2025
- 2024邯郸大名县招聘村(居)党务、村务(居务)工作者354名招聘笔试备考试题及1套参考答案详解
- 医生法律法规知识培训课件
- 人教版 2024 版历史八年级上册第五单元 第 13 课《国共合作与北伐战争》检测卷
- 小学数学教师新课标考试试题(含答案)
- 农村处理矛盾纠纷课件
- 厂房搬迁管理办法
- 保险学考试题(附答案)
- 中药处方点评管理办法
- 国企纪法教育实施路径
评论
0/150
提交评论