最新版课件最新版课件c语言 (76)_第1页
最新版课件最新版课件c语言 (76)_第2页
最新版课件最新版课件c语言 (76)_第3页
最新版课件最新版课件c语言 (76)_第4页
最新版课件最新版课件c语言 (76)_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论