189 8069 5689

C语言学习记录12.3(变量,scanf,常量)-创新互联

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

成都创新互联长期为上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为东乡族企业提供专业的成都网站设计、成都网站建设,东乡族网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。

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

#includeint main()
{
    int weight = 10;
    float age = 11;

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

全局变量,

#includeint 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;

值得注意的是

#includeint 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.

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

#includeint 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#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兄弟们,今天就到这里,溜了溜了。

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


名称栏目:C语言学习记录12.3(变量,scanf,常量)-创新互联
文章出自:http://cdxtjz.cn/article/dcodgc.html

其他资讯