七夕来了,请用C 语言和我交流

C语言输入&输出

当我们提到输入时,这意味着要向程序填充一些数据。输入可以是以文件的形式或从命令行中进行。C 语言提供了一系列内置的函数来读取给定的输入,并根据需要填充到程序中。

当我们提到输出时,这意味着要在屏幕上、打印机上或任意文件中显示一些数据。C 语言提供了一系列内置的函数来输出数据到计算机屏幕上和保存数据到文本文件或二进制文件中。

标准文件

C 语言把所有的设备都当作文件。所以设备(比如显示器)被处理的方式与文件相同。以下三个文件会在程序执行时自动打开,以便访问键盘和屏幕。

文件指针是访问文件的方式,本节将讲解如何从屏幕读取值以及如何把结果输出到屏幕上;C 语言中的 I/O (输入/输出) 通常使用 printf() 和 scanf() 两个函数。scanf() 函数用于从标准输入(键盘)读取并格式化, printf() 函数发送格式化输出到标准输出(屏幕)。

实例解析:

所有的 C 语言程序都需要包含main()函数。 代码从main()函数开始执行。

printf()用于格式化输出到屏幕。printf()函数在"stdio.h"头文件中声明。

stdio.h是一个头文件 (标准输入输出头文件) and#include是一个预处理命令,用来引入头文件。 当编译器遇到printf()函数时,如果没有找到stdio.h头文件,会发生编译错误。

return 0;语句用于表示退出程序。

格式化打印(基本数据类型的打印)

%d 格式化输出整数

%f 格式化输出单精度浮点型数据

%c格式化输出字符

%lf格式化输出双精度浮点型数据

getchar() & putchar() 函数

int getchar(void)函数从屏幕读取下一个可用的字符,并把它返回为一个整数。这个函数在同一个时间内只会读取一个单一的字符。您可以在循环内使用这个方法,以便从屏幕上读取多个字符。int putchar(int c)函数把字符输出到屏幕上,并返回相同的字符。这个函数在同一个时间内只会输出一个单一的字符。您可以在循环内使用这个方法,以便在屏幕上输出多个字符。

关于怎么快速学C/C++,可以加下小编的C/C++学习群:627+012+464,不管你是小白还是大牛,小编我都欢迎,不定期分享干货,欢迎初学和进阶中的小伙伴。每天晚上20:00都会开直播给大家分享C/C++游戏编程学习知识和路线方法,群里会不定期更新最新的教程

gets() & puts() 函数

char *gets(char *s)函数从stdin读取一行到s所指向的缓冲区,直到一个终止符或 EOF。int puts(const char *s)函数把字符串 s 和一个尾随的换行符写入到stdout。

scanf() 和 printf() 函数

int scanf(const char *format, ...)函数从标准输入流stdin读取输入,并根据提供的format来浏览输入。

int printf(const char *format, ...)函数把输出写入到标准输出流stdout ,并根据提供的格式产生输出。

format可以是一个简单的常量字符串,但是您可以分别指定 %s、%d、%c、%f 等来输出或读取字符串、整数、字符或浮点数。还有许多其他可用的格式选项,可以根据需要使用。如需了解完整的细节,可以查看这些函数的参考手册。现在让我们通过下面这个简单的实例来加深理解:

在这里,应当指出的是,scanf() 期待输入的格式与您给出的 %s 和 %d 相同,这意味着您必须提供有效的输入,比如 "string integer",如果您提供的是 "string string" 或 "integer integer",它会被认为是错误的输入。另外,在读取字符串时,只要遇到一个空格,scanf() 就会停止读取,所以 "this is test" 对 scanf() 来说是三个字符串。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java一日一条

Java类的生命周期详解

最近有位细心的朋友在阅读笔者的文章时,对java类的生命周期问题有一些疑惑,笔者打开百度搜了一下相关的问题,看到网上的资料很少有把这个问题 讲明白的,主要是因为...

1053
来自专栏Java帮帮-微信公众号-技术文章全总结

Java面试系列8

? 一、heap和stack有什么区别 栈是一种线形集合,其添加和删除元素的操作应在同一段完成。 栈按照后进先出的方式进行处理。 堆是栈的一个组成元素 ...

3065
来自专栏专注 Java 基础分享

字节码文件的内部结构之谜

如果计算机的 CPU 只有「x86」这一种,或者操作系统只有 Windows 这一类,那么或许 Java 就不会诞生。Java 诞生之初就曾宣扬过它的初衷,「一...

3989
来自专栏令仔很忙

javascript变量:全局?还是局部?这个得注意

        如果有Var,在函数内部声明变量是局部变量,如下例,读取不到name的数据。

1003
来自专栏带你撸出一手好代码

不使用回调函数的ajax请求实现(async和await简化回调函数嵌套)

在常规的服务器端程序设计中, 比如说爬虫程序, 发送http请求的过程会使整个执行过程阻塞,直到http请求响应完成代码才会继续执行, 以php为例子 ? 当...

3405
来自专栏玄魂工作室

看代码学安全(11) - unserialize反序列化漏洞

大家好,我们是红日安全-代码审计小组。最近我们小组正在做一个PHP代码审计的项目,供大家学习交流,我们给这个项目起了一个名字叫 PHP-Audit-Labs 。...

1233
来自专栏章鱼的慢慢技术路

Go语言相关练习_选择题(2)

go语言中字符串是UTF-8编码并存储的,它语言不定长的字节,所以它不支持下标操作,因为没一个下标操作代表的是固定长度的字节,所以不能对字符串中某个字符单独赋值...

962
来自专栏漏斗社区

学会代码执行函数,让老哥带你勇闯天涯!

最近研究PHP的一些危险函数,先写下代码执行函数的归纳,主要是参考自官方手册的解读,并附上了一些dogBypass的一句话,为什么是dog呢?因为在我看来dog...

3696
来自专栏编程

享学课堂谈-Python程序员的常见错误

这些是Python初学者活生生犯的错,千百次的错。事实上,这些错误实在是太普遍了以至于我敢保证你刚开始学的时候是一定会犯的。 “那么是什么呢?”你会问,“你也会...

1909
来自专栏IT派

Python字节码介绍

如果你曾经编写亦或只是使用Python语言,那么你可能已经习惯了看Python源码文件; 源码的文件名以.py结尾。或许你也已经注意到了另一种类型的文件,文件名...

1633

扫码关注云+社区