C语言中有输入但必需要有输出吗

C语言中有输入但必需要有输出吗,第1张

算法可以没有输入但是必须要用输出。也可以没有输入也可以没有输出,例如:求1到10的累加和,并不要求输出。

#include<stdioh>

int main(){

int i,sum=0;

for(i=1;i<=10;i++)

sum+=i;    //printf("%d\n",sum);

return 0;}

程序可以正确编译并运行,但是并不知道1到10的累加和是多少。如果C语言没有输出,算法再优秀也是无用功,不能解决问题,所以C语言就有规定至少要有一个或者多个输出,即必须要有输出。

扩展资料

计算机算法有五个重要特性,就是有穷性、确定性、可行性、输入和输入。

1、有穷性: 一个算法必须保证执行有限步之后结束;

2、确切性: 算法的每一步骤必须有确切的定义;

3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定除了初始条件;

4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;

5、可行性: 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。

C语言本身并不提供输入输出语句,输入和输出 *** 作是由函数来实现的,解释如下:

一、在C标准函数库中提供了一些输入输出函数,例如,printf函数和scanf函数。在使用他们时,千万不要误认为他们是C语言提供的“输入输出语句”,printf和scanf不是C语言的关键字,而只是函数的名字。

二、C提供的函数以库的形式存放在系统中,它们不是C语言文本中的组成部分。不把输入输出作为C语言提供的语句的目的是使C语言编译系统简单,因为将语句翻译成二进制的指令是在编译阶段完成的,没有输入输出语句可以避免在编译阶段处理与硬件有关的问题,可以使编译系统简化,而且通用性强,可移植性好,对各种型号的计算机都适用,便于在各种计算机上实现。

三、各种版本的C语言函数库是各计算机厂商针对某一类型计算机的情况编写的,并且已编译成目标文件(obj文件)。它们在连接阶段与源程序经编译而得到的目标文件相连接,生成一个可执行的目标程序。如果在源程序中有printf函数,在编译时并不把它翻译成目标指令,而是在执行阶段调用已被连接的函数库中的printf函数

扩展资料:

C语言文件mode参数:

1r 以只读方式打开文件,该文件必须存在。

2r+ 以可读写方式打开文件,该文件必须存在。

3rb+ 读写打开一个二进制文件,允许读写数据。

4rw+ 读写打开一个文本文件,允许读和写。

5w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。

6w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。

7a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)

8wb 只写打开或新建一个二进制文件;只允许写数据。

执行一个shell命令行时,通常会自动打开三个标准文件。

1、标准输入文件,通常对应终端的键盘。

2、标准输出文件和标准错误输出文件,这两个文件都对应终端的屏幕。

3、进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。

5 字符数据的输入输出我们先介绍C标准I/O函数库中最简单的、也是最容易理解的字符输入输出函数putchar()和getchar(),再介绍格式输入输出函数printf()和scanf()函数。3.5.1 putchar函数(字符输出函数)作用:putchar函数的作用是向终端输出一个字符。一般形式: putchar(c);它输出字符变量c的值。◆c可以是字符型变量或整型变量。例3.1 输出单个字符。 #include<stdio.h>

main()

{char a,b,c;<br> a='B';b='O';c='Y';<br> putchar(a);putchar(b);putchar(c);<br> }运行结果: BOY◆也可以输出控制字符。如putchar(‘\n’)输出一个换行符,使输出的当前位置移到下一行的开头。如果将例3.1程序最后一行改为: putchar(a);putchar('\n');putchar(b);putchar('\n')putchar(c);putchar('\n');则输出结果为: B O Y◆也可以输出其他转义字符。如: putchar('\101') (输出字符'A')

