当前课程知识点:C语言程序设计(上) >  从问题到C语言程序设计 >  1.4 程序中的人机交互 >  1.4 printf用法

返回《C语言程序设计(上)》慕课在线视频课程列表

1.4 printf用法在线视频

1.4 printf用法

下一节:1.4.2 scanf的用法

返回《C语言程序设计(上)》慕课在线视频列表

1.4 printf用法课程教案、知识点、字幕

我们今天接着讨论

程序中的人机交互

什么是人机交互

程序里边

为什么要有这样的人机交互

我们在用电脑

我们用电脑做什么

必然是把我们需要加工的数据

要送给计算机

然后计算机做它

按我们程序给它安排的步骤

它去完成我们要它做的工作

完成的结果必须要输出

不输出我们就让它做的就没有用了

这就是做程序里边

完成它的输入和输出

这就是我们所谓的人机交互

在C里边

通过什么实现这样的人机交互

两个函数一个是printf

提供了输出把结果输出

scanf完成了输入

把我们外部的数据送给计算机

这就是我们这一节

要讨论的两个问题

数据的输出和数据的输入

我们这就讨论printf

这个printf

是C的函数库提供的一个标准函数

它是专门用来

输出就是带格式的输出的

所以这个大家基本上在这里边

除过字符的输出之外

大多数的输出

都是通过printf来实现的

那这里边

我们为什么一再的提到函数函数

如果我把这个写成这个样子

大家看

你是不是感觉到这就是一个函数

这个函数的名字叫print输出

输出函数

我现在后边的这个括弧里边

给了一个固定的格式

这样的一个格式串

而后边

是我们真正要输出的东西

如果我把这个括弧夸大点写

这括弧里边是这样

逗号分开

后面就是我们说的那个变量表

什么叫变量表就是你要输出的东西

比如说咱在那个

计算圆周长的时候我们输出的是C

我们还要输出圆面积S

那就是两个不是一个

而这个格式串里边的东西

一定要跟它对应

是说 你要输出这个C

用什么格式输出这个C

在这来说你的格式

那这个格式对应了你这个C

那下面那个S用什么格式

好了对应你的S

也就说格式串里的东西

要和你要输出的变量表的东西

是一一对应的

那我们刚才看见了

这个pritf()

其实跟我们数学里边用到的函数

样子是非常像的

只不过这里边

我们用红颜色标识的这两块

是非常关键的

前面是格式

后边是你要输出的变量

我们举个例子看一下

这是一段程序

这段程序

大家看上去不是很熟悉

我们只要从这里边找出来

我们现在熟悉的printf就可以了

这个printf里边大家看

蓝颜色标识的这一块

就是我们的格式串

而后边就是它的变量表

我们把这一句话再重新写一下

这是格式串

这是变量表

这个分别表达了一个什么意思

我们在这里边看到了

刚才格式串里边的东西

就是百分号 百分号

我们再看一下

这里边一个百分号 两个百分号

然后

这里边用逗号隔开的

前边里边有两个百分号

后面才是变量表

那我们说这个百分号讨论一下

百分号表达什么意思

格式控制一个标识符

格式控制的标识符

那它在后边百分号的后边

跟着的这个字符

才表达了它要的是什么样的格式

我们刚才看见printf里边

有多个百分号

百分号在这里边表达什么意思

它出现在哪里

出现在格式串

双引号引起来的格式串里边

它表达了什么意图

我们这写了个问号

这个问号该有谁来取代

在这表里边d o x u等等

这么多大家看到

好复杂

该放谁

放谁是说

你后边要输出的变量表里那个变量

到底按什么格式输出

比如说你想按整型把它输出

那你就是百分号后边放d

按十进制整型数的形式

输出变量的值

如果你要输出一个实型数

要带小数

那你要输百分号f

它输出的是

单精度的浮点的变量里边的值

那当然你要告诉人家说

你的变量里边

我们刚才记得

上面那个程序里边是6.2f

6.2表达了什么意思

点2那个2是说你要的小数位

而6是说你数据整个的宽度

这是对f的描述

如果你不是f是别的

是字符百分号C

总之

百分号是个标志

百分号后边这个字符

表达了你要输出的那个变量

它是什么类型

你要看的这个东西

