数据类型:
char //字符数据类型
short //短整型
int //整型
long //长整型
long long //更长的整型
float //单精度浮点数
double //双精度浮点数
为什么整型要分这么多种?
因为一些值的取值范围有限,所以用不同的类型去创建不同类型的变量,提高了空间利用率。
计算机中的单位:(由小到大)
Bit、Byte、KB、MB、GB、TB、PB
一个字节=8个bit位 其余的都为1024个进位
变量和常量:
1、变的值,c语言中用变量表示(年龄、体重、薪资等)(局部变量、全局变量)
类型 变量名=值
例如:int age =99;
#include<stdio.h>
int a = 100;//全局变量
int main() {
int a = 10;//局部变量(放在{}里的变量)
printf("a=%d\n", a);//当全局变量和局部变量名字相同时,局部优先
return 0;
}
输出结果:a=10
变量的作用域和生命周期:
作用域:变量名字哪里可以用,哪里就是他的作用域
①局部变量的作用域是变量所在局部范围
②全局变量的作用域是整个工程
生命周期: 变量从创建到销毁所经历的时间
①局部变量的生命周期:进入作用域生命周期开始,出作用域生命周期结束
②全局变量的生命周期:整个程序的生命周期
2、不变的值,c语言中用常量表示(圆周率、血型、身份证号码等)
分类:①字面常量:100、‘a’
②const 修饰的常变量(常变量:本质是个变量,但是不可被修改,具有常属性的变量,故名常变量)
例如:const int num =20;
此时的num 不可被改变
③#define 定义的标识符常量
例如:#define NUM 100
④枚举常量:(一一列举)性别、星期
enum Sex {
//枚举类型的两个可能取值-枚举常量
man,
woman
};
int main() {
enum Sex sex = man;
printf("%d\n", man);
printf("%d\n",woman);
return 0;
}
字符串: 由双引号引起的一串字符
“abc” , “a” , " "空字符串
注意:字符串的结束标志是一个\0的转义字符。在计算字符串长度的时候\0是结束标志,不算作字符串内容。
#include<stdio.h>
int main() {
char arr1[] = "abcdef";
char arr2[] = { 'a','b','c','d','\0' };
printf("%s\n", arr1);//%s是打印字符串
printf("%s\n", arr2);
return 0;
}
#include<stdio.h>
int main() {
char arr1[] = "abcde";
printf("长度为%d\n",strlen(arr1));//strlen是计算字符串长度
return 0;
}
输出结果:长度为5
strlen()只能求字符串长度
sizeof()计算机所占空间大小