版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、表达式语句1语句210if(表达式) 语句1 else 语句2if(表达式1) 语句1else if(表达式2) 语句2else if(表达式3) 语句3.else if(表达式n-1) 语句n-1else 语句nelseif语句ifelse语句假表达式1表达式2语句1语句2语句n-1语句n真表达式n-1真假真假假表达式是单个推断前提用关系表达式示意当多推断前提时要用逻辑表达式13.1 输入一批字符,统计各类字符的数量 3.1.1 程序解析例3-1 输入10个字符,统计其中英文字母、空格或回车、数字和其他字符的个数.输入cc=英文打印c=数字c= 或c=n111000停letter+digit
2、+blank+other+letter=digit=blank=other=0;i=1i=10i+102#include void main( ) int blank, digit, i, letter, other; char ch; blank=digit=letter=other=0; printf(input 10 characters: ); for(i=1;i=a&ch=A&ch=0&ch=a&ch=A&ch=0&ch 大小 - 大辨识:数字 1 数字字符 1差别52.字符变量使用类型关键字char定义字符变量 标准 char 变量名
3、1,变量名2,; 例 char h;定义字符变量,用于存放字符型信息.似 ch = A;注注 每个字符变量只能存一个字符每个字符变量只能存一个字符63.1.3 字符输入输出1. putchar 函数函数标准 putchar(C); 其中 C:字符常量或字符变量操纵 输出一个字符需要预编译号令 #include 例 #include void main() char a,b,c; a=B;b=O;c=Y; putchar(a);putchar(b);putchar(c);putchar(n); 7例 #include stdio.h void main() char c; c=getchar()
4、; putchar(c); 履行到 c=getchar();守侯键盘键入一个字符输入 a 输出 a注 输完信息必须按 键入的字符不需单引号2. getchar()函数函数标准标准 getchar()操纵操纵 从键盘同意一个字符从键盘同意一个字符 注注 无参函数无参函数,括弧必须保留括弧必须保留.需要预编译号令需要预编译号令 #include 输入 Computer 输出 Computer 注 而不是 CCoommppuutteerr 例 #include stdio.h void main() char c; for(;(c=getchar()!=n; ) putchar(c); 83.1.4
5、 逻辑运算(ch = a & ch = A & ch = 0 & ch = -1 同时且 x = -1 & x = 1-1=x= 1 其中 &、| 为逻辑运算符逻辑运算符毗邻关系表达式,描述多前提推断x=-191. 逻辑运算符逻辑运算符 3种运算符种运算符& 逻辑与 11级 | | 逻辑或 12级 ! 逻辑非 2级双目运算 从左自右 单目运算 从右自左逻辑运算符的运算对象是逻辑值即 1 (真) 0 (假) 逻辑运算符操纵 a&b a | | b ! aab1 0101 00 0ab1 0101 01 1a1 0!a0 110逻辑表达式 用
6、逻辑运算符将逻辑运算对象毗邻起来的式子. 逻辑运算对象是1或0,也能够是常数、变量、函数、 表达式,即非0转成1(ch=a)&(ch=a&ch=a&ch=A&ch=Z) 推断ch 是否为英文字母似例3-1 逻辑表达式的值 1 (真) 或 0 (假)11例 判不p(x,y)点是否落在阴影部分对比 1.p(x,y)落在矩形之内 2.去掉p(x,y)落在圆内解 (-2x & x2) & (-2y & y=1&12#include void main( ) int blank, digit, i, letter, other; char
7、ch; blank=digit=letter=other=0; printf(input 10 characters: ); for(i=1;i=a&ch=A&ch=0&ch=9) digit+; else if(ch= |ch=n) blank+; else other+; printf(letter=%d,blank=%d,digit=%d,other=%dn, letter,blank,digit,other);例3-1 输入10个字符,统计其中英文字母、空格或回车、数字和其他字符的个数.133.2 使用switch语句统计字符 3.2.1 程序解析例3-2 查询
8、自动售货机中商品的价钞票. 假定自动售货机出售4种商品,薯片(crisps)、爆米花(popcorn)、巧克力(chocolate)和可乐(cola),售价分不是每份3.0、2.5、4.0和3.5元.在屏幕上表现以下菜单,用户能够接连查询商品的价钞票,当查询次数超过5次时,自动退出查询;不到5次时,用户能够挑选退出.当用户输入编号14,表现相应商品的价钞票(保留1位小数);输入0,退出查询;输入其他编号,表现价钞票为0.1 Select crisps2 Select popcorn 3 Select chocolate4 Select cola 0 Exit14#include void ma
9、in( ) int choice, i; float price; for( i = 1; i = 5; i+) printf(1 Select crisps n); printf(2 Select popcorn n); printf(3 Select chocolate n); printf(4 Select cola n); printf(0 exit n); printf(Enter choice: ); scanf(%d, &choice); if(choice=0) break; switch (choice) case 1: price=3.0; break; case
10、2: price=2.5; break; case 3: price=4.0; break; case 4: price=3.5; break; default: price=0.0; break; printf(price = %0.1fn, price); printf(Thanks n); 1 Select crisps2 Select popcorn 3 Select chocolate4 Select cola 0 ExitEnter choice: 1price = 3.01 Select crisps2 Select popcorn 3 Select chocolate4 Sel
11、ect cola 0 ExitEnter choice: 7price = 0.01 Select crisps2 Select popcorn 3 Select chocolate4 Select cola 0 ExitEnter choice: 0Thanks153.2.2 switch语句switch语句操作多分支挑选咨询题,3种情况1.在switch语句的每个语句段中都使用break语句switch(表达式)case 常量表达式1:语句段1; break; case 常量表达式2:语句段2 ; break; . case 常量表达式n:语句段n ; break; default : 语
12、句段n+1; break; 其中 表达式能够整型表达式、字符表达式、枚举信息 常量表达式I应是常数,各常量表达式互不相等 语句段I是一条语句或多条语句,也能够为空.操纵 统计表达式的值,将其值按次序与case的常量表达式的值匹配, 一旦相等履行case后语句段的语句,再履行break语句,跳出switch语句.如果无匹配履行default后的语句(如果default不存在,啥都不做)16switch (choice) case 1: price=3.0; break; case 2: price=2.5; break; case 3: price=4.0; break; case 4: pri
13、ce=3.5; break; default: price=0.0; break;if(choice=1) price=3.0; else if(choice=2) price=2.5; else if(choice=3) price=4.0; else if(choice=4) price=3.5;else price=0.0;用else-if实现172.在switch语句中不使用break语句switch(表达式)case 常量表达式1:语句段1 case 常量表达式2:语句段2 . case 常量表达式n:语句段n default : 语句段n+1 操纵 统计表达式的值,将其值按次序与c
14、ase的常量表达式的值匹配,一旦相等履行case后的语句,一向到switch语句末;如果无匹配执 行default后的语句switch (choice) case 1: price=3.0; case 2: price=2.5; case 3: price=4.0; case 4: price=3.5; default: price=0.0;price=?183.在switch的某些语句段中使用break语句操纵 一旦遇到break语句,跳出switch语句.例3-3 输入10个字符,分不统计出其中空格或回车、数字和其他字符的个数.输入cc=? 打印停c= 或c=nc=数字defaultdig
15、it+blank+other+digit=blank=other=0;i=1i=1010i+19void main( ) int blank, digit, i, other; char ch; blank=digit=other=0; printf(input 10 characters: ); for(i=1;i=10;i+) ch=getchar(); switch (ch) case : case n: blank +; break; case 0 : case 1 : case 2 : case 3 : case 4 : case 5 : case 6 : case 7 : case
16、 8 : case 9 : digit +; break; default: other +; break; printf(blank=%d, digit=%d, other=%dn, blank, digit, other);input 10 characters: Reold 123?blank=1, digit=3, other=620 3.3 分支结构程序设计 分支结构分为二分支和多分支程序设计使用 if 和 switch 语句标准 if(表达式) 语句1 else 语句2表达式语句1语句210表达式语句110标准 if(表达式) 语句1 21例3-4 输入2个数,似果它们的值不相等,
17、那么交流同时输出它们的值;否那么,输出“equal”.流程图输入a,ba!=b10t=aa=bb=t输出a,b打印equal停#include void main( )int a,b,t; printf(input a, b: ); scanf(%d%d, &a, &b); if(a!=b) t=a; a=b; b=t; printf(a=%d,b=%dn,a,b); else printf(equaln);程序input a, b: 12 12equal 运算注 不能写成if(ab) t=a;a=b;b=t;而 if(ab) t=a,a=b,b=t; 能够.22例3-5 输入
18、3个整数,输出其中的最大值输入a,b,cmax=amaxb10max=bmaxc10max=c输出max停#include void main( )int a,b,c,max; printf(input a,b,c:); scanf(%d%d%d,&a,&b,&c); max=a; if(maxb) max=b; if(maxc) max=c; printf(max is %dn,max);input a, b, c: 2 10 6max is 10input a, b, c: -2 -10 -6max is -223多分支结构有多种形式实现方式:嵌套的if语句swit
19、ch语句24似 if(表达式1) if(表达式2) 语句1; else 语句2; else if(表达式3) 语句3; else 语句4;第一个if的语句1第二个if的语句2 现实上elseif形式便是嵌套的if特例,else后的语句中又见谅另一个if语句.252321211)(xxxxxxxf例2-7x1y=x+1y=x+210y=x+3x201if (x1)y=x+1;else if(x2) y=x+2;else y=x+3;x2y=x+1y=x+210y=x+3x101if (x2) if(x1)y=x+1; else y=x+2;else y=x+3;elseif形式嵌套的if形式26
20、注 if 与else的配对关系,从最内层最先else老是与上面近来的if配对似 if(表达式1) if(表达式2) 语句1; else if(表达式3) 语句2; else 语句4; if(表达式1) if(表达式2) 语句1; else if(表达式3) 语句2; else 语句4;答案 Bif(ab) if(cd) x=1; else if(ac) if(b0) if(ab) x=a; else x=b;if (m0) if(ab) x=a; else x=b;0baa=xm且示意统计示意m0时统计x=max(a,b)或 if (m0) if(ab) x=a; else ;else x=b;注 不要遗漏else前的分号28假表达式1表达式2语句段1语句段2语句段n-1语句段n真表达式n-1真假真假假表
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年野生动物活动监测巡查测试试卷及答案
- 2026年实验小学漠视侵害群众利益突出问题专项自查报告
- 宜宾市江安县2026年辅警招聘公安基础知识考试题库及答案
- 预防火灾消防安全教育课件
- 2026年四川省德阳市中考物理试题(含答案及解析)
- 电工考试题库2024(经典版)
- 第二章+海洋工程环评相关法律法规、标准与制度
- 地方病竞赛试题及答案
- 大班语言《看图讲故事》
- 船舶水手工试题
- 2026中国生物医药产业发展动态及投资前景预测报告
- 6.2 民主政治不断发展 课件(内嵌视频)2026-2027学年统编版道德与法治九年级上册
- 2026年司法考试《刑法》专项训练卷(附答案)
- 2026年低压电工证考试试题及答案
- 2026年广西壮族自治区百色市辅警招聘试题及答案
- 重大会议保障及应急处置工作指南
- 2026秋统编版九年级上册道德与法治全册背诵提纲
- 2026年病理生理学试题题库(含答案)
- 2026年安徽省中考物理电学基础知识巩固习题课件
- 2026年道路危险货物运输押运人员从业资格考试题库(含答案)
- (2026)低分子肝素钙皮下注射规范课件
评论
0/150
提交评论