C语言学习记录12.3(变量,scanf,常量)

变量分为局部变量,全局变量

比如下列代码中的weight与age就是局部变量,他们的作用域为他俩所处的那个大括号内

#include<stdio.h>
int main()
{
    int weight = 10;
    float age = 11;

    weight = weight + 1;
    age = age + 1;
    printf("%d\n", weight);
    printf("%f\n", age);
    return 0;
}

 全局变量,

#include<stdio.h>
int weight = 10;
float age = 11;
int main()
{ 
    weight = weight + 1;
    age = age + 1;
    printf("%d\n", weight);
    printf("%f\n", age);
    return 0;
}

就像这样,在main函数之外定义的,作用域为整个源文件

外部变量的声明

//test1.c
int COMMON_VALUE = 100;

//test2.c
extern COMMON_VALUE;

 值得注意的是

#include<stdio.h>
int a = 100; //此处为全局变量
int main()
{
	int a = 10; //此处为局部变量
	printf("%d", a);
	return 0;//运行后优先输出局部变量
}

局部变量优先,也就是说上述代码的输出结果会是10,而不是100

下面让我们用一个简单的程序来说明一下scanf

int main()
{
	int a = 0;
	int b = 0;
	int c = 0;
	scanf("%d %d", &a, &b);
	c = a + b;
	printf("答案 = %d", c);
	return 0;
}

 在这里我们先了解一下scanf以后在精细化的讲解

由上述代码我们可以简单的了解一下scanf的用法,现在我们来看一下scanf的语法

不难发现,他需要stdio.h这个头文件,并且他的返回值为int,%d呢,表示输入的数字为整形

 其他的如上表,有不明白的没关系,直接上百度,哈哈哈

还有一个易错点就是记得写上&这个符号,忘了写是会报错的哦

最后scanf()的返回值是成功赋值的变量数量, 发生错误时返回EOF.

综上所学,我们就可以完成一个简单的加法计算器了

#include<stdio.h>
int main()
{
	int a = 0;
	int b = 0;
	int c = 0;
	scanf("%d %d", &a, &b);
	c = a + b;
	printf("%d", c);


	return 0;
}

好的,现在我们开始关于常量的知识(常量不可以被改变)

首先就是一些字面常量

666;
3.14;
'a';
"asd45";

然后是const常变量,我们用两个例子来分析一下

int d = 666;
d = 44;
printf("%d", d);//此时运行会出现 44
const int d = 666;
d = 444;
printf("%d", d);//报错

 上述两段代码,第一段会成功输出44而第二段就会报错,因为如果加上const的话,运行就会报错,因为const使d这个变量成为了常变量,因而无法再变化,故报错。

当然值得一提的是常变量不是常量,我们可以用以下例子来证明

const int d = 6;
int arr[d];//报错

#define定义的标识符常量

#include<stdio.h>
#define MAX 1000 //注意用法,不用写 = 
int main()
{
	int a = MAX;
	printf("%d", a);
	return 0;
}

就是给1000起一个外号叫MAX本质还是常量,所以具备常量的性质

枚举常量

enum s  //让s这个常量中包含a b c d//可在主函数外枚举
{
	a = 4,
	b = 6,
	c,
	d,
}; 

 

int main()
{
	enum s r = a;     //使r变量为枚举常量s中的a
	printf("%d", a);   //此处结果为2  枚举常量中 a=0 b=1 c=2 …… 当然 也可以在枚举是给a赋初值为1这样b就变成了2
	printf("%d", b);
	printf("%d", c);
	printf("%d", d);
	printf("%d", r);
	return 0;
}

OK兄弟们,今天就到这里,溜了溜了。

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值