C语言程序设计--输入与输出
C语言的输入
所有的输入都是依赖于C语言函数进行的,这个函数是C语言标准库自带的,定义在头文件<stdio.h>里面,所以,要想使用与输入相关的函数,都需要包含这个头文件
#include <stdio.h>
输入函数gets
这是一个获取输入字符串的函数,其定义如下文,作用是从 stdin 读取一行到 s 所指向的缓冲区,直到一个终止符或 EOF。
char * gets(char * string){...}
试验gets
代码如下文
#include <stdio.h>
#define BANNER "Please input:"
int main(void){
char string[100];
printf(BANNER);
gets(string);
puts(string);
return 0;
}

很简单,但是不推荐,因为gets是不安全的,他可以输入任意长度的字符,可以覆盖超过变量定义支持的长度,缓冲区溢出风险大。
输入函数getchar
这是一个获取输入字符的函数,其定义如下文,作用是从屏幕读取下一个可用的字符,并把它返回为一个整数。这个函数在同一个时间内只会读取一个单一的字符。您可以在循环内使用这个方法,以便从屏幕上读取多个字符。
int getchar(void){...}
试验getchar
代码如下文
#include <stdio.h>
#define BANNER "Please input:"
int main(void){
char string;
printf(BANNER);
string = getchar();
putchar(string);
return 0;
}

不推荐,因为获取多个字符输入会很麻烦。
输入函数scanf
这是一个获取输入特定数据类型的函数,其定义如下文,函数从标准输入流 stdin 读取输入,并根据提供的 format 来浏览输入。
int scanf(const char *format, ...){}
试验scanf
代码如下文
#include <stdio.h>
#define BANNER "Please input:"
int main(void){
char input_char;
int input_int;
char input_string[100];
float input_float;
double input_double;
printf(BANNER);
scanf("%d", &input_int);
printf("%d\n", input_int);
printf(BANNER);
scanf("%c", &input_char);
printf("%c\n", input_char);
printf(BANNER);
scanf("%s", input_string);//这里只能是数组,因为如果是char *,则不知道大小,会发生段错误,这里使用&input_string 效果一样,但是会有warning,不推荐,
printf("%s\n",input_string);
printf(BANNER);
scanf("%f", &input_float);
printf("%f\n", input_float);
printf(BANNER);
scanf("%lf", &input_double);
printf("%lf\n", input_double);
return 0;
}

