第2章 常用输入输出函数

合集下载

常用输入输出函数总结

常用输入输出函数总结

常⽤输⼊输出函数总结getchar()函数从输⼊流中读取⼀个单个的字符。

如果输⼊的是字符串,函数也只读取头⼀个字符,如果下⾯还有getchar函数则接着上个getchar函数读到的下⼀个字符读⽽不需要继续输⼊就会返回⼀个读取的字符,这⾥涉及到缓冲,就是我们输⼊的字符流其实是存在于缓冲区中,所以下⼀个getchar函数才能接着读取;getchar有⼀个int型的返回值.当程序调⽤getchar时.程序就等着⽤户按键.⽤户输⼊的字符被存放在键盘缓冲区中.直到⽤户按回车为⽌(回车字符也放在缓冲区中).当⽤户键⼊回车之后,getchar才开始从stdio流中每次读⼊⼀个字符.getchar函数的返回值是⽤户输⼊的第⼀个字符的ASCII码,如出错返回-1,且将⽤户输⼊的字符回显到屏幕.如⽤户在按回车之前输⼊了不⽌⼀个字符,其他字符会保留在键盘缓存区中,等待后续getchar调⽤读取.也就是说,后续的getchar调⽤不会等待⽤户按键,⽽直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待⽤户按键.注意:当⽤getchar进⾏输⼊时,如果输⼊的第⼀个字符为有效字符(即输⼊是⽂件结束符EOF,Windows下为组合键Ctrl+Z, Unix/Linux下为组合键Ctrl+D),那么只有当最后⼀个输⼊字符为换⾏符’\n’(也可以是⽂件结束符EOF, getchar才会停⽌执⾏,整个程序将会往下执⾏。

譬如下⾯程序段:while((c = getchar()) != EOF){putchar(c);}执⾏程序,输⼊:abc,然后回车。

则程序就会去执⾏puchar(c),然后输出abc,这个地⽅不要忘了,系统输出的还有⼀个回车。

然后可以继续输⼊,再次遇到换⾏符的时候,程序⼜会把那⼀⾏的输⼊的字符输出在终端上。

对于getchar,肯定很多初学的朋友会问,getchar不是以字符为单位读取的吗?那么,既然我输⼊了第⼀个字符a,肯定满⾜while循环(c = getchar()) != EOF的条件阿,那么应该执⾏putchar(c)在终端输出⼀个字符a。

《C语言程序设计》02 数据类型及输入输出函数

《C语言程序设计》02 数据类型及输入输出函数

#include < stdio.h > 或
关键字 包含函数的头文件 #include ” stdio.h ”
区别
#include < stdio.h > 与 #include ” stdio.h ”
(1)#include<stdio.h>格式来引用标准库的头文件, 编译器将从标准库目录开始搜索。 (2)#include”stdio.h”格式来引用非标准库的头文 件,编译器将从用户的工作目录开始搜索。
{
short a , b ; //同时定义两个短整型变量a和b
a = 32767;
//为a变量赋值
b=a+1;
printf(" a = %d , b = %d \n" , a ,b );
}
我们倒水倒满了水就流出来了,那计算机呢?
实型
• 实型也称为浮点型,例如:3.14,-8.9等带有小数
部分的数值数据就称为浮点数
类型
说明
字节数
有效数字
float
单精度浮点型 取值范围:3.4E-38~3.4E+38
4
double
双精度浮点型 取值范围:1.7E-08~1.7E+308
8
long double
长双精度实型 取值范围:1.7E-08~1.7E+308
8
6~7 15~16 15~16
#include <stdio.h>
实型数据精度示例
void main()
{
float a;
double b;
a=55555.55555555F;
//float类型数值一般需要添加后缀”F”或”f”

输入输出函数PPT教学课件

输入输出函数PPT教学课件
如果字符串的长度小于n或未指定n,则n不起作用; 如果长度大于n,则只输出字符串左端的n个字符。
如: printf("%3s,%10s,%10.5s,%.4s\n","abc","def ghij","klmnopqrst","uvwxyz");
abc, defghij, klmno,uvwx
2020/12/10
如果整数的有效位数大于n或未指定n,则n不起作用;如果小 于n,则在左端补0直到n位。
如:printf("%3d,%6d,%6.5d\n",1250,1250,1250);
1250, 1250, 01250
注意:%0m.nd
以“0”填充左端空格。
2020/12/10
6
%m.nf
指定实数(浮点数)输出的宽度即总位数(m) 与小数位数(n)。
输入输出函数
2020/12/10
1
主要内容
C语言中不同类型数据的输入输出方法。
格式化输入输出函数
scanf() printf()
单字符输入输出函数
getchar() putchar()
2020/12/10
2
一、格式化输出函数printf()
可用于所有类型数据的输出。
2020/12/10
2020/12/10
13
(五)printf()函数输出量的计算顺序
VC与TC规定 :从右到左计算各表达式的 值,再输出结果。
[例] Li04001.c
2020/12/10
14
二、格式化输入函数 scanBiblioteka ()可用于所有类型数据的输入。

输入输出函数

输入输出函数

前面的几个例子都用到了输出函数printf,例1-3还用到了输入函数scanf,这里我们先简单介绍一下它们的格式,以便后面使用。

scanf和printf这两个函数分别称为格式输入函数和格式输出函数。

其意义是按指定的格式输入输出值。

因此,这两个函数在括号中的参数都由以下两部分组成:1) 格式控制串:格式控制串是一个字符串,必须用双引号括起来,它表示了输入输出量的数据类型。

在printf函数中可以在格式控制串内出现非格式控制字符,这时在显示屏幕上会显示源字符串。

各种类型的格式表示方式请参考:C语言格式输出函数printf()详解。

在scanf函数中也可以在格式控制串内出现非格式控制符,这时会将输入的数据以该字符为分隔。

各种类型的格式表示方式请参考:C语言scanf()函数。

2) 参数表:参数表中给出了输入或输出的变量。

