一、数据类型
整型 | 数据类型 | 所占内存空间(字节) |
---|---|---|
char | 字符类型 | 1 |
short | 短整型 | 2 |
int | 整型 | 4 |
long | 长整型 | 对于32位的系统是4字节, 对于64位系统则是8字节。 |
longlong | 更长的整型 | 8 |
float | 单精度浮点数 | 4 |
double | 双精度浮点数 | 8 |
二、常量
1.字符常量
直接写出的数“1”,“2”,“abcd”,等等
2.const 修饰的变量
1.证明其是常数
#include<stdio.h>
int main()
{
int num1=0;
const int num2=0;
num1=num1+1;//不会报错
num2=num2+1;//会报错,显示无法修改
return 0;
}
2.证明其还是个变量
由于数组arr[ ]中必须是一个常数,由此来验证
#include<stdio.h>
int main()
{
int n=10;
const int m=10;
int arr[n]={0};//报错 “表达式必须含有常量值”
int arr[m]={0};//报错 “表达式必须含有常量值”
return 0;
}
本质仍是变量
3.#define定义的标识符常量
#include<stdio.h>
#define max=100
#define N=10
int main()
{
printf("%d",max);
max=200;//<--- 错误,无法改
printf("%d\n",max);
int arr[N]={0};//不会报错,常量本质
4.枚举常量
enum 枚举关键字
enum sex//定义一个枚举关键字
{
male,//不进行初始化默认male=0,female=1,secret=2.
female,
secret
};
int main()
{
enum sex s=female;//定义一个枚举类型变量
}
三、字符串
定义:双引号引起的一串字符
字符数组
char arr1[]="abc";//"\0"是字符串结束标志,字符串末尾有一个“\0”
char arr2[] = { 'a', 'b', 'c' };
打印时读到"\0"停下
printf(“%s\n”,arr1);
printf("%s\n",arr2);//打印出乱码
如同用strlen函数求字符串长度(加上头文件#include<string.h>)
strlen(arr1)----->3
arr1中存放
下标 | 存放 |
---|---|
0 | a |
1 | b |
2 | c |
3 | \0 |
读到“\0”之前的
四、转义字符(一个字符)
1."\0"
printf(“0”)-->输出0
printf("\0")--> //输出(无)
2.“\n” >>>>换行
3.“\ddd”>>>8进制
例:
“\162”—一个字符
printf(“%c”,“\162”)>>>r(114)
4."\xdd">>>16进制
例:
“\x51”>>81