C语言的输出
所有的输出都是依赖于C语言函数进行的,这个函数是C语言标准库自带的,定义在头文件<stdio.h>里面,所以,要想使用与输出相关的函数,都需要包含这个头文件
#include <stdio.h>
输出函数puts
函数把字符串 s 和一个尾随的换行符写入到 stdout。
int puts(const char *s){...}
试验puts
在试验gets中试验过了puts
输出函数putchar
函数把字符输出到屏幕上,并返回相同的字符。这个函数在同一个时间内只会输出一个单一的字符。您可以在循环内使用这个方法,以便在屏幕上输出多个字符。
int putchar(int c){...}
试验putchar
在试验getchar中试验过了putchar
输出函数printf
函数把输出写入到标准输出流 stdout ,并根据提供的格式产生输出。
int printf(const char *format, ...){...}
试验printf
在试验scanf中试验过了printf
附录:标准化输入输出的格式:
| 数据格式类型 | 输入输出的类型标识符 |
|---|---|
| 十进制整数 | %d |
| 字符型 | %c |
| 整数 | %i |
| 浮点数 | %e, %f, %g |
| 八进制数 | %o |
| 字符串 | %s |
| 十六进制书 | %x |
| 指针 | %p |
| 一个等于读取字符数量的整数 | %n |
| 一个无符号整数 | %u |
C语言程序设计--输入与输出的更多相关文章
- C#语言基础— 输入与输出
C#语言基础— 输入与输出 1.1函数的四要素:名称.输入.输出.加工 1.2主函数:输出语句.输入语句: Static viod Main(string[] stgs)//下划线部分可以自己指定 { ...
- C语言数据输入与输出
1 概论 C语言提供了跨平台的数据输入输出函数scanf()和printf()函数,它们可以按照指定的格式来解析常见的数据类型,例如整数,浮点数,字符和字符串等等.数据输入的来源可以是文件,控制台以及 ...
- R语言学习——输入与输出
导入数据: grades<-read.table("D:/ProgramData/test1.txt",sep="\t") 求均值:mean() 求方差: ...
- 不可或缺 Windows Native (4) - C 语言: 预处理命令,输入,输出
[源码下载] 不可或缺 Windows Native (4) - C 语言: 预处理命令,输入,输出 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 预处理命令 输入 ...
- 输入和输出的总结(c语言)
c语言中有多种的输入和输出方式,下面就简单总结一下: 一.输入的三种方式 (1)scanf scanf 函数可以在变量中使用,也可以在数组中使用,当然指针上也能用到,是一个很好的输入函数.scanf是 ...
- [转]C语言文件输入/输出ACM改进版(freopen函数)
C语言文件输入/输出ACM改进版(freopen函数) 2009年5月27日 10:379,457 浏览数发表评论阅读评论 文章作者:姜南(Slyar) 文章来源:Slyar Home (www. ...
- C语言的本质(23)——C标准库之输入与输出(上)
1..文件的基本概念 所谓"文件"是指一组相关数据的有序集合.这个数据集有一个名称,叫做文件名.实际上在前面的各章中我们已经多次使用了文件,例如源程序文件.目标文件.可执行文件.库 ...
- Ubuntu下键盘输入错乱问题,输入双引号输出的是@符号,输入#号输出的是未知语言的字符
装完搜狗后,键盘开始出现混乱,切换到英文输入法,输入双引号输出的是@符号,输入#号输出的是未知语言的字符. 网上有的说在 system - keyboard - Input Source 下看看是否是 ...
- C语言中字符数据的输入和输出
字符的输出 C语言中使用putchar函数来输出字符数据 #include <stdio.h> int main() { char a,b,c,d; //定义字符变量a,b,c,d a = ...
随机推荐
- springMVC工程使用jreloader实现热部署
springMVC工程使用jreloader实现热部署applicationContext - ContextLoaderListener重新加载DispatcherServlet 重新加载提高开发效 ...
- spark 源码阅读博客
http://blog.csdn.net/oopsoom/article/details/38257749
- Hibernate的七种映射关系之七种关联映射(一)
关联映射就是将关联关系映射到数据库里,在对象模型中就是一个或多个引用. 一.Hibernate多对一关联映射:就是在“多”的一端加外键,指向“一”的一端. 比如多个学生对应一个班级,多个用户对应一个级 ...
- 自建Nuger Server拾遗
企业内部的包需要通过nuget来管理发布,或者一些不允许上外网的企业,通过自己的nuget服务器来使用nuget,都会考虑到自建一个nuget服务器.本文整理了一些有用的链接和使用心得,以备不时之需. ...
- 想高效学会Hadoop,你要按照这个路线
学习hadoop,首先我们要知道hadoop是什么? 说到底Hadoop只是一项分布式系统的工具,我们在学习的时候要理解分布式系统设计中的原则以及方法,只有这样才能以不变应万变.再一个就是一定要动手, ...
- SmbException: 0xC000007F
The error code 0xC000007F means: NT_STATUS_DISK_FULL There is not enough space on the disk. https: ...
- JVM知识点总览-中高级Java工程师面试必备
对于搞开发的我们其实也是一样,现在流行的框架越来越多,封装的也越来越完善,各种框架可以搞定一切,几乎不用关注底层的实现,初级程序员只要熟悉基本的使用方法,便可以快速的开发上线:但对于高级程序员来讲,内 ...
- linux中通过awk进行文本的对齐格式化处理?awk printf左对齐?
需求描述: 今天在对一个从excel文件中粘出来的内容进行整理的时候,发现格式很乱,就想用awk工具格式化一下,在此记录一下. 操作过程: 1.从excel中复制出来的内容 job_name j ...
- mysql数据库中,如何对json数据类型的值进行修改?通过json_set函数对json字段值进行修改?
需求描述: 今天在看mysql中存放json数据类型的问题,对于json数据进行修改的操作, 在此记录下. 操作过程: 1.创建包含json数据类型的表,插入基础数据 mysql> create ...
- Java实现匿名内部类的简单应用
在查看数码相片时,通常会使用一款图片查看软件,该软件应该能遍历文件夹下的所有图片并进行显示.编写程序,实现一个图片查看软件,它可以支持6张图片,通过单击不同的按钮就可以查看不同的图片. 思路分析:就是 ...