C语言学习笔记

C语言初学者二


一、常量和变量

常量:在程序使用之前已经设定好了,在整个程序运行过程中不发生变化的量就是常量。
变量:在程序运行期间可能会改变或被赋值的量被称为变量。

定义变量的方式:
int age = 150;
float weight = 42.2f;
char ch = ‘w’;
一次定义多个变量的方式:
int a,b
int a=b=3
int a=2,b=3

一.变量

1.变量的命名规则

C语言变量名的命名规则:(可以字母,数字,下划线混合使用)
1.标识符由字母(A-Z,a-z)、数字(0-9)、下划线“_”组成,并且首字符不能是数字,但可以是字母或者下划线,变量名中不能有空格。例如,正确的标识符:abc,a1,prog_to。
2.不能把C语言关键字作为用户标识符,例如if ,for, while等
3.标识符对大小写敏感,即严格区分大小写。一般对变量名用小写,符号常量命名用大写。
4.标识符命名应做到“见名知意”,例如,长度(外语:length),求和、总计(外语:sum)。
5.C语言中把标识符分为三类:关键字,预定义标识符,用户自定义标识符
建议命名方式:
1.尽量不使用单一字母命名;
2.尽量简写每个变量名称,可以吧教程字母的(元音)去掉形成缩写;
3.当变量所有多个单词组成时,第一个词小写字母开头,后面每个词的第一个字母大写;

2.变量的分类

局部变量

int main()
{
	//在大括号内定义的变量都是局部变量
	int a = 10;
	return 0;
}

全局变量

//在大括号外定义的变量就是全局变量
int a = 100;
int main()
{
	return 0;
}

当局部变量和全局变量名字冲突的情况下,局部变量优先。

3.变量的应用:

int main()
{
	int a = 0;
	int b = 0;
	int sum = 0;
	//scanf()输入函数
	scanf("%d %d",&a,&b);
	sum = a + b;
	printf("sum = %d\n", sum);
	return 0;
}

如果和我一样使用的是 Visual Studio 2019 使用输入函数报错时把#define _CRT_SECURE_NO_WARNINGS 1放在源文件的第一行。

4.变量的作用域和生命周期

作用域

作用域(scope),程序设计概率,通常来说,一段程序代码中所有到的名字并不总有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域,在同一个作用域中不能出现两个名字相同的变量,否则会产生命名冲突;但是在不同的作用域中,允许出现名字相同的变量,它们的作用范围不同,彼此之间不会产生冲突。

变量作用域范围

局部变量的作用域:在函数内部定义的变量,它的作用域也仅限于函数内部出了函数就不能使用了,我们将这样的变量称为局部变量(Local Variable)。
全局变量的作用域:所有工程函数外部定义的的变量,这样的变量称为全局变量(Global Variable)。

变量的生命周期

变量的生命周期:变量的创建和销毁之间的时间段

局部变量生命周期:进入某个函数内部时生命开始,出了函数范围后生命结束。

如下代码:

int main()
{
	int a = 10;
	printf("%d\n",a)
	return 0;
	/*变量a在这个int mian()函数内是有生命的,出了这个范围a就失去了生命,*/
}

全局变量的生命周期:全局变量的生命周期和整个程序的生命周期相同。
如下代码:

int b = 100int main()
{
	printf("%d\n",b)
	return 0;
	/*变量b可以在int main()内生效,当然出了int main()函数体,进入其他函数中依旧生效。
}

二.常量

1.常量的分类

1.字面常量

int main()
{	
	//字面常量的定义
	3.25;
	25;
	//字符常量
	'a';
	//字符串常量
	"asdgasga";
	return 0;
}

2.const修饰的常变量

int mian()
{
	//这时num变量值就不在发生改变,const只是给这个变量加了一个常属性,变量本身还是变量。
	const int num = 10;
	printf("num = %d\n",num);
	return 0;
}
//演示效果
int mian()
{
	int arr[10] = {0}
	/*这两个试子都是定义一个数组大小是10,数组的大小需要是
	一个常量,通过const转变的常变量,不能被定义,因为通过
	const转变后它的本质还是变量。*/
	const int n = 10;
	int arr2[n] = {0}
	return 0;

3.#define 定义的标识符常量

#define Max 1000;
int main()
{
	int c = Max;
	printf("n = %d",c);
	return 0;
}

4.枚举常量

enum Sex
{
	//这种枚举类型的变量未来可能的取值
	MALE,//0
	FEMALE,//1
	SECRET,//2
	//这三个就是枚举常量,它们的值是从0开始,打印时会打印0/1/2.
	//枚举常量的值不可更改但可以赋初值。
	LES=5
};
int main()
{
	//s就是使用枚举常量的变量,只能取枚举类型内的的常量。
	enum Sex s = MALE;
	//s的取值范围只能是上面枚举类型所包含的值
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值