精华内容
下载资源
问答
  • C语言中一项最重要函数,格式化输入输出函数,如常见scanf(),printf()函数。对于初学者而言,容易不能清楚理解什么是输入什么是输出。常常将输入与输出搞混淆。对于c语言入门学者,理解了输入输出后,会因为稍...

    关于c语言输入输出函数分析

    简介

    C语言中一项最重要的函数,格式化输入输出函数,如常见的scanf(),printf()函数。对于初学者而言,容易不能清楚理解什么是输入什么是输出。常常将输入与输出搞混淆。对于c语言入门学者,理解了输入输出后,会因为稍复杂的用法而感到头秃,如什么时候用”&”,怎么区分%d,%ld.%3ld等等。接下来我将对格式化输入输出函数做简单但详细的分析。

    一、输出函数类别:
    • puts():只能输出字符串,并且输出结束后会自动换行。

    • putchar():只能输出单个字符。

    • printf():可以输出各种类型的数据。

    1. puts()试例:
    #include<stdio.h>
    int main(){
     char s[]={"hello world!"};
     printf(s);
    } 

    运行结果
    在这里插入图片描述

    输出字符串时只需要给出名字,不能带后边的[ ]。

    因为此时用于存储字符串的数组输出数组名就已经表示输出该数组的地址。

    注意:c语言中没有字符串类型,要想输出字符串,需要定义一个数组,分配连续的地址空间。

    2. putchar()试例:
    #include<stdio.h>
    int main(){
     char s[]={"hello world!"};
     printf(s[6]);
    } 

    运行结果
    在这里插入图片描述

    有关printf()的输出就不再演示,不过要注意当输出字符串个数时,要用到sizeof()函数,此时头文件需要引用<string.h>。

    接下来看一个例子:

    #include<stdio.h>
    #include<string.h>
    int main(){
     char s[]={"hello world!"};
     int length = sizeof(s)/sizeof(s[0]);
     printf("%d",length);
    } 
    

    运行结果
    在这里插入图片描述

    输出的结果为13,即计算机认为该字符串的字符个数为13个。那么我们来仔细数一数,得到的结果却为12个。这是为什么呢?

    其实这就是printf()的输出原理,当printf() 输出字符串时,会从第 0 个元素开始往后检索,直到遇见’\0’才停止,然后把’\0’前面的字符全部输出。

    那么我们来实践一下看看第十三个字符到底是什么……

    #include<stdio.h>
    #include<string.h>
    int main(){
     char s[]={"hello world!"};
     int length = sizeof(s)/sizeof(s[0]);
     printf("%c",s[12]); 
    }

    运行结果
    在这里插入图片描述

    运行结果是没有输出也没有报错,不过不要忘了数组下标从0开始,所以第十二位就是计算机认为的第十三个字符。所以实践出真理……

    3. printf()格式控制完整形式:

    %[flag][width][.precision]type

    虽然看起来有点复杂,不过掌握每一个对应位置的实际意义,就可以轻松理解printf()的用法。

    [ ] 表示此处的内容可有可无,是可以省略的。

    1. width 表示最小输出宽度,也就是至少占用几个字符的位置;例如,%-9d 中width 对应 9,表示输出结果最少 占用 9 个字符的宽度。当输出结果的宽度不足 width 时,以空格补齐(如果没有指定对齐方式,默认会在左边补齐空格);当输出结果的 宽度超过 width 时,width 不再起作用,按照数据本身的宽度来输出。

    2. .precision 表示输出精度,也就是小数的位数。

    当小数部分的位数大于precision 时,会按照四舍五入的原则丢掉多余的数字;

    当小数部分的位数小于precision 时,会在后面补 0。

    二、 输入函数类别

    • scanf():通过格式控制符%s 输入字符串。

    • gets():直接输入字符串,并且只能输入字符串。

    1. gets():

      直接输入字符串,并且只能输入字符串。

    2. scanf()

      可以输出除字符串之外的其他类型数据。

    scanf() 在读取数据时需要的是数据的地址,这一点是恒定不变的,所以==对于 int、char、float 等类型的变量 都要在前边添加&以获取它们的地址。==但是在本段代码中,我们只给出了字符串的名字,却没有在前边添加&,这是为什么呢?因为字符串名字或者数组名字在使用的过程中一般都会转换为地址,所以再添加&就是多此一举,甚至会导致错误。

    就目前学到的知识而言,int、char、float 等类型的变量用于 scanf() 时都要在前面添加&,而数组或者字符串用于 scanf() 时不用添加&,它们本身就会转换为地址。

    讲到这里,我们就可以明确区别scanf()和printf()的用法。解决开头我们的迷惑点。

    最后的最后,对于头文件的理解,我们只需要知道我们调用的输入输出函数来自于这些头文件即可,具体如何实现这些函数的构建,可暂时不做深究。因此当程序中需要调用这些函数时就要引用这些头文件。如 printf、puts、scanf、gets 等,使用时要包含头文件 stdio.h,而使用其它字符串 函数要包含头文件 string.h。

    展开全文
  • c语言中文本输出的函数名称printf。printf函数的语法“printf("格式控制字符串",输出列表)”;...1、printf函数的调用格式printf函数格式输出函数,是C语言中使用最频繁的输出函数,相对于putchar函数而言,...

    c语言中文本输出的函数名称是printf。printf函数的语法是“printf("格式控制字符串",输出列表)”;该函数功能是按照“格式控制字符串”指定的格式,输出“输出列表”中的内容,格式控制串可由格式字符串和非格式字符串两种组成。

    fe3bb3ce7581c1523a24460184aa6917.png

    c语言中文本输出的函数名称是printf。

    1、printf函数的调用格式

    printf函数格式输出函数,是C语言中使用最频繁的输出函数,相对于putchar函数而言,它的功能非常强大。printf函数的调用格式如下:

    printf("格式控制字符串",输出列表)

    格式说明:

    1)、该函数功能是按照“格式控制字符串”指定的格式,输出“输出列表”中的内容。

    2)、格式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。格式字符串式以%开头,再%后面跟各种格式字符,以说明输出数据的类型、形式、长度、小数位等。如“%d”表示按十进制整形输出等。非格式字符串输出时原样打印,在显示中起提示作用。

    3)、输出列表中给出了各个输出项,要求格式字符串和各输出项在数量和类型上应该一一对应。

    3f52174505668e9d06d3e6079870e6e3.png

    推荐教程:《C语言》

    展开全文
  • ``` int a; scanf("%d",&a); printf("%d",a); ``` 这我写一段代码,我有个疑问,输人输出语句,逗号前面参数相同,逗号后面参数 为什么一个有取地址符号,一个没有取地址符号呢。
  • 双引号内输出控制符’确定输出参数以什么类型输出输出控制符不一样,输出值也不一样,下图常用例子: 3,printf("输出控制符1 输出控制符2 。。。",输出参数1,输出参数2,。。。); 注

    作用:将内容输出到显示器上。

    用法:

    1,printf("字符串");

    单括号,双引号,分号必须是英文符号。双引号内的字符串可以是中文,英文或者是数字等,在字符串后面可以加上转义字符,比如我们常用的换行符‘\n’,等。下图是一个常用的例子:

    2,printf("输出控制符",输出参数);

    双引号内的‘输出控制符’是确定输出参数以什么类型输出,输出控制符不一样,输出值也不一样,下图常用例子:

    3,printf("输出控制符1 输出控制符2 。。。",输出参数1,输出参数2,。。。);

    注意:输出控制符可以是很多个,输出参数也是可能很多个,但要用逗号隔开,并且输出控制符和输出参数要一 一对应。如下图:

    4,printf("输出控制符  非输出控制符",输出参数);

    双引号内的‘输出控制符’是确定输出参数以什么类型输出,非输出控制符按原样输出。一般有%的都是输出控制符,加入非输出控制符是为了使输出便于理解和美观。如下图示例所示:

    为什么需要输出控制符?输出控制符都包括那些?

    因为同一个数据以不同的类型输出就会有不同的输出结果,常用的输出控制符有:%d,%ld,%c,%f,%lf,%x(X),%#x(X),%o,%s等。

    展开全文
  • c语言的函数个人感觉和学习中数学函数什么差别,都使用一个数学程序计算一输入得输出,就像一个电源适配器,输入220V输出的一定要是符合自己所需函数不正是如此吗?利用一系列必走程序得最终结果。与...

    c语言中的函数个人感觉和学习中的数学函数没什么差别,都是使用一个数学程序计算一输入得输出,就像一个电源适配器,输入220V输出的一定要是符合自己所需的,函数不正是如此吗?利用一系列必走程序得最终结果。与数学函数之差也就是计算机运行的规则,在它的世界游戏必须遵守它的法则!

    展开全文
  • 0.getchar()、putchar()输入缓冲区,键盘输入是“行缓冲”遇到一个换行符时候清空缓冲区。...——从输入缓冲区读取一个字符,不管字符是什么,都读取。putchar()——打印一个字符,没有换行符。注意put...
  • 什么是函数式编程?...函数式编程的函数是指数学上的函数:给定输入固定的输出,没有副作用。任何语言都可以用函数式的风格, 只是难易不同罢了。 比如函数 y = f(x). 和 函数 t = g(z); 在数学上,当 t在f(x)的
  • 函数式编程的函数是指数学上的函数:给定输入固定的输出,没有副作用。任何语言都可以用函数式的风格, 只是难易不同罢了。 比如函数 y = f(x). 和 函数 t = g(z); 在数学上,当 t在f(x)的定义域内时,可以组成复合...
  • 0.getchar()、putchar() 输入缓冲区,键盘输入是“行缓冲”遇到一个换行符时候清空缓冲区。 标准流,stdin和stdout...——从输入缓冲区读取一个字符,不管字符是什么,都读取。 putchar()——打印一个字符,没...
  • b8十进制184,书上ASCII码值中有从0到127,这个184怎么办,为什么输出是“?”,网上好像讲标准ASCII 码也叫基础ASCII码,使用7 位二进制数,第1位二进制为0,而这里184二进制10111000,第一位1。 还有,我...
  • 我学python,Java时候都,现在学C语言也不例外。 于是就有了以下代码: int main(){ cout << "Hello, world!" << endl; return 0; } 运行上述代码,就会输出Hello, world!了。 我知道 cout ...
  • printf标准输出流的输出函数,用来向屏幕这样的标准输出设备输出,这个用说了; fprintf函数:fprintf()传送输出到一个流中的函数原形:int fprintf(FILE *stream,const char *format[,argume
  • C语句和数据输入 输出 C语句负责向计算机发出指令,只要语句合乎文法,计算机就会顺利执行。 C语言规定所有语句都要以分号作为结束符 1.函数调用语句 函数调用语句函数调用表达式后加“;”组成, 其一般形式...
  • C语言的scanf函数以浮点型格式输入到整型变量,会怎么的呢? 当然数据出错啦? 就是酱紫。我输入175.125,输出的却1127358464 离谱吧。为什么呢? 我知道你肯定会说 你沙雕吗?定义的数据int a却用scanf...
  • Turbo C,VC++6.0都按从右到左进行计算,但注意自增和自减运算。   看下面一个例子: #include main() {  int i=8;  printf%d, %d, %d, %dn",i,--i,i,i--);  }  运行结果:7, 7, 8, 8 为什么...
  •  突然记得在什么地方看过一种说法,C语言的输出是从右到左的,但具体却很模糊,下班回来之后就试了一下,代码如下: #include int main() { int b = 4; printf("%d,%d",++b,b++); printf("\
  • C语言小白一个,二级水平,遇到了一个问题。...真不理解,看了网上其他人一些提问,感觉这个程序不应该这个结果,是不是编译器配置问题,还是其他什么原因?有没有大佬可以解答一下,万分感谢!
  • 一般而言,参数是函数的输入,返回值是函数的输出(在高级应用中,使用参数放回,放回值说明状态) 函数需要对外输出数据(函数运行的一些结果值)因此需要返回值 形式上来说,函数被另一个函数所调用,返回值作为函数...
  • #include #include #include #include void main() { int max(int ,int); int a = 4,b = 6,(*p)(int,int); p = max; printf("%d\n",(*p)(a,b));...输出结果!...为什么 p 和 *p 一样呢??
  • 5261 用法如下:1、printf()函数是格式化输出4102函数,一般用于向标准输出设备按1653规定格式输出信息。2、printf()函数调用格式为:printf("", )。3、格式输出,它是c语言中产生格式化输出的函数(在 stdio.h ...
  • C语言编写s函数 S函数简单介绍 为什么要编写S函数?因为MALTAB提供模型不能满足用户需求。 Simulink与一个C MEX S-Function之间相互关系:通过调用S-Function中回调函数来实现。说白了就是调用API函数的...
  • 前言:为什么函数是程序基本组成单位呢? 函数通常具有一定功能,并且它功能是通过把使用者提供输入变成输出体现。程序也具有功能,它功能也是通过把使用者输入变成输出体现,函数与程序区别...
  • 什么puts(s2)输入有乱码,我用的是win7+C-Free4.0。 代码如下: #include int main() { char s1[4],s2[7],c; int i,j; printf("请输入s1:"); gets(s1); printf("*****s1输入成功*****\n"); puts(s1); ...
  • C语言文件操作函数

    2016-07-30 17:14:53
    有时候在调试程序需要进行大量数据输入输出时,如何还是采用scanf()、...再说了,什么地方都需要用到文件,所以这个也个重要操作啊! 需要包含头文件 来一个小示例: #include int main() { FILE *fp;
  • 最近在学校论坛看到一个关于C语言的问题,如下文这段代码,期待中的输出应该5,5,但是在gcc中的结果实际7,3,而在clang中的结果则期望中的5,5。为什么会产生这种区别呢?其原因就在于printf("%d,%d\n", (++p)-...
  • c语言函数以及递归

    多人点赞 热门讨论 2021-05-26 21:21:47
    函数是什么 数学中我们常见到函数概念。但是你了解C语言函数吗? 百度百科中对函数定义: C程序是由一组变量或是函数外部对象组成。函数是一个自我包含完成一定相关功能执行代码段。我们可以把函数...
  • Windows程序设计与C语言的主要区别是什么? 我是一个windows编程的新手,在这里请教各位一个问题: windows编程与c语言的异同:就好比printf函数在C程序中是输出函数,而在windows编程中却无法用此函数输出…… ...
  • 首先说一下C语言中是没有输入和输出函数的,在C中要调用scanf函数必须先声明&lt;stdio.h&gt;头文件,从函数库中来调用scanf函数。然后就是scanf具体操作,它和printf函数是有区别,在格式方面...
  • C语言数组函数的结合

    2021-03-26 10:02:04
    数组和函数结合,数组名当作实际参数 arrayPrint(array) purchar()输出一个字符 getchar()获取一个字符 如何计算数组中元素个数 数组总大小/一个类型大小 int a[3] char b[3] 两个数组有什么不同 一个char型...
  • printf("欢迎学习C语言\n"),\n转义字符,表示换行,和java类似。2、printf(“输出控制符”,输出参数); int i = 10; printf("%d",i); //d表示十进制,有个疑惑,本身我们给 i 赋值就是按照十进制赋值,这里...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 947
精华内容 378
关键字:

c语言的输出函数是什么

c语言 订阅