




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第4章 基本输入输出引言:数据输入输出在C语言中的实现 C语言中输入和输出操作是通过函数来实现的。 C语言的函数库中有一批“标准输入输出函数”,其中包括:putchar(输出字符)、getchar(输入字符)、printf(格式输出)、scanf(格式输入)、puts(输出字符串)、gets(输入字符串)。注意:以上这些都是函数名,不是C语言的关键字。数据输入输出在C语言中的实现在使用库函数时,要用预编译命令“#include”将有关的“头文件”包括到用户源文件中。#include命令都是放在程序的开头,因此这类文件被称为“头文件”, 扩展名为.h。如:#include 或 #include
2、“stdio.h”说明:使用printf和scanf这两个函数可不加#include命令。4.1 C语句概述 C语句是用来完成一定操作任务的。一个函数的执行部分是由语句组成的。C语句分为五类:表达式语句、函数调用语句、控制语句、空语句、复合语句4.1 C语言的语句(1)表达式语句 由一个表达式加上一个分号构成,最常见的是赋值语句。 如:a=3为赋值表达式,a=3;为赋值语句。 表达式和表达式语句的区别:在表达式后加上一个分号就构成了表达式语句。4.1 C语言的语句(2)函数调用语句 由一次函数调用加一个分号构成。 如:printf(“good!”); scanf(“%d”,&a); putch
3、ar(c);4.1 C语言的语句(3)控制语句 if()else (条件语句) for() (循环语句) while() (循环语句) dowhile() (循环语句) continue (结束本次循环语句) break (中止执行switch或循环语句) switch (多分支选择语句) goto (转向语句) return (从函数返回语句)4.1 C语言的语句(4)复合语句用 括起来的多个语句,又称分程序。如: a=b+c; c=x/y; printf(%d,%d,a,c); 注意:复合语句中最后一个语句的分号不能缺少。4.1 C语言的语句(5)空语句 只有一个分号的语句,什么也不执行。
4、有时可以用来延时。如:for(i=1;i=100;i+) ;注意:任何表达式都可以加上分号而成为语句。如:i+;x+y;都是合法的语句,只是并不把运算结果赋给另一个变量。4.2 字符数据的输入输出 4.2.1 putchar函数(字符输出函数) putchar函数的作用:向终端输出一个字符,可以是普通字符,也可以是控制字符和其他转义字符。 一般格式:putchar(字符常量或变量); 如:putchar(a); putchar(n); char c=b; putchar(c);4.2.1 putchar函数(字符输出函数)如: #include main( ) char a; int i; i
5、=65; a=B; putchar(a); putchar(i); putchar(n); putchar(101);运行程序BAA4.2.2 getchar函数(字符输入函数) getchar的作用:从终端输入一个字符。getchar的一般形式:getchar( )getchar函数是无参函数,括号里面没有参数。getchar函数的值就是从输入设备得到的字符,可以将这个字符赋给一个字符变量或整型变量,也可以作为表达式的一部分。4.2.2 getchar函数(字符输入函数)例:将输入的字符赋给字符变量#include main() char c; c=getchar(); putchar(c)
6、;运行程序输入:S输出:S例:将输入的字符作为表达式的一部分。putchar(getchar(); printf(“%d”,getchar(); (1)getchar函数只能接收一个字符,putchar函数只能输出一个字符。(2)一个函数要调用putchar( ), getchar( )函数,应该在其前面加上包含命令: #include 使用字符输入输出函数的注意事项4.3 格式输入与输出 4.3.1 printf函数(格式输出函数) printf函数的作用:向终端输出若干个任意类型的数据。printf与putchar的区别:printf函数可以输出多个数据,且为任意类型,而putchar只能
7、输出字符型数据,且只能是一个字符。 4.3.1 printf函数(格式输出函数) 1、printf函数的一般格式printf(“格式控制字符串”,输出列表);如:printf(%d,%cn“ i,c);格式控制字符串包括两种信息:格式说明,由”%”和格式字符组成,如%d,%f等。其作用是将输出的数据转换为指定的格式输出。 普通字符,即需要原样输出的字符。 4.3.1 printf函数(格式输出函数) 2、格式字符 C语言要求对于不同类型的数据要采用不同的格式字符来输出。(详见P61表4.1)格式字符说 明d输出十进制整数o输出八进制整数X,x输出十六进制整数u输出十进制无符号整数f以小数形式输
8、出实数E,e以指数形式输出实数G,g以小数或指数形式中较短的宽度输出实数c输出单个字符s输出字符串(1)d格式符作用:用来输出十进制整数。%d,按整型数据的实际长度输出。%md,m为指定的输出字段的宽度。 如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。 %-md,如果数据的位数小于m,则右端补以空格,若大于m,则按实际位数输出。例:int a=123,b=23456; printf(“a=%4d,b=%4d”,a,b);输出结果:a=123,b=23456例:int a=123,b=23456; printf(“a=%-4d,b=%-4d”,a,b);输出结果:a=123
9、,b=23456记忆方法:正左负右,即正数左补空格,负数右补空格。(1)d格式符 例:a=123;b=12345;printf(“%05d,%-08d,%4d”,a,b,b); 输出结果为: 00123,12345,12345补充说明(请记在书上P61空白处)%0md格式:当数据位数小于m时,左补0 。%-0md格式:仍是右补空格,因为右补0会改变数值大小。运行程序(1)d格式符%ld,用于输出长整型数据对于long型数据,当整型数据的范围超出-3276832767时,必须用%ld格式输出,否则会出错)对于long型数据也可以指定数据长度,如“%8ld”。如:long a=1234567;pr
10、intf(“%ldn”,a);printf(“%10ld”,a);输出结果为:1234567 1234567(2)o格式符 例: int a=-1; printf(%d,%o,a,a); 输出: -1,177777例:long int a=123456;printf(“%ld,%lo,%8lo”,a,a,a);输出结果为:123456,361100, 361100作用:以八进制数形式输出整数,对于长整数可以用”%lo”格式输出,也可以指定输出字段的宽度。注意:o格式符不会输出负的八进制整数,因为其将符号位作为八进制数的一部分。-1的补码为1111 1111 1111 1111(3)x,X格式符
11、作用:以十六进制数形式输出整数。如:int a=-1;printf(“%x,%8x”,a,a);输出结果为:ffff, ffff(4)u格式符作用:以十进制无符号形式输出整型数据。如:unsigned int a=65535;int b=-3;printf(“a=%un”,a);printf(“b=%un”,b);输出结果:a=65535b=65533运行程序(5)c格式符作用:用来输出一个字符。如:char c=A;int b=65;printf(“%c,%d,%3cn”,c,c,c);printf(“%c,%d,%3cn”,b,b,d);(6)s格式符作用:用于输出一个字符串 %s:按实际
12、长度输出一个字符串如printf(“%s”, “China”); 输出“China”字符串。 %ms:按指定长度m输出字符串,如果字符串长度大于m,则将字符串全部输出,若小于m,则左补空格(%-ms右补空格)。%m.ns:取字符串左端n个字符,并按指定宽度m输出,若n小于m,则左补空格(%-m.ns右补空格),否则输出n列 。(6)s格式符如:main() printf(“%3s,%7.2s,%.4s,%-5.3sn”, “CHINA”, “CHINA”, “CHINA”, “CHINA”); 输出结果为: CHINA, CH,CHIN,CHI运行程序(7)f 格式符作用:以小数形式输出实数(
13、包括单、双精度)。%f:整数部分全部输出,小数部分输出6位。%m.nf:指定输出的数据共占m列,其中有n位小数。如果数值长度小于m,则左端补空格( %-m.nf右端补空格)。注意:小数点占一位。 %lf:输出双精度实数。注意:单精度实数的有效位数一般为7位,双精度为16位,用%f或%lf格式输出时,小数都占6位。(7)f 格式符如:main()float x,y;double a,b;x=111111.111;y=222222.222;a=1111111111111.111111111;b=2222222222222.222222222;printf(“%f,%fn”,x,y);printf(
14、“%f,%fn”,a,b); 运行程序(7)f 格式符如:main()float f=123.456;printf(“%f,%10f,%10.2f,%.2f,%-10.2fn”,f,f,f,f,f);输出结果为:123.456001,123.456001, 123.46,123.46,123.46运行程序保留小数位数时进行了四舍五入(8)e格式符作用:以指数形式输出实数%e 不指定输出数据的宽度和小数位数,由系统自动给出5位小数,指数部分占4位。数值按规范化指数形式输出(小数点前必须有且只有1位非零数字)。%e格式输出的实数共占11列宽。 如:1.23456e+02%m.ne和%-m.ne,
15、n指拟输出数据的小数位数。(8)e格式符如:printf(“%e,%e,%e”,12345.678,0.12345,-123.456);运行程序输出结果为:1.23457e+04,1.23450e-01,-1.23456e+024.3.2 scanf函数(格式输入函数)1、一般形式 scanf(“格式控制字符串”,地址表列);格式字符说 明d用来输入十进制整数c用来输入单个字符f用来输入实数,可以用小数形式或指数形式输入s用来输入字符串(1)d格式符int a,b;scanf(“%d%d”, &a, &b);&为地址运算符,&a指a内存中的地址。以下输入方法均为合法:3 4 3 4 (多个空格
16、)3 (回车健) 4 3(tab键)4 “%d%d”表示按十进制整数形式输入数据。输入数据时,在两个数据之间以一个或多个空格、回车键、tab 键间隔。程序验证(1)d格式符scanf(“%d,%d”, &a, &b);输入时注意:“格式控制字符串”中的普通字符要原样输入。程序验证正确输入方法:3,4scanf(“a=%d,b=%d”, &a, &b);正确输入方法:a=3,b=4(1)d格式符如:scanf(“%5d%5d”, & a, & b);格式控制串中可以规定输入数据的宽度。输入:123456763则:a为12345 , b为6763程序验证(1)d格式符“%*d”表示本输入项在读入后不赋给相应的变量如:scanf(“%d%*d%d”,&a,&b);输入:3 5 6则:a的值为3,b的值为6程序验证(2)f格式符f格式符用于输入单精度实数“%f%f”与“%d%d”类似,两个实数之间可以用空格、TAB键、回车键间隔。输入时可以规定实数的宽度如:float m,n; scanf(“%7f%7f”,&m,&n);合法但是不能在输入实数时规定其精度。如:scanf(“%7.2f”,&m);不合法的程序验证(3)c格式符“%c”格式用于输入单个字符用“%c%c”输入字符时,空格作为有效字符赋给变量。如:scanf(“%c%c%c”,&a,&b,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 专业资格认证证书持有者能力证明(5篇)
- 环境科学与保护研究知识考点
- 那场难忘的足球赛话题议论文14篇
- 2025年芬兰语等级考试高级冲刺试卷
- 2025年茶艺师(高级)职业技能鉴定试卷(专业能力考核测评)
- 与大自然的对话:写景并抒情的6篇
- 2025年护目镜项目规划申请报告
- 2025年电子商务师(中级)考试试卷:电商用户行为分析试题
- 2025年电梯安装维修人员考试试卷:电梯运行监测与数据分析真题汇编
- 2025年美发师(中级)美发行业数据分析考试试卷
- 设计院项目设计流程与规范
- 设备安装施工环境保护工作措施
- 西方哲学智慧2024-西方哲学智慧超星尔雅答案
- 党内法规学-形考任务一-国开(FJ)-参考资料
- (完整版)《增广贤文》全文
- 数据安全管理员职业技能竞赛考试题库(含答案)
- GB/T 17395-2024钢管尺寸、外形、重量及允许偏差
- 地理标志产品质量要求 清涧红枣
- 农机维修专业技能考试题及答案
- 《建筑业企业资质等级标准》(建建200182号)-20210829233
- 城镇污泥标准检验方法CJT221-2023 知识培训
评论
0/150
提交评论