第三章 程序的基本结构和语句(三)

2023-12-14 14:25:36

二、数据的输出与数据的输入

1、数据的输出

1)putchar函敛

用于向屏幕输出一个字符,只能输出字符 ,并且是一个字符,所以这个函数用处不大。

格式:putchar(c);

说明:

(1)圆括号中的 c 可以是字符型变量或者整型变量,代表要输出的内容。

(2)putchar 函数属于标准I/O库中的函数,为了能够使用这些函数,需要用一个#include命令(后面会讲),将某些文件包含到用户的源文件中,其效果就相当于把某个文件中的内容原封不动地贴到# include 命令所在的位置。在这里,需要使用#include 命令将 stdio. h 这个文件包含到当前的源码文件中 ,并且#include 要写在源码文件的开头位置,内容如下:

# include <stdio.h>

上面这行代码中的stdio. h是一个系统文件,因为这个文件是以 .h 作为扩展名 ,所以常称为头文件 (head file) ,在安装 Xcode等开发软件的时候 ,很多系统文件会被自动安装到计算机中。一般来说 , #indude 命令主要用来包含一些 .h 头文件。

每个人使用的开发软件版本各不相同,有的版本不需要使用上述的#include 命令来包含 stdio. h文件,如果在使用putchar 函数编写代码时,代码能够成功编译并运行起来,不提示错误,就没有必要使用。 #inclucle命令,如果代码报错无法运行,就需要把#include<stdio. h>放在源代码文件的开头位置。

常遇的面试问题:看一看如下两行代码的区别

# include <stdio.h>? ?? //用<>将文件包含起来

# include "stdio.h"? ? ? //用""将文件包含起来

用尖括号<>括起来的头文件被#include 时,表示让开发软件去系统目录中寻找 stdio. h文件,所以一些系统提供的标准头文件如 stdio. h,stdlib. h等在# include时都应该使用尖括号<>括起来。

而用双引号""包含起来的头文件被# include时,开发软件会首先在当前源代码文件所在的目录下寻找,如果找不到 ,再去系统目录中寻找,所以,通常开发者自己写的一些头文件,在被#include 包含进来时,往往使用双引号""包含起来。在这里使用#include <stdio. h>和# include "stdio. h" 效果相同,因为当前目录下没有 stdio. h 文 件,最终都会到系统目录下去寻找 stdio. h头文件。

例:

2)printf函数

用于向屏幕输出多个任意类型数据。

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

格式中的"格式控制字符串"是用双引号包含起来的字符串,包含两种可能的信息 :

(1)原样输出的普通字符,如prinlf(“你好,托小托”),会输出 你好,托小托;

(2)字符串中也可以包含格式字符,如已经用过的%d、%f、%c等。

printf("%d%d\n",a,b);

圆括号中内容都属于 printf函数的参数,因此,printf函数的格式也可以表示为:

printf(参数1,参数2,参数3,…,参数n);

printf函数实现的输出功能是将参数2,参数3,...,参数 n,按参数1给定的格式输出。

在 printf 函数的格式控制字符串中可以包含格式字符 ,如下:

(1)%d,以十进制数形式输出一个数字。

例:

(2)%o, 以八进制数形式输出一个数字,输出的数字不能是负数,否则结果会在意料之外 ,这个格式字符用途较小。

例:

(3)%x,以十六进制数形式输出一个数字 ,输出的数字不能是负数,否则结果会在意料之外,该格式字符有一定的用处,某些场合可能需要以十六进制形式输出数字从而方便观察。

例:

(4)%u,以十进制数形式输出一个 unsigned(无符号)类型数据。虽然能够使用%d输出一个 unsigned 类型数据,但如果输出的数据类型确实是 unsigned 类型,强烈建议使用 %u 输出,以防出现意外,因为无符号类型表示的数据范围比有符号类型大 1 倍。当然,一个有符号数也可以用%u输出,但这个有符号数是正数时设问题,是负数时,用%u 输出就会导致结果错误,所以一定要使用最合适的格式字符来输出数据,才能保证不出现错误。

例:

(5)%c 输出一个字符。

例:

整个 ASCII 码范围是 0-255 之间的数字,所以只要一个整数的范围在 0-255 之间,都可以用字符形式输出。

例:字符a的ASCII码为97,就可以通过 97 来显示对应的字符a

例:一个字符也可以用整数形式输出,此时输出的就是该字符对应的 ASCJI 码,前面说过,字符在内存中就是用数字的形式保存的。一个字符也可以用整数形式输出,此时输出的就是该字符对应的 ASCJI 码,前面说过,字符在内存中就是用数字的形式保存的。

例:

(6)s%,输出一个字符串,前面曾经说过,字符串末尾有一个系统自动加的 '\0 '作为字符串结束标记,但显示的时候 '\0'并不显示出来。

例:

(7)%f,以小数的形式输出单精度实数、双精度实数。

例:

有些格式字符可以控制输出对齐,有些可以控制小数点后显示几位。

例:

上面介绍的是最常用的格式字符,其中以d%、s%最为常用。还有一些其它的格式字符,可以去百度搜索printf格式字符,会有很详细的信息,不必死记硬背,需要时查阅即可。

注意:

(1)用 printf 函数输出数据时 ,格式字符要与所输 的数据相匹配,否则输出的结果会出错;

(2)如果想在 printf中输出一个"%"有三种方法:

(3)%后面跟随的格式化字符一般是一个字符,其后面紧跟的其他字符并不是格式化字符的一部分。

文章来源:https://blog.csdn.net/weixin_30479905/article/details/134885082
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。