版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
<<C语言程序设计基础>>课程单元三顺序结构程序设计主要内容3.1字符输入与输出
3.1.1字符输出函数putchar()3.1.2字符输入函数getchar()3.2格式化输入与输出3.2.1格式化输出函数printf()(重点难点)3.2.2格式化输入函数scanf()(重点难点)3.3综合应用案例程序设计输入输出问题引入编程解决问题需要三个步骤:第一步:数据输入,准备好程序要处理的原始数据;第二步:数据处理,对输入的原始数据进行处理;第三步:数据输出,通过屏幕显示等方式输出结果数据。这里所提到的数据输入、数据处理和数据输出就构成了顺序结构的三个基本环节。那么在数据的输入和输出环节,如何使用C语言进行描述呢?【引例】根据三角形的三个边长,计算三角形的面积,其计算公式为:area=(其中a、b、c为三角形的三个边长,s=(a+b+c)/2)试分析,通过编程解决该问题需要哪三个步骤:(1)输入
;(2)计算
;(3)输出
。
abc运行结果:3.1字符输入与输出
3.1.1字符输出函数putchar()3.1.2字符输入函数getchar()函数调用格式:putchar(ch);函数功能:在标准输出设备上输出一个字符。说明:函数参数ch可以是整型或字符型的常量或变量,也可以是表达式,只要ch的最终值可表示一个有效字符即可。注意:该函数包含在stdio.h库中,使用#include<stdio.h>包含文件中。3.1字符输入与输出
3.1.1字符输出函数putchar()【例3-1】1.putchar('A');//输出字符'A'2.putchar('\101');3.putchar('a'-32); 4.intch=65;putchar(ch); 函数调用格式:getchar();函数功能:在标准输入缓冲区中读取一个字符。说明:函数参数为空,函数的返回值是从输入缓冲区中读入一个字符,将字符可以赋值给一个字符型或整型变量,也可作表达式的一部分。3.1字符输入与输出
3.1.1字符输出函数putchar()【例3-2】1).charch;ch=getchar();putchar(ch);2).charch;putchar(getchar());//将读入的字符直接输出【随堂练习3-1】1.下面程序功能为:输入一个A~Z之间的字母,输出与之左右相邻的两个字母,根据注释信息将程序填写完整。#include<stdio.h> voidmain() {charch; //数据准备
//调用getchar()输入一个字母,并赋值给ch
//调用putchar()输出与ch左相邻的字母
//调用putchar()输出与ch右相邻的字母}3.1字符输入与输出
3.1.1字符输出函数putchar()3.2格式化输入与输出3.2.1格式化输出函数printf()3.2.2格式化输入函数scanf()
printf(“字符串常量”);printf函数的格式1:如: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函数的格式2:printf(“格式控制字符串”,输出列表);printf(“%d,%f”,a,b);10,-5.300000printf(“a=%d\nb=%f”,a,b);a=10b=-5.300000输出项:变量、表达式、函数格式控制:①为输出项提供格式说明②提供需要原样输出的文字或字符;;格式说明的个数=输出项个数格式说明的类型=输出项类型(顺序)3.2格式化输入与输出3.2.1格式化输出函数printf()控制输出数据的宽度格式说明意义数据宽度%d按十进制输出整数%f按小数形式输出实数系统决定%md按十进制输出整数占m位%m.nf按小数形式输出实数(小数占6位).(实际位数)系统决定......n位m位3.2格式化输入与输出3.2.1格式化输出函数printf()例1a=23,b=34,c=-55,写出下面语句的运行结果printf(“a=%d,b=%5d,c=%2d”,a,b,c)a=23,b=34,c=-55例2t=2.346写出下面语句的运行结果t=2.346000,2.35printf(“t=%f,%.2f”,t,t)格式说明总结--其中-、0、m、n、1都是可以缺省的。3.2格式化输入与输出3.2.1格式化输出函数printf()【随堂练习3-2】1.输出提示语“请输入银行卡密码:”的语句可描述为
。2.分析下列程序输出结果。#include<stdio.h> voidmain() {inta=65,b=97;doublem=3.14159;printf("%c-%d\n%c-%d\n",a,a,b,b); printf("a=%06d,b=%-6d.\n",a,b);printf("a=%d,a=%o,a=%x\n",a,a,a);printf("m=%lf.\n",m);printf("m=%4.3lf.\n",m);printf("m=%06.3lf.\n",m);}3.2格式化输入与输出3.2.1格式化输出函数printf()
scanf函数的格式如:scanf(“%d,%f”,&a,&b)地址表列:&a:变量a的地址&b:变量b的地址scanf(“格式控制”,输入地址表);;%d按十进制输入整数格式说明格式控制意义%f按小数形式输入实数&:地址运算符格式控制:指定数据输入的格式例如:设a=2,b=2.5,写出执行下面的语句时,数据输入的形式。scanf(“%d%f”,&a,&b);scanf(“%d,%f”,&a,&b);22.5
空格2
,2.5顺序、个数、类型一致3.2格式化输入与输出3.2.2格式化输入函数scanf()说明提示,原样输入其他字符注意事项:scanf()的格式控制字符串中没有转义字符。如scanf(“%d\n”,&a);是错误的。输入数据时不能规定精度,只能规定宽度。
scanf(“%7.2f”,&a);非法(3)输入数值时,在两个数值之间需要插入间隔符(空格、Tab键、回车),以使系统能区分两个数值。但用%c作为输入控制字符时,在输入字符数据之前不需要插入间隔符。
scanf(“%d%c%f”,&a,&b,&c);若输入:
1234a1233r.233.2格式化输入与输出3.2.2格式化输入函数scanf()无效输入程序的结构特点【随堂练习3-3】1.分别按照int、double和char类型给变量a,b,c输入数值的语句可描述为:
2.根据要求给出数据输入方法。(1)有语句scanf("a=%d,b=%d",&a,&b);,要使a值为2,b值为3,则正确的输入方法是:
(2)有输入语句scanf("%d%c",&m,&n);,为使m值为6,n值为字母y,则正确的输入方法是:
3.2格式化输入与输出3.2.2格式化输入函数scanf()【例3-5】从键盘输入一个大写字母,然后转换成小写字母输出3.3综合应用案例#include<stdio.h>voidmain(){charch1,ch2;printf("请输入一个大写字母:");
ch1=getchar();ch2=ch1+32;printf("对应的小写字母为:");putchar(ch2);}#include<stdio.h>voidmain(){charch1,ch2;printf("请输入一个大写字母:");
scanf("%c",&ch1);ch2=ch1+32;printf("对应小写字母为:%c",ch2);}运行结果:【例3-6】简单模拟ATM机取款操作,仅要求输入取款金额,输出“正在出钞”提示。
3.3综合应用案例#include<stdio.h>voidmain(){intn;printf("请输入取款金额:");scanf("%d",&n);printf("您的取款金额为%d元,正在出钞,请稍后……\n",n);}运行结果:【例3-7】鸡兔同笼是中国古代的数学名题之一。大约在1500年前,《孙子算经》中记载了这个有趣的问题。书中是这样叙述的:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”这四句话的意思是:有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有几只鸡和几只兔?
3.3综合应用案例
分析:鸡两只脚,兔4只脚。设有x只鸡,y只兔子,head为头的总数,foot为脚的总数。很容易得出方程组:若head和foot的值已知,则可以推导出:
x+y=head2x+4y=foot
y=(foot-2*head)/2x=head-y【例3-7】3.3综合应用案例#include<stdio.h>voidmain(){intx,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);}运行结果:【例3-8】商业贷款是时下不少购房者的选择。在银行贷款时共有两种贷款方式,分别为等额本息法和等额本金法,目前采用最多的是等额本息法。等额本息法还款即是把按揭贷款的本金总额与利息总额相加,然后平均分摊到还款期限的每个月中。作为还款人,每个月还给银行固定金额,但每月还款额中的本金比重逐月递增、利息比重逐月递减。每月还款金额的计算公式是:其中:y——每月的还款金额(元);a——贷款总金额(元);n——贷款的总月数;r——月利率。请输入计算贷款总金额a、贷款的总年数和贷款基准月利率,计算并输出每月的还款金额y。3.3综合应用案例
3.3综合应用案例#include<stdio.h> #include<math.h>
voidmain() {doubley,r;inta,n;printf("请输入贷款总金额:");scanf("%d",&a);printf("请输入贷款总月数:");scanf("%d",&n);printf("请输入月利率:");scanf("%lf",&r);
y=a*r*pow(1+r,n)/(pow(1+r,n)-1);printf("每月的还款金额为:%.2lf。\n",y);}运行结果:课程小结:我们学习了什么?C程序是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉林艺术学院《影视照明技术》2021-2022学年第一学期期末试卷
- 吉林艺术学院《书法实训I》2021-2022学年第一学期期末试卷
- 吉林艺术学院《剪辑基础》2021-2022学年第一学期期末试卷
- 2024年供热管网互联互通协议书模板
- 吉林师范大学《中国东北史》2021-2022学年第一学期期末试卷
- 2024年大型绿植售卖合同范本
- 2024年大厂员工合同范本
- 娱乐场营销合同协议书范文范本
- (浙教2024版)科学七年级上册3.2 太阳系的组成与结构 课件(共2课时)
- 吉林师范大学《外国古代教育史》2021-2022学年第一学期期末试卷
- m301项目性能评估管控报告
- 美国大联盟数学竞赛英汉对照表
- 事故应急救援培训考试试题(附答案)
- 5、风电吊装施工指导手册
- 10以内的分与合
- 浅析新能源电动汽车火灾调查方法
- 养老院健康体检表
- 高中英语选修一(人教版)2-2Learning About Language 教学课件
- 韵母教学讲解课件
- 《马立平中文》教学大纲
- 一年级美术大眼睛-完整版课件
评论
0/150
提交评论