目录
1. 变量、常量认识
2.定义变量的方法
3.变量的分类
4.变量的使用
5.变量的作用域和生命周期
作用域
生命周期
6.常量
7.扩展
#iclude
int main()
{
//创建的一个变量
//方法1 - 类型 变量的名字 = 0(初始化值);
//方法2 - 类型 变量的名字
int age = 15;
float weight = 45.5f; //float weight = 45.5;C中有没有f都可以
double heigh = 179.21;
char ch = 'w';
age = age+1;
weight = weight-10;
printf("%d\n",age);
printf("%lf\n",weight);
return 0;
}
//%d - 整型
//%f - float
//%lf - double
#include
int global = 2022;//全局变量 - {}外部的变量
int main()
{
int local = 2023;//局部变量 - {}内部的变量
//下面定义的global会不会有问题?
int global = 2020;//局部变量
printf("global = %d\n", global); //内部变量优先原则
return 0;
}
#include
int a = 100;
int main()
{
int a=10;
printf("%d\n",a);
return 0;
}
运行结果:
总结:
#include
int main()
{
int num1 = 0;//int num1
int num2 = 0;//int num2
int sum = 0;
printf("输入两个操作数:>");
scanf("%d %d", &num1, &num2);
sum = num1 + num2;
printf("sum = %d\n", sum);
return 0;
}
//这里介绍一下输入,输出语句
//scanf 输入赋值 需要赋值符号&
//printf 输出打印
//因为为整数所以使用%d
#include
//作用域和生命周期
//局部变量的作用域:就是变量所在的局部范围
//全局变量的作用域:整个工程内合法位置
int g_val = 2021;//全局变量
int main(){
printf("1:%d\n",g_val);
printf("haha!\n");
{
printf("2:%d\n",g_val);
int a = 10;//局部变量
printf("a = %d\n", a);
}
//printf("a = %d\n", a);超出局部变量a的作用域
printf("3:%d\n",g_val);
return 0;
}
运行结果:
同一工程下,其他的.c文件下使用全局变量方法,声明一下变量 extern 关键字
//同一工程下,其他的.c文件下使用全局变量方法
//声明一下变量 extern 关键字
extern int g_val;
int main()
{
printf("%d\n",g_val);
return 0;
}
#include // 举例enum Sex{MALE ,FEMALE ,SECRET};// 括号中的 MALE,FEMALE,SECRET 是枚举常量int main (){// 字面常量演示3.14 ; // 字面常量1000 ; // 字面常量//const 修饰的常变量const float pai = 3.14f ; // 这里的 pai 是 const 修饰的常变量pai = 5.14 ; // 是不能直接修改的!//#define 的标识符常量 演示#define MAX 100printf ( "max = %d\n" , MAX );// 枚举常量演示printf ( "%d\n" , MALE );printf ( "%d\n" , FEMALE );printf ( "%d\n" , SECRET );// 注:枚举常量的默认是从 0 开始,依次向下递增 1 的上面例子上的 pai 被称为 const 修饰的常变量, const 修饰的常变量在C语言中只是在语法层面限制了 变量 pai 不能直接被改变,但是 pai 本质上还是一个变量的,所以叫常变量。/*
int main()
{
//1.字面常量
/*
3.14
10;
'a';
"abcdef";
*/
/*
//2.const 修饰的常变量
//int num =10;//变量
//num = 20;
//printf("num = %d\n",num);//结果:20
const int num =10;//num就是常变量 - 具有常属性(不能被改变的属性)
//num = 20;//D:\Project_All\C语言\变量.c [Error] assignment of read-only variable 'num'
//表达式必须是可以修改的左值,左值指定const对象
printf("num = %d\n",num);//结果:10
//数组
int arr[10] ={0};//10个元素
int n = 10;
//int arr1[n] = {0};会报错 //n是变量这里是不行的
const int m=10
int arr2[m] = {0};//会报错 //n是变量这里是不行的
//即使被const修饰了的m也不行,本质上是变量,属于常变量
*/
/*
//3.#define 定义的标识符常量
#define MAX 10000
//MAX = 2000; 不可以再被修改
int n = MAX;
printf("%d",n); //结果:10000
*/
//4.枚举常量 可以一一列举的常量,例如性别男女,血型ABO,星期1-7
//例如性别
enum Sex // enum枚举关键字
{
//这种枚举类型的变量的未来可能取值
//MALE,
MALE=3,//赋初值
FEMALE,
SECRET
};
int main()
{ enum Sex n =SECRET;
enum Sex s =MALE; //s取值只能是 MALE,FEMALE,SECRET中的1个
//枚举常量的默认是从0开始,依次向下递增1的
printf("%d\n",MALE); //默认输出结果0
printf("%d\n",FEMALE);//默认输出结果1
printf("%d\n",SECRET);//默认输出结果2
printf("%d\n",n);//默认输出结果2
printf("%d\n",s);//默认输出结果0
//如果赋初始值话,依次向下递增1的 输出结果3 4 5 5 3
return 0;
}
#include
/*
int main()
{
//1.字面常量
/*
3.14
10;
'a';
"abcdef";
*/
/*
//2.const 修饰的常变量
//int num =10;//变量
//num = 20;
//printf("num = %d\n",num);//结果:20
const int num =10;//num就是常变量 - 具有常属性(不能被改变的属性)
//num = 20;//D:\Project_All\C语言\变量.c [Error] assignment of read-only variable 'num'
//表达式必须是可以修改的左值,左值指定const对象
printf("num = %d\n",num);//结果:10
//数组
int arr[10] ={0};//10个元素
int n = 10;
//int arr1[n] = {0};会报错 //n是变量这里是不行的
const int m=10
int arr2[m] = {0};//会报错 //n是变量这里是不行的
//即使被const修饰了的m也不行,本质上是变量,属于常变量
*/
/*
//3.#define 定义的标识符常量
#define MAX 10000
//MAX = 2000; 不可以再被修改
int n = MAX;
printf("%d",n); //结果:10000
*/
//4.枚举常量 可以一一列举的常量,例如性别男女,血型ABO,星期1-7
//例如性别
enum Sex // enum枚举关键字
{
//这种枚举类型的变量的未来可能取值
//MALE,
MALE=3,//赋初值
FEMALE,
SECRET
};
int main()
{ enum Sex n =SECRET;
enum Sex s =MALE; //s取值只能是 MALE,FEMALE,SECRET中的1个
//枚举常量的默认是从0开始,依次向下递增1的
printf("%d\n",MALE); //默认输出结果0
printf("%d\n",FEMALE);//默认输出结果1
printf("%d\n",SECRET);//默认输出结果2
printf("%d\n",n);//默认输出结果2
printf("%d\n",s);//默认输出结果0
//如果赋初始值话,依次向下递增1的 输出结果3 4 5 5 3
return 0;
}
运行结果:
1.C语言中main函数可以没有return语句吗?
可以,但是return语句有助于检错,可以返回控制权给系统,防止被利用这个漏洞。
2.C语言中return 0的含义:
int main()
{
return 0;
}
1)返回值int 类型的函数返回:
return语句用来结束循环,或返回一个函数的值。
return 0:一般用在主函数结束时,按照程序开发的一般惯例,表示成功完成本函数。
2)布尔类型返回:
return 0:返回假;
return 1:返回真;
//例子如下:
int main()
{
int a;// 前面一些其他运行// ....// 到最后
if (a == 100) {
return 0;
} else {
return -1;
}
}
return 0 代表程序正常退出
return是C++预定义的语句,它提供了终止函数执行的一种方式。当return语句提供了一个值时,这个值就成为函数的返回值