C语言探索之旅】 第一部分第四课第三章:变量的世界之显示变量内容

内容简介

1、课程大纲

2、第一部分第四课第三章:变量的世界之显示变量内容

3、第一部分第五课预告:基本运算

课程大纲

我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案。还会带大家用C语言编写三个游戏。

C语言编程基础知识

  • 什么是编程?
  • 工欲善其事,必先利其器
  • 你的第一个程序
  • 变量的世界
  • 基本运算
  • 条件表达式
  • 循环语句
  • 实战:第一个C语言小游戏
  • 函数
  • 练习题
  • 习作:完善第一个C语言小游戏

C语言高级技术

  • 模块化编程
  • 进击的指针,C语言王牌
  • 数组
  • 字符串
  • 预处理
  • 创建你自己的变量类型
  • 文件读写
  • 动态分配
  • 实战:“悬挂小人”游戏
  • 安全的文本输入
  • 练习题
  • 习作:用自己的语言解释指针

用基于C语言的SDL库开发2D游戏

  • 安装SDL
  • 创建窗口和画布
  • 显示图像
  • 事件处理
  • 实战:“超级玛丽推箱子”游戏
  • 掌握时间的使用
  • 用SDL_ttf编辑文字
  • 用FMOD控制声音
  • 实战:可视化的声音谱线
  • 练习题

数据结构

  • 链表
  • 堆,栈和队列
  • 哈希表
  • 练习题

第一部分第四课第三章:变量的世界之显示变量内容

《变量的世界》这一课内容有点多,经过上两章《变量的世界之内存那档事》和《变量的世界之变量声明》,今天我们来学习最后一章《变量的世界之显示变量内容》。

在上几次的课中,我们已经知道了如何用 printf 函数在屏幕上显示内容。但那时候还只是显示一些简单的文字,比如“Hello World”,“你好吗”,“饭吃了没”,之类。

下面我们来学习如何用printf函数来显示变量内容。

用printf来显示变量内容其实也是类似,只不过在我们要插入变量内容的地方要用一个特殊符号代替,例如:

printf("你有 %d 只狗");

这里的特殊符号其实是“%”加上一个字母(上例中是d),这个字母表明要显示什么类型,d表示要显示整数。下表列出了一些常用的字母和对应的变量类型:


格式


类型


"%d"


int


"%ld"


long


"%f"


float


"%f"


double

可以看到用于显示float(单精度浮点数)和double(双精度浮点数)的符号是一样的(因为说到底它们都是浮点数嘛)。

在适当的时候,我们还会介绍其他的符号,暂时只需要记得这几个就够了。

我们差不多要完工了,我们在确切的位置指明了我们要显示一个整数,但是我们还没指定要显示哪一个数。所以上面的代码还不完整,必须告诉printf函数我们要显示的变量。

其实也很简单,我们只需要在双引号后面再写一个逗号,在逗号后面写上我们要显示的变量的名字,如下:

printf("你有 %d 只狗", numberOfDogs);

程序运行时,printf函数就会把%替换成变量numberOfDogs的值了。

我们在一个完整的程序中来测试一下

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[])

{

int numberOfDogs = 5; // 一开始,你有5只狗

printf("你有 %d 只狗\n", numberOfDogs);

printf("**** 跑了一只狗 ****\n");

numberOfDogs= 4; // 刚跑了一只狗,只有4只了

printf("啊呀,你只剩下 %d 只狗了\n", numberOfDogs);

return 0;

}

运行以上程序,屏幕会显示

你有 5 只狗
**** 跑了一只狗 ****
啊呀,你只剩下 4 只狗了

很简单吧!

显示多个变量

用一个printf函数也可以显示多个变量的值

如下

int main(int argc, char *argv[])

{

int numberOfDogs= 5, numberOfCats= 6;

printf("你有 %d 只狗,还有 %d 只猫\n", numberOfDogs, numberOfCats);

return 0;

}

运行,输出

你有 5 只狗,还有 4 只猫

提取程序中的输入

从现在开始,变量对我们会越来越重要,也会越来越有意思。我们这一章的最后一个知识点:如何提取用户输入的值,并将其储存到变量里面。

为了能够让用户在控制台输入,我们需要借助另一个函数: scanf

这个函数和printf函数算是一对,用法有点类似,一个负责输入,一个负责输出。

给出一个scanf使用的例子:

int numberOfDogs = 0;

scanf("%d", &numberOfDogs);

是不是和printf很类似呢,但是我们注意到了,numberOfDogs前面多了一个&符号。为什么printf里面变量名前不需要这个符号而scanf却需要呢?

回答是: 这个符号的作用暂时不必深究,知道scanf是这样用就好,以后的课程我们再一起学习。相信我,如果我们一定要讲的话,今天的课就结束不了了。

