《C语言程序设计》课件第3讲 C语言初步-2_第1页
《C语言程序设计》课件第3讲 C语言初步-2_第2页
《C语言程序设计》课件第3讲 C语言初步-2_第3页
《C语言程序设计》课件第3讲 C语言初步-2_第4页
《C语言程序设计》课件第3讲 C语言初步-2_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

知识回顾1.变量(1)变量的定义(2)变量的初始化(3)注意事项2.常量(1)常量的表示:整数常量,浮点型常量,字符常量和字符串(2)常量的用法:直接写,定义宏,定义内存常量问题引出1.数据是程序处理的对象2.很多情况都需要把要处理的数据输入到内存3.往往需要把处理的结果输出到屏幕程序键盘屏幕格式化输出函数:printf格式化输入函数:scanf字符输入函数:getchar字符输出函数:putchar4.C中没有专门的输入输出语句,输入输出由库函数实现主要内容输入/输出1.7目的要求复习思考题上机与编程实践独立作业小结1.7.1格式化输出1.概述(1)由标准库函数printf完成(2)包含在头文件stdio.h中(3)功能是把数据按照指定格式输出到屏幕上(4)调用格式:printf(格式串,输出项列表);①格式串:

指定输出格式②输出项列表:

用逗号隔开的多个项,指定输出的数据项举例若有定义:inta=22;intb=-14;要把a和b中的数据分两行输出到屏幕上2.格式串(重点掌握)(1)格式转换说明域:

指定输出数据的格式(2)普通文本:

显示的一般信息一个格式转换说明域负责一个输出项的类型转换和格式的精确控制[宽度][精度][标志位](1)格式转换说明域格式转换码是一个小写字母,用来指定要输出数据的类型

①格式转换码一般形式的实数(7位输出精度)f字符串s单个字符c有符号十进制整数d作用转换码%格式转换码举例若有定义:intx=10;floatf=-134.56;

charc=‘A’;printf(“%d,%f,%c”,x,f,c);输出结果是:10,-134.560000,Aprintf(“%s”,“Todayisfine.”);输出结果是:Todayisfine.下列语句执行的结果是:宽度修饰符是用一个整数m来指定输出数据占的列宽②宽度修饰符若数字的位数大于指定列宽,按原样输出数字若数字的位数小于指定列宽,左补空格

举例若有定义:intx=123;语句输出结果printf(“%2d”,x);123printf(“%6d”,x);□□□123□代表空格精度修饰符是以用一个小数.n来指定输出数据的精度③精度修饰符可以用于浮点型数据和字符串浮点型:指定输出的小数位数字符串:指定要输出串的字符个数

举例若有定义:

floatx=3.1415926;语句输出结果printf(“%.2f”,x);3.14printf(“%.2s”,“MyBirthday”);Myprintf(“%6.1f”,x);□□□3.1□代表空格标志位修饰符有两个:④标志位修饰符负号(-)用来指定数据的对齐方式是左对齐数字0

用来对整数左补0输出举例若有定义:

floatx=3.1415926;

intn=1234;语句输出结果printf(“%5.2f”,x);□3.14printf(“%-5.2f”,x);3.14□printf(“%6d”,n);□□1234printf(“%06d”,n);001234printf(“%-6d”,n);1234□□文本字符串是格式转换域以外的内容文本字符按原样输出一般用来显示数据外的其他信息(2)文本字符串举例若有定义:

floatx=3.1415926;

intn=1234;语句printf(“x=%.2f,n=%d\n”,x,n);输出结果x=3.14,n=1234(1)输出项列表是要输出的0个或多个数据项(2)多个时要用逗号隔开(3)可以是常量、变量或表达式

3.输出项列表举例若有定义:

floatx=3.1415926;

intn=1234;printf(“Happynewyear!”);/*没有输出项*/printf(“%f,%d”,1.55,100);/*两个输出项,它们是常量*/printf(“%f,%d”,x,n);/*两个输出项,它们是变量*/printf(“%f,%d”,x+2,n*3);/*两个输出项,它们是算式*/(1)格式转换说明符与输出项在顺序和数据类型上必须一一对应和匹配,否则输出错误的值4.注意事项举例若有定义:floatx=3.1415926;

intn=1234;printf(“%d,%f\n”,x,y);

/*输出错误,类型不一致*/(2)格式转换说明域的个数少于输出项时,多余的项不输出,反之多余的格式转换说明域输出不确定的值

举例若有定义:floatx=3.1415926;

intn=1234;printf(“%.1f,%d”,x,n,1000);/*输出3.1,1234

*/printf(“%.1f,%d,%d”,x,n);

