版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1如何进行数据的输入输出?如何进行数据的输入输出? 输入:从标准输入设备上输入数据到计算机输入:从标准输入设备上输入数据到计算机内存内存 输出:将计算机内存中的数据送到标准输出输出:将计算机内存中的数据送到标准输出设备设备 C语言中输入输出操作通过调用标准库函数语言中输入输出操作通过调用标准库函数来实现来实现23printf(a=%d b=%f, a, b); 函数名函数名输出表列输出表列普通普通字符字符格式格式说明说明4关于格式控制字符关于格式控制字符 1.1.一般形式:一般形式: % % 标志标志输出最小宽度输出最小宽度.精度精度长度长度说明:说明:(1) 中的内容为可选项中的内容为可选项
2、52)标志:)标志:为为+、- -、# 等,等,含义如下:含义如下: + 输出符号(输出符号(+) 如如i=3;printf(“%+dn”,i);- 输出结果左对齐输出结果左对齐(缺省右对齐缺省右对齐) # 对对c、s、d、u无影响,对无影响,对o类类输出时加输出时加前缀前缀0; 对对x类类输出时加输出时加前缀前缀0 x,对对e、g、f类当结果类当结果 有小数时才给出小数点。有小数时才给出小数点。 如:如:i=3;printf(“%#xn”,i);% % 标志标志输出最小宽度输出最小宽度.精度精度长度长度0 x3+36(3)输出最小宽度输出最小宽度( (域宽域宽m,mm,m必须是整数必须是整数
3、) ) 域宽域宽m m是输出项在输出设备上所占的列数。是输出项在输出设备上所占的列数。 若若m m是正整数是正整数当实际位数多于定义宽度当实际位数多于定义宽度m m,则按则按实际位数输出;若实际位数少于定义宽度,则用定实际位数输出;若实际位数少于定义宽度,则用定义宽度输出义宽度输出, ,默认在域内向默认在域内向右右对齐,左边多余位补以对齐,左边多余位补以空格。空格。如:如:int a=-23, b=4 ; printf( %5d,%-5d ,a,b);% % 标志标志输出最小宽度输出最小宽度.精度精度长度长度 -23,47(4 4)精度)精度 . .n(nn(n为正整数)为正整数)对于浮点数,
4、表示输出的小数的位数;对于浮点数,表示输出的小数的位数;对于字符串,指定从字符串左侧所截取的子串字符的个数;对于字符串,指定从字符串左侧所截取的子串字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。若实际位数大于所定义的精度数,则截去超过的部分。如:如: float k=65.678; printf(%.2f, k); 输出结果为输出结果为% % 标志标志输出最小宽度输出最小宽度.精度精度长度长度65.688( 5 )( 5 )长度长度 长度格式符为长度格式符为h h、l l两种,两种,h h表示按短整型量表示按短整型量输出,输出,l l表示按长整型量输出表示按长整型量输出 ( 6
5、) 类型是指输出数据的类型类型是指输出数据的类型% % 标志标志输出最小宽度输出最小宽度.精度精度长度长度910Format for character: Example:printf(“%c %c %c”, U, K, M);U K M_11Example:printf(“%c%c%c”, U, K, M);UKM_Format for character: 12Example:char1 = U;char2 = K;char3 = M;printf(“%c %c %c”, char1, char2, char3);U K M_char1Uchar2?char3?char1Uchar2Kch
6、ar3?char1Uchar2Kchar3M13Example: printf( “Name: %snStudent No: %s”, “Ali Bakar”, “A92333”);Name: Ali BakarStudent No: A92333_Output format14Example: printf( “Name: %snStudent No: %s”, “Ali Bakar”, “A92333”);Name: Ali BakarStudent No: A92333_15Format for float: General format:Example:printf(“Value is
7、:%10.4f”, 32.6784728); Value is: 32.6785 4 digits10 characters16Example:printf(“Value is:%10f”, 32.6784728); Value is: 32.678473 10 characters6 digits (default)17Example:printf(“Value is:%10.5f”, 32.6784); Value is: 32.67840 10 characters5 digits18Example:printf(“Value is:%5f”, 32.6784728); Value is
8、:32.678473 6 digits (default)9 charactersMin 5 characters19Example:printf(“Value is:%.3f”, 32.6784728); Value is:32.678 3 digits20#include void main( ) int age; float height; age = 21; height = 1.73; printf(“Ali is %d years old and his height is %.5f metersn”, age, height);Ali is 21 years old and hi
9、s height is 1.73000 meters_age?height?211.73Example:21d,ix,Xoucse,Efg%小结小结十六进制无符号整数十六进制无符号整数不带符号十进制整数不带符号十进制整数十进制整数十进制整数指数形式浮点小数指数形式浮点小数单一字符单一字符字符串字符串八进制无符号整数八进制无符号整数小数形式浮点小数小数形式浮点小数e和和f中较短一种中较短一种百分号本身百分号本身int a=567;printf ( “%d”,a);int a=255;printf(“%x”,a);int a=65;printf(“%o”,a);int a=567;printf(“
10、%u”,a);char a=65;printf(“%c”,a);printf(“%s”,“ABC”);float a=567.789;printf(“%e”,a);float a=567.789;printf(“%f”,a);float a=567.789;printf(“%g”,a);printf(“%”);567ff101567AABC5.677890e+002567.789000567.789%22 非格式字符非格式字符输入数据以输入数据以,分隔分隔没有时可以没有时可以空格空格、Tab或或回车回车分隔分隔格式字符格式字符指定输入指定输入数据格式数据格式输入数据输入数据地址表列地址表列23
11、一般格式:一般格式:%* *输入数据宽度输入数据宽度长度长度 说明:说明:(1)“*”号:号:表示该输入项读入后,不赋予相应的表示该输入项读入后,不赋予相应的变量,即跳过该输入值。变量,即跳过该输入值。 如:如:scanf( %d%*d%d ,&a,&b);当输入当输入1 2 3时,时, 1a 3b,2被跳过被跳过24(2)输入数据宽度输入数据宽度 :用十进制整数指定输入用十进制整数指定输入 的宽度。的宽度。 如:如:scanf( %5d ,&a); 输入输入12345678后后仅把仅把12345赋予赋予a,其余截去。其余截去。又如:又如:scanf( %4d%4d ,
12、&a,&b); 输入输入12345678后后 1234赋予赋予a,5678赋予赋予b,按宽度自动截取。按宽度自动截取。 %* *输入数据宽度输入数据宽度长度长度 25(3)长度长度 长度格式符为长度格式符为l、h l表示长整型和双精度浮点数表示长整型和双精度浮点数 h表示短整型数据。表示短整型数据。 %* *输入数据宽度输入数据宽度长度长度 26(4)类型类型输入数据的类型输入数据的类型. 格式字符格式字符 含义含义d 以十进制整数形式输入以十进制整数形式输入o 以八进制整数形式输入以八进制整数形式输入x 以十六进制整数形式输入以十六进制整数形式输入u 以十进制无符号整数形式输
13、入以十进制无符号整数形式输入f/e 以以 实数形式输入实数形式输入c 输入单个字符输入单个字符s 输入字符串输入字符串%* *输入数据宽度输入数据宽度长度长度 27Example:printf(“Key-in a character and a number: ”);scanf(“%c%d”, &char, &num);printf(“Character: %cn”, char);printf(“Number: %dn”, num);Key-in a character and a number: char?num?mKey-in a character and a numbe
14、r: m103 103Key-in a character and a number: m103Character: m_ Key-in a character and a number: m103Character: mNumber: 103_28#include void main( ) int day, month, year; scanf(“%d %d %d”, &day, &month, &year); printf(“Day: %d, Month: %d, Year: %d”, day, month, year);16 12 2005month?year?d
15、ay? 1612200516 12 2005Day: 16, Month: 12, Year: 2005_29#include#include void main()void main() intint a,b,ca,b,c; ; scanf(“%d%d%d”,&a,&b,&cscanf(“%d%d%d”,&a,&b,&c);); printf(“%d,%d,%dn”,a,b,cprintf(“%d,%d,%dn”,a,b,c);); 3 4 5 (3 4 5 (输入输入a,b,ca,b,c的值的值) )3 3,4 4,5 5 (输出(输出a,b
16、,ca,b,c的值)的值)a a在内存中的地在内存中的地址址& &是地址运算符是地址运算符用用scanf函数输入数据函数输入数据30 使用使用scanf函数时应注意的问题函数时应注意的问题 : :(1)scanf(1)scanf函数中的函数中的“格式控制格式控制”后面应当是后面应当是变量地址变量地址,而不应,而不应 是变量名。是变量名。 (2) (2) 如果在如果在“格式控制格式控制”字符串中除了格式说明以外还有其他字符,字符串中除了格式说明以外还有其他字符, 则在输入数据时在对应位置应输入与这些字符相同的字符。则在输入数据时在对应位置应输入与这些字符相同的字符。 scanf(“%d,%d,%d”,&a,&b,&c);输入应为:输入应为:5,6,7scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);输入应为:输入应为:a=5,b=6,c=731 使用使用scanf函数时应注意的问题函数时应注意的问题 : :(3) (3) 在用在用“”格式输入字符时,格式输入字符时,空格字符空格字符和和“转义字符转义字符”都作为都作为 有效字符输入有效字符输入 (4) (4) 在在输入数据输入数据时,遇以下情况时认为该数据结束。时,遇以下情况时认为该数据结束。 遇空格,或按遇空格,或按“回车回车”或或“跳格跳格
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 眼镜行业销售工作总结
- 酒水饮料行业员工激励措施
- 2024年电大电子商务概论考试综合手册
- 创意设计服务协议书(2篇)
- 易错点12 抗日战争时期的主要史实与时间-备战2023年中考历史考试易错题(原卷版)
- 黄金卷6-【赢在中考·黄金八卷】(解析版)
- DB33T 2195-2019 家庭医生签约服务居家护理工作规范
- 以社區為基礎之糖尿病個案管理與疾病管理
- 2022-2023学年山东省聊城市高一上学期期末考试地理试题(解析版)
- 阜阳热熔胶项目可行性研究报告
- 2023浆体长距离管道输送工程
- 初二英语寒假作业安排表 - 扬中树人欢迎您
- 基于Android系统的天气预报APP设计
- 市政工程危险源识别与风险评价一览表
- 道路施工临时占道施工应急保畅方案隧道
- 2024届高考语文复习:作文主题训练人文情怀
- 炊事员个人卫生习惯养成-课件
- 粉末涂料有限公司邦定搅拌机安全风险分级管控清单
- Clean-PVC管道粘接施工工艺标准
- 道教与中医学习通超星课后章节答案期末考试题库2023年
- 四年级语文试卷选择题100道
评论
0/150
提交评论