您好,欢迎访问本站博客!登录后台查看权限
  • 转载文章需要注意是否有转载标识,未经允许谢绝转载
  • 发贴请联系站长提权

C语言入门教程(五)-printf输出函数

C语言 adminXiongmao 2019-03-31 182 次浏览 0个评论
网站分享代码

images.png

    从这一章开始就要进入正式的教程了,我们这一章主要讲一个东西,就是printf函数;如果记忆力好的话应该会感觉熟悉,我们在第三章创建一个C语言项目与Hello World!中就用到了这个函数来输出Hello World!,第一节课我们主要就来讲一下printf函数(我个人建议先看看放在最后的课件,课件的讲解更简洁,看看自己能理解多少,理解不了的再来看文章)。


-注释-


为了下面容易理解,我们先来讲一下注释,什么叫注释呢,注释其实就是用来记录一些信息或者为代码进行说明的文字,这些文字并不会被编译。如何去写注释呢?我们C语言的注释分两种,一种是单行注释,用 // 表示,在//后面的文字,只要没有换行,都不会被运行;另一种是多行注释,用/**/表示,只要是 /*和*/之间的文字,都不会被运行,不管是否换过行。

需要注意的是,下面的代码有的因为长度的原因,可能在文章中显示为两行,其实是一行(特别是移动端)。

示例:

#include<stido.h>

int main(){

    printf("Hello World!");    //这是一个printf,这里的任何文字都会被编译器无视
    
    /*
    
            这是多行注释,
            只要在/*和*/之间的文字
            (注意:这里只是示例,在编译器当中注释的话,注释内包含*/会导致提前结束,请不要在编译器中这么写)
            都会被编译器无视,无论多少行
    
        */
    
    return 0;
}






-printf使用例子与输出结果-


printf的示例代码:

//前期所有代码都要写在int main(){}的{}内,可以先不用理解什么意思,当成固定格式即可。
#include<stido.h>

int main(){
                                
    printf("Hello World!");
    
    return 0;
}

输出结果:

Hello World!

细心的同学可能发现了,输出的结果与代码中printf("");内的内容是一样的。其实这个就是printf的最主要的功能,将内容输出到屏幕,当然printf也并非这么简单,等学到变量与数据类型之后,我们还会再讲一遍printf,解锁更多的功能。



-printf语法-


我们printf总体来讲用有两种语法。


第一种语法也就是我们前面讲到的

printf("内容");    //int main(){ 要注意的是,代码要写在这里,前期基本上所有代码都是在这里编写的 }

将需要输出到屏幕的内容,写在" "以内,这样就可以直接原封不动的输出到屏幕。因为很简单具体就不多说了。


第二种就不太一样了我们可以将一个算式(表达式),让计算机计算之后,输出到屏幕上。相对于第一种来说会稍微难一点,下面来看一个例子:

printf("%d",15+30);

输出结果:

45

可以看到printf将后面的15+30的结果输出到屏幕上了,下面我来具体讲解一下


首先来讲一下""里面的%d是什么


%d的学名叫做格式声明符(也可以叫格式声明),日语叫做 変換指定 %d它的作用是将后面对应的表达式计算的结果(当然如果单纯就写一个数字,并非表达式也是可以的),输出到屏幕上,前提必须结果为整数

那么下面问题就来了当我想要输出小数、字符之类的该怎么办呢?其实格式声明符有好几种包括%f、%lf、%s、%c等,我们之后会专门写一章关于格式声明符的章节,暂时只要知道%d是用来输出整数(就算有小数传进来,在一部分情况下会将小数部分去掉再显示)%f和%lf是用来输出小数的(且默认会跟小数点后6位,不足会用0补齐),%f和%lf的区别在后面变量与数据类型的章节会讲。


要注意的是,如果后面的表达式的计算结果为小数,比如说

printf("%f",15/6);//结果为 0.000000

是无法得出正确结果的,这个其实和默认数据类型有关,等学了下一章以后就可以解决这个问题了。如果并非计算出来的小数或者计算出来的值是整数的话没事,例如

