C语言教程(十六)输入与输出

1. 简介

C语言中的输入与输出(IO)的操作是用函数来实现的,IO主要是与外部设备进行通信,输入就是in,获取外部设备数据,输出就是out,写入外部设备数据。

C语言中涉及到读写文件,都属于字节流操作。从文件中读取数据就是输入流,向文件中写入数据就是输出流。

2. printf()和scanf()

2.1 printf()函数

printf()函数用于将数据格式化输出到终端屏幕上,print是打印的意思,而f就代表format,即格式化的意思,表示可以指定不同格式的输出。printf()函数的使用需要引入<stdio.h>标准库头文件。

#include <stdio.h>

printf("test\n");

printf()函数输出的内容都会显示在同一行,光标停留在输出内容的结尾,不会自动换行,需要我们手动加上转义字符\n,就可以使光标移动到第二行。

printf()函数的格式化输出通过“占位符”来指定,占位符就是表示这个位置要被其他的值替换,它接受可变参数,第一个参数就是占位符,后面的参数就是替换占位符的值,占位符的格式要和替换的值一一对应。

占位符的形式是以%开头,后面跟的是占位符的类型。

printf("%d\n",10);//十进制整数格式

上面的示例中,%d占位符表示以十进制整数的格式输出,所以后面的参数必须是十进制整数。

printf()函数的占位符有很多,和C语言的数据类型相对应。常用的如下。

  • %d或%i:输出十进制整数;
  • %u:输出无符号的十进制整数;
  • %o:输出八进制整数;
  • %x:输出十六进制整数;
  • %f:输出十进制浮点数;
  • %p:输出指针;
  • %c:输出字符;
  • %s:输出字符串;
  • %zd:输出size_t类型;
  • %%:输出百分号。

printf()函数还可以定制占位符的形式,通过在%后面加上数字或特殊符号来实现。

//限定宽度
printf("%5d\n", 5); // 输出为    5,表示占位符的宽度至少为5位
printf("%-5d\n", 5);//输出为5    ,和%5d是相反的,在后面加空格

//限定小数位数
printf("%.3f\n",3.14);//输出3.140

//宽度和小数位数限定联合使用
printf("%5.3f\n",3.14);//输出 3.140

//也可以通过传递参数来实现,等同于
printf("%*.*f\n",5,3,3.14);

2.2 scanf()函数

scanf()函数是与printf()函数是相对应的,用于读取来自键盘的输入,也是需要引入标准库头文件<stdio>才能使用。当程序执行到这个函数的时候,会自动暂停等待用户的输入,用户输入完成后scanf()函数就会处理。scanf()函数的使用与printf()函数基本类似,就连占位符也是一样的。

scanf("%d",&a);//输入十进制整数值

注意这里的%d是十进制整数参数,表示输入的是一个十进制整数,这里和printf()函数一样。后面的要替换的值是&a,即变量a的内存地址,因为scanf()函数传递的是一个指针,将变量a的地址指向了用户输入的值。scanf()函数还会自动忽略输入的空格、换行符、制表符等。

3. getchar()和putchar()

getchar()函数返回从键盘输入的一个字符,它是无参数形式的,同样也是定义在标准库头文件<stdio.h>中,它的功能相当于scanf()函数输入一个字符。

char c = getchar();

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

putchar()函数用于将字符输出到屏幕上,它接受一个int类型的参数,并返回输入的字符。同样也是定义在标准库头文件<stdio.h>中,它的功能相当于printf()函数输出一个字符。

putchar(c);//输出到屏幕

//等同于
printf("%c",c);

4. gets()和puts()

gets()函数用于从标准stdin中读取一行到s所指向的缓冲区,遇到EOF就终止;puts()函数把字符串s和一个换行符写入到标准stdout,get()函数与puts()函数一起使用。简单来说就是,puts()函数在屏幕上显示,gets()函数则用于获取用户的输入。

char *gets(char *s) //gets()函数原型
int puts(const char *s)  //puts()函数原型

//使用
puts("www.peiqiblog.com");//输出到屏幕上

char str[20];
puts("www.peiqiblog.com");
gets(str);
觉得有帮助可以赞赏本文哦~万分感谢!
文章:C语言教程(十六)输入与输出
作者:沛旗
链接:https://www.peiqiblog.com/article/3631/
版权声明::本博客站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0协议
转载请注明文章地址及作者哦~
暂无评论

发送评论(禁止发表一切违反法律法规的敏感言论) 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