/*输出3.1,1234,不确定的值*/1.7.2格式化输入1.格式化输入概述(1)由标准库函数scanf完成(2)包含在头文件stdio.h中(3)功能是把从键盘上输入的数据按照指定格式存储到内存(4)的调用格式是:scanf(格式串,输入项列表);(5)两个参数①格式串:

指定输入格式②输入项列表:

用逗号隔开的多个变量的地址举例若有定义:inta;intb;若要把从键盘输入的1223分别存储到a和b中(2)格式转换说明符与输入项在顺序和类型上必须对应一致2.注意事项(重点掌握)举例若有定义:intx;floaty;scanf(“%d%d”,&x,&y);

/*错误,%d与y的类型不一致*/(1)输入项必须是变量地址举例若有定义:intx;floaty;scanf(“%d”,x);

/*错误,输入项x不是地址*/(3)当有几个输入项或连续使用几个scanf函数输入多个数值型数据时,在输入数据时可以用空白字符做数据间的分隔

举例若有定义:intx;inty;要是想给x录入12,给y录入15scanf(“%d%d”,&x,&y);

/*转换符连着写*/

scanf(“%d%d”,&x,&y);

/*转换符间用空白字符分隔*/scanf(“%d”,&x);

scanf(“%d”,&y);

/*连续用两条独立的语句输入*/输入数据的正确格式是:

12空白字符15回车

强调:空白字符包括空格字符,回车字符和Tab字符(4)输入int型数据时必须输入整数,输入float型的数据可以输入整数,也可以输入小数举例若有语句:

intx;floaty;scanf(“%d%f”,&x,&y);要给x录入12,给y录入-15.012□-15

/*正确的输入,x存12,y存-15.0*/12-15.0

/*正确的输入,x存12,y存-15.0*/12.5-15.0

/*错误的输入,x存12,y存0.5*/(5)输入字符型数据时,不需要加单引号,也不能使用分隔符举例若有语句:

charc1,c2;scanf(“%c%c”,&c1,&c2);假若要分别给c1、c2录入字符a、b,则:‘a’‘b’/*错误的输入,c1存了‘,c2存了a*/

a□b/*错误的输入,c1存了a,c2存了空格*/?思考?若有语句:intx;floaty;

charc;scanf(“%d%c%f”,&x,&c,&y);若要给x、c、y录入100、a、-1.22,正确的输入方式有哪些?(6)若格式控制串中使用了一般字符,输入时必须照原样输入举例若有语句:

intx,y;scanf(“%d,%d”,&x,&y);要是想给x录入12,给y录入15正确的输入格式是:12,15(7)使用“%*字母”可以抑制输入对应类型的数据项举例若有语句:

intx,y;scanf(“%d%*c%d”,&x,&y);要是想给x录入12,给y录入15正确的输入格式是:12任意一个非数字字符15(8)使用%md或%mf控制读入数据的位数,m是大于0的整数举例若有语句:intx;

floaty;

charc;scanf(“%2d%c%4f”,&x,&c,&y);执行时若输入12345.67回车,则x存了12,c存了3,y存了45.6

(9)输入double型的数据必须使用%lf

(10)为了提示用户输入,往往和printf配合使用

1.7.3字符输入/输出1.概述除了printf和scanf外还有两个函数实现字符输入/输出getchar函数:用于单个字符输入putchar函数:用于单个字符输出两个函数的原型包含在stdio.h中(2)调用格式2.putchar函数举例若有定义:intx=100;charc=‘\x61’;则下列语句:putchar(‘A’);/*参数为字符型常量,输出字符A*/putchar(65);/*参数为整型常量,输出字符A*/putchar(c);/*参数为字符型变量,输出字符a*/putchar(x);/*参数为整型变量,输出字符d*/(1)函数功能向屏幕输出一个字符putchar(c);(3)说明参数c是一个字符型或范围不超过127的整型量(2)调用格式3.getchar函数举例若有语句:charc;…c=getchar();

/*把输入字符的ASCII码值存到了c*/(1)函数功能从键盘读入一个字符,成功时返回字符的ASCII值getchar();(3)说明①经常把函数的返回值存储到变量②该函数回车才执行,连续使用时要注意回车字符的影响举例若有语句:

charc1,c2;…c1=getchar();c2=getchar();假如要给c1、c2分别录入字符a、b,则:abc

/*正确的输入*/ab

/*正确的输入*/ab

/*错误的输入,做不到,因为敲回车程序即结束*/

目的要求1.掌握格式化输入函数scanf的使用方法2.掌握格式化输出函数printf的使用方法3.掌握字符输入函数getchar的使用方法4.掌握字符输出函数putchar的使用方法复习思考题**6.使用scanf应该注意什么

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论