小甲鱼C语言【课后笔记第一章——打印(printf)

目录

1、“打印”就是“输出”的意思

2、使用 GCC 编译程序:gcc 源代码 -o 可执行文件。

 3、printf 是格式化输出函数

a、函数概要

b、函数原型

c、参数分析

d、返回值

e、演示

4. 转义字符

5. 反斜杠的奥义

6、课后习题(编程题)

 


1、“打印”就是“输出”的意思

下面就是我们上手C语言的第一个程序。(也大概是我们学习任何语言上手的第一个程序)

#include 

int main()
{
        printf("I love FishC.com!\n");
        return 0;
}

2、使用 GCC 编译程序:gcc 源代码 -o 可执行文件。

小甲鱼C语言【课后笔记第一章——打印(printf)_第1张图片

 3、printf 是格式化输出函数

确实有了函数的加入我们方便了许多!!!

a、函数概要

printf 函数用于打印格式化字符串到标准输出流。

b、函数原型

#include 
...
int printf ( const char * format, ... );

c、参数分析

format 参数

format 参数是一个格式化字符串,由格式化占位符和普通字符组成。

格式化占位符(以 % 开头)用于指明输出的参数值如何格式化。

格式化占位符的语法如下:

%[flags][width][.precision][length]specifier

每一个格式化占位符均以 % 开始,以转换字符结束。

specifier转换字符,必选)的内容及含义如下:

转换字符

参数类型;转换结果

c

char;字符

d

int;有符号十进制整数

i

同上

e

double;以指数形式输出单、双精度浮点数(小写 e)

E

同上(大写 E)

f

double;以小数形式输出单、双精度浮点数

g

double;以 %f 或 %e 中较短的输出宽度输出单、双精度浮点数(指数显示小写 e)

G

同上(指数显示大写 E)

o

unsigned int;无符号八进制(无前导 0)

s

char *;字符串

u

int;无符号十进制

x

unsigned int;无符号十六进制(无前导 0x)

X

同上(无前导 0X)

p

void *;指针值

n

int *;存放已写字符的个数

%

不进行参数转换;% 自身

注:如果 % 后边的字符不是转换字符,则其行为没有定义。

flags标志,可选)的内容即含义如下:

标志

含义

-

指定被转换的参数在其字段内左对齐(默认是右对齐)

+

指定在输出的数前面加上正负号

空格

如果第一个字符不是正负号,则在其前面加上一个空格

0

对于数值转换,当输出长度小于字段宽度时,添加前导 0 进行填充

#

指定另一种输出形式:
1. 如果转换字符为 o,则第一个数字为 0
2. 如果转换字符为 x 或 X,则指定在输出的非 0 值前加 0x 或 0X
3. 对于转换字符为 e、E、f、g 或 G 的情况,指定输出总是包含一个小数点。另外,对于转换字符为 g 或 G,还指定输出值尾部无意义的 0 将被保留


注:flags 可同时出现多个,且无顺序要求。

width(宽度,可选)是一个数值,用于指定最小字段的宽度

转换后的参数输出宽度至少要达到这个数值。如果参数的字符数小于该数值,则在参数左边(如果 flags 设置为 -,要求左对齐的话则在右边)填充一些字符。填充字符通常为空格,但是如果 flags 设置为 0,则填充字符为数字 0。

.precision(.精度,可选),通过点号(.)分隔字段的宽度和精度

  • 对于字符串,它指定打印的字符的最大个数
  • 对于整数,它指定打印的数字位数(必要时可加填充位 0 以达到宽度要求)
  • 对于转换字符为 e、E 或 f,它指定打印的小数点后的数字位数
  • 对于转换字符为 g 或 G,它指定打印的有效数字位数

length(长度修饰符,可选)的值可以是 h、hh、l、ll 或 L

  • hh 表示将相应的参数按 signed char 或 unsigned char 类型输出
  • h 表示将相应的参数按 short 或 unsigned short 类型输出
  • l 表示将相应的参数按 long 或 unsigned long 类型输出
  • ll 表示将相应的参数按 long long 或 unsigned long long 类型输出
  • L 表示将相应的参数按 long double 类型输出

d、返回值


如果函数调用成功,返回值是实际打印的字符数(不包含表示字符串结束的 '\0');

如果函数调用失败,返回值是一个负数。

e、演示

#include 

int main()
{
        int a = 325;
        char b = 'Y';
        float c = 3.14;
        double d = 3.141592653;

        printf("小王出生在2000年的的%d\n", a);
        printf("I love %cou!\n", b);
        printf("圆周率是:%.2f\n", c);
        printf("精确到小数点后9位的圆周率是:%11.9f\n", d);

        return 0;
}

结果:

小甲鱼C语言【课后笔记第一章——打印(printf)_第2张图片

4. 转义字符

在 C 语言中,用双引号括起来的内容我们称之为字符串,也就是我们平时所说的文本。

转义字符一般是表示特殊含义的非可见字符,以反斜杠开头:

小甲鱼C语言【课后笔记第一章——打印(printf)_第3张图片

5. 反斜杠的奥义

在字符串中反斜杠 + 字符是转义字符,表示特殊含义。

但反斜杠如果后边不带任何字符(直接换行),表示我们希望 C 语言将该行以及下一行看做是一

个整体。

比如:

#include 

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

 可以写成:

#in\
clude \


int ma\
in()
{
        print\
f("Hello World!\n");
        return \
0;
}

6、课后习题(编程题)

要求打印出这一架飞机!!!

 

小甲鱼C语言【课后笔记第一章——打印(printf)_第4张图片

#include 

int main()
{
        printf("\n\
                 @\n\
                / \\\n\
                * *\n\
                * *\n\
                * *\n\
          * * * * * * * *\n\
        * * * * * * * * * *\n\
      * * * * * * * * * * * *\n\
                * *\n\
                * *\n\
              * * * *\n\
            * * * * * *\n");

        return 0;
}

 结果:

小甲鱼C语言【课后笔记第一章——打印(printf)_第5张图片

 

 

你可能感兴趣的:(C语言,c++)