当有多个变量时,用英文逗号(,)分开。

例如:1.printf("sine of %lf is %lf\n",x,s);2.// %lf为格式字符,表示按双精度浮点数处理,它在格式串中两次现,对应了x和s两个变量3.// 其余字符为非格式字符则照原样输出在屏幕上。

4.scanf("%d %fa%c",&intNum,&floatNum,&c);5.// %d, %f, %c为格式字符6.// 表示将输入的数据分别以整数、浮点数和字符形式赋值给变量intNum, floatNum,c7.// 其中的空格和a为分隔符8.// 变量intNum, floatNum,c都有一个'&'符号,表示取地址【例1-4】对例1-3稍加修改,在printf中使用多个参数,在scanf中使用'|'作为分隔符。

1.#include<stdio.h>// 包含stdio.h头文件2.3.int max(int,int);// 函数声明4.5.int main(){6.int a, b, n;// 声明两个整型变量7.printf("Input two integers: ");// 以空格为分隔8.// 以'|'为分隔符,将输入的两个整数分别赋值给a, b9.scanf("%d|%d",&a,&b);10.// 以整数形式输出a、b和最大值,a, b, max(a,b)为参数列表11.n =max(a, b);12.printf("The max between %d and %d is %d.\n", a, b, n);13.return0;14.}15.16.// 函数定义17.int max(int num1,int num2){// num1, num2为形式参数(形参)18.if(num1>num2){// 如果num1大于num219.return num1;// 返回num1并结束max函数20.}else{// 如果num2大于num121.return num2;// 返回num2并结束max函数22.}23.}运行结果:Input two integers: 12|34↙The max between 12 and 34 is 34.上面例中程序的功能是由用户输入两个整数,程序执行后输出其中较大的数。

一图归纳C语言中文件的输入输出函数

一图归纳C语言中文件的输入输出函数

电子技术与软件工程Electronic Technology & Software Engineering软件开发与应用Software Development And Application一图归纳C语言中文件的输入输出函数任波阳(山东科技大学山东省青岛市266000 )摘要:本文通过输入输出关系图,加深对“输入”“输出”概念及相关知识点的理解,同时总结归纳各类“输入”“输出”函数的 用法,使文件学习更加系统,透彻。

关键词:C语言;输入输出;格式控制1输入输出的关系图在编程学习中,输入与输出一直是较难理解且容易混淆的知识 点,图1为各类“输入”“输出”的关系图。

在计算机语言中,文件与键盘、屏幕、打印机、鼠标等,都 属于外围设备。

其中从内存中写数据至文本文件,为输出;从文 本文件内读取数据至内存中,为输入。

从键盘、鼠标等外围设备 向内存中存储信息,为输入;使内存中的信息通过屏幕、打印机 等设备显示出来,为输出。

C语言中,可以将信息从内存输出到文 件中的函数有:fwrite、fprintf、fputc、fputs、putw;可以将信息从 文件输入到内存中的函数有:fread、fscanf、fgetc、fgets、getw;可以将信息通过键盘等外围设备输入到内存中的函数有:scanf、getcha^g e ts可以将信息从内存输出到屏幕等外围设备上的函数有:printf、putchar、puts。

C语H函数库中的“标准输入输出函数”包括:格式输入输出 函数printf和scanf,字符输入输出函数putchar和getchar,字符串输 入输出函数puts和gets。

C语言函数库中的“文件读/写(输入输 出)函数”包括:格式化读/写函数fscanf和fprimf,字符读/写函数fgetc和fputc,字符串读/写函数fgets和fputs,字读/写函数 getw和putw函数,数据块读/写函数fread和fwrite。

专题2 输入输出函数及顺序结构

专题2 输入输出函数及顺序结构

