C语言入门第四篇,输出

时间:2021-07-08 18:09:23

讲了一些基本的,有些人可能会想为什么还不能写出程序啊?不要着急,这篇文章过了,你就将写出看了这个教程的第一个程序。

这里我们先介绍两个输入输出函数(输入,输出函数还有很多,但是现在用不到,后面要用了再讲),scanf()和printf()。

我们前面说了数据类型,变量,今天终于能派上用场啦。

上一节,我们说了给变量赋值,那么怎么把一个变量显示出来呢?我们来看看printf这个函数。

printf
前面我也提到过这个函数,我们先不管其他的,先用。用好了渐渐深入再去了解其他的。

printf可以输出你想输出的任意的东西,例如:

#include<stdio.h>
int main()
{
printf("hello world!");
return 0;
}

这段代码可以输出hello world。

那么printf如何输出变量的值呢?

printf是输出格式化的,什么意思呢,就是你输出变量的时候,一定要给他一个类型。这就要用到我们之前说的数据类型啦。

#include<stdio.h>

int main()
{
int a=2;
float b=1.12312;
double c=1.1221312;
char d='a';
printf("%d\n",a);//输出变量a
printf("%f\n",b);//输出变量b
printf("%lf\n",c);//输出变量c
printf("%c\n",d);//输出变量d
return 0;
}

上面的代码我们很清楚的看到数据类型所对应的格式(试着将这段代码放到编译器里看看)。我们先忽略\n,下面再讲,先看前面。

数据类型 对应格式
int %d
float %f
double %lf
char %c

这些是我们代码里面所包含的对应格式,也就说我们要输出变量要先看他的数据类型,根据数据类型来选择格式。下面再介绍几种格式。

格式 对应数据类型 用途
o unsigned int 无符号8进制整数
u unsigned int 无符号10进制整数
x / X unsigned int 无符号16进制整数,x对应的是abcdef,X对应的是ABCDEF
e / E double 科学计数法表示,此处”e”大小写代表在输出时用“e”的大小写
%s char * 字符串

其实printf里面还有很多类型,但是我们常用的差不多都在这,如果你对其他的感兴趣可以百度一下printf这个函数。大家还是记一记。说不定那天就用到了呢?

下面我们来介绍后面那个\n。他们有个名字叫转义字符。转义字符顾名思义就是将字符原本的意思转化了,这里的\n意思是换行。如果没有它的话上面的所有输出的内容都会在同一行,并且挨在一起(大家可以试试上面的代码删除\n)。

转义字符 用途
\n 换行
\t 水平制表符,相当于隔一个tab的距离
\\ 输出反斜杠\|

这里我只列出了我们常用的,我觉得其他的我都没怎么用过,这里要注意两个反斜杠\\代表一个斜杠,因为一个斜杠作为了转义的开头。还有就是因为在输出的时候printf默认就要用两个双引号,所以想要输出引号的话也必须转义。

printf("\"");

这里还有一点,就是前面在格式化输出的时候,用了百分号%,那么百分号如何输出呢,答案是和上面的反斜杠差不多两个百分号%%

我们有时在输出小数的时候会要求保留多少位,我们可以在%后面添加数字,如果我要保留2位小数可以使用%.2f。这里肯定有人好奇在小数点前面加数字是什么意思呢?在小数点前面加的话代表输出的内容占用多大的宽度。可以试试下面的代码。

#include<stdio.h>

int main()
{
int a=2;
float b=1.231;
double c=1.123;
char d='a';
printf("%5d%5.2f%5.3lf%5c\n",a,b,c,d);
printf("00000000000000000000");
return 0;
}

这段代码大家放在编译器里面就知道我刚刚讲的东西了,下面输出的0是为了让你把上面的宽度看清楚。

总结
printf函数是C语言里面很重要的格式化输出函数。
1.它有自己输出格式,一定要注意输出格式,不然输出结果和你想象的可能不一样。
2.输出时一定要注意输出的内容是否需要转义,也要学会使用转义字符。
3.输出的时候格式是可控制的需要多大的宽度,多少位的小数都是可以控制的。
最后大家一定要敲敲上面的代码,会记得更牢靠一些的。