C 语言程序设计---常量和变量

C语言基础必会的常量和变量

图片发自简书App

对于 C 语言的学习,必须的有一个标准:以能否编译通过,运行出结果为准,相信我,目前市场上面主流的编译器都是没有问题,编译不通过,第一想法,是程序的问题,而不是编译器的问题,先把这个思想灌输给大家

                      常量

常量:写 C 程序的时候,在源程序文件中表达不变的量的各种 “合法” 的书写方式


1、整型(int、short、long)

A、十进制:是以数字 0-9 组成的整数,eg:123、5、0、-23 等

B、八进制:是以数字 0-7 组成,并且是以 0 开头的整数,eg:014、-012

C、十六进制:是以 0-9 和 a-f/A-F 组成,以 0x 或者 0X 开头额整数,eg:0x41、0XAc


2、浮点型(float、double)

在 32 位系统下,默认浮点类型为:float

在 64 位系统下,默认浮点类型为:double

科学计数法:aeb,其中 a 必须是整型或者小数,b 必须是整型,e 可以用 E,eg:3e-2 的意思是:3 * 10^-2 = 0.03


3、字符常量

A、可以写字符:'A'、'0'、'a'

B、可以直接描述其ASCII码:65、32、97 (下面普及 ASCII 码)

C、八进制、十六进制均可以表示字符常量,分别为:'\ '、'\x '

D、转义字符:就是针对有歧义的字符,避免出现二义性,C 语言引入了一个机制:在 \ 的后面, 写一个字符,就可以表达特定的字符本身含义

eg:' <==> '\'' ,这样才能表示出是一个3单引号的意思

\ <==> '\\',这样才能表示出一个 \ 的意思


4、字符串常量:在" "里所表达的都是字符串常量

eg:"ABC"、"\x41\x42\x43" (十六进制的字符串常量,其实只有 3 个字符)

字符串长度:不包括 " ,只数字符个数

"":长度为 0 的字符串叫做,空串

" ":长度为 1 的空格串


ASCII码知识普及:

在计算机中,像汉字、字符是不可能存储的,计算机只认识 0 和 1,对于字符,计算机是通过点阵矩阵进行存储(一个英文字符将对应一个点阵信息),保存一个英文字符的点阵信息,需要 2 字节的存储空间


在计算机中,对字符的管理,是通过编号进行的,编号的三个原则:

A、从 0 开始编号

B、连续编号

C、用二进制编号


对英文字符的点阵信息使用一个字节的低 7 位进行编号,这个编号就叫做:ASCII 码

' ' (32):空格的 ASCII 码是 32

'0' (48):字符 0 的 ASCII 码是48

'A' (65):字符 A 的 ASCII 码是65

'a' (97):字符 a 的 ASCII 码是97


ASCII 码 就是字符所对应的编号,看到 ASCII 码就等价于这个编号(数字),字符即数字

字符零:'0' ==> 48 

零:0 ==> 0 ==>'\0',这个是真正的 0


对于字符的大小比较,或者是字符串的大小比较,其实都是对其 ASCII 码进行比较,换为相应的编号,做减法即可


关于全角和半角:全角实质上就是中文点阵,占 2 字节,半角就是英文点阵,也就是 ASCII 码,占 1 字节,在 C 语言程序设计中,只能使用英文的标点,不得使用中文标点

                      变量

本质:内存中一段连续的存储空间,空间即变量


计算机表达信息的最小物理单位:一个二进制位(比特 bit)

1B = 8bit

1KB = 1024B = 2^10B

1MB = 1024KB = 2^20B

1GB = 1024MB = 2^30B


对于内存的理解:

A、内存是由多个字节组成的一维、线性、连续存储空间

B、字节是内存分配存储空间的基本单位

C、对于内存中的多个字节,通过对字节(也就是内存空间 1B)进行唯一性的编号来管理

D、参与字节编号的二进制位数,将决定这个计算机所能管理的内存大小


变量的三个要素:

变量名称:每个变量都必须起一个英文名,变量名称要能很清晰的代表其所表达的意思,eg:成绩,用变量名:score

命名原则:

A、必须以字母或者下划线(_)开头

B、只能由字母、数字、下划线字符组成

C、不能使用 "关键字" / 起名

D、C 语言区分大小写


变量类型:决定了该变量在内存中的大小(字节数)

变量的值:对该变量空间中进行一系列运算后,所得到的结果


定义变量的本质:申请存储空间,变量的类型在定义时被确定,其终生不会改变,在标准 C 下面,变量必须先定义,后使用,定义变量的语句必须在所有的有效语句之前,且定义变量不赋值,默认为垃圾值


int a = 0; 定义了一个 4 字节的存储空间,且初始值为 0,在内存角度,这 4 个字节紧挨着,也就是每个字节空间都为0x00,其十六进制为:0x00000000,数据类型和表达式下篇见。。。


注意:常量和变量所占的内存空间是不一样的,一般常量在常量区,变量分配的空间在栈上,具体的内存四区有时间可以写

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,394评论 0 13
  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 3,585评论 3 44
  • 25岁的冬天 就现在,我正在拥挤的北京地铁1号线。其实也不会太拥挤,因为我总能找到一个还算不错的位置。不过我马上就...
    moki阅读 281评论 0 1
  • 1.碗里放: 蒜末,葱末,香菜末,蒜苗末, 糖,五香粉,米酒每碗一勺,醋,火锅料少量, 牛肉片或肠或其他配料。 2...
    murasakir阅读 173评论 0 0
  • 皇帝穿着新装出去了,大人们纷纷夸奖衣裳华丽,只有一个小孩说皇帝什么都没穿……后来,小孩长大了。。。风往哪个方向吹,...
    木子皙913阅读 109评论 0 0

友情链接更多精彩内容