是以什么形式给你呈现出来

我们来看一下这个程序

这是我们刚才看到C块的那个程序

这里边

大家只关注的是这一块

我要输出c s

那我必须在这个格式串里

有两个百分号跟它对应

那两个百分号是什么类型

是f

我就是要的带小数

小数点要几位 要两位

我们看一下

咱现在要输入的是r

r是一个整型数

输入一个r是5

我们看

输出的结果是

周长是31.42

面积是78.54

大家看一下这前面都空了一个格子

其实我们不习惯这样

空一个格子为什么会空一个格子

刚才是格式f的格式是6.2

说你要两位小数

你的整个的数据域要了6个宽度

那咱现在这个连空格123456

两位小数加小数位3位

再加两位整数5位

那必然空一格

我们现在

这样说行不行

我们要三位小数

一个改了一个不改

看一下

我们看前边的这个

要3位小数前边就不空格

而后边还空一格

那就说

你的数据域正好跟实际的数据相符

那你要数据域很宽

前面空的格子就多

大家说

我这样行不行

我就不要c等于了

那我这前面不就不空了

看不上了 那当然是这样子

那还有一个说

我给这样的格式行不行

我一共只有6位

但是我要5位小数

大家看结果

凡是r给5

大家看我把c等于删了

那就删了什么都不影响

因为那是照原样子印的东西

那这个后边实际的位数是5位

加小数点6位

再加两位整数7位8位

一共有8位

比你那个域你给的域是6

超出了超出了计算机

为什么没告诉我错了

C里边不认为这是错

它默认为按你的实际位数输出

实际位数输出

我们大家

还做一点点讨论说

我这一块要把我这个r

这是哪个半径对应的这个

我要输入

也就说

我给一个百分号

给这百分号干嘛

是因为我这还有一个数想输出

我想看一下我刚才给的r是多少

没问题

你给了一个想输出的变量

你必须给一个百分号

说这个变量是整型的

那么我们为了清楚起见

我还是跟你说我这要的是r

我这块

要的是我这块是那个C

好了我这就分开来了

r还给5

现在说你的半径是5

什么型整型

所以就没有小数位s c s

这就是我们这个r百分号d

对的这个整型

后边给了两个实型

我们刚才说到

内存实际上怎么存的

存了一个r是整型

存了c和s是实型

但是我们要看的时候

我们可不可以这样看

我r存的是整型

我现在却看的时候为了一致

你也给我一个6.2的格式

这样可以吗

你尽管存的是整型

我现在想把你按实型的输出

可以吗

我们看一下可以还是不可以

还给输入我就给了整型5

它现在出现了什么情况

不仅r不对了

c也不对了 s也不对了

这怎么会出现这种情况

其实我c和s什么都没变

刚才没有变

那对于整型和实型来说

你存的是整型

你输出的就是整型

你存的是实型输出的就是实型

但是

有一种情况是例外的

什么呢字符

比如说

整型和字符是混着用

那我们现在要输出的是字符的话

我把r当字符输出可不可以

我们看到

r是5

我们把r里边的内容当字符输出

也是可以的

那r等于5对着是谁

我们查一下Σ表里边

5对着的就是梅花这个字符

所以整型和字符是可以混着

但是整型和实型在输出的时候

不能混淆的

格式串里边的

后边的说明的那个字符不能混淆的

C语言程序设计(上)课程列表:

从问题到C语言程序设计

-1.1 计算机的问题求解方法

--1.1.1--程序设计面向的问题

--1.1.2--关于计算

--1.1.3-1关于算法-算法的特征

--1.1.3-2关于算法——算法的表示

--1.1.3-3关于算法——算法的优化

--1.1.4-1-程序设计方法

--1.1.4-2-程序设计方法

--讨论题:数学模型

-1.1 计算机的问题求解方法--作业

-1.2 C语言与C程序

--1.2.1-1-C概述

--1.2.1-2-C概述

--1.2.2-C初步

--讨论题:运算符

-1.3 C语言处理系统与程序调试运行

--1.3.1C程序如何调试运行

--1.3.2常用C语言处理系统

--1.3.3DEVC++的使用-v1

--1.3.4C语言概貌小程序

--例程

-1.4 程序中的人机交互

--1.4 printf用法