putchar('\'') (输出单引号字符')

putchar('\015') (输出回车,不换行,使输出的当前位置移到本行开头)3.5.2 getchar函数(字符输入函数)作用:此函数的作用是从终端(或系统隐含指定的输入设备)输入一个字符。注意,getchar函数没有参数。一般形式: getchar()函数的值就是从输入设备得到的字符。例3.2 输入单个字符 #include<stdio.h>

main()

{char c;<br> c=getehar();<br> putchar(c);<br> }在运行时,如果从键盘输入字符‘a’并按回车键(按“回车”键,字符才送到内存),就会在屏幕上看到输出的字符‘a’。注意,getchar()只能接收一个字符。getchar函数得到的字符可以赋给一个字符变量或整型变量(如,例3.2第4行),也可以不赋给任何变量,作为表达式的一部分。例如:▲例3.2第4、5行可以用下面一行代替: putchar(getchar());因为getchar()的值为‘a’,因此putchar函数输出‘a’。▲也可以用printf函数输出: printf("%c",getchar());注意:如果在一个函数中(今为main函数)要调用getchar(或putchar)函数,应该在该函数的前面(或本文件开头)加上“包含命令”#include<stdioh>。

C语言输入输出函数有很多,bai标准I/O函数du中包含了如下几个常用的函数:

scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等

int scanf(const char format, arg_list)

scanf主要从标准zhi输入流中获取dao参数值,format为指定的参数格式及参数类型,如scanf("%s,%d",str,icount);

它要求在标准输入流中输入类似"son of bitch,1000"这样的字符串,同时程序会将"son of bitch"给str,1000给icount

scanf函数的返回值为int值,即成功赋值的个数,在上例中如果函数调用成功,则会返回2,所以我们在写程序时,可以通过

语句if(scanf("%s,%d",str,icount) != 2){}来判断用户输入是否正确

int printf(const char format, arg_list)

printf主要是将格式化字符串输出到标准输出流中,在stdioh头文件中定义了标准的输入和输出,分别是stdin,stdout

arg_list可以是变量名,也可以是表达式,但最终都会以值的形式填充进format中

int getc(FILE fp)

getc主要是从文件中读出一个字符常用的判断文件是否读取结束的语句为:(ch = getc(fp)) != EOFEOF为文件结束标志,

定义在stdioh中,就像EXIT_SUCCESS,EXIT_FAILURE定义在stdlibh中一样,文件也可以被理解为一种流,所以当fp为stdin

时,getc(stdin)就等同于getchar()了

int putc(int ch,FILE fp)

putc主要是把字符ch写到文件fp中去如果fp为stdout,则putc就等同于putchar()了

int getchar(void)

getchar主要是从标准输入流读取一个字符默认的标准输入流即stdioh中定义的stdin但是从输入流中读取字符时又

涉及到缓冲的问题,所以并不是在屏幕中敲上一个字符程序就会运行,一般是通过在屏幕上敲上回车键,然后将回车前的字符

串放在缓冲区中,getchar就是在缓冲区中一个一个的读字符当然也可以在while循环中指定终止字符,如下面的语句:

while ((c = getchar()) != '#')这是以#来结束的

int putchar(int ch)

putchar(ch)主要是把字符ch写到标准流stdout中去

char gets(char str)

gets主要是从标准输入流读取字符串并回显,读到换行符时退出,并会将换行符省去

int puts(char str)

puts主要是把字符串str写到标准流stdout中去,并会在输出到最后时添加一个换行符

char fgets(char str, int num, FILE fp)

str是存放读入的字符数组指针,num是最大允许的读入字符数,fp是文件指针fgets的功能是读一行字符,该行的字符数

不大于num-1因为fgets函数会在末尾加上一个空字符以构成一个字符串另外fgets在读取到换行符后不会将其省略

int fputs(char str, file fp)

fputs将str写入fpfputs与puts的不同之处是fputs在打印时并不添加换行符

int fgetc(FILE fp)

fgetc从fp的当前位置读取一个字符

int fputc(int ch, file fp)

fputc是将ch写入fp当前指定位置

int fscanf(FILE fp, char format,)

fscanf按照指定格式从文件中出读出数据,并赋值到参数列表中

int fprintf(FILE fp, char format,)

fprintf将格式化数据写入流式文件中

在C语言中,输入输出字符串有以下两种方式:

1 用scanf/printf输入输出。

scanf/printf是C语言的格式化输入输出函数,可以用于输入输出各种基础类型,字符串(char)也

其支持范围内。

格式化字符为%s。

定义

char str[100];

输入

scanf("%s",str);

输出

printf("%s",str);

2 C语言还支持专门的字符串输入输出函数:gets/puts。

gets的作用为,读入一行输入,并将读到的换行符替换为字符串结束符。

puts的作用为,将字符串单行输出,即输出字符串内容后,会自动在结尾增加换行。

定义

char str[100];

输入

gets(str);

输出

puts(str);

扩展资料:

起初,C语言没有官方标准。1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。布莱恩·柯林汉(Brian Kernighan) 和 丹尼斯·里奇(Dennis Ritchie) 出版了一本书,名叫《The C Programming Language》。

这本书被 C语言开发者们称为K&R,很多年来被当作 C语言的非正式的标准说明。人们称这个版本的 C语言为K&R C。

K&R C主要介绍了以下特色:

结构体(struct)类型

长整数(long int)类型

无符号整数(unsigned int)类型

把运算符=+和=-改为+=和-=。因为=+和=-会使得编译器不知道使用者要处理i = -10还是i =- 10,使得处理上产生混淆。

即使在后来ANSI C标准被提出的许多年后,K&R C仍然是许多编译器的最 准要求,许多老旧的编译器仍然运行K&R C的标准。

1970到80年代,C语言被广泛应用,从大型主机到小型微机,也衍生了C语言的很多不同版本。

1983年,美国国家标准协会(ANSI)成立了一个委员会X3J11,来制定 C语言标准。

1989年,美国国家标准协会(ANSI)通过了C语言标准,被称为ANSI X3159-1989 "Programming Language C"。因为这个标准是1989年通过的,所以一般简称C89标准。有些人也简称ANSI C,因为这个标准是美国国家标准协会(ANSI)发布的。

1990年,国际标准化组织(ISO)和国际电工委员会(IEC)把C89标准定为C语言的国际标准,命名为ISO/IEC 9899:1990 - Programming languages -- C  。

因为此标准是在1990年发布的,所以有些人把简称作C90标准。不过大多数人依然称之为C89标准,因为此标准与ANSI C89标准完全等同。

1994年,国际标准化组织(ISO)和国际电工委员会(IEC)发布了C89标准修订版,名叫ISO/IEC 9899:1990/Cor 1:1994,有些人简称为C94标准。

1995年,国际标准化组织(ISO)和国际电工委员会(IEC)再次发布了C89标准修订版,名叫ISO/IEC 9899:1990/Amd 1:1995 - C Integrity [7]  ,有些人简称为C95标准。

参考资料:百度百科-c语言

以上就是关于C语言中有输入但必需要有输出吗全部的内容,包括:C语言中有输入但必需要有输出吗、c语言本身没有输入输出语句,输入输出 *** 作是由调用系统提供的输入输出函数来完成的怎么理解!、C语言什么叫标准的输入和输出等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9814966.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存