C语言入门第四篇,输出

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

这里我们先介绍两个输入输出函数(输入,输出函数还有很多,但是现在用不到,后面要用了再讲,函数这个概念我们先听着,后面会讲,这里把它当成实现输入输出的功能的一个东西吧,实际上它们被定义在stdio.h这个头文件里),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

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

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

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

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

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

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

printf("\"");

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

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

#include<stdio.h>

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值