前言
本篇笔记记录了数据类型、变量常量相关预备知识。
一、数据类型
char-字符型
short-短整型
int-整型
long-长整型
long long-更长的整型
float-单精度浮点数
double-双精度浮点数
例子:
//char字符类型
int main()
{
char ch = 'A';//申请字符类型的的内存
printf("%c\n",ch);//这里%c代表打印字符
return 0;
}
常见:%d打印整型、%c打印字符、%f打印浮点数-小数、%p以地址的形式打印、%x打印十六进制。不过这些东西貌似不重要。
二、数据类型大小
在下面的代码中,//后面的为打印出的数字以及解释,如第一行,输出1指的是char类型占一个字节。
字节(Byte)是计算机中的单位。计算机中的单位如下:
bit-比特位,我们在上一篇笔记中学到,计算机硬件是需要通电的,而通电就会有正电与负电之分,正电用1表示,负电用0表示。一个1或者一个0所占的大小就是一个比特位。那么三个比特位就可以放8(2的三次方)重可能的二进制序列(如000,001,010,100,011,110,010,111)。
Byte-字节,一个字节是8个比特位。
KB,千字节,1KB=1024Byte。
MB,兆字节,1MB=1024KB,下面的单位就同上了,重点掌握前几个
GB
TB
PB
int main()
{
printf("%d\n",sizeof(char));//输出1个字节,sizeof()函数为计算大小。
printf("%d\n",sizeof(short));//2
printf("%d\n",sizeof(int));//4
printf("%d\n",sizeof(long));//4或8(C语言标准规定sizeof(long)>=sizeof(int))
printf("%d\n",sizeof(long long));//8
printf("%d\n",sizeof(float));//4
printf("%d\n",sizeof(double));//8
return 0;
}
三、变量、常量
1.变量
生活中有些值是不变的,如身份证号等,也有变化的如年龄等,变化的是变量,不变的为常量。
2.局部变量和全局变量
int num2 = 20;//全局变量-定义在代码块{}之外的变量,可以在整个文件使用
int main()
{
int num = 10;//局部变量-定义在{}内的变量,只能在代码块内使用
short age = 20;//向内存申请2字节=16bit位,用来存放20
float weight = 95.6f;//f表示95.6为单精度
return 0;
}
注意:局部变量和全局变量的名字尽量不要相同,容易产生bug,当局部变量和全局变量名相同的时候,局部变量优先。
3.变量的使用
#define _CRT_SECURE_NO_WARNING
//scanf是C语言提供的、scanf_s是vs_code提供的。尽量不要使用scanf_s,因为它只能在vs_code上使用。要使写的程序具有跨平台性,就使用C语言提供的。如果使用scanf过程中vs报错,则可以将报错后面提供的代码放到源文件文件顶端的#define后面()也就是以上代码)。也可以找到vscode的安装路径,找到安装文件中的vc,进入后找到vcprojectitems进入,找到newc++file.cpp用notepad++打开将#define那句代码放到第一行,然后ctrl+s保存,然后允许他有管理员权限,就可以保存了。
#include<stdio.h>
int main() {
//计算量个数的和
int num1 = 0;
int num2 = 0;
int sum = 0;//C语言规定,变量要定义在当前代码块的最前面
//输入数据-使用输入函数scanf
scanf("%d %d", &num1, &num2);//&为取地址符号,即将输入的数放到num1的位置,第二个同一
sum = num1 + num2;
printf("sum = %d\n", sum);//使用输入输出函数时需要引头文件
return 0;
}
4.变量的作用域和生命周期
一个变量在哪里可以用,哪里就是他的作用域。局部变量的作用域就是变量所在的大括号内。全局变量的作用域是整个工程。
生命周期
局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
全局变量的生命周期是:整个程序的生命周期。
5.字面常量和const修饰的常变量及其他常量
int main()
{
const int num = 4;//const-常属性,num是const修饰的常变量,则之后num的值不能变。
3;//直接写出来的值为字面常量
return 0;
}
#define定义的标识符常量,#define MAX 10,则MAX为常量10。
枚举常量(生活中有些东西是可以一一列举出来的,如星期、性别等),枚举关键-enum
enum Sex
{
MALE,
FEMALE,
SECERT,
};
//MALE,FEMALE,SECERT为枚举常量
int main()
{
printf("%d\n", MALE);
printf("%d\n", FEMALE);
printf("%d\n", SECERT);
return 0;
}
//输出为0、1、2,可见枚举常量是有一个常量值的
文章评论