版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Page 1 C 课程课程单元三单元三 顺序结构程序设计顺序结构程序设计Page 2 主要主要内容内容3.1 字符输入与输出字符输入与输出 3.1.1字符输出函数字符输出函数putchar()3.1.2字符输入函数字符输入函数getchar()3.2 格式化输入与输出格式化输入与输出3.2.1格式化输出函数格式化输出函数printf()(重点难点)(重点难点)3.2.2格式化输入函数格式化输入函数scanf()(重点难点)(重点难点)3.3 综合应用案例综合应用案例Page 3 程序设计输入输出程序设计输入输出问题引入问题引入编程解决问题需要三个步骤:编程解决问题需要三个步骤:第一步:数据输入
2、,准备好程序要处理的原始数据;第一步:数据输入,准备好程序要处理的原始数据;第二步:数据处理,对输入的原始数据进行处理;第二步:数据处理,对输入的原始数据进行处理;第三步:数据输出,通过屏幕显示等方式输出结果数据。第三步:数据输出,通过屏幕显示等方式输出结果数据。这里所提到的数据输入、数据处理和数据输出就构成了顺序结这里所提到的数据输入、数据处理和数据输出就构成了顺序结构的三个基本环节。那么在数据的输入和输出环节,如何使用构的三个基本环节。那么在数据的输入和输出环节,如何使用C语言进行描述呢?语言进行描述呢?【引例引例】根据三角形的三个边长,计算三角形的面积,其计算根据三角形的三个边长,计算三
3、角形的面积,其计算公式为:公式为:area= (其中(其中a、b、c为三角形的三个边长,为三角形的三个边长,s=(a+b+c)/2)试分析,通过编程解决该问题需要哪三个步骤:试分析,通过编程解决该问题需要哪三个步骤:(1)输入)输入 ;(;(2)计算)计算 ;(3)输出)输出 。 )()(csbsassabc运行结果:运行结果: Page 4 3.1 3.1 字符输入与输出字符输入与输出 3.1.1字符输出函数字符输出函数putchar( ) 3.1.2字符输入函数字符输入函数getchar( )Page 5 函数调用格式函数调用格式:putchar (ch);函数功能函数功能:在标准输出设备
4、上输出:在标准输出设备上输出一个字符一个字符。说明说明:函数参数:函数参数ch可以是整型或字符型的可以是整型或字符型的常量或变量常量或变量,也可以,也可以 是是表达式表达式,只要,只要ch的最终值可表示一个有效字符即可的最终值可表示一个有效字符即可。注意:注意:该函数包含在该函数包含在stdio.h库中,库中,3.1 3.1 字符输入与输出字符输入与输出 3.1.1字符输出函数字符输出函数putchar( ) 【例例3-1】1. putchar(A); /输出字符A2. putchar(101); 3. putchar(a-32); 4. int ch=65; putchar(ch); Pag
5、e 6 函数调用格式:函数调用格式:getchar( );函数功能:函数功能:在标准输入缓冲区中读取一个字符读取一个字符。说明:说明:函数参数为空,函数的返回值是从输入缓冲区 中读入一个字符,将字符可以赋值给一个字符 型或整型变量,也可作表达式的一部分。 3.1 3.1 字符输入与输出字符输入与输出 3.1.1字符输出函数字符输出函数putchar( ) 【例例3-2】1).char ch; ch=getchar( ); putchar(ch); 2).char ch; putchar(getchar(); /将读入的字符直接输出Page 7 3.1 3.1 字符输入与输出字符输入与输出 3.
6、1.1字符输出函数字符输出函数putchar( )Page 8 3.2 3.2 格式化输入与输出格式化输入与输出3.2.1格式化输出函数格式化输出函数printf( )3.2.2格式化输入函数格式化输入函数scanf() Page 9 printf( (“字符串常量字符串常量”) ); 如如: printf(“%d,%d,%d”,a,b,a+b) 如如: printf(“ t= %f, sint= %f n ”,t,sin(t)格格式式说说明明%d按十进制输出整数按十进制输出整数格式控制格式控制意意 义义%f按小数形式输出实数按小数形式输出实数n换行换行其它字符其它字符原样输出原样输出例例:
7、:当当a=10,b=-5.3a=10,b=-5.3时时, ,写出下面语写出下面语句的输出结果句的输出结果printf(“ 格式控制字符串格式控制字符串”,输出列表输出列表);printf(“%d , %f”,a,b);10,-5.300000printf(“a=%d nb=%f”,a,b);a=10b=-5.300000输出项输出项: :变量、表达式、函数变量、表达式、函数格式控制:格式控制: 为输出项提供格式说明为输出项提供格式说明提供需要原样输出的文字或提供需要原样输出的文字或字符字符; ; ;格式说明的个数格式说明的个数= =输出项个数输出项个数格式说明的类型格式说明的类型= =输出项类
8、型输出项类型( (顺序顺序) )3.2 3.2 格式化输入与输出格式化输入与输出3.2.1格式化输出函数格式化输出函数printf( ) Page 10 格式说明格式说明意意 义义数据宽度数据宽度%d按十进制输出整数按十进制输出整数%f按小数形式输出实数按小数形式输出实数系统决定系统决定%md按十进制输出整数按十进制输出整数占占m位位%m.nf按小数形式输出实数按小数形式输出实数(小数占(小数占6 6位)位).(实际位数)(实际位数)系统决定系统决定.n位位m位位3.2 3.2 格式化输入与输出格式化输入与输出3.2.1格式化输出函数格式化输出函数printf( ) 例例1 a=23,b=34
9、,c=-55,写出下面语句写出下面语句的运行结果的运行结果printf(“a=%d,b=%5d,c=%2d”,a,b,c)a=23,b= 34 , c=-55例例2 t=2.346写出下面语句的运行写出下面语句的运行结果结果t=2.346000, 2.35printf(“t=%f, %.2f”,t,t)Page 11 格式说明总结格式说明总结-其中其中 - 、0、m、n、1都是可以缺省的。都是可以缺省的。3.2 3.2 格式化输入与输出格式化输入与输出3.2.1格式化输出函数格式化输出函数printf( ) Page 12 【随堂练习随堂练习3-2】1. 输出提示语输出提示语“请输入银行卡密码
10、:请输入银行卡密码:”的语句可描述为的语句可描述为 。2. 分析下列程序输出结果。分析下列程序输出结果。#include void main( ) int a=65,b=97; double m=3.14159; printf(%c-%dn%c-%dn,a,a,b,b); printf(a=%06d,b=%-6d.n,a,b); printf(a=%d,a=%o,a=%xn,a,a,a); printf(m=%lf.n,m); printf(m=%4.3lf.n,m); printf(m=%06.3lf.n,m); 3.2 3.2 格式化输入与输出格式化输入与输出3.2.1格式化输出函数格式化
11、输出函数printf( ) Page 13 如:如:scanf(“%d,%f”,&a,&b)地址表列:地址表列:&a:变量变量a的地址的地址&b:变量变量b的地址的地址scanf(“格式控制格式控制”,输入地址表输入地址表);;%d按十进制输入整数按十进制输入整数格式格式说明说明格式控制格式控制意意 义义%f按小数形式输入实数按小数形式输入实数&:地址运算符地址运算符格式控制:格式控制:指定数据输入的格式指定数据输入的格式例如:设例如:设a=2,b=2.5,写出执行下面写出执行下面的语句时,数据输入的形式。的语句时,数据输入的形式。scanf(“%d%f
12、”,&a,&b);scanf(“%d,%f”,&a,&b); 空格空格 顺序、个数、顺序、个数、类型一致类型一致3.2 3.2 格式化输入与输出格式化输入与输出3.2.2格式化输入函数格式化输入函数scanf( )说明提示,原样输入说明提示,原样输入其他字符其他字符Page 14 注意事项:注意事项: scanfscanf()的格式控制字符串中没有转义字符。如()的格式控制字符串中没有转义字符。如scanf (“%dscanf (“%dnn”,&a)&a);是;是错误的错误的。 输入数据时不能规定精度,只能规定宽度。输入数据时不能规定精度,只能规
13、定宽度。 scanf(“scanf(“%7.2f%7.2f”,&a);”,&a);非法非法(3)(3)输入数值时,在两个数值之间需要插入间隔符(空格、输入数值时,在两个数值之间需要插入间隔符(空格、TabTab键、回车),以使系统能区分两个数值。但用键、回车),以使系统能区分两个数值。但用%c%c作为输入控制字符时,在输入字符数据之前不需要插作为输入控制字符时,在输入字符数据之前不需要插入间隔符。入间隔符。 scanf(“%d%c%f”,&a,&b ,&c);scanf(“%d%c%f”,&a,&b ,&c);若输入:若输入: 1
14、2341234a a12331233r.23r.233.2 3.2 格式化输入与输出格式化输入与输出3.2.2格式化输入函数格式化输入函数scanf( )无效输入无效输入Page 15 程序的结构特点程序的结构特点【随堂练习随堂练习3-3】1.分别按照分别按照int、double和和char类型给变量类型给变量a,b,c输入数值的输入数值的语句可描述为语句可描述为: 2.根据要求给出数据输入方法。根据要求给出数据输入方法。(1)有语句)有语句scanf(a=%d,b=%d,&a,&b);,要使,要使a值为值为2,b值为值为3,则正确的输入方法是:,则正确的输入方法是: (2)有
15、输入语句)有输入语句scanf(%d%c,&m,&n);,为使,为使m值为值为6,n值为字母值为字母y,则正确的输入方法是:,则正确的输入方法是: 3.2 3.2 格式化输入与输出格式化输入与输出3.2.2格式化输入函数格式化输入函数scanf( )Page 16 【例例3-5】从键盘输入一个大写字母,然后转换成小写字母输出从键盘输入一个大写字母,然后转换成小写字母输出3.33.3综合应用案例综合应用案例#include void main()char ch1,ch2; printf(请输入一个大写字母请输入一个大写字母:); ch1=getchar(); ch2=ch1+32
16、; printf(对应的小写字母为对应的小写字母为:); putchar(ch2);#include void main()char ch1,ch2; printf(请输入一个大写字母:请输入一个大写字母:); scanf(%c,&ch1); ch2=ch1+32; printf(对应小写字母为对应小写字母为:%c,ch2); 运行结果:运行结果: Page 17 【例例3-6】简单模拟简单模拟ATM机取款操作,仅要求输入取款金额,输机取款操作,仅要求输入取款金额,输出出“正在出钞正在出钞”提示。提示。 3.33.3综合应用案例综合应用案例#include void main()int
17、 n;printf(请输入取款金额:请输入取款金额:); scanf(%d,&n);printf(您的取款金额为您的取款金额为%d元,正在出钞,请稍后元,正在出钞,请稍后n,n); 运行结果:运行结果: Page 18 【例例3-7】鸡兔同笼是中国古代的数学名题之一。大约在鸡兔同笼是中国古代的数学名题之一。大约在1500年年前,前,孙子算经孙子算经中记载了这个有趣的问题。书中是这样叙述中记载了这个有趣的问题。书中是这样叙述的:的:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?各几何?”这四句话的意思是:有若干只鸡兔同在一个笼子
18、里这四句话的意思是:有若干只鸡兔同在一个笼子里,从上面数,有,从上面数,有35个头个头,从下面数,有从下面数,有94只脚。问笼中各有几只只脚。问笼中各有几只鸡和几只兔?鸡和几只兔? 3.33.3综合应用案例综合应用案例分析:鸡两只脚,兔分析:鸡两只脚,兔4只脚。设有只脚。设有x只鸡,只鸡,y只兔子,只兔子,head为为头的总数,头的总数,foot为脚的总数。很容易得出方程组:为脚的总数。很容易得出方程组:若若head和和foot的值已知,则可以推导出:的值已知,则可以推导出: x+y=headx+y=head 2x+4y=foot 2x+4y=foot y=(foot-2*head)/2 x=
19、head-yPage 19 【例例3-7】3.33.3综合应用案例综合应用案例#include void main( ) int x,y,head,foot; /x只鸡,只鸡,y只兔子,只兔子,head为为 头的总数,头的总数,foot为脚的总数为脚的总数printf(请输入鸡兔总头数和总脚数:请输入鸡兔总头数和总脚数:);scanf(%d%d,&head,&foot);y=(foot-2*head)/2;x=head-y;printf(鸡与兔的数目分别为:鸡与兔的数目分别为:%d,%d.n,x,y);运行结果:运行结果: Page 20 【例例3-8】商业贷款是时下不少购房者
20、的选择。在银行贷款时共有两种商业贷款是时下不少购房者的选择。在银行贷款时共有两种贷款方式,分别为等额本息法和等额本金法,目前采用最多的是等额本贷款方式,分别为等额本息法和等额本金法,目前采用最多的是等额本息法。等额本息法还款即是把按揭贷款的本金总额与利息总额相加,然息法。等额本息法还款即是把按揭贷款的本金总额与利息总额相加,然后平均分摊到还款期限的每个月中。作为还款人,每个月还给银行固定后平均分摊到还款期限的每个月中。作为还款人,每个月还给银行固定金额,但每月还款额中的本金比重逐月递增、利息比重逐月递减。金额,但每月还款额中的本金比重逐月递增、利息比重逐月递减。每月还款金额的计算公式是:每月还
21、款金额的计算公式是:其中:其中:y每月的还款金额(元);每月的还款金额(元);a贷款总金额(元);贷款总金额(元);n贷款的总月数;贷款的总月数;r月利率。月利率。请输入计算贷款总金额请输入计算贷款总金额a、贷款的总年数和贷款基准月利率,计算并输、贷款的总年数和贷款基准月利率,计算并输出每月的还款金额出每月的还款金额y。3.33.3综合应用案例综合应用案例Page 21 3.33.3综合应用案例综合应用案例#include #include void main( ) double y,r; int a,n; printf(请输入贷款总金额:请输入贷款总金额:); scanf(%d,&a
22、); printf(请输入贷款总月数:请输入贷款总月数:); scanf(%d,&n); printf(请输入月利率:请输入月利率:); scanf(%lf,&r); y=a*r*pow(1+r,n)/(pow(1+r,n)-1); printf(每月的还款金额为:每月的还款金额为:%.2lf。n,y);运行结果:运行结果: Page 22 课程小结:我们学习了什么?课程小结:我们学习了什么?C程序是通过函数实现数据的输入和输出的。程序是通过函数实现数据的输入和输出的。 字符输入与输出字符输入与输出 字符输出函数字符输出函数putchar(ch); 字符输入函数字符输入函数getchar() ;格式化输入与输出格式化输入与输出格式化输出函数格式化输出函数printf()prin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论