C语言输入输出输入输出
在C语言中,所有的数据输入/输出都是由库函数完成的。因此都是函数语句。
printf函数printf函数称为格式输出函数,其关键字最末一个字母f即为“格式”(format)之意。
其功能是按用户指定的格式, 把指定的数据显示到显示器屏幕上。
一、printf函数调用的一般形式
printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。
printf函数调用的一般形式为:
printf(“格式控制字符串”,输出表列)其中格式控制字符串用于指定输出格式。
格式控制串可由格式字符串和非格式字符...
输入输出
在C语言中,所有的数据输入/输出都是由库函数完成的。因此都是函数语句。
printf函数printf函数称为格式输出函数,其关键字最末一个字母f即为“格式”(format)之意。
其功能是按用户指定的格式, 把指定的数据显示到显示器屏幕上。
一、printf函数调用的一般形式
printf函数是一个
库函数,它的函数原型在头文件“stdio.h”中。
printf函数调用的一般形式为:
printf(“格式控制字符串”,输出表列)其中格式控制字符串用于指定输出格式。
格式控制串可由格式字符串和非格式字符串两种组成。
格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。
如“%d”表示按十进制整型输出,
“%c”表示按字符型输出等
输出表列中给出了各个输出项,要求格式字符串和各输出项在数量和类型上应该一一对应。
#include
main()
{
int a=88;
int b=89;
printf("%d%d\n",a,b);
printf("%d,%d\n",a,b);
printf("%c,%c\n",a,b);
printf("a=%d,b=%d\n",a,b);
}
二、格式字符
对不同类型的数据用不同的格式字符。常用的有以下几种:
(1)d格式符。用来输出十进制整数。
① %d,按整形数据的实际长度输出
② %md,m为指定的输出字段的宽度
如果数据位小于m,则左端补以空格;
如果数据位大于m,则按实际位数输出
例如:#include
main()
{
int a ,b;
a =123456;b=789;
printf(“%d\n%d\n”,a,b);
printf(“%4d\n%4d\n”,a,b);
}
③ %ld,输出长整型数据.对于长整型也可以指定宽度。
例如: #include
main()
{
int long a=146953;
printf(“%ld”,a);
printf(“%4ld”)
}
(2)O格式符,以八进制形式输出整数
#include
main()
{
int a=-1;
printf(“%d,%o\n”,a,a);
printf(“%13o\n”,a);
}
(3)X格式符的,以十六进制形式输出整数
#include
main()
{
int a=-1;
printf(“%x,%o,%d\n”,a,a,a);
printf(“%10x\n”,a);
}
(4) C格式符,用来输出一个字符
#include
main()
{
char c= ‘a’;
printf(“%c\n”,c);
}
(5)S格式符,用来输出一个字符串
1.%s
#include
main()
{
printf(“%s\n”, “abcdef”);
}
2.%ms,输出的字符占m列,如字符串本身长度大于m,则突破m的限制,将字符串全部输出。若串长小于没m,则左补空格
#include
main()
{
printf(“%4s\n”, “wuhan”);
printf(“%4s\n”, “how”);
}
3.%-ms,如果串长小于没m,则在m列范围内,字符串向左靠,右补空格
#include
main()
{
printf(“%-5.3s\n”, “then”);
printf(“%-5.4s\n”, “then”);
}
4.%m.ns,输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。
#include
main()
{
printf(“%s\n”, “kkkkkkkkk”);
printf(“%7.2s\n”, “china”);
}
5.%-m.ns,其中m,n含义同上n个字符输出在m列范围的左侧,右补空格。如果n>m,则m自动取n值,即保证n个字符正常输出.
#include
main()
{
printf(“%s\n”, “hhhhhhhhhh”);
printf(“%-5.3s\n”, “china”);
printf(“%-5.6s\n”, “china”);
printf(“%-.5s\n”,“china”);
}
字符输出函数
putchar 函数
putchar 函数是字符输出函数,
其功能是在显示器上输出单个字符。
其一般形式为: putchar(字符变量)
例如:#include
main()
{
char c= 'A';
int n= 'B';
putchar(c);
putchar('\n');
putchar(n);
putchar('\n');
}
数据输入语句
C语言的数据输入也是由函数语句完成的。 本节介绍从标准输入设备—键盘上输入数据的函数scanf和getchar。
scanf函数 scanf函数称为格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。
一、scanf函数的一般形式
scanf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中,与printf函数相同
scanf函数的一般形式为:
scanf(“格式控制字符串”,地址表列); 其中,格式控制字符串的作用与printf函数相同,但不能显示非格式字符串, 也就是不能显示提示字符串。
地址表列中给出各变量的地址。
地址是由地址运算符“&”后跟变量名组成的。
例如,&a,&b分别表示变量a和变量b 的地址。
这个地址就是编译系统在内存中给a,b变量分配的地址。
#include
main(){
int a,b,c;
printf("input a,b,c\n");
scanf("%d%d%d",&a,&b,&c);
printf("a=%d,b=%d,c=%d",a,b,c);
}
使用scanf函数还必须注意以下几点:
a. scanf函数中没有精度控制,
如:scanf("%5.2f",&a); 是非法的。不能企图用此语句输入小数为2位的实数。
b. scanf中要求给出变量地址,如给出变量名则会出错。
如 scanf("%d",a);是非法的,应改为scnaf("%d",&a);才是合法的。
c. 在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔则可用空格,TAB或回车作间隔。C编译在碰到空格,TAB,回车或非法数据(如对“%d”输入“12A”时,A即为非法数据)时即认为该数据结束。
d. 在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。
#include
main()
{
char a,b;
printf("input character a,b\n");
scanf("%c%c",&a,&b);
printf("%c%c\n",a,b);
}
由于scanf函数"%c%c"中没有空格,输入M N,结果输出只有M。
而输入改为MN时则可输出MN两字符,见下面的输入运行情况:
getchar函数getchar函数的功能是从键盘上输入一个字符。
其一般形式为:
getchar(); 通常把输入的字符赋予一个字符变量,构成赋值语句,
如:
#include
main()
{
char c;
printf("input a character\n");
c=getchar();
putchar(c);
putchar('\n');
}
使用getchar函数还应注意几个问:
(1)getchar函数只能接受单个字符,输入数字也按字符处理。输入多于一个字符时,只接收第一个字符。
(2)使用本函数前必须包含文件“stdio.h”
#include
main()
{
char a,b,c;
printf("input character a,b,c\n");
scanf("%c %c %c",&a,&b,&c);
printf("%d,%d,%d\n%c,%c,%c\n",a,b,c,a-32,b-32,c-32);
}
输入三个小写字母
输出其ASCII码和对应的大写字母。
本文档为【C语言输入输出】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。