C语言:输入输出

C语言无I/O语句,i/o操作由函数实现

#include<stdio.h>

字符输出函数putchar:

格式:putchar(c)

参数:c为字符常量,变量或者表达式

功能:把字符c输出到显示器上

返回值:正常,为显示的代码值

 1 #include<stdio.h>
 2 int main()
 3 {
 4   int c;
 5   char a;
 6   c = 65;
 7   a =‘B‘;
 8   putchar(c);
 9   putchar(‘\n‘);
10   putchar(a);
11 }// A       B

格式输出函数printf

格式:printf("格式控制符",输出表)

功能:按照指定的格式向显示器输出数据

输出表:要输出的信息

格式控制符:包含两种信息

格式说明:%【修饰符】格式字符,用于指定输出格式

普通字符:原样输出

 1 static char a[]="hello world!"
 2 printf("%s\n",a);
 3 printf("%15s\n",a);
 4 printf("%10.5s\n",a);
 5 printf("%2.5s\n",a);
 6 printf("%.3s\n",a);
 7 //output
 8 hello world!
 9       hello world!
10         hello
11 hello
12 hel

字符输入函数getchar

格式:getchar()

功能:从键盘读取一个字符

返回值:正常,返回读取的代码值;错误或者结束键盘输入,返回-1

 1 #include<stdio.h>
 2 int main()
 3 {
 4    int c;
 5    printf("enter a character:");
 6    c = getchar();
 7    printf("%c--%d-->hex%x\n",c,c,c);
 8    return 0;
 9 }
10 //output
11 enter a character:A
12 A--65-->HEX41

格式输入函数scanf

格式:scanf("格式控制符",地址表);

功能:按照指定格式从键盘读入数据,存入地址表

存储单元中,按回车键结束

返回值:正常,返回输入数据个数

地址表:变量的地址,常用取地址符&

说明:

用"%c"格式符,空格和转义字符作为有效字符输入

例子:

1 scanf("%c%c%c",&c1,&c2,&c3);
2 /*若输入a b c
3 则c1为a,c2为空格,c3为b*/

总结:在输入数据时,遇到以下情况认为数据结束:

遇到空格,TAB,或者回车

遇非法输入

遇宽度结束

例子:

1 ret = scanf("%d%c%f",&a,&b,&c);
2 /*
3  若输入1234a123o.26
4 则a为1234,b为‘a’,c为123
5
6 */

************************************************如何处理输入函数留下的垃圾******************************************************

使用输入函数可能会留下垃圾

1 int x;
2 char ch;
3 scanf("%d",&x);
4 scanf("%ch",&ch);
5 printf("x=%d,ch=%d\n",x,ch);
6 //当输入第二次的时候,第一次的输入之后的回车被当作输入的字符

方法1:

时间: 2024-10-12 10:06:07

C语言:输入输出的相关文章

c语言输入输出缓冲区的概念

语言输入输出缓冲区的概念 你肯定会奇怪为什么一开始先说这个,一开始不都是数据类型什么的嘛,这个写在最前面因为后面的程序即使最简单的code都会用到输入输出,输出比较简单,可以放在后面再说,但是输入就不同了,如果不先了解一下,可能会得到和你预想不同的结果哦^_^.也正是由于和一般的c语言介绍方式不同,为了看起来正规一些,我就把这章叫做chapter0了,完全可以先跳过去,直接看chapter1. 1.getchar 先引用一下前人的成果(有修改)^_^:http://blog.csdn.net/c

3_Shell语言———输入输出重定向和管道概述

一.输入重定向和输出重定向 通常计算机的I/O(输入/输出)设备为键盘和显示器,因此当我们执行cat命令而不加任何参数时,命令会等待用户通过键盘输入数据:而当我们为cat命令增加了参数/etc/rc.d/rc.sysinit后,cat命令的输入源变成了文件/etc/rc.d/rc.sysinit.这个过程就是输入重定向.如果cat的结果不显示在屏幕中,而是输出到某个文件中,其过程就是输出重定向. 二.管道 管道事实上是一种重定向的过程.管道的一方是数据的输入端,一方是接收端.bash也支持管道,

