c语言基础入门 (二)常量和变量


#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;
}大括号里面的枚举常量是不能更改的
 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值