c语言基础学习笔记(一):变量,常量

C语言学习笔记

超市找零的程序示例

在这里插入图片描述

在这里插入图片描述

变量的定义

为什么需要变量?

  1. 有地方放数字
  2. 有办法输入数字
  3. 输入的数字能参与运算
  • 变量是一个保存数据的地方,当我们需要在程序里保存数据时,比如需要记录用户输入的价格时,就需要一个变量来保存它。用一个变量保存了数据,它才能参与到后面的计算中。
  • 变量定义的一般形式就是: <类型名称><变量名称>;
int price;
int amount;      // 一行定义一个变量
int price amount; //也可以一行定义多个变量;
  • 变量需要一个名字,变量的名字是一种“标识符”,他是用来识别这个和那个的不同的名字。
  • 标识符的构造规则;标识符只能由字母,下划线组成,数字不可以出现在第一个位置上,C语言的关键字不可以做标识符;

C语言的关键字

关键字如下(无需刻意记忆)
auto :声明自动变量
break:跳出当前循环
case:开关语句分支
char :声明字符型变量或函数返回值类型
const :声明只读变量
continue:结束当前循环,开始下一轮循环
default:开关语句中的“默认”分支
do :循环语句的循环体
double :声明双精度浮点型变量或函数返回值类型
else :条件语句否定分支(与 if 连用)
enum :声明枚举类型
extern:声明变量或函数是在其它文件或本文件的其他位置定义
float:声明浮点型变量或函数返回值类型
for:一种循环语句
goto:无条件跳转语句
if:条件语句
int: 声明整型变量或函数
long :声明长整型变量或函数返回值类型
register:声明寄存器变量
return :子程序返回语句(可以带参数,也可不带参数)
short :声明短整型变量或函数
signed:声明有符号类型变量或函数
sizeof:计算数据类型或变量长度(即所占字节数)
static :声明静态变量
struct:声明结构体类型
switch :用于开关语句
typedef:用以给数据类型取别名
unsigned:声明无符号类型变量或函数
union:声明共用体类型
void :声明函数无返回值或无参数,声明无类型指针
volatile:说明变量在程序执行中可被隐含地改变
while :循环语句的循环条件

常用的变量类型

  • 整型int:用于储存整数
  • 字符型char:用于储存单个字符
  • 单精度浮点型:float:用于储存小数
  • 双精度浮点型:double: 用于储存位数较多的小数

变量的赋值和初始化

变量定义后没有赋值,相当于打开一块存储空间,但里面有什么不知道。所以定义的时候需要进行赋初值。

  • 变量初始化:<类型名称><变量名称>=<初始值>
int price = 0; //定义一个变量,变量名字是price,类型是int,初始值为0。
  • price=0是一个式子,这里的“=”是一个赋值运算符(有运算符的式子叫表达式),表示将“=”右边的值赋给左边的变量。
  • 在数学中,a=b表示一种关系,即a和b的值一样,而在程序设计中,a=b表示要求计算机完成一个动作:将b的值赋给a。关系是静态的,而动作是动态的。
  • 变量类型:c语言是一种由类型的语言,所有的变量在使用之前必须定义或声明,所有的变量必须由确定的数据类型。数据类型表示变量中可以存放什么样的数据,变量中只能存放指定类型的数据。

变量输入

  • printf用于输出,scanf用于输入
  • 一个scanf可以读入一个数字,也可以读入多个数字
  • 避坑指南
    • 漏写&
scanf("%d",&price); //要求scanf这个函数读入一个整数,并把读到的结果赋给变量price。

常量

  • 固定不变的数,是常数。直接卸载程序里的数字,称之为直接量:
int change = 100 -price;
  • 根据编码规范,常量名一般都大写。const是一个修饰符,加在int前面用来给这个变量加上一个const(不变的属性)。这个const的属性表示这个变量的值一旦初始化,就不再修改了
const int AMOUNT = 100
  • 经常量定义式放在函数中,同时代码修改为
int change = AMOUNT - price;

如果试图对常量修改,给它赋值,编译器就会报错。

身高单位换算程序示例

  • 两个整数的运算结果只能是整数,整数运算会自动四舍五入,在c语言中,而带有小数点的数称为浮点数。
  • 当浮点数和整数放在一起运算时,c会将整数转换成浮点数,然后进行浮点数的运算。
    在这里插入图片描述
  • int是定义整型变量的,定义时把int换成double,可以将它改为浮点数。double就是双精度浮点数,float是单精度浮点数。
    在这里插入图片描述

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LibraFree

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值