scanf和printf函数还有一点差异:

对于float和double来说,printf里面他们的替代符号都是%f, 但是在scanf里面却不一样。在scanf中,float是%f,而double是%lf

例如:

double sum = 0;

scanf("%lf", &sum);

下面是一个完整的例子,演示我们如何用scanf提取用户输入,存储到变量中,再用printf函数输出变量的值:

int main(int argc, char *argv[])

{

int sum = 0; // 把钱数初始化为零

printf("你身上有多少钱 ? ");

scanf("%d", &sum); // 请求用户输入钱数

printf("你有 %d 块钱啊,那还不快快地交出来 !\n", sum);

return 0;

}

运行,程序会先显示“你身上有多少钱 ?”,然后光标会停在后面,等待用户输入;用户输入数据之后,按回车,printf那句话才会显示,如下:

你身上有多少钱 ? 12000

你有 12000 块钱啊,那还不快快地交出来 !

好了,你应该已经明白了大致的原理,多亏了scanf函数,我们的程序可以和用户交互啦!

还要注意scanf一个“任性”的地方,就是虽然上例中我们指定了用户输入整数类型,但是假如用户输入的是其他类型,scanf也不会出错:

  • 比如说用户输入 5600.45,这是一个浮点数,不是整数,但是scanf还是会将其读入,但是储存在sum变量里的数会变成5600(舍去了小数部分,只保留整数部分)
  • 同样的,假如用户输入一些奇怪的字符,例如:g^[email protected]&* , 那变量sum的值就不会变,还是它的初始值(上例中是0,因为我们初始化sum为0, 假如没有初始化,那sum的值会是任意的)

总结:

“变量的世界”这一课终于结束了,我们回顾一下重要的知识点:

  1. 我们的电脑有好几种不同的存储器类型,从速度最快到最慢排序是: 寄存器,高速缓存,内存,硬盘
  2. 硬盘中的数据不会随电脑关机而消失,其他三类都是暂时性的储存
  3. 为了存储信息,我们的电脑需要把数据存放在存储器里,一般暂时的数据都是存放到内存里,当然也可能存放到寄存器或者高速缓存中,我们不用操心,电脑自会分配
  4. 在我们的源代码中,变量指的是暂时存放在内存中(主要),在程序运行期间值会改变的数据
  5. 我们也有constant变量(只读变量,不是常量),值在程序运行期间不会改变
  6. 变量有好多类型,每种类型在内存中所占据的空间大小不一样;一般来说,int类型是声明整数的首选,而double类型是声明浮点数的首选
  7. scanf函数使用户可以输入数据,printf函数输出数据

第一部分第五课预告:基本运算

今天的课就到这里,一起加油吧。

下一课我们学习第五章,来做一些运算吧。

程序员联盟
微信公众号*您若觉得本文不错,请点击画面右上角《···》按钮“分享到朋友圈”或“发送给朋友”或“收藏”

*新朋友请关注「程序员联盟」微信搜公众号
 ProgrammerLeague

小编的微信号:

frogoscar

小编的QQ号:  379641629

小编的邮箱:    [email protected]

(微信和邮箱最常用)

PS: 有朋友反映看手机端的文章太累,其实是可以用浏览器网页来看的

方法1. 点击画面右上角的《···》按钮,然后选择“复制链接”,再把链接黏贴到你的浏览器里面或用邮件发送给自己,就可以在电脑的浏览器里打开了

方法2. 头条网www.toutiao.com,搜索我的自媒体“程序员联盟”,里面有所有文章,也可以直接进这个链接:http://www.toutiao.com/m3750422747/

新朋友如何查看所有文章:

点击“查看公众号”,再点击“查看历史消息”

“程序员联盟”公众号专为程序员,App设计师,各位喜爱编程和热爱分享的小伙伴们推送各样编程相关知识,优秀软件推荐,业界动态等。搜索

ProgrammerLeague 加关注~

持续关注 程序员联盟 微信公众号,更多有趣,有料,有亮点的内容等着你哦!

时间: 2024-10-02 23:08:15

C语言探索之旅】 第一部分第四课第三章:变量的世界之显示变量内容的相关文章

【C语言探索之旅】 第二部分第二课:进击的指针,C语言的王牌!

内容简介 1.课程大纲 2.第二部分第二课: 进击的指针,C语言的王牌 3.第二部分第三课预告: 数组 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语言编程基础知识 什么是编程? 工欲善其事,必先利其器 你的第一个程序 变量的世界 运算那点事 条件表达式 循环语句 实战:第一个C语言小游戏 函数 练习题 习作:完善第一个C语言小游戏 C语言高级技术 模块化编程 进击的指针,C语言王牌 数组 字符串 预处理 创建你自己的变量类型

