首页 置换 选车 估价 问答 生活 经销商 车管所 汽车资讯 汽车销量 车牌查询 今日油价 天气预报
您的位置: 首页 > 生活 > 其他 > c语言中常用的常量和变量的区别(零基础学C语言6)
c语言中常用的常量和变量的区别(零基础学C语言6)
更新时间:2024-08-15 06:47:13

前面我们初步认识了数据类型、常量和变量,并讲完了基本数据类型,那接下来咱们详细介绍下变量和常量。

常量

之前我们介绍了什么是常量,就是在程序的运行中不可以改变的量。常量分为整型常量、浮点型常量、字符常量、字符串常量和符号常量。

1.整型常量

1.1十进制整数

这个不难理解,就是我们常说的自然数。如:

c语言中常用的常量和变量的区别(零基础学C语言6)1

1.2 八进制整数

八进制的数表示为前面带“0”的数。如

c语言中常用的常量和变量的区别(零基础学C语言6)2

1.3 十六进制数

与八进制不同,十六进制整数以“0x”开头,如:

c语言中常用的常量和变量的区别(零基础学C语言6)3

1.4 二进制数

与八进制不同,十六进制整数以“0b”开头,如:

c语言中常用的常量和变量的区别(零基础学C语言6)4

整数常量也可以带一个后缀,后缀是 U 和 L 的组合,U 表示无符号整数(unsigned),L 表示长整数(long)。后缀可以是大写,也可以是小写,U 和 L 的顺序任意,例如:

c语言中常用的常量和变量的区别(零基础学C语言6)5

2. 浮点型常量

2.1十进制小数形式

c语言中常用的常量和变量的区别(零基础学C语言6)6

这里的后缀“f”在上一节我们说过了,因为不加这个"f" 计算机会分配一个double类型大小的空间,而前面的变量类型又是float,就有可能报错(取决于编译器)

2.2十进制指数形式

c语言中常用的常量和变量的区别(零基础学C语言6)7

3. 字符常量

3.1普通字符

字符常量需要用单引号表示,或者用ASCII码值,ASCII我们上一节说过了,忘记小伙伴可以回顾下。

c语言中常用的常量和变量的区别(零基础学C语言6)8

3.2转义字符

C语言中用反斜杠“\”加字符表示一直特殊的意义,叫做转义字符。下面是转义字符表:

c语言中常用的常量和变量的区别(零基础学C语言6)9

之前我们在hello world函数提到过“\n”是换行符,也是转义字符的一种。

4. 字符串常量

上一篇中说过,字符串的表示是用双引号" ",而且C语言没有直接定义一个字符串的数据类型,C 中有,所以我们一般用数组表示,例如:char str[] = “ABC”;

这句话的意义是定义一个字符数组,这个大家可以先不了解。“=”右面就表示一个字符串常量。

需要说明的是,字符串的存储比较特殊,系统会自动在字符串后面加入一个'\0'符号。这个符号在转义字符表中可以找到,代表空字符。计算机用它表示一个字符串的结束。因此,"ABC"在内存中其实是"ABC\0"。

那么,问题来了。请问"a"和'a'有什么区别呢?(上一节我们提过)

5. 符号常量

符号常量又叫标识常量,还能称之为宏常量,名字很多,但都是一个意思。在C中,有一种简单的定义常量的方式:使用#define宏定义

一般格式:#define 标识符名称(常量名) 被替换的目标(常量)

我们来看一个例子:

c语言中常用的常量和变量的区别(零基础学C语言6)10

上面的代码中由于有了第一句,第二句就相当于:double a = 3.14 * 2;

值得注意的是,这种宏常量的表示方法相当于把定义中常量位置的东西原封不动地写在常量名的地方。经常有这样的题目:

c语言中常用的常量和变量的区别(零基础学C语言6)11

这一题的答案是多少?

比较简单,a = 2 * 5 1 = 11,所以打印是11,记住,遇到这种问题,整体带入就可以了,不要强行加括号。

总结一下就是:define可以替换常量、简单的运算公式、C语句。其本质:是字符串的整体代换!我们一般把宏定义放在头文件的下面,函数的上面,这样显得有层次感。

变量

常量讲完了,我们来说说变量。之前初识常量、变量的时候说过,变量是程序运行时可以发生改变的量。

定义格式: 存储类型 数据类型 变量名

