C语言入门之输入输出



C 语言标准函数库中,提供了关于以下几种输出函数:

(1)简单字符输出输入;(2)多种格式输出输入;  (3)简单字符串输入输出;

注:所有标准输入输出函数在调用前,必须先包含头文件stdio.h

一、简单字符输出输入   

输出函数为putchar函数、putc函数,其中putc函数包含了putchar函数的功能

putc(a,stdout); //将输出97,ASCII码表中,97对应的字符为a。等价于putchar(a);


输入函数为getchar函数、getc函数,其中getc函数包含了getchar函数的功能

getc(stdin); //读取键盘输入的单个字符,等价于getchar();

注:使用该函数之前,若有类似的操作最好调用fflush函数清理输入流:fflush(stdin);


二、多种格式输出输入


1.printf函数:可以输出字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义

int a=100;

printf("%d",a);  //100

char c='b';

printf("%c",c);  //b 等价于putchar(c);

   

   printf函数打印时的占位控制:

(1)printf函数的控制串内,%符号与控制符之间的数字是用来控制占位的。

例如:printf(%8.3f,34.678f);

8代表包括小数点总共占用8个空位,.3代表保留3位小数打印。

(2)%之后带-符号代表在所占用的空间内左对齐,缺省不带-符号是右对齐。

例如:printf(价格=%-8.3f,34.67f);

还是占用8个空位但是,与前面不同之处是左对齐。

(3)如果%后面是0.x代表不占用多余空位,只控制保留的小数位。

例如:printf(价格=%0.3f,34.6f);

以上是printf函数对于浮点数的占位和对其管理。

(4)对于整数和字符串输出只有占位控制和对齐控制,没有小数点后面的控制。

例如:printf(学号:%-8d姓名:%-10s\n);

810代表的是占位管理,-符号代表左对齐,缺省不带-符号是右对齐



2.scanf函数:格式化输入函数,即按控制字符串内指定的各种格式,从键盘上把数据输入到指定的变量之中


(1)与printf函数的相同之处:

控制字符串内的每个%后面必须跟一个控制字符,参数列表中的参数都必须与控制字符的个数和类型相匹配

(2)与print函数的不同之处:

scanf的参数列表中,每一个变量之前都必须要带上取地址符号(&)。代表要将参数列表中所有变量的地址一一

传递给系统,操作系统要按照给定变量的地址,将用户输入的数据传递给参数列表中每一个对应的变量。(只有

数组变量可以不用取地址,因为数组变量自身就是一个内存地址。

printf的参数列表中,所有变量是不用取地址直接代入的。如果scanf函数像直接代入变量不取地址,执行时会

因数据送错地址造成整个程序崩溃。

另外一点与printf不同之处是:scanf的控制字符串内除了控制字符以外,只能指定间隔符空格或逗号。不能像

printf函数那样,随意在控制字符之间夹杂其他的文字。

int c;

scanf("%c",&c);  //等价于getchar(c);


3.printf和scanf的常用格式化符号:

%c :单字符     %s:字符串   %d:有符号的十进制整数   %u:无符号的十进制整数

%f:单精度浮点数   %lf:双精度浮点数   %x:无符号的十六进制整数   %o:无符号的八进制整数


三、简单字符串输入输出

1.gets函数:stdin流中读取字符串,类似于scanf(%s,&x);


2.puts函数:用来向标准输出设备写字符串并换行,类似于printf(%s\n,x);


注:本文为学习总结,学习的资源来源于吕鑫老师的C语言教程。


#include<stdio.h>

int main(){
	int a;
	char b[20];
	char c[20];
	printf("通过getc和putchar:");
	a=getc(stdin);
	putchar(a);
	putchar('\n');

	fflush(stdin);   //清理输入流

	puts("通过gets和puts:");

	gets(b);

	puts(b);

	fflush(stdin);   //清理输入流

	printf("通过printf和scanf:");

	scanf("%s",c);

	printf("%s\n",c);
	

	return 0;
}











  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值