(8)格式控制项中格式说明个数与输入项的个数要相同,若输入数据少于格 式说明个数项,则等待输入,直满足为止。 如scanf(“%d%d”,&a,&b); 输入 10 后不再输入数据,程序不会执行下一 语句,屏幕一直处于等待输入数据状态,直到输入的数据的个数与格式说 明的个数相同时,才会结束等待输入状态。若输入数据多于要求可格式说 明的个数,则多余的数据不不消失,存入缓存,留给下一个输入操作时的 输入数据。如scanf(“%d%d”,&a,&b);输入 2 5 12后,则把2给a,5给b,12 存入缓存。
8.有以下程序段 [08年4月] char ch; int k; D ch='a'; k=12; printf("%c,%d,",ch,ch,k); printf("k=%d\n",k); 已知字符a的ASCll十进制代码为97,则执行上述程序段后输出结果是 A)因变量类型与格式描述符的类型不匹配输出无定值 B)输出项与格式描述符个数不符,输出为零值或不定值 C)a,97,12k=12 D)a,97,k=12 9.程序段:int x=12;double y=3.141593;printf(“%d%8.6f”,x,y);的 输出结果是[09年3月] A A) 123.141593 B)12 3.141593 C)12,3.141593 D)123.1415930 10.若变量x,y已定义为int类型且x的值为99,y的值为9,请将输入语句 printf(【7】,x/y);补充完整,使其输出的计算结果形式为:x/y=11.[09 年3月]
(3)格式字符的个数与输出项的个数应相同,如果格式字符的个数少于输出项 的个数,多余的输出项不会输出,如果说明项的个数多于输出项的个数,多余 的格式输出不定值(或0) 例1.如有:int x=10,y=5;执行printf(“%d”,x,y); 格式说明中只有一个%d,而输出项有x,y两项,因此则输出结果为:10,多余项y不 输出。 例2.如有:int x=10,y=5;执行printf(“%d,%d,%d”,x,y); 格式说明中有三个%d,而输出项有x,y两项,因此则输出结果为:10,5,0023342 其中0023342不定值。 (4)格式控制串中,除格式字符以外的其它字符原样输出 例1. main() { int h=12; float a=5.5,c; printf(“a=%d,b=%f,c的值为:%f”,h,a,h*a);} 在以上格式控制串中,a=,b=,c的值为:不是格式说明符,属于其它字符, 原样输出,运行后结果为:a=12,b=5.5,c的值为:66.0

c语言中基本的输入输出函数有

c语言中基本的输入输出函数有

C语言中基本的输入输出函数有:putchar ():把变量中的一个字符常量输出到显示器屏幕上;getchar ();从键盘上输入一个字符常量,此常量就是该函数的值;printf ();把键盘中的各类数据,加以格式控制输出到显示器屏幕上;scanf ();从键盘上输入各类数据,并存放到程序变量中;puts ():把数组变量中的一个字符串常量输出到显示器屏幕上;gets ():从键盘上输入一个字符串常量并放到程序的数组中.sscanf(); 从一个字符串中提取各类数据。

putchar() 和getchar() 顾名思议就是从输入流中获取一个字符和输出一个字符,比较简单,不再多讲。

例子如下:char c = getchar();putchar(c);格式化输入输出scanf()和printf()是最有用的,所以重点讲一下。

printf():一般形式:printf("格式控制".输出列表);eg : printf("a=%d,b=%f,c=%c\n",a,b,c); 1;格式控制.格式控制是用双引号括起来的字符串,也称"转换控制字符串",它包含以下两部分信息.格式说明:由"%"和格式字符组成,如%d,%f,%c,他的作用是把输出数据转换为指定格式输出,格式的说明总是由"%"字符开始的.普通字符:需要原样输出的字符,或者是一些有特殊含义的字符,如\n,\t。

2;输出列表就是需要输出的一些数据,也可以是表达式,如果在函数中需要输出多个变量或表达式,则要用逗号隔开.一些特殊字符的输出:单引号,双引号,和反斜杠的输出在前面加转义字符”\”如:”\’”, “\””, “\\”%的输出用两个连在一起的%%,即printf(“%%”);常用的格式说明如下:格式字符d 以十进制形式输出带符号整数(正数不输出符号)o 以八进制形式输出无符号整数(不输出前缀O) x 以十六进制形式输出无符号整数(不输出前缀OX)u 以十进制形式输出无符号整数f 以小数形式输出单精度实数lf以小数形式输出双精度实数e 以指数形式输出单、双精度实数g 以%f%e中较短的输出宽度输出单、双精度实数c 输出单个字符s 输出字符串这里强调一下:网上很多文章都说f 和lf是一样的,即不管单精度,双精度浮点数,都可以用f, 但我在POJ上做过测试,输出Double时用f确实也可以,但读入时,用f就报WA,所以大家如果对Double 进行读写的话,都用lf吧。

C++常用的输入输出函数

C++常用的输入输出函数

