当前课程知识点:高级语言程序设计 > 顺序结构程序设计 > 2.3 格式输出和格式输入 > 格式输出printf函数
大家好 本讲我们要学习格式输出
如果程序没有输出
这个程序就毫无意义
如果没有输入
这个程序每次运行的结果就会一样
用处也不大
一般而言
顺序结构程序通常会涉及三个基本操作
首先呢 要定义变量
然后通过键盘
获得用户输入的数据
送到相关的变量里保存起来
这就是把我们需要加工的数据要送给计算机
第二步
让计算机根据我们的需求
对输入的数据进行计算
这个计算呢
有可能是相加
有可能是相减
或者是更复杂的计算
计算的结果呢 也保存在变量里
最后呢
计算机将计算得到的结果
输出到屏幕给我们看
C语言没有提供专门的输入输出语句
而是提供了许多
用于标准输入输出操作的库函数
使用这些库函数的时候
要在程序的开头
加上这样的一条预处理指令
#include
因为每一个程序都会有输出
因此 这条#include
通常会出现在c语言所有的程序中
我们常用的有这四个输入输出函数
现在我们先来介绍printf函数
这个函数呢
是用于向屏幕输出数据的
数据的格式化输出
就是按照指定的格式和类型来输出
Printf 它函数有两个基本参数
一个是格式控制字符串
另一个是输出列表
我们来看一个实例
printf是函数名
双引号里的是格式控制字符串
一般控制输出项的格式和输出一些提示信息
a=,b=是普通字符
普通字符会原样输出
%d %f是格式字符
a b是输出列表
格式字符和输出列表要一一对应
这条printf语句的功能是
将变量a的值用十进制整数格式输出
将变量b的值以小数格式输出
printf有哪些格式字符呢
请看表格
这些格式字符
是相应的英文单词的第一个字母
printf函数除了有格式字符
还有这些格式修饰符
下面我们重点讲
经常要用到的格式字符和修饰符
先来看d这个格式字符
它的作用呢
是输出一个带符号的十进制整数
正数不输出符号
加上格式修饰符l
是输出long型变量的值
加上格式字符h
是输出short型变量的值
这个m呢
是控制输出数据的宽度的
下面我们来看这个示例程序
变量a是int型
变量b是short型
第1条printf语句是为了
让我们观察屏幕输出位置的
第2条printf语句呢
是按%d的格式输出a的值
按%hd的格式输出b的值
这条输出语句呢
没有修饰符
第2条printf语句呢
增加了10这个格式修饰符
这个格式修饰符的作用是
指定输出字段的宽度
如果数据的位数小于10
则左端补以空格
若大于10
则按实际位数输出
再来看第3条printf语句
格式修饰符为-10
表示右端补以空格
第4条printf语句呢
3这个格式修饰符呢
小于变量a和b的宽度
a是6位
b是5位
所以最后还是按实际变量的值输出
再来看c这个格式字符
它的作用是用来输出一个字符
这里定义了一个字符型变量ch
并且将小写字母a的值赋给变量ch
还定义了一个整型变量x
并且将65赋给变量x
第1条printf语句呢
按三种格式输出变量ch的值
字符格式 整数格式
带宽度的字符格式
大家看看输出结果
第2条printf语句呢
按字符格式和整数格式输出变量x的值
大家比较一下这两行的输出结果
s这个格式字符
是用来输出一个字符串的
也有m和n修饰符
我们来看看示例程序
同样 第1条printf语句
是为了让我们观察屏幕输出结果位置的
第2条printf语句呢
是按%s的格式输出字符串
有一个修饰符3
小于"computer"的实际宽度
系统会突破3的限制
将字符串全部输出
第3条printf语句呢
增加了5.3这个格式修饰符
输出的字符串宽度占5列
但只取字符串左端3个字符
这3个字符输出在5列的右侧
左补空格
第4条printf语句的格式修饰符为-5.4
输出的字符串宽度还是占5列
取字符串中左端2个字符
这2个字符输出在5列的左侧 右补空格
现在来看f这个格式字符
它的作用呢
以小数形式输出单、双精度实数
下面来看示例程序
变量x是float型
变量y是double型
第1条printf语句是按三种格式输出x的值
不带修饰符
整数部分全部如数输出
并输出6位小数
应当注意
float型的有效位数一般为7位
m.n中的m指定输出的数据宽度
n指输出的小数位数
没有负号呢是右对齐 左补空格
有负号呢是左对齐 右补空格
第2条printf语句呢
是按%f的格式输出double型变量y的值
可以指定小数点后为0位
最后 提醒大家注意:
printf语句的输出表列可以是变量、常量
或者是带运算符的表达式
各输出项与各格式字符
必须按照从左到右的顺序
在类型上一一匹配
如果实型数据用%d格式输出的话呢
结果是出错
整型数据用%f格式输出,结果为0
如果格式字符的个数少于输出项
多余的输出项系统是不会输出的
如果格式字符的个数多于输出项
系统可能输出不定值
最好每个输出项之间用分隔符隔开
今天的内容就讲到这里 谢谢大家
-1.1 计算机程序和计算机语言
-1.2 C程序的构成
--C程序的构成
-1.3 C语言编辑、编译、运行(VC++2010学习版)
-练习题
-2.1 变量的定义和使用
--变量的定义和使用
-2.2 数据类型
--数据类型简介
--整型数据
--实型数据
-2.3 格式输出和格式输入
-2.4 运算符和表达式
--运算符和表达式
-2.5 结构化程序设计入门
-练习题
-3.1 为什么要用选择结构解决问题
-3.2 如何正确表示选择结构中的条件
-3.3 用if语句及if语句嵌套实现选择结构
-3.4 用switch语句实现选择结构
-练习
-4.1 循环的引入
-4.1 循环的引入--作业
-4.2 用while语句实现循环
-4.3 用do-while语句实现循环
-4.4 用for语句实现循环
-- 用for语句实现循环
-4.4 用for语句实现循环--作业
-4.5 何时需要用循环的嵌套
-4.6 如何提前终止循环和提前结束本次循环
-习题--作业
-5.1 数组类型的引入
--数组类型的引入
-5.2 一维数组的定义和初始化
-5.3 一维数组的使用
--一维数组的使用
-5.4 二维数组的定义和初始化
-5.5 二维数组的使用
--二维数组的使用
-习题--作业
-6.1 什么是指针
--什么是指针
-6.2 指针类型及相关概念
-6.3 指针变量的定义、赋值与使用
-6.4 指针的运算
--指针的运算
-6.5 指针与一维数组
--指针与一维数组
-6.6 指针的指针
--指针的指针
-6.7 指针与二维数组
--指针与二维数组
-习题--作业
-7.1 为什么要自定义函数
-7.2 函数的定义
--函数的定义
-7.3 函数的调用
--函数的调用
-7.4 函数参数的传递
--函数参数的传递
-7.5 函数的嵌套调用和递归调用
-7.6 变量的作用域和存储类型
-习题--作业
-8.1 字符串的存储及输入输出
-8.2 系统字符串处理函数
-8.3 自定义字符串处理函数
-习题--作业
-9.1 结构体类型的定义
--结构体类型的定义
-9.2 结构体变量及指针变量的定义及使用
-9.3 结构体变量和指针变量作函数的参数
-9.4 结构体数组的定义和使用
-9.5 共用体类型和枚举类型
--共用体和枚举类型
-习题--作业
-动态内存分配--习题
-习题--作业