#include<stdio.h>
int main()
{
//计算两个数和
int a;
int b;
int c;
//输入数据使用scanf输入函数 把输入的两个整形放入ab的地址处
scanf_s("%d%d", &a, &b);
c = a + b;
//c语言规定变量要定义在当前代码块的最前面 c要定义在前面!
printf("c = %d\n", c);
return 0;
}
以上我们定义的整形int a b c 都是变量,随时定义随时会改变它的值。
全局变量和局部变量:
#include<stdio.h> int num1= 20; //全局变量 代码块外 放在那里都能使用 int main() { int num2 = 10; //局部变量,如果同时存在局部变量和全局变量时 局部变量优先 return 0; } int main()/ { { int a = 10; } printf("%d\n", a); //此时a不能使用 因为a不在最大的括号内 是局部变量! printf("%d\n", num1); // num1全局变量 源文件内随意使用 return 0; }
一些常量:
字面常量、const修饰变量、define定义标识符常量、枚举常量
#include <stdio.h>
int main()
{
6; 字面常量
int b = 4; //此时 b 是一个变量
const int a = 4; //const是常属性 a不能变了 永远是4 下面不变了 再赋值就错了
printf(" % d\n", a);
a = 8;//a 已经被const修饰了 是const修饰的常变量 不能赋值 指定const对象
printf(" % d\n", a); //结果a = 4
return 0;
}
我们知道数组[]里面需要放一个常量 如果是用const修饰过的常变量可以吗?
#include<stdio.h>
int main()
{
const int n = 10;
int a[n] = { 0 };
printf("%d\n", a[1]);
return 0;
}
这种方式是错误的 结果提示 应输入常量表达式,所以const修饰变量不能作为常量填入数组(标C)。
define 定义的标识符常量
可以作为常量来填入数组当中:
简单的举个例子 ,通过define定义标识符 创建一个全都是0的数组。
#include<stdio.h>
#define MAX 10
int main()
{
int a[MAX] = { 0 };
printf("%d\n", a[MAX-4]); printf("%d\n", a[6]);
return 0;
}
枚举常量 枚举关键字:enum
//枚举常量 枚举关键字 --enum
enum sex
{
male,female,secret//三个枚举常量
};
enum color
{
red,yellow,blue
};
int main()
{
enum sex s = female; //s赋值一个枚举常量
printf("%d\n", male);
printf("%d\n", female);
printf("%d\n", secret); //打印了以后发现每个枚举常量都对应一个值
enum color c = blue;
printf("%d\n", blue);
return 0;
}大括号里面的枚举常量是不能更改的