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 = ...
随机推荐
- Caffe 学习:Eltwise层
Eltwise层的操作有三个: 1. PROD(product):按元素乘积 2. SUM:按元素求和(默认操作) 3. MAX:保存元素大者
- Mac PD虚拟机卸载删除
MAC 10.12.6 从Application直接删掉PD Mac盘-->资源庫-->preference-->删掉parallels
- 到底什么时候才需要在ObjC的Block中使用weakSelf/strongSelf
转载,原文: http://blog.lessfun.com/blog/2014/11/22/when-should-use-weakself-and-strongself-in-objc-block ...
- asp.net MVC中防止跨站请求攻击(CSRF)的ajax用法
参考: Preventing Cross-Site Request Forgery (CSRF) AttacksValidating .NET MVC 4 anti forgery tokens in ...
- 2 BeeGo 参数配置与路由配置
beeGo 的参数配置 beeGo默认会解析当前应用下的conf/app.conf文件 默认的配置如下: appname = WEB httpport = 8080 runmode = dev run ...
- Oracle:oracle 12.1.0.2 升级到12.2.0.1 后,自动任务报错:ORA-20001: Statistics Advisor: Invalid task name for the current user
具体错误如下:关键字:ORA-12012.ORA-20001 ORA-12012: error on auto execute of job "SYS"."ORA$AT_ ...
- in语句导致查询很慢
1.表A,表B,表C.其中A中的主键是B的外键,一对多的关系:B的主键是C的外键,一对多的关系.最终想查出所有符合条件的C. 原因:开发人员将A表数据先查出来,放到list中,然后用list作为in的 ...
- nano-sql.js的基本操作
nano-sql是一个小而快的数据库引擎, 他支持联合查询, 分组, 事务, ORM等功能, 支持 内存, indeedDB, Local Storage, WebSQL, Level DB 注意第一 ...
- SpringBoot------8080端口被占用抛出异常
异常信息: The Tomcat connector configured to listen on port failed to start. The port may already be in ...
- PHP从数组中找到指定元素的位置
群里有人问,有个数组五个元素 分为1到5 现在要求 循环找出3元素的索引,怎么做性能才是最高. 我不知道哪个性能最高,但是我想提出可以用多种方式进行查找,然后进行比较选择. 我想,最简单最基础的 应 ...