当前课程知识点:高级语言程序设计 > 顺序结构程序设计 > 2.1 变量的定义和使用 > 变量的定义和使用
大家好
我们开始学习编写程序
让计算机模仿计算器的计算功能
求两个数的和
请看下面的程序
我们可以用printf语句
直接输出表达式12+34的值
这里%d是格式字符
表示以10进制格式输出12+34的值
那如果我们想让它计算56与78的和呢
就得修改源代码
将12+34改为56+78
重新编译链接 执行
如果我们要计算不同数字的和
每次都得修改程序
再重新编译链接
如果希望这个程序
一旦编译好以后
每次运行时可以输入两个数字
计算机就能根据我们输入的数字
计算出它们的和
再输出
怎么才能做到这一点呢
也就是要把输入的数字存放在计算机里
计算机里内存是可以存储数据的
在内存中定义变量
就可以存放我们输入的数字了
现在在程序里定义3个变量
a和b用来存放输入的两个数
sum用来存放和
请看程序
这一句定义了三个整型变量
a=12
是给将12送到变量a保存起来
34送到变量b里保存起来
这一条语句的意思的是
将a与b的值从内存取出来
求和后再送到sum里保存
printf语句输出变量sum的值
在程序中不能改变的量是常量
如a=12中的12
b=34中的34
在程序执行过程中
值是可以改变的量叫变量
如a b sum
现在我们来看看
如何定义变量
这个是变量定义的语法格式
前面是数据类型名
后面是变量的名字
这是变量定义的实例
这里一共定义了4种类型的变量
int型变量a
float型变量b
double型变量c
字符型变量d
注意变量必须要先定义 后使用
定义变量时要给变量取名字
变量名只能由英文字母 数字和下划线组成
第一个字符不能是数字
只能是字母或下划线
另外有一些单词是C语言的关键字
是不能够用来做变量名的
上面这一排是合法的变量名
下面这一排是不合法的变量名
变量是用来存放数据
我们可以先定义变量
再用赋值语句将常量或表达式的值送到变量中
我们还可以在定义变量的同时给变量赋值
运行这段程序
结果是什么
这段代码少了给a和b赋值的语句
输出sum的值是一个随机数
定义变量是初始化变量的最好时机
不被初始化的变量
它的值是随机数
再来看变量的值是如何输出的
printf语句可以将变量的值输出到屏幕
printf函数括号里的第一个参数是格式控制字符串
%d就是表示以十进制整型格式来输出数据
第二个参数是我们真正要输出的东西
可以是表达式
可以是一个变量
可以是多个变量
现在有了变量来存放数据
但计算机每次运行这个程序
结果还是一样的
怎么能够在程序运行的时候
将数据从键盘输入到变量里去呢
C标准函数库函数
不仅提供了格式输出printf函数
还提供了配套的格式输入scanf函数
我们来看看scanf函数的使用格式
与printf函数很类似
scanf函数括号里有两个参数
第一个参数也是格式控制字符串
%d就是表示以十进制整型格式来输入数据
第二个参数是地址列表
地址列表是由若干个变量地址组成的列表
可以用scanf函数一次输入一个变量的值
也可以用scanf函数一次输入两个变量的值
a b前面的符号
代表的是取地址运算符
地址列表里
一个是变量a的地址
一个是变量b的地址
在一次输入一个数据的时候
用回车告诉计算机输入数据结束
在一次输入多个数据的时候
输入数据之间
可以用空格
用Tab或者用回车分隔开
现在我们再来看如何让计算机求两个数字的和
首先定义三个变量
通过格式输入scanf函数
把要求和的两个数送到变量里保存起来
第2步
让计算机根据我们的需求
对输入的数据进行计算
有可能是相加
有可能是相减
这里我们是相加
或者以后让计算机做更复杂的操作
并将这个计算的结果也保存在变量里
最后计算机将计算得到的结果
用printf语句输出到屏幕给我们看
如果一个程序没有任何输出
那这个程序就没什么用
下面来看程序源代码
我们将a=12;和b=34;这两条语句
修改为scanf语句
当程序运行到这两条语句时
会等待我们从键盘输入数据
在我们输入数据之后
计算机将a b的和计算出来
保存在sum变量中
最后用printf函数
将sum的值输出到屏幕给我们看
为了使得我们的程序用户界面更加友好
在输入数据之前
可以用printf函数输出提示信息
提示用户输入几个数据
输入什么类型的数据
现在我们的程序
可以根据输入的两个整数
计算后输出它们的和
如果要让计算机存放数据
一定要定义变量
变量就像饭店的房间
对某个房间来说
一拨客人走了
另一拨客人可以进来
虽然房间不变
但房间里住的人在变
在C程序中
变量就是建立在内存里的房间
它用来存储数据
存放在变量中的数据就称为变量值
为了区别不同的房间
人们给每个房间起一个名字
比如百合厅 玫瑰厅等
那么我们变量呢
每个变量也有变量名
饭店有会议室 餐厅 客房等
客房又有单间 双人间 三人间等
大小 档次之分
变量有类型之分
变量的数据类型决定了可以容纳的数据的种类
也决定了所占单元的大小
每个房间有自己的房间号
而且房间名与房间号有对应关系
那么每个变量有自己的存储地址
而且变量名与存储地址也有一一对应的关系
总之变量是内存中的存储单元
具有值 名字 类型 地址等属性
对变量进行小结
变量是在程序执行期间其值可以改变的量
变量在使用之前必须被定义
每一个变量有名字 类型 地址 值等属性
对变量赋值
是用新值去覆盖旧值的过程
可以用scanf函数从键盘输入数据赋给给变量
可以用printf函数从内存中读出变量的值
今天我们讲了变量的定义和使用
关于这个内容就讲到这里
谢谢大家
-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 共用体类型和枚举类型
--共用体和枚举类型
-习题--作业
-动态内存分配--习题
-习题--作业