printf("%f %f\n",1.5*2 12.345);    //结果为 3.000000 12.345

因为以后很少会出现直接使用两个数字值在printf里面计算的情况,所以只要在下一章之前不要忘了就好了。



下面来看一下第二种的语法

printf("格式声明符",实参);
//需要注意的是格式声明符是写在""里面的,之后使用逗号隔开才能写表达式
//后面的实参可以是一个算式,也可以是一个数字,也可以是一个变量

示例:

printf("15+30等于:%d",15+30);

结果:

15+30等于:45

可以看到,只有%d的地方被替换成了45,其他地方是不变的,通常情况下,格式声明符也是和文字一起使用的。



现在可能有要人问了,如果我想一次多输出几个表达式的结果可以吗?


这个当然是可以的!下面我再来举一个例子(//后面是运行结果)

printf("小红的身高是%d,小明的身高是小红的两倍,因此是%d \n",150,150*2);    
//小红的身高是150,小明的身高是小红的两倍,因此是301

printf("小红的年龄是%d,小明的年龄是小红的两倍,因此是%d \n",18,18*2);
//小红的年龄是18,小明的年龄是小红的两倍,因此是36

printf("所以小明的年龄是%d,小明的身高是%f \n",18*2,150.5*2);
//所以小明的年龄是36,小明的身高是301.000000

可以看到我们的格式声明符的位置都被替换成了相应的结果。其实printf里面格式声明符与后面的实参的位置是对应的,你写的第一个格式声明符对应的就是后面第一个实参的结果,第二个格式声明符对应的就是后面第二个,以此类推,第100个格式声明符后面对应的就是第一百个实参(虽然没人会这么干);但是要记住,一个格式声明符必须要对应一个实参,否则无法输出正确的结果


可以看到上面的例子里面有一个 \n,如果将上面的代码运行了的同学肯定会发现,这个\n是没被显示的,那这个\n是干什么用的呢?

其实这个\n是用来换行的,这样的字符被称为转义字符串,主要有很多东西我们无法打出来,比如说换行,那有的同学说了,Enter不是也能换行嘛,但是在我们的printf("");内是禁止有换行符的,不信的同学可以试一下。因此我们必须要找一个东西来换行,就选择了\n来表示换行,在一条语句中\n可以使用多次,printf会在有\n的地方进行换行。除了\n以外其实还有很多转移字符串,在用到的时候我们会进行讲解。\n是一个很重要的转义字符串,希望大家可以记住。


-代码输入练习-printf-


大家需要在编译器中打出这些代码,并运行然后思考为什么会出现这些结果(注释就不用打了,当然想做笔记的话可以),如果不知道为什么得出相应的结果的话仔细看上面的,我在红色部分都有标明了。运算符部分知识在下面的注释里

#include<stdio.h>

int main(){
    
    printf("这是一个printf\n");
    printf("1+5等于%d\n",1+5);
    printf("15乘6等于%d\n",15*6);// *代表乘号
    printf("15除6等于%f\n",15/6);// /代表除号
    printf("15%6等于%d\n",15%6);
    // %代表取余,比如5/2时除不尽会余1,如何求这个余数呢,就用%,所以5%2=1
    
    printf("15乘(7+5)-4除8等于%f\n",15*(7+5)-4/8);//C语言是支持()的,与数学中作用相同
    
    
    return 0;

}


-课件及作业-


.cpp文件只有在项目内才能运行,因此需要先新建项目为作业合集和课件合集各创建一个项目,将课件合集.cpp和作业合集.cpp单独放到解决方案管理器-源文件里。作业合集和课件合集的使用方法我在课件合集的最上面写了,可以看一下,有不懂的可以联系我。


C语言入门教程(五)-printf输出函数.zip


  未经许可转载需联系su79767960@outlook.com

已有 182 位网友参与,快来吐槽:

发表评论

分享:

支付宝

微信

站点统计