学习c变量(第一阶段学习小结3)
学习c变量(第一阶段学习小结3)7.标识符长度不宜过长,太长的名字会影响输入时间。6.尽量不用容易混淆的字母与数字,如小写字母l与数字1、大小写字母oO与数字0等很难分清。3.只能以英文字母或下划线开头,不能以数字开头;个人在写少量关于算法题的代码时尽量不要用下划线开头的标识符。4.名字是一个整体的名称,中间不能用空格分隔开。5.尽量起一个比较容易识别的名字,做到见名知义,如ans表示结果,sum表示计算的和,i、j、k用于循环控制变量,m、n表示局部变量等。
一、标识符
标识符是程序中所使用的对象(变量、常量等)的名字,他按照一定规则来命名:
1.组成上只能用英文字母(大小写均可)、数字、下划线三种,所以不能用汉字或标点符号。
2.严格区分大小写,如sum与sum是不同的两个名字,就像“大明”和“小明”不是同一个人。
3.只能以英文字母或下划线开头,不能以数字开头;个人在写少量关于算法题的代码时尽量不要用下划线开头的标识符。
4.名字是一个整体的名称,中间不能用空格分隔开。
5.尽量起一个比较容易识别的名字,做到见名知义,如ans表示结果,sum表示计算的和,i、j、k用于循环控制变量,m、n表示局部变量等。
6.尽量不用容易混淆的字母与数字,如小写字母l与数字1、大小写字母oO与数字0等很难分清。
7.标识符长度不宜过长,太长的名字会影响输入时间。
8.不能将C 的关键字作为自己起的标识符名称,如int、if、for、void等。
9.可采用较为常用的命名方案,可用下划线或大小写分开几个单词组成的名称,如my_data或myData。
二、变量
1.概念
变量是用标识符表示的、其值可以变化的量,变量要按照命名规则来起名字。每个变量都属于一种数据类型,用来表示该类型中的一个值。变量存储在内存中,变量名就是内存地址的别名。可以利用C 预定义的类型(如int、double等)或用户自定义的类型来表示所使用的变量。变量要先声明后使用,声明一个变量的格式是:类型关键字 变量名 = 初始值(或表达式)。可以一次性声明并赋值多个同类型的变量,中间用逗号隔开,如:
int a=1 b=2 c=3;
2.变量的初始化
变量的初始化即变量的声明与赋值一并进行。在定义变量时,若有初值表达式,则先计算该表达式的值,然后将该值赋给变量;如果没有初值表达式,若在函数外定义该变量,则自动赋予初值为0,若在函数体内定义该变量,则此时变量的值不确定,是垃圾数据,如要使用,必须进行赋值。
变量的初始化有四种方式:
(1)用字面值(显式书写的,如5,80等)常量来初始化
int num = 5;
(2)用另一个已定义的变量来初始化
int num = 5;
int myNum = num;
(3)用表达式来初始化
int num = 5;
int myNum = num*5 6;
(4)C 特有的初始化语法
2021年9月1日起NOI系列比赛和CSP-J/S等活动使用NOI Linux 2.0版作为标准环境,除题面有明确要求外,C 程序编译默认采用的语言标准为C 14。C 11/14使用“大括号初始化器”这种初始化方式将初始化类变量、初始化常规结构、初始化简单变量统一为通用的初始化方式,中间可加“=”也可不加。
//num1值为5
int num1(5);
//num2值为6
int num2={6};
//num3值为7
int num3{7};
//num4值为0
int num4{};
变量声明后未赋值时其值是垃圾数据,在声明变量时即对它初始化,可避免以后忘记给它赋值导致出现意外结果的情况发生。
3.变量赋值过程
如以下代码:
int num;
num = 5;
其工作过程如下:
(1)程序找到一块能够存储整数的内存;
(2)程序将该内存单元标记为num;
(3)将5这个值复制到该内存单元中;
在程序中使用num来访问该内存单元(使用 & 可以得到num的内存地址)
三、常量
1.概念
常量是代码执行过程中其值不能改变的量,如果运行过程中重新为其赋值,则编译器会报错。常量分为字面常量和符号常量,字面常量即字面本身就是它的值,如10(整型),“string”(字符串)、'a'(字符型)等。符号常量对应一个标识符名称,对应着内存中一块存储空间,在该内存空间保存的值是不能改变的,这个值是定义符号常量的同时赋给的。常量不能先声明后定义,声明符号常量的时候必须赋予其值。如以下代码:
//正确的示例
const int a = 9;
//错误的示例
cosnt int b;
b = 9;
定义常量格式为:const 数据类型 常量名=值,常量名通常用大写来表示以便与变量明显区分开来。
2.使用场合
当我们在一个程序中多处使用同一个值时,该值即可以用常量来表示,如果下次需要更改该值,则在代码中将定义该值的表达式中将常量值进行修改,这样便于统一且不容易出错。
3.整型字面值的计数方式
十进制:第一位为1-9
八进制:第一位为数字0
十六进制:前两位为数字0与字母x或X
不管是什么进制,最终均以二进制存储于内存之中。
cout输出数值型时默认是十进制,可通过dec、hex、oct控制符显示十、十六、八进制,在修改格式之前,原来格式一直保持有效。