哎,好像和之前有一丢丢不一样啊,我们前面定义变量都是int a;就可以了,这个int是数据类型,那这个存储类型是什么鬼,别急,先挖个坑。

变量其实只不过是程序可操作的存储区的名称,我们在数据类型的时候,已经详细介绍了每种变量所占的字节数和数据范围,这里就不再重复了。

那这里我们还要细说什么呢?

如果有细心的同学应该会发现,我们定义变量的时候通常会见到int a;和int a =10;这两种形式,那这两种有什么区别呢?

首先,我们要搞清楚三个概念:定义、声明和初始化。

extern int i;就是一种声明,这里我们用到了一个关键字extern,它的作用就是可以引用其他文件中的变量i,是不占存储空间的。

int i;就是定义,是开辟了4个字节的存储空间。

int a = 10;在定义变量的同时给变量赋值,称为初始化。

变量分为全局变量和局部变量,怎么理解呢?

通俗地看,全局变量就是{}外的变量,局部变量就是{}内的变量

总结

本节给大家详细介绍了变量和常量,其中变量分为全局变量和局部变量,常量分为整型常量、浮点型常量、字符常量、字符串常量和符号常量。同时我们区别了声明、定义和初始化,以及提到一个存储类型,那什么是存储类型呢?下一节介绍。

上节作业分析

以下代码的输出结果是什么?

c语言中常用的常量和变量的区别(零基础学C语言6)12

c语言中常用的常量和变量的区别(零基础学C语言6)13

首先看第一题,定义一个字符变量a,c = ‘a’ 1就是字符b,所以打印值为b(这里是按%c打印的);再来看第二题,a = 1,b = 2,执行第二句a = 1 2 = 3,b = a - b(注意,这里的a经过上一次变成3) = 3 - 2 = 1,a = 3 - 1 = 2。所以打印为2,1。有没有发现a和b互换了。

本节作业

1.下列程序的输出结果是16.00,请填空

#include <stdio.h>

int main()

{

int a = 9, b = 2;

float x = _____,y = 1.1, z;

z = a/2 b*x/y 1/2;

printf("%5.2f\n", z);

return 0;

}

2.以下程序运行后的输出结果是:( )

#include <stdio.h>

#define S(x) 4*x*(x) 1

int main()

{

int i=6,j=8;

printf("%d\n",S(i j));

return 0;

}

温馨提示:第一节有一个很奇怪的链接,大家记得保存哦~

,
相关推荐RECOMMEND
生日祝福的话语十分經典
1、生日祝福的话语非常经典2、生日祝福的话语非常经典3、在你生日的这一天,将快乐的音符,作为礼物送给你,愿你一年365天快快乐乐,平平安安!4、我为你祝福,让我为你欢笑因为在你生日的今天我的内心也跟你...
情人节送丈夫感语
1、来源互联网2、七夕恋人节送老公的话3、情人节送老公的祝福篇一4、情人节送老公的祝福篇二5、在我失眠的时候,你要抱着我睡6、春,在梅花的馨香中爱,在沉沉的相思里7、初恋是雾,你是雾中的玫瑰,隔着青纱...
2022年霸气的标语
1、敢爱敢恨敢拼敢冲!2、汗水汗水和泪水铸就成功之路。3、真诚地,石头是敞开的。4、立足基础,脚踏实地战斗高考。5、挑战自我,突破极限。6、获取知识最好的方法是学习,成功最好的方法是奋斗。7、持之以恒...
七夕节祝福的句子
1、我喜欢你,我不难过;我希望你也喜欢我,我才难过。2、不管和你的路有多苦,誓将爱情进行到底,今生只与你共度。3、这个世界就这么不完美。你想得到些什么就不得不失去些什么。4、七月七日鹊桥仙,金风玉露恨...
励志短句霸气致自己
1、人生只有回不去的过去,没有过不去的当下。2、人生应该树立目标,否则你的精力会白白浪费。3、恐惧自己受苦的人,已经因为自己的恐惧在受苦。4、望远镜可以望见远的目标,却不能代替你走半步。5、别忘了答应...
2022年教师节中秋节祝福语
1、祝福中秋教师佳节快乐,月圆人圆事事圆满。2、月到中秋分外明,人到中秋望团圆!那祝你们双节快乐!合家团圆!3、谨此中秋教师佳节之际,衷心祝愿您和家人团圆美满,幸福安康!大家双节快乐!4、愿我们的师生...