C语言输入输出的基础知识及strlen、memset的用法

printf printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息. printf()函数的调用格式为: printf("<格式化字符串>", <参量表>). printf 函数的一般形式为: int printf(const char *format,[argument]); 格式输出,它是c语言中产生格式化输出的函数(在 stdio.h 中定义).用于向终端(显示器.控制台等)输出字符.格式控制由要输出的文字和数据格式说明组成.要

R语言--输入输出

基本输入输出 输入: readline, edit, fix 输出: print, cat 输出重定向 sink #基本输入输出 x=readline('请输入:') #读取输入,一行为一个字符串 x #[1] "1 2 3" mydata=data.frame(name=character(0),age=numeric(0),height=numeric(0)) #通过 character(0)定义域类型 mydata=edit(mydata) #通过edit直接修改 mydata

C语言输入输出的刷新问题

printf ()函数什么时候真正把输出传递到屏幕? 首先printf()语句将输出传递到一个被称为缓冲区(buffer)中的存储区域.缓冲区的内容才在不断的被传递到屏幕.标准C规定一下几种情况下将缓冲区的内容传给屏幕:缓冲区慢的时候,遇到换行符的时候,以及有输入的时候(因为scanf()输入的值最先也要传到缓冲区) ,将缓冲区内容传送给屏幕或文件称为刷新缓冲区.

c语言输入输出的一些细节

初次使用c,记录下摸索的细节. 1. printf("%d\n",111111*111111)占位符错误,发生溢出. 用climits函数printf("%d\n",INT_MAX)发现int能表示的最大值为2^31-1(2147483647),即最多表示10 位          数,111111*111111 超越了int范围,long long为int的两倍,纠正为printf(%I64d\n",(long long)111111*111111) 2

c语言输入输出多个字符串

#include <stdio.h> #include <string.h> int main() { char str[50][50]; char *ps[50]; int i,n=0,m=0; scanf("%d%d",&n,&m); /*clear '\n'. scanf()函数接受输入以后,回车被保存在输入流中了, 你在scanf()后面加一个getchar()就好了. 这样会吃 掉多余的回车符,后面的gets()就可以接受输入了.*/

小C的故事(快速学C语言,,,极速版!)

 PS: 本博客是小弱被迫写的, 绝非自愿. 如果你在此修炼C语言,并且很幸运----走火入魔啦, 小恪概不负责! (嘿嘿~ ..~). 小弱由于刷网络赛的题解刷不下去啦, 又每每有学弟问什么时候开始教C语言. 又迫于我敬爱的学长---唐姐姐(我就爱这么叫他)的压力, 于是有了这篇博客! 下面是我胡扯的, 不怕入魔的小伙伴可以进来看一下! 要学习一个东东, 首先要了解一下它的前世今生.(这句话在我上学的9+3+1=13年里, 不知曾听过了多少遍!).下面的话是草滩小恪在重度睡眠下的呓语(跟挂了差

C语言结合VBS脚本编写朗读小工具,做一个能够发音的C语言程序

大家好!我就是小编,又见面了啊,有句话说"相聚是缘".我们既然有缘相聚在此,希望你对我有了一定的认识和了解,也能够关注下小编,这样就不会迷路哦,希望在往后的日子我们大家能继续相互鼓励,共同成长.在花季和雨季有我们最深的情谊,也很高兴你能点开本文,希望大家以后在学习上相互帮助.好了,今天的主题是:C语言结合VB实现朗读功能. 具备的知识体系 基本上是C语言的九牛一毛啊 就这些: C语言基本框架 C语言输入输出 C语言文件操作 C语言system函数 VBS指令:CreateObject(

关于double与float的输入输出问题

在用c语言输入输出double与float类型的时候,例如: #include<iostream> #include<stdio.h> using namespace std; { float n; scanf("%f",&n); printf("%f\n",n); } #include<iostream> #include<stdio.h> using namespace std; { double n; s