--1.4.2 scanf的用法

--例程

--作业讨论区

数据计算实现与顺序结构程序设计(一)

-2.1 算术运算的C程序实现

--2.1.1 第二章

--2.1.2 C语言算术表达式概念

--2.1.3 算术运算的实现

--2.1.4 整数相除

--2.1.5 输入格式造成的计算错误

--2.1.6 求余运算

--2.1.7 自增自减运算

--2.1.8 复合运算

--fangcheng.c

--fangcheng-1.c

--fangcheng-2.c

--fangcheng-3.c

--fangcheng-4.c

--算术混合运算.c

--讨论题:自增自减符

--讨论题:程序输出结果

--讨论题:程序运行结果

-2.1 算术运算的C程序实现--作业

-2.2 关系运算的C程序实现

--2.2.1 关系比较问题

--2.2.2 C语言关系表达式

--2.2.3关系运算优先级

--2.2.4 用关系运算做判断条件

--2.2.5 程序实例

--2.2.6 字符比较

--bukao.c

--pingshifen-1.c

--panduanzhengshu.c

--pingshifen-2.c

--字符比较.c

--讨论题:比较大小

--讨论题:程序的运行

-2.2 关系运算的C程序实现--作业

-第二周作业--作业

数据计算实现与顺序结构程序设计(二)

-2.3 逻辑运算的C程序实现

--2.3.1 逻辑运算问题~1

--2.3.2 逻辑运算表达式

--2.3.3 如何判断闰年

--2.3.4 逻辑运算优先级

--2.3.5 条件运算符

--计算结合性

--2.3.7 一个简单实例

--闰年.c

--自动购票问题.c

--讨论题:逻辑表达式

-2.3 逻辑运算的C程序实现--作业

-2.4 位运算的C程序实现

--2.4.1 什么是位运算

--2.4.2 位运算有哪些

--2.4.3 位运算怎么用

--讨论题:位运算

-2.5 几种很个别的运算

--2.5 几个很个别的运算

--讨论题

--讨论题

-2.5 几种很个别的运算--作业

-2.6 混合运算及数据类型转换

--2.6 混合运算及数据类型转换

--讨论题:数据类型

-2.7 顺序结构程序实例

--2.7.1 第一个程序:三角形

--Video

--三角形面积.c

--讨论题:工业产值

--讨论题:程序无效结果

-2.7 顺序结构程序实例--作业

选择结构的程序设计

-3.1 程序中的路径选择实现

--3.1.1_1 第三章

--3.1.1_2 神奇的if_else

--打印学生成绩.c

--一元二次方程.c

-3.1 程序中的路径选择实现--作业

-3.2 路径中的再选择——嵌套判断

--3.2.1_1 if语句的嵌套

--3.2.1_2三个数排序1029

--例程

--3.2.2 用户登录检查

--三个数排序_未优化.c

--三个数排序_优化.c

--讨论题:程序改错

-3.2 路径中的再选择——嵌套判断--作业

-3.3 复杂判断问题的C程序设计

--3.3 多级选择

--银行存款.c

--讨论题:多级选择

-3.4 多分支问题的C程序设计

--3.4.1 switch语句表达式

--3.4.2 加减乘除计算

--3.4.3 几类说明

--加减乘除运算.c

--讨论题:关于switch

-3.4 多分支问题的C程序设计--作业

-3.5 GOTO的适当使用

--3.5 GOTO的适当使用

-3.6 选择结构的程序实例

--3.6 程序展示

--计算第几天.c

--存款利息__switch实现.c

--讨论题:输出奇数

--讨论题:计算税金

-3.6 选择结构的程序实例--作业

-第四周作业--作业

循环结构的程序设计(一)

-4.1 需要重复执行的程序

--4.1.1----第四章~1

--4.1.2---while实现先判断后循环~1

--4.1.3----while循环的应用-录入速度~1

--求和.c

--打印学生成绩.c

--统计录入速度.c

--求平均数.c

-4.1 需要重复执行的程序--作业

-4.2 至少要执行一次的循环

--4.2.1至少要执行一次的循环

--4.2.2-do-while循环应用

--成绩录入_do while实现.c

--n的阶乘.c

--字符分类统计.c

--讨论题:关于while