// 接受一个字符串,可以接 输入:jkljkljkl
收空格并输出,需包含 “#include<string>”
#include<iostream>
#include<string>
输出:jkljkljkl
输入:jkl jfksldfj jklsjfl 输出:jkl jfksldfj jklsjfl
\f 清屏并换页 \r 回车 \t Tab符 \xhh 表示一个ASCII码用16进表示
%p 指针的值
%e 指数形式的浮点数
%x, %X 无符号以十六进制表示的整数
%o 无符号以八进制表示的整数
%g 自动选择合适的表示法
using namespace std;
int main ()
{
char ch;源自ch = getchar(); //不能写成getchar(ch);
cout<<ch<<endl;
}
输入:jkljkljkl 输出:j
1. cout<<与控制符 2. puts() 3. putch() 4. putchar() 5. printf() // C函数
描述 置基数为10 置基数为16 置基数为8 填充字符为c 显示小数精度为n位 设域宽为n个字符
左对齐 右对齐
#include <iostream>
#include <iomanip> //要用到格式控制符
using namespace std;
int main(){

double amount = 22.0/7;
最常见的输出方法,标准输出

第二章输入输出

第二章输入输出

第二章字符输入、输出函数一:字符输入函数getchar()getchar函数的功能是从终端输入一个字符赋给一个字符变量。

getchar函数没有参数,其一般形式为:getchar( ); 只能接收一个字符变量= getchar( )Ch= getchar( )1234二putchar函数putchar函数的功能是向屏幕输出一个字符。

putchar函数的调用格式putchar(ch);其中ch可以是字符型常量、变量或是整型变量。

例:Int x=97;char y=‟a‟;Putchar(…a‟);Putchar(y);Putchar(97);Putchar(\n);Putchar(…c‟-2);Putchar(x);Putchar(\141);三:1. printf函数(各种类型)printf函数的功能是向屏幕格式化输出变量、常量或表达式的值。

printf函数的一般调用格式printf(格式控制, 输出项1, 输出项2, …);格式控制:作用按指定格式输出数据%d %ld %f %lf %cMain(){Int a=12, b=-123,c=12345;Printf(“%d%d%d\n”,a,b,c)Printf(“%d %d %d\n”,a,b,c)Printf(“%d, %d ,%d\n”,a,b,c)Printf(“%2d, %4d ,%5d\n”,a,b,c)Printf(“%2d, %4d ,%4d\n”,a,b,c) } p16float x=1.25,y=-23.456,z=234.56782;Printf(“%f, %f ,%f\n”,x,y,z)1.250000, 23.456,234.567820 p16表3-1 printf函数的格式控制符表3-2 printf函数的附加格式说明符例3-7】输出数据,并且控制数据的对齐形式、小数点后数字位数、八进制形式输出、字符串输出宽度等。

#include "stdio.h"main( ){int a=32,b=57;float x=7.876543,y=-345.123;char c='a';long l=1234567;printf("%d%d\n",a,b);printf("%-3d%3d\n",a,b);printf("%8.2f,%8.2f,%.4f,%.4f\n",x,y,x,y)printf("%e,%10.2e\n",x,y);printf("%c,%d,%o,%x\n",c,c,c,c);printf("%ld,%lo,%x,%d\n",l,l,l,l);printf("%s,%5.3s\n","CHINESE","CHINESE"); }输出结果:325732 577.88, -345.12,7.8765,-345.12307.87654e+00, -3.5e+02a,97,141,611234567,4553207,d687,18CHINESE, CHI四scanf函数scanf函数的功能是接收从键盘输入的数据,格式化后赋给变量。

C语言中常用函数大全

C语言中常用函数大全

(一)输入输出常用函数1,printf(1)有符号int%[-][+][0][width][.precision][l][h] d-:左对齐+:正数前加‘+’0:右对齐,acwidth<width,左补零.precision:至少输出位数。

若实际的位数>.precision,按实际输出,否者左边补零(2)无符号int%[-][#][0][width][.precision][l][h] u|o|x|X#:”%o %x/X”输出0,0x,0X.precision:同上,TC/BC包含0x/X,VC下不包含(3)实数输出%[-][+][#][0][width][.precision][l][L] f|e|E|g|G#:必须输出小数点.precision:小数位数(四舍五入)(4)字符和字符串的输出%[-][0][width] c %[-][0][width] [.precision] s.precision:S的前precision位2,scanf%[*][width] [l][h]TypeWith:指定输入数据的宽度,遇空格、Tab、\n结束*:抑制符scanf(“%2d%*2d%3d”,&num1,&num2) 输入123456789\n;num1==12,num2==567.注意:(1)指定width时,读取相应width位,但按需赋值Scanf(“%3c%3c”,&ch1,&ch2)输入a bc d efg ch1==a ch2==d(2)%c 输入单字符时“空格、转义字符”均是有效字符(二)ascll字符/字符串/文件函数1;字符非格式化输入函数(1)int getchar(void) 接受字符,以回车结束,回显(2)int getc(FILE*stream) 从stream中接受字符,以回车结束,回显stream=stdin时,(1)==(2)(3)int getche(void) 直接读取字符,回显conio.h(4)int getchar(void) 直接读取字符,不回显conio.h注意:(1,2)对于回车键返回‘\n’(3,4)对于回车键返回‘\r’2;字符/串非格式化输出函数(1)int putchar(int c) 正常返回字符代码值,出错返回EOF(2)int putc(int c,FILE*stream) 正常返回字符代码值,出错返回EOF stream==stdout(1)=(2)(3)int puts(char*stream) 自动回车换行1;字符串的赋值#include< string.h memory.h >Void *memset (void *s, char ch, unsigned n)将以S为首地址的,一片连续的N个字节内存单元赋值为CH.Void *memcpy ( void *d, void*s, unsigned n)将以S为首地址的一片连续的N个字节内存单元的值拷贝到以D为首地址的一片连续的内存单元中。

C语言输入输出函数介绍.ppt

C语言输入输出函数介绍.ppt
6 吉林大学珠海学院计算机系
格式输入输出函数
❖ 格式输入函数scanf() ❖scanf (<格式控制字符串>,<输入地址列表>); ❖ <格式控制字符串>是用双引号括起的一个字符串
常量,里面列出输入数据的格式说明和分隔符 ❖ <输入地址列表>列出存放输入数据的变量地址 ❖例如 scanf ("%d%d",&a, &b)
C语言输入输出函数
❖ 标准输入输出函数都包含在头文件stdio.h中 #include “stdio.h ” 或 #include <stdio.h>
❖TC系统允许在使用printf()和 scanf()两个函数 时不加“#include”命令,但是VC++6.0确不可以 不写#include <stdio.h>
7 吉林大学珠海学院计算机系
格式输入输出函数
❖ scanf()函数中最常用格式符
格式符
说明
应用示例
含义
d 十进制int型 scanf(“%d”,&x); 输入212,x=212
f 十进制double型 scanf(“%f”,&f); 输入6.28,f=6.280000
c 单个字符
scanf(“%c”,&ch); 输入A,ch=’A’
❖ 字符输入函数getchar() <变量> = getchar (); 等待键盘输入,按回车换行键结束,返回输入 的第1个字符,没有参数
❖ 字符输出函数putchar() 调用形式:putchar (c) 在显示器上输出一个字符,其中c通常是一个 已经赋值的字符型变量,或是一个字符常量

C语言基本输入输出函数

C语言基本输入输出函数
➢ 分析:该函数双引号部分内容有两个转义字符\t和\n \t 相当于按tab键,向右移8个字符位 \n 换行
➢ 整个字符串长度为8
思考
printf("ab"); printf("efg"); ➢ 两行代码输出的结果是? printf("a\nb\ne\nf\ng"); ➢ 该行代码输出的结果是?
例:格式字符输出
分析:当圆的半径确定时,可以通过l=2*PI*r和s=PI*r*r公式计算,但当圆 的半径在设计时不确定时,就只能使用scanf()函数,在程序运行时,输入半 径,再根据输入时半径的值进行计算。
main()
Байду номын сангаас
{
float radius,length,area,pi=3.1415926;
printf(“请输入圆的半径:\n”);
引号; 如:char ch='a'; putchar(ch); 或 putchar('a'); 3. 该函数可以输出转义字符; 如:putchar('\n'); 表示换行 4. 与printf()函数的区别:都可以输出字符,但printf()可以输出多个 字符,并且能输出其它类型字符。 如:输出abc, printf(“%c%c%c”,'a','b','c');
/*求圆周长*/
area=pi*radius*radius;
/*求圆面积*/
printf(“radius=%f\n”,radius);
/*输出圆半径*/
printf(“length=%7.2f,area=%7.2f\n”,length,area); /*输出圆周长、

第2章 常用输入输出函数

第2章 常用输入输出函数
12
§2.2 printf函数 printf函数的常用格式字符 c格式字符 %c:用来输出一个字符。 %mc:用来指定输出字符数据的宽度m。
一个值在0~255 例 范围内的整数,也可 printf(“%3c”,c); 以用‚%c‛使之按 则输出‚□□a”,即c变量输出占3 字符形式输出 列,前2列补空格。
6
§2.2 printf函数 例 printf(“%d,%c\n”,i,c); printf函数的一般格式为: printf(格式控制,输出表列) printf函数的参数包括两部分: 输出表列:要输出的数据(可以没有, 多个时以‚,”分隔) 输出表列中给出了各个输出项,要求格 式字符串和各输出项在数量和类型上应 该一一对应。
20
§2.2 printf函数 例 2-6 #include<stdio.h> void main() {printf(“%3s,%7.2s,%.4s,%-5.3s\n”, “STUDENT”, “STUDENT”, “STUDENT”, “STUDENT”); } 输出结果: STUDENT, └┘└┘└┘└┘└┘ST,STUD,STU└┘└┘ Press any key to continue
14
§2.2 printf函数 printf函数的常用格式字符 f格式字符 %f:用来输出实数(包括单、双精 度),以小数形式输出,不指定整个 字段的长度,由系统自动指定。一般 的处理方法是:整数部分全部输出, 并输出6位小数。 应当注意,并非计算机输出的 数字都是有效数字。单精度实 数的有效位数是7位,双精度实 数的有效位数是16位。
21
例 字符串的输出 #include<stdio.h> void main() { printf(“%3s,%7.2s,%.4s,%-5.3s\n”, “CHINA”, “CHINA”, “CHINA”, “CHINA”); } 运行结果: CHINA,□ □ □ □ □ CH ,CHIN,CHI □ □

c语言输入输出函数知识点总结

c语言输入输出函数知识点总结

c语言输入输出函数知识点总结1.I/O input output(输入端,输出端)输入:从计算机向外部输出设备(显示器,打印机)输出数据。

输出:从输入设备(键盘、鼠标、扫描仪)向计算机输入数据。

2.C语言本身不提供输入输出语句,输入和输出操作是由C函数库中的函数实现的。

3.字符输出函数一般形式:putchar(a);a可以是字符型变量、整型变量、字符常量、整型常量。

函数作用:向终端输出一个字符。

4.字符输入函数一般形式:a=getchar( );函数作用:从终端输入一个字符。

函数值:从输入设备得到的字符。

5.格式输出字符%d:以十进制输出整数;%o:以八进制形式输出整数;%c:以字符形式输出一个字符;%s:输出字符串;%f:以小数形式输出单、双精度数,隐含输出六位小数。

6.getchar一次只能输入一个字符,有几个getchar()就输入几个字符,多输入的计算机不能识别。

7.getchar()输入的时候,空格键、Enter键、Tab键不能乱用,他们都当成字符对待。

printf("%d,%c,%f,%o,%x,%s",a,b,c,d,e,f); ..........................................8.格式控制都是小写字母;9.格式控制与后面要输出的变量是一一对应;...................................................10.printf("%md",a);1).m是整数;2).m是指输出的结果占m列宽度;3).m是正整数的话,输出结果差几列左补几个空格;m是负整数的话,输出结果差几列右补几个空格;4).如果m的绝对值小于原来数的宽度,则原样输出。

...................................................11.printf("%m.nf",a);1).m是指输出占几列宽度,n是指输出结果小数点后保留几位有效数字;2).m是正整数的话,输出结果差几列左补几个空格;m是负整数的话,输出结果差几列右补几个空格;3).printf("%2.5f",a);m<n的话,先满足n,再考虑m,m能满足了ok满足一下,如果不行--拉倒4).m也称为宽度控制,n称为精度控制;5).遵循四舍五入原则;6).printf("%.nf",a);--直接不管输出占几列宽度,只需要考虑n。

C语言程序设计——数据输入及输出

C语言程序设计——数据输入及输出

C语言程序设计——数据输入及输出C语言是一种通用的编程语言,广泛应用于各种领域,包括软件开发、嵌入式系统和科学计算等。

在C语言程序设计中,数据的输入和输出是非常重要的部分。

本文将介绍C语言中的数据输入和输出方法,包括标准输入输出函数、文件输入输出以及格式化输入输出等。

一、标准输入输出在C语言中,使用标准输入输出函数可以实现与用户的交互,输入和输出数据。

标准输入输出函数包括printf函数和scanf函数。

1. printf函数printf是一个格式化输出函数,它可以按指定的格式输出数据。

下面是一个简单的例子:```#include <stdio.h>int main(){int num1 = 10;float num2 = 3.14;printf("整数:%d\n", num1);printf("浮点数:%f\n", num2);}```输出结果为:```整数:10浮点数:3.140000```2. scanf函数scanf是一个格式化输入函数,它可以按指定的格式接收用户输入的数据。

下面是一个简单的例子:```#include <stdio.h>int main(){int num;printf("请输入一个整数:");scanf("%d", &num);printf("您输入的整数是:%d\n", num);}```运行程序后,会提示用户输入一个整数,用户输入后,程序将输出用户输入的整数。

二、文件输入输出除了标准输入输出函数,C语言还提供了文件输入输出函数,可以用于读写文件中的数据。

1. 文件输入使用文件输入函数,可以从文件中读取数据,并将其存储到变量中。

下面是一个简单的例子:```#include <stdio.h>int main(){FILE *fp;int num;fp = fopen("data.txt", "r");if (fp == NULL) {printf("文件打开失败\n");return 0;}fscanf(fp, "%d", &num);printf("从文件中读取的数据:%d\n", num);fclose(fp);return 0;}```上述程序打开一个名为data.txt的文件,并将文件中的数据读取到num变量中。

输入输出函数

输入输出函数
最后的输出为:f(3,4)=5

printf函数常用格式字符串以及示例
类型 格式字符串 %d %o %x 或 %X %u %f %e 或 %E %g 或 %G %c %s 输出形式 带符号的十进制形式(正数不输出符号+) 无符号的八进制形式(不输出前导符号0) 无符号的十六进制形式(不输出前导符号0x或0X) 无符号的十进制形式 小数形式,默认小数位数为6位 指数形式,数字部分默认为6位 优化的小数或指数形式 (去掉无意义的0后所占宽度较少的1种) 单个字符形式(不输出单引号') 字符串(不输出双引号)
printf(控制字符串,输出参数列表) The function printf() is used for output. Both printf() and scanf() are passed a list of arguments that can be thought of as control_string. 例如: printf("f(%d,%d)=%d",3,4,5); 控制字符串为:"f(%d,%d)=%d" 其中有3个格式字符%d。表示的都是输出1个整数。 输出参数列表对应有3个参数:3,4,5。 3个参数将按照格式的要求依次匹配, 然后放入控制字符串中输出。
主讲教师:王舜燕
计算机程序设计基础C语言



格式输出函数printf() printf函数常用格式字符串以及示例 printf函数常用附加格式字符 格式输入函数scanf()
格式输出函数printf()

printf()函数一般格式:
C语言通过格式输入输出函数scanf()和printf()函数进行输入输出。

c语言基本输入输出

c语言基本输入输出
• 函数说明
– putchar(int c); – 输出一个字符到标准输出设备
• 参数说明
– int c 要输出的字符,可以是整数或字符, 若超出字符型范围,则只使用低字节
2
函数putchar举例 (02-01.C)
int c, i;
putchar('a'); putchar('\n'); putchar(101); putchar('\101');
个空白字符分隔,包括空格、回车、制表符 – 空白字符会作为%c对应的输入 – 如规定了最大宽度,且输入数据超出宽度,
则按宽度截取数据
13
格式字符
格式字符
说明
d
有符号十进制整数
i
有符号整数,可以是八进制(带前导0)或十六进制
(带前导0x或0X)
o
有符号八进制整数,可以带或不带前导0
x, X 有符号十六进制整数,可以带或不带前导0x或0X
scanf("%d%c%d", &i, &c, &j); /* "2 a 3" => i=2, c='', j出错 */ /* "2a 3" => i=2, c='a', j=3 */
16
15
函数scanf举例 (02-04.C)
int i, j; char c;
scanf("%d%d", &i, &j); /* "2 3" or "2<TAB>3" or "2<Enter>3" */
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
unsigned int a=65535;int b=-2; printf(“a=%d,%o,%x,%u\n”,a,a,a,a); printf(“b=%d,%o,%x,%u\n”,b,b,b,b); }
说明: • 除了X,E,G外,其他各式字符必须用小写。 • 可以在printf函数中的“格式控制”字符串中包含转
scanf(“%d%d%d”,&a,&b,&c);
个数据之间以一个或 多个空格间隔,也可
printf(“a=%d,b=%d,c=%d\n”,a,以b用,Ecn)t;er键、
}
Tab键。
运行情况:
请输入a,b,c:
345
(输入a,b,c的值,)
a=3,b=4,c=5
(输出a,b,c的值)
• scanf函数的格式说明与printf函数的相似, 以%开始,以一个格式字符结束,中间可插 入附加的字符。 例:
void main()
{
char a,b,c;
a=‘B’;b=‘O’;c=‘Y’;
putchar(a);putchar(b);putchar(c);putchar(‘ \n’); putchar(a);putchar(‘\n’);putchar(b);putchar(‘\n’);putchar(c);putchar(‘\n’);
• 一般格式:scanf(格式控制,地址表列);
同printf函数
是由若干个地址组成的表列,可以是变量的 地址,或字符串的首地址
例 用scanf函数输入数据。
#include<stdio.h> void main() {
int a,b,c;
a在内存中的地 址
&是地址运算符
printf(“请输入a,b,c:\n”); 输入数据时,在两
位小数。 #include <stdio.h> #define PI 3.1415926 void main ( ) {double r1=1.53,r2=21.83,r3=123.71,s1,s2,s3;
s1=2.0*PI*r1; s2=2.0*PI*r2; s3=2.0*PI*r3;
printf(“s1=%10.2f\ns2=%10.2f\ns3=%10.2f\n",s1,s2 ,s3);
2.2 printf函数
• printf函数(格式输出函数)的作用是向系 统隐含指定的输出设备(显示器)输出若干 个任意类型的数据 。
• printf函数的一般格式为: printf(格式控制,输出表列);
例: printf(”%d,%c\n”,i,c);
• printf函数的参数包括两部分: (1)“格式控制”是用双引号括起来的字符串,也 称“转换控制字符串”,它包括两种信息。
① 格式说明。格式说明由“%”和格式字符组 成,如%d、%f等。它的作用是将输出的数据 转换为指定的格式输出。
② 普通字符或转义字符。即需要原样输出的字 符。
(2) “输出表列”是需要输出的一些数据,可以是 常量、变量或表达式。
• printf函数的例子:
printf(“a=%d b=%d”,a,b)
(2) %c %c:用来输出一个字符。 %mc:输出字符数据的宽度为m,位数不
足时在左侧补空格。
c=‘a’;
printf(“%3c”,c); 输出:_ _ a
• 例: • #include<stdio.h> • void main() •{ • char ch='A'; • int x=97; • printf("%c,%3c,%d\n",ch,ch,ch); • printf("%c,%d,%4d\n",x,x,x); •}
(Tab)键或遇非法输入,认为该数据结束。 例2-20
2.4 字符数据的输入输出
2.4.1 putchar函数
• putchar函数(字符输出函数)的作用是向 终端输出一个字符。
• 一般形式为
putchar(c);
c可以是字符型/ 整型变量或常量
例 输出单个字符。
运行结果:B O
Y
#include<stdio.h>
被省掉了。
例 输出双精度数时的有效位数。
#include<stdio.h> void main() {
float x=123.45; double y=456.5263789;
printf("%f,%7.2f\n",x,x); printf("%f,%7.2f\n",y,y); }
例 求3个圆的周长,输出结果时上下按小数点对齐,取两
#include<stdio.h>
void main() {float x,y;
运行结果: 555555.562500
x=222222.222;y=333333.333;
printf("%f\n",x+y);
}
结果中只有前七位是有
效数字。由于x和y是单
精度变量,所以x+y也只
能保证7位的精度,后面
几位是没有意义的。
运行程序:
从键盘输入字符‘a’按 Enter键 屏幕上将显示输出的字符‘a’ a↙ a
• printf("input a character\n");
• ch=getchar(); • ppuurittnccthhfa(a“rr(%(gcceh”t,c)g;heatrc(h))a;r());
}
(4)s格式符,用来输出一个字符串。 例: printf(“%s”,”CHINA”);
输出字符串:CHINA %ms:输出字符串占m列,串长小于m,则 左补空格,串长大于m,则全部显示 %-ms:输出字符串占m列,串长小于m,则 右补空格,串长大于m,则全部显示 %m.ns:输出m列,只取字符串中左端n个字 符,串小于m,则左补空格 %-m.ns:输出m列,只取字符串中左端n个 字符,串小于m,则右补空格
输出为: -1,37777777777
(7) %x。以16进制数形式输出整数。同样不会 出现负的十六进制数。
例:
int a= -1; printf(“%x,%o,%d”,a,a,a); 输出结果为
ffffffff,37777777777,-1 同样可以用 “%lx”输出长整型数,也可以 指定 输出字段的宽度,如“%12x”。
输出数据 输入:从输入设备(键盘,鼠标,扫描仪)向计算机
输入数据.
(二).C语言本身不提供输入输出语句,输入和 输出操作是由C函数库中的函数来实现的
例如: 字符输入函数:getchar 字符输出函数:putchar 格式输入函数:scanf 格式输出函数:printf 字符串输入函数:gets 字符串输出函数:puts
}
运行结果:BOY
3.5.2 用getchar函数输入一个字符
• getchar函数(字符输入函数)的作用是从计算 机终端输入一个字符。
• getchar getchar()
函数的值就是 从输入设备得
到的字符
注意:如果输入多个字符,只接受第一个字符
• #include<stdio.h> • void main() •{ • char ch;
1.234560 e+002
6列
5列
C编译系统自动指定给出数字部分 的小数位数为6位,指数部分占5位
(6) %o。以8进制整数形式输出。由于是将 内存单元中的各位的值(0或1)按八进制 形式输出,因此输出的数值不带符号,即将 符号位也一起作为八进制数的一部分输出。
例:int a=-1; //4字节为例 printf("%d,%o",a,a);
• #include<stdio.h> • void main() •{ • int a=-2,b=25,c=123; • long x=456710; • printf("%d,%4d,%-4d,\n",a,b,b); • /*%-4d中的负号表示显示时在右端补空格*/ • printf("%5d,%2d\n",c,c); • printf("ld,%8ld\n",x); •}
• #include<stdio.h>
• void main()
•{
• printf(“%3s,%7.2s,%.4s,%-5.3s.\n", "STUDENT", "STUDENT", "STUDENT", "STUDENT");
•}
(5)e格式符,用格式说明 %e指定以指数形式 输出实数。
例:printf(″%e″,123.456);输出如下
第2章 常用输入输出函数
• 2.1 C语言的输入输出概述 • 2.2 printf函数 • 2.3 scanf函数 • 2.4 字符数据的输入输出 • 2.5 字符串的输入输出
2.1 C语言的输入输出概述
(一).所谓输入输出是以计算机主机为主体而言的 输出:从计算机向外部输出设备(显示器,打印机)
(3) %f
%f 用来输出实数(包括单、双精度),以 小数形式输出,不指定整个字段的长度,由 系统自动指定。
一般的处理方法是:整数部分全部输出,并 输出6位小数。
%m.nf 指定数据占m列,其中小数位数为 n列,如果整体位数小于m,则左端补空格 (右对齐)。
%-m.nf (左对齐)
例 输出实数时的有效位数。
(三).在使用系统库函数时,要用预编译命令 “#include”将有关的“头文件”包括到用 户源文件中。
例如:在调用标准输入输出库函数时,文件开头 应该有:
相关文档
最新文档