版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
0102033.1C语言语句3.2C语言程序结构简介3.3数据输入与输出
简单程序设计04053.4知识点强化与应用3.5本章小结【学习要点】1.掌握表达式语句的格式,理解表达式与表达式语句的区别。
2.熟练掌握字符的输入/出函数、格式输入/输出函数的使用方法。
从键盘输入2个同学的姓名,性别,学号,英语、高等数学、计算机的成绩信息,并计算出总分,并将其按照下图的格式输出到屏幕。【导入案例】C中没有专门的输入输出语句,输入输出操作通过调用系统提供的输入、输出函数实现,这样可以节省程序处理的时间。分析C程序的基本组成单位是函数,而函数由语句构成。所以语句是C程序的基本组成成分。语句能完成特定操作,语句的有机组合能实现指定的计算处理功能。语句最后必须有一个分号,分号是C语句的组成部分。3.1C语言语句变量声明语句
intx,y;表达式语句
i++;i=i+1;空语句
;复合语句
{t=x;x=y;y=t;}控制语句{
t=x;x=y;y=t;}被当作一条语句来处理在什么情况下使用复合语句?
条件语句和循环语句在语法上只允许带一条语句
当分支和循环中需要进行多项操作时空语句有什么作用?什么也不做,只表示语句的存在自顶向下程序设计时用在那些未完成的模块中main(){DataInitialze();DataProcess();DataOutput();}DataInitialze(){;}对于一个C语言的结构来讲:1.一个程序由一个或多个源程序文件组成。2.函数是C程序的主要组成部分。3.一个函数包括函数首部和函数体。4.程序总是从main函数开始执行的。5.程序应当包含注释。3.2C语言程序结构简介变量的赋值(赋值表达式语句)赋值表达式;Total=m*pow(1+r,n);数据的输入输出(函数调用语句)输入:从标准输入设备上输入数据到计算机内存输出:将计算机内存中的数据送到标准输出设备C语言中输入输出操作通过调用标准库函数来实现#include"stdio.h"
---在当前目录和TC指定的目录中找该文件#include<stdio.h>---在由TC指定的文件目录中找该文件例题分析【例3-1】
要求在屏幕上输出以下一行信息。ThisisaCprogram.分析:在主函数中,用printf函数原样输出以上的文字。编写程序:#include<stdio.h>//这是编译预处理指令intmain()//定义主函数{//函数开始的标志printf("ThisisaCprogram.\n");//输出所指定的一行信息return0;//函数执行完毕时返回函数值0}说明:C语言允许用两种注释方式:(1)以//开始的单行注释。如上介绍的注释。(2)以/*开始,以*/结束的块式注释。
【例3-2】求两个整数之和。
编写程序:#include<stdio.h>//这是编译预处理指令intmain()//定义主函数{//函数开始
inta,b,sum;//本行是程序的声明部分,定义a,b,sum为整型变量
a=123;//对变量a赋值
b=456;//对变量b斌值
sum=a+b;//进行a+b的运算,井把结果存放在变量sum中
printf("sumis%d\n",sum);//输出结果
return0;//使函数返回值为O}【例3-3】求两个整数中的较大者。编写程序:#include<stdio.h>//主函数intmain()//定义主函数{//主函数体开始
intmax(intx,inty);//对被调用函数max的声明
inta,b,c;//定义变量a,b,c scanf("%d,%d",&a,&b);//输入变量a和b的值
c=max(a,b);//调用max函数,将得到的值赋给c printf("max=%d\n",c);//输出c的值
return0;//返回函数值为0}//主函数体结束(续)//求两个整数中的较大者的max函数intmax(intx,inty)//定义max函数,函数值为整型,、形式参数x和y为整型{ intz;//max函数中的声明部分,定义本函数中用到的变量z为整型
if(x>y)z=x;//若x>y成立,将x的值赋给变量z elsez=y;//否则(即x>y不成立),将y的值赋给变量z return(z);//将z的值作为max函数值,返回到调用max函数的位置}3.3.1字符数据的输入与输出3.3.2格式化输出函数printf3.3.3格式化输入函数scanf3.3数据输入与输出3.3.1字符输入输出函数字符输出函数
putchar(ch)输出一个字符ch字符输入函数
getchar()无参数函数值为从输入设备接收的字符1、字符输入格式:getchar()功能描述:从标准输入设备上读取一个字符;main(){charc;c=getchar();}从键盘输入一个字符
在程序设计中,许多时候需要对字符进行处理,因此专门引进了对字符进行输入、输出的相关函数.2、字符输出功能描述:在标准输出设备上,输出指定的字符;格式:putchar(字符变量)#include<stdio.h>main(){charc=‘a’;putchar(c);}注意:输入、输出只能对单个字符处理;使用时在程序开头用#include<stdio.h>命令包含相应头文件.#include<stdio.h>main(){
charch;
printf("PressakeyandthenpressEnter:"); ch=getchar(); printf("Youpressed");putchar(ch);putchar('\n');}PressakeyandthenpressEnter:A↙YoupressedA_程序执行结果:printf(格式控制字符串,输出项表列);输出若干个任意类型的数据printf("a=%db=%f",a,b);3.3.2格式化输出函数printf普通字符函数名格式转换说明符输出列表项格式输出函数printf注意事项:1.格式控制字符串包含两部分内容:(1)格式说明符,如%d,%c等;(2)照原样输出的字符,如a=b=等
。2.输出数据表列是需要输出的数据(也可以是表达式),多于一个时用逗号分开。printf("a=%db=%f",a,b);3.其中输出的格式包括:%d:按十进制整数形式输出变量的值%o:按八进制整数形式输出变量的值%x:按十六进制整数形式输出变量的值%u
输出无符号整数变量%f:输出单精度(或双精度)浮点变量的值%e:按指数形式输出浮点变量的值%g:
输出f和e格式中宽度较小的格式,不输出无意义的0%c:输出字符变量%s:输出一个字符串4.附加格式(带参数的)控制:l
长整型整数,加在d、o、x、u前Llongdouble型数,加在f、e、g前m表示数据占用的最小宽度数据宽度大于m,按实际宽度输出;数据宽度小于m时,补空格.n对实数表示输出n位小数对字符串表示最多输出的字符个数-改变输出内容的对齐方式;缺省为右对齐注意:格式控制字符和后面输出数据一一对应;格式控制符号尽量用小写字母;格式控制中的转义字符按照其对应的转义意义输出;若需输出百分号,格式为:%%.如果:a=5,b=8,给出对应的输出结果printf(“%d,%d\n”,a,b);printf(“a=%d,b=%d\n”,a,b);printf(“%5d%5d\n”,a,b);printf(“TurboC”);5.例题分析:#include<stdio.h>main(){ inta=30;
floatb=3.14; printf("a=%db=%f",a,b);}a=30b=3.140000程序执行结果:#include<stdio.h>main(){
floatf1=100.15799,f2=12.55,f3=1.7;
intn1=123,n2=45,n3=6;
printf("printfWITHOUTwidthorprecision specifications:\n"); printf("%f\n%f\n%f\n",f1,f2,f3); printf("%d\n%d\n%d\n",n1,n2,n3); printf("printfWITHwidthandprecision specifications:\n"); printf("%5.2f\n%6.1f\n%3.0f\n",f1,f2,f3); printf("%5d\n%6d\n%3d\n",n1,n2,n3);}printfWITHOUTwidthorprecisionspecifications:100.15799012.5500001.700000123456#include<stdio.h>main(){
floatf1=100.15799,f2=12.55,f3=1.7;
intn1=123,n2=45,n3=6;
printf("printfWITHOUTwidthorprecision specifications:\n"); printf("%f\n%f\n%f\n",f1,f2,f3); printf("%d\n%d\n%d\n",n1,n2,n3); printf("printfWITHwidthandprecision specifications:\n"); printf("%5.2f\n%6.1f\n%3.0f\n",f1,f2,f3); printf("%5d\n%6d\n%3d\n",n1,n2,n3);}printfWITHOUTwidthorprecisionspecifications:100.1612.62123456scanf(格式控制字符串,地址表列);scanf("%d,%f”,&a,&b);3.3.3格式输入函数scanf函数名格式说明符非格式字符输入参数地址表说明:在函数中,可以指定每个数据的宽度;(此时小数点也占据一个宽度;不能指定所输入数据的精度;%*md表示从输入的数据中跳过m个宽度的数据;注意:格式控制字符和后面输入数据一一对应;对后面的变量一定取地址符;当其中没有分隔符时,一般以回车、空格或Tab键分隔;输入时,遇(回车、空格、宽度结束、非法输入)结束;格式控制符号之外的符号必须原样输入;使用提示函数printf和scanf格式多变,请大家在实际写程序中,以最常用的,最规范的形式来书写,并尽量的要考虑好待处理数据的数据类型,做到格式控制和类型匹配。#include<stdio.h>voidmain(){
inta;
floatb;scanf("%d,%f",&a,&b); printf("a=%db=%f",a,b);}a=30b=3.14000030,3.14↙程序执行结果:常见错误scanf("%d,%f\n”,&a,&b);scanf("%d,%f”,a,b);scanf("%7.2f",&a);输入数据时,遇以下情况时该数据认为结束遇空格、回车、TAB键遇宽度:%3d遇非法输入注意:输入数据的格式控制举例#include
<stdio.h>voidmain(){
int
a,b; printf("Pleaseinputaandb:"); scanf("%d%d",&a,&b); printf("a=%d,b=%d,a+b=%d\n",a,b,a+b);}Pleaseinputaandb:1234↙a=12,b=34问题1:当要求程序输出结果为
a=12,b=34时,用户应该如何输入数据?问题2:当限定用户输入数据以逗号为分隔符,即输入数据格式为:12,34↙时,应修改程序中的哪条语句?怎样修改?输入数据的格式控制举例#include
<stdio.h>voidmain(){
int
a,b; printf("Pleaseinputaandb:"); scanf("%d%d",&a,&b); printf("a=%d,b=%d,a+b=%d\n",a,b,a+b);}scanf(
%d,%d
,&a,&b);#include
<stdio.h>main(){
int
a,b; printf("Pleaseinputaandb:"); scanf("%d%d",&a,&b); printf("a=%d,b=%d,a+b=%d\n",a,b,a+b);}scanf(
a=%d,b=%d",&a,&b);Pleaseinputaandb:a=12,b=34↙a=12,b=34输入数据的格式控制举例问题3:语句scanf("%d%d",&a,&b);修改为scanf("a=%d,b=%d",&a,&b);时,用户应该如何输入数据?执行程序:#include
<stdio.h>voidmain(){
int
a,b; printf("Pleaseinputaandb:"); scanf("%d%d",&a,&b); printf("a=%d,b=%d,a+b=%d\n",a,b,a+b);}问题4:限定用户输入数据为以下格式:
1234↙同时要求程序输出结果为:
a=12,b=34scanf("%2d%2d",&a,&b);
输入数据的格式控制举例#include
<stdio.h>voidmain(){
int
a,b; printf("Pleaseinputaandb:"); scanf("%d%d",&a,&b); printf("a=%d,b=%d,a+b=%d\n",a,b,a+b);}问题5:限定用户输入数据为以下格式:12↙34↙同时要求程序输出结果为a="12",b="34“应如何修改scanf和printf?scanf("%d%d",&a,&b);printf("a=\"%d\",b=\"%d\"\n",a,b);输入数据的格式控制举例#include<stdio.h>voidmain(){
intdata1,data2,sum;
charop; printf("Pleaseentertheexpression data1+data2\n"); scanf("%d%c%d",&data1,&op,&data2); printf("%d%c%d=%d\n",data1,op,data2,data1+data2);}第1次测试Pleaseentertheexpressiondata1+data212+3↙123129=3141C格式符存在的问题及其解决#include<stdio.h>voidmain(){
intdata1,data2,sum;
charop; printf("Pleaseentertheexpression data1+data2\n"); scanf("%d%c%d",&data1,&op,&data2); printf("%d%c%d=%d\n",data1,op,data2,data1+data2);}Pleaseentertheexpressiondata1+data2第2次测试123↙123=15C格式符存在的问题及其解决#include<stdio.h>voidmain(){
intdata1,data2,sum;
charop; printf("Pleaseentertheexpression data1+data2\n"); scanf("%d%c%d",&data1,&op,&data2); printf("%d%c%d=%d\n",data1,op,data2,data1+data2);}C格式符存在的问题及其解决Pleaseentertheexpressiondata1+data2第3次测试12+3↙12+3=15#include<stdio.h>voidmain(){inta;
charb;floatc;printf("Pleaseinputaninteger:");scanf("%d",&a);printf("integer:%d\n",a);printf("Pleaseinputacharacter:");scanf("%c",&b);printf("character:%c\n",b);printf("Pleaseinputafloatnumber:");scanf("%f",&c);printf("float:%f\n",c); }C格式符存在的问题及其解决Pleaseinputaninteger:希望得到的运行结果12↙Pleaseinputancharacter
:a↙Pleaseinputafloatnumber:3.5↙integer:12character
:afloatnumber:3.500000#include<stdio.h>voidmain(){
inta;
charb;floatc;printf("Pleaseinputaninteger:");scanf("%d",&a);printf("integer:%d\n",a);printf("Pleaseinputacharacter:");scanf("%c",&b);printf("character:%c\n",b);printf("Pleaseinputafloatnumber:");scanf("%f",&c);printf("float:%f\
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学语文教学心得体会15篇
- 学生会主席竞选演讲稿合集八篇
- 关于课堂教学总结模板锦集10篇
- 公共卫生工作个人总结
- 工程造价专业的实习报告6篇
- 社会实践三下乡心得体会
- 2022清明节缅怀先烈演讲稿7篇
- 时代楷模先进事迹个人学习感悟
- 毕业的实习报告15篇
- 学习深圳精神感悟心得体会集合6篇
- 空压站工艺培训
- 《数据结构》课程标准2
- 日本健康管理产业发展趋势分析
- 臭氧层的破坏和损耗课件
- 第一单元就业形势与政策法规
- 脑科学与人工智能技术融合发展
- Unit3AdayinthelifeLesson3(课件)剑桥少儿英语KB3级
- 心肌梗塞保护心脏远离心肌梗塞的问题
- 精神科护理技能课件出走行为的防范与护理
- 古建筑行业培训资料
- 做成功的父母培养成功的孩子
评论
0/150
提交评论