初始C语言常量和变量-创新互联

初始C语言之常量和变量
  • 一、变量
    • 1.1 代码展示
    • 1.2 变量的命名
    • 1.3 变量的分类
  • 二、局部变量和全局变量
    • 2.1 局部变量的作用域
    • 2.2 全局变量的作用域
    • 2.3 生命周期
  • 三、常量
    • 3.1 常量的分类
    • 3.2 代码展示
  • 四、字符串和转义字符
    • 4.1 字符串
    • 4.2转义字符

—————————————————————————————————————————

创新互联服务项目包括石阡网站建设、石阡网站制作、石阡网页制作以及石阡网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,石阡网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到石阡省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!一、变量

所谓变量,顾名思义就是可以变化的数值。用编程语言来说,变量就是用来存放数值和字符等的“盒子”。

1.1 代码展示
int main()
{short i = 0;
	double weight = 72.2;
	int age = 23;
	char ch = 'w';
	long number = 13885221455666666;
	return 0;
}
1.2 变量的命名
  1. 只能由字母(包括大写和小写)、数字和下划线( _ )组成
  2. 不能以数字开头。
  3. 长度不能超过63个字符。
  4. 变量名中区分大小写的。
  5. 变量名不能使用关键字。
1.3 变量的分类

1.变量的分类主要分为局部变量和全局变量。

#includeint global = 2019;//全局变量
int main()
{int local = 2018;//局部变量
  printf("global = %d\n", global);
  return 0;
}

所谓局部变量,也就是指的是大括号内部的变量。全局变量就是在整个工程的变量,如上面的代码展示。当局部变量和全局变量一起出现的时候,遵循局部优先的原则。

二、局部变量和全局变量 2.1 局部变量的作用域

局部变量的作用域就是就是变量所在的局部范围。局部变量的适用范围是由一定的局限性的,局部变量只能在其所在的中括号内调用。倘若在中括号的外部调用,则会出现编译器无法识别的问题。代码示例:

int main()
{int a = 10;
	printf("%d\n", a);
	{int b = 20;
		printf("%d\n", b);
	}
	printf("%d\n", b);

	return 0;
}

如代码所示,局部变量的作用域主要是在大括号内部,出了大括号内部,则编译器就会报错。

2.2 全局变量的作用域

全局变量的作用域就是在整个工程。如果在一个工程里面,但是不在一个文件里面,这时候我们就需要调用extern用来声明一下变量,这个时候程序就会正常运行。

int a = 100;
void test()
{printf("2: %d\n", a);
}
int main()
{printf("1: %d\n", a);
	test();
	return 0;
}
2.3 生命周期
  • 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
  • 全局变量的生命周期是:整个程序的生命周期。
三、常量 3.1 常量的分类

C语言当中的常量大概分为以下4种,分别为:

  • 字面常量
  • const 修饰的常变量
  • #define 定义的标识符常量
  • 枚举常量
3.2 代码展示
int main()
{//1.字面常量
	100;//整型字面值
	'w';//字符字面值
	3.14;//浮点型的字面值
	"abcdef";//字符串常量
	
	//2. const 修饰的常变量
	const 是常属性的
	const int num = 10;//num本质上是个变量,但是具有了常熟悉,不能被修改
	printf("%d\n", num);//10
	num = 20;//err
	printf("%d\n", num);//20
	//数组
	const int n = 10;
	int arr[n] = {0};//n虽然被const修饰,具有了常属性,不能被修改,但是本质上还是变量,所以不能用来指定数组的大小
	return 0;
}

#define定义的常量和枚举常量,其中重点说一下枚举常量,需要用到enum。

#define 定义的标识符常量

#define MAX 1000

int main()
{int arr[MAX];
#define MIN 0
	printf("%d\n", MAX);
	//MAX = 2000;
	printf("%d\n", MIN);

	return 0;
}

枚举常量的代码:

声明的一个表示性别的枚举类型
enum Sex
{//下面三个符号是Sex这个枚举类型的未来的可能取值
	//枚举常量
	MALE=5,  //0
	FEMALE,//1
	SECRET //2
};

int main()
{//enum Sex s = FEMALE;
	printf("%d\n", MALE);
	printf("%d\n", FEMALE);
	printf("%d\n", SECRET);
	//MALE = 5;

	return 0;
}
四、字符串和转义字符 4.1 字符串
"hello world"

这种由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符串。
注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串内容。

#includeint main()
{//char c1 = 'a';
	//char c2 = 'b';

	//数组
	//字符数组
	//char arr1[] = "abc";
	//char arr2[] = {'a', 'b', 'c', '\0'};
	//printf("%s\n", arr1);
	//printf("%s\n", arr2);

	char arr1[] = "abc";
	char arr2[] = {'a', 'b', 'c'};

	int len = strlen(arr1);
	printf("%d\n", len);

	len = strlen(arr2);
	printf("%d\n", len);

	//strlen 是一个库函数,专门用来求字符串长度的

	//int len = strlen("abcdef");
	//printf("%d\n", len);

	return 0;
}

结果
这就是一个典型的例子,字符串的结束标志是’\0’,但是第二个数组就是随机检测,知道检测到’\0’的时候才结束。

4.2转义字符
换行
\’表示‘
\"表示"
\t表示水平制表符
\b表示退格
\dddddd表示1~3个八进制的数字。 如: \130 X
\xdddd表示2个十六进制数字。 如: \x30 0
//程序输出什么?
#includeint main()
{printf("%d\n", strlen("abcdef"));
  // \62被解析成一个转义字符
  printf("%d\n", strlen("c:\test\628\test.c"));
  return 0;
}

\62表示8进制的数字,转化为十进制的数值,再表示对应的ASCII码表示的字符。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文名称:初始C语言常量和变量-创新互联
文章源于:http://ybzwz.com/article/ceseps.html