《C语言-基本输入输出.ppt》由会员分享,可在线阅读,更多相关《C语言-基本输入输出.ppt(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基本输入输出头文件#include 输入输出函数字符输出函数putchar()()字符输入函数getchar()()格式输出函数printf()()格式输入函数scanf()()字符串输出函数puts()()字符串输入函数gets()()字符输出函数putchar函数说明putchar(int c);输出一个字符到标准输出设备参数说明int c 要输出的字符,可以是整数或字符,若超出字符型范围,则只使用低字节函数putchar举例(02-01.C)int c,i;putchar(a);/*输出a*/putchar(n);/*输出换行符*/putchar(101);/*输出e*/putchar(
2、101);/*输出A*/c=1000;i=putchar(c);/*输出,i=232*/字符输入函数getchar函数说明getchar(void);从标准输入设备输入一个字符需要输入回车后,函数才返回参数说明无参数函数getchar举例(02-02.C)int c;c=getchar();/*输入a后回车*/putchar(c);/*输出a*/c=getchar();/*是否需要输入?*/printf(c=%dn,c);/*输出c=?10*/c=getchar();/*输入abcd后回车*/putchar(c);/*输出a*/putchar(getchar();/*输出b*/格式输出函数pr
3、intf格式printf(格式控制,数据列表);功能 格式化输出若干任意类型数据函数printf的参数说明格式控制包括“格式说明”和“普通字符”“格式说明”由%和“格式字符”组成,将输出数据按指定格式输出“普通字符”按原样输出输出列表需要输出的数据可以是变量、常量、表达式、函数调用等输出数据按顺序与“格式说明”对应输出函数printf的格式举例printf(a=%d b=%d,a,b);格式说明格式说明普通字符普通字符输出列表输出列表输出结果a=3 b=4格式控制字符格式字符说 明d,i有符号十进制整数,正数不输出符号o无符号八进制整数,不输出前导0 x,X无符号十六进制整数,不输出前导0 x
4、或0Xu无符号十进制整数c转换为无符号字符型,以此为ASCII码输出一个字符s输出字符串,直到遇到0或达到指定宽度f小数形式单、双精度数,缺省精度为6位小数e,E以规范化指数形式输出浮点数,缺省精度为6位小数g,G以f(F)和e(E)两种格式中较短的一种输出%输出一个%附加格式控制字符格式字符说 明h有符号或无符号短整型l有符号或无符号长整型L长双精度型m一个正整数,输出数据的最小宽度n一个正整数,输出的小数位数或字符串截取个数 分隔m和n-输出的数字或字符向左靠齐+输出的数字一直带符号,即正号也输出0输出的数字不满规定宽度时,用前导0填充 有符号数字如果没有输出符号,则前面加一个空格#八进制
5、和十六进制数加前缀,浮点数格式也有所改变函数printf举例(02-03.C)int i=1234;float f=-56.78;printf(i=%+6d,i);/*i=+1234*/printf(%c,i);/*/printf(%#08x,i);/*0 x0004d2*/printf(%10.5E,f);/*-5.67800E+01*/printf(%7.4f%,f);/*-56.7800%*/printf(%+6.3G,f);/*-56.8*/printf(%-6.3s,Hello);/*Hel*/格式输入函数scanf格式 scanf(格式控制字符串,地址列表);功能 格式化输入若干任
6、意类型数据函数scanf使用说明“地址列表”中是变量的地址,而非变量scanf(%d,&i);关于输入格式格式字符串中的普通字符须按相应位置输入除字符型(%c)外,输入项之间用一个或多个空白字符分隔,包括空格、回车、制表符空白字符会作为%c对应的输入如规定了最大宽度,且输入数据超出宽度,则按宽度截取数据格式字符格式字符说 明d有符号十进制整数i有符号整数,可以是八进制(带前导0)或十六进制(带前导0 x或或0X)o有符号八进制整数,可以带或不带前导0 x,X有符号十六进制整数,可以带或不带前导0 x或0Xu无符号十进制整数c输入一个字符,包括空白字符s输入无空白字符的字符串,不需要用括起来f,e,E,g,G浮点数,可以用小数形式或指数形式%输入一个%附加格式字符格式字符说 明h有符号或无符号短整型l有符号或无符号长整型或双精度型L长双精度型m一个正整数,输入数据的最大宽度*需要输入数据,但是在赋值时被跳过函数scanf举例(02-04.C)int i,j;char c;scanf(%d%d,&i,&j);/*2 3 or 23 or 23*/scanf(i=%d,j=%d,&i,&j);/*i=2,j=3 or i=2,j=3*/scanf(%d%c%d,&i,&c,&j);/*2 a 3=i=2,c=,j出错*/*2a 3 =i=2,c=a,j=3*/