【C语言探索之旅】 第二部分第九课: 实战&quot;悬挂小人&quot;游戏

内容简介 1.课程大纲 2.第二部分第九课: 实战"悬挂小人"游戏 3.第二部分第十课预告: 安全的文本输入 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语言编程基础知识 什么是编程? 工欲善其事,必先利其器 你的第一个程序 变量的世界 运算那点事 条件表达式 循环语句 实战:第一个C语言小游戏 函数 练习题 习作:完善第一个C语言小游戏 C语言高级技术 模块化编程 进击的指针,C语言王牌 数组 字符串 预处理 创建

【C语言探索之旅】 第二部分第九课: 实战[悬挂小人]游戏

内容简介 1.课程大纲 2.第二部分第九课: 实战"悬挂小人"游戏 3.第二部分第十课预告: 安全的文本输入 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语言编程基础知识 什么是编程? 工欲善其事,必先利其器 你的第一个程序 变量的世界 运算那点事 条件表达式 循环语句 实战:第一个C语言小游戏 函数 练习题 习作:完善第一个C语言小游戏 C语言高级技术 模块化编程 进击的指针,C语言王牌 数组 字符串 预处理 创建

【C语言探索之旅】 第一部分第四课第二章:变量的世界之变量声明

内容简介 1.课程大纲 2.第一部分第四课第二章:变量的世界之变量声明 3.第一部分第四课第三章预告:变量的世界之显示变量内容 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语言编程基础知识 什么是编程? 工欲善其事,必先利其器 你的第一个程序 变量的世界 运算符 条件表达式 循环语句 实战:第一个C语言小游戏 函数 练习题 习作:完善第一个C语言小游戏 C语言高级技术 模块化编程 进击的指针,C语言王牌 数组 字符串 预处理

【C语言探索之旅】 第一部分第九课:函数

内容简介 1.课程大纲 2.第一部分第九课:函数 3.第一部分第十课预告: 练习题+习作 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语言编程基础知识 什么是编程? 工欲善其事,必先利其器 你的第一个程序 变量的世界 运算那点事 条件表达式 循环语句 实战:第一个C语言小游戏 函数 练习题 习作:完善第一个C语言小游戏 C语言高级技术 模块化编程 进击的指针,C语言王牌 数组 字符串 预处理 创建你自己的变量类型 文件读写 动

【C语言探索之旅】 第一部分第四课第一章:变量的世界之内存那档事

内容简介 1.课程大纲 2.第一部分第四课第一章:变量的世界之内存那档事 3.第一部分第四课第二章预告:变量的世界之声明变量 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语言编程基础知识 什么是编程? 工欲善其事,必先利其器 你的第一个程序 变量的世界 运算符 条件表达式 循环语句 实战:第一个C语言小游戏 函数 练习题 习作:完善第一个C语言小游戏 C语言高级技术 模块化编程 进击的指针,C语言王牌 数组 字符串 预处理 创

【C语言探索之旅】 第三课:你的第一个程序

内容简介 1.课程大纲 2.第一部分第三课:你的第一个程序 3.第一部分第四课预告:变量的世界 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语言编程基础知识 什么是编程? 工欲善其事,必先利其器 你的第一个程序 变量的世界 运算符 条件表达式 循环语句 实战:第一个C语言小游戏 函数 练习题 习作:完善第一个C语言小游戏 C语言高级技术 模块化编程 进击的指针,C语言王牌 数组 字符串 预处理 创建你自己的变量类型 文件读写

【C语言探索之旅】 第三部分第二课:SDL开发游戏之创建窗口和画布

内容简介 1.第三部分第二课: SDL开发游戏之创建窗口和画布 2.第三部分第三课预告: SDL开发游戏之显示图像 第三部分第二课:SDL开发游戏之创建窗口和画布 在上一课中,我们对SDL这个开源库做了介绍,也带大家配置了SDL的开发环境.请大家按照上一课的步骤创建一个SDL工程,能够初步运行. 如果遇到问题,可以百度,Google相关平台SDL的配置.或者联系小编. 当然了,有些朋友可能会说开发C语言游戏还可以用GTK+这个库,但是个人认为GTK+没有SDL那么适合开发游戏,其创建图形界面的能

【C++探索之旅】第一部分第四课:内存,变量和引用

内容简介 1.第一部分第四课:内存,变量和引用 2.第一部分第五课预告:简易计算器 内存,变量和引用 上一课<[C++探索之旅]第一部分第三课:第一个C++程序>中,我们已经学习了如何创建,编译,运行我们的第一个C++程序.我们也解释了这个程序每一行的意义. 我们不但在IDE(Integrated Development Environment,集成开发环境.例如Visual Studio,Codeblocks,xCode等)中创建程序,也学习了如何在终端命令行中创建. 不过到目前为止,我们写