-4.2 至少要执行一次的循环--作业

-4.3 已知循环次数用for语句

--4.3.1--用for语句控制循环次数

--4.3.2--循环的应用-求和

--求和问题.c

--斐波那契数列问题.c

--数列求和.c

--讨论题:循环语句的不同

--讨论题:循环语句

-4.3 已知循环次数用for语句--作业

-4.4 循环控制——简单循环应用

--4.4.1-循环的应用-找数-水仙花数

--4.4.2--循环的应用-求素数

--水仙花数.c

--讨论题:死循环

--讨论题:continue和break

--讨论题:猜数字

-循环结构的程序设计(一)--4.4 循环控制——简单循环应用

循环结构的程序设计(二)

-4.5 循环的嵌套

--4.5.1 循环的嵌套——九九乘法表

--4.5.2 循环的嵌套——打印三角形

--打印九九乘法表.c

--打印实心三角图案.c

--打印空心三角图案.c

--讨论题:程序运行

-4.5 循环的嵌套--作业

-4.6 break与continue

--4.6 循环中断与继续循环——break再讨论

--最大素数.c

--求正数个数及平均数.c

-4.6 break与continue--作业

-4.7 循环的综合应用

--4.7.1 数的排列组合问题

--4.7.2 循环综合应用——穷举算法

--4.7.3 循环综合应用——满足条件的数

--4.7.4 循环综合应用——求最后三位数

--4.7.5 循环综合应用——打印空心图案

--数的排列组合.c

--数的排列组合优化.c

--鸡兔同笼.c

--找满足条件的数.c

--输出14的13次方的最后三位数.c

--打印空心字符.c

--讨论题:打印图形

--讨论题:打印空心图形

--讨论题:计算闰年

-第六周作业

--虚拟实验:循环程序设计实验

-第六周作业--作业

数组(一)

-5.1 同类有序数据处理问题

--5.1.0 数组开篇

--5.1.1 同类有序数据存储问题

--讨论题:下标变量与下标

-5.2 一维数组的定义和引用

--5.2.1_1 数组的定义~1

--5.2.1_2 数组的初始化

--5.2.2 一维数组的输入输出

--5.2.3 一维数组的应用1--成绩排序(选择法)~2

--5.2.4 一维数组的应用2--Fibonacci数列

--数组定义.c

--数组初始化.c

--输出大于平均值的数.c

--反向输出.c

--选择法_成绩排序.c

--求斐波那契数列前n项.c

--讨论题:对称数

--讨论题:关于'\0'

-5.2 一维数组的定义和引用--作业

-5.3 一维字符串数组

--5.3 一维字符串数组11.24~1

--用函数测试字符串长度.c

--讨论题:编程

-5.4 字符串处理函数

--5.4 字符数组的输入与输出

--字符串反向.c

--字符串函数

--讨论题:程序如何运行

--讨论题:黑色星期五

数组(二)

-5.5 二维数组的定义与使用

--5.5 二维数组定义

--二维数组的定义与初始化.c

-5.6 二维数组的输入输出

--5.6 二维数组的输入与输出

--二位数组输出_矩阵输出.c

--讨论题:随机数据存储

-5.6 二维数组的输入输出--作业

-5.7 二维数组的应用‍

--5.7.1二维数组的应用-转置矩阵

--5.7.2 用一维数组方式引用二维数组元素

--转置矩阵.c

--找二维数组最大数.c

--讨论题:修改程序

--讨论题:关于随机数函数 rand()

-5.8 二维字符数组

--5.8 单词排序

--单词排序.c

--讨论题:回文字符串

-5.8 二维字符数组--作业

-5.9 数组综合应用

--5.9.1 应用1——学生成绩统计

--统计成绩.c

--5.9.2 应用2——删除重复字符

--删除串中的重复字符串

--5.9.3 应用3——统计字符

--5.9_4数组的应用4--矩阵相乘

--统计字符次数.c

--讨论题:洗牌

-本期课程结束语

--end

-第八周编程作业

--虚拟实验:冒泡排序算法程序设计实验

期末复习

-《C语言程序设计(上)》期末复习参考

--html

期末复习答案

-《C语言程序设计(上)》期末复习参考答案

--html

1.4 printf用法笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。