初识C语言 二(数据类型、变量和常量)

1、数据类型

在这里插入图片描述

每种类型的大小是多少?我们试着打印一下就知道啦!
在这里插入图片描述

分析:
%d:打印一个整数;\n:换行符;我们这里引入了sizeof操作符,它作用是计算类型或者变量所占空间的大小。我们打印出来的每个数据类型都有对应的数字,他们的单位是什么呢?他们的单位是字节(byte)1byte=8bit

计算中的单位:
bit - 比特位
byte - 字节 =8bit
kb =1024byte
mb =1024kb
gb =1024mb
tb =1024gb
pb = 1024tb

这里需要注意的是long的大小是4个字节或者是8个字节,因为C语言规定: sizeof(long) >= sizeof(int),所以long的大小可以是4个字节或者是8个字节。
注意:存在这么多的类型,其实是为了更加丰富的表达生活中的各种值。类型是用来创建变量的,创建变量的本质是向内存申请空间。

2、变量和常量

生活中的有些值是不变的(比如:圆周率,性别,身份证号码,血型等等)
有些值是可变的(比如:年龄,体重,薪资)
不变的值,C语言中用常量的概念来表示,变得值C语言中用变量来表示。

2.1变量

2.1.1定义变量的方法

#include <stdio.h>
int main()
{
	//定义变量的方法:数据类型 + 变量的名字 = 数值
	int age = 19;
	age = age + 1;
	printf("%d\n", age);
	return 0;
}

运行结果:
在这里插入图片描述

分析:
int 表示为age的数据类型,=是赋值的意思。
补充:打印函数中
%d:十进制整数(int);
%ld: 十进制整数(long);
%s: 字符串(char);
%lf: 双精度浮点数(double);
%f: 单精度浮点数(float)。

2.1.2变量的分类

  • 局部变量 - {}内部定义的变量
  • 全局变量 - {}外部定义的变量
#include <stdio.h>
int a = 20;//全局变量
int main()
{
    int b = 10;//局部变量
    int a = 5;//局部变量
    printf("a=%d\n",a);
    return 0;
}

运行结果:
在这里插入图片描述

总结:
上面的局部变量a变量的定义其实没有什么问题的!
当局部变量和全局变量同名的时候,局部变量优先使用。但是不建议局部变量和全局变量同名。

2.1.3变量的使用

//写一个代码,计算两个整数的和
#include <stdio.h>
int main()
{
	int num1 = 0;
	int num2 = 0;//初始化
	//输入两个整数
	scanf("%d %d", &num1, &num2);
	//求和
	int sum = num1 + num2;
	//输出
	printf("%d\n", sum);
	return 0;
}
  • scanf 是一个输入函数
  • printf是一个输出函数

2.1.4变量的作用域和生命周期

  • 作用域
    作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的而限定这个名字的可用性的代码范围就是这个名字的作用域。
  1. 局部变量的作用域是变量所在的局部范围。
  2. 全局变量的作用域是整个工程。
  • 生命周期
    变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段。
  1. 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
  2. 全局变量的生命周期是:整个程序的生命周期。

2.2常量

C语言中的常量分为以下以下几种:

2.2.1字面常量

字面常量如:3.14;30;100;……

2.2.2const 修饰的常变量

#include <stdio.h>
int main()
{
	const int a = 10;
	a = 20;
	printf("%d\n", a);
	return 0;
}

在这里插入图片描述

注意!运行出来会有报错;因为在C语言中,const修饰的a,本质是变量,但是不能直接修改,有常量的属性。直接修改程序会出现问题,编译器无法进行编译。

2.2.3#define 定义的标识符常量

#include <stdio.h>
#define MAX 100
int main()
{
	printf("%d\n", MAX);
	int a = MAX;
	printf("%d\n", a);
	return 0;
}

运行结果:
在这里插入图片描述
分析:#define MAX = 10 其中MAX 是标识符,#define定义的不局限于整数,还可以打印字符串。

2.2.4枚举常量

枚举常量可以一一列举的量
enum 为枚举常量的关键字,用于定义枚举类型,默认值从零开始。

#include <stdio.h>
enum sex
{
	MALE,
	FEMALE,
	SECRET
};
//这里说明有自定义enum这个类型,这种枚举类型的可能取值。
int main()
{
	enum sex s = MALE;
	//定义变量s为MALE,类型为enum sex的枚举常量
	printf("%d\n", MALE);
	printf("%d\n", FEMALE);
	printf("%d\n", SECRET);
	return 0;
}

运行结果:
在这里插入图片描述

今天的初始C语言就先到这里啦,我将初始C语言分了几个部分,还有的在下次笔记,如果有哪里写的不好的地方,请指正,谢谢观看!Fighting!!!✊

  • 18
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 18
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值