数据类型
变量和常量
常量的2种定义方式:
1、关键字const
const 数据类型 常量名 = 值;
如:const float pi = 3.14159;
2、宏定义
#define 常量名 值
PS: 这里没有"=“和”;"
如:#define PI 3.14159
推荐用宏定义的方式定义常量。
整形
进制
八进制:以数字0开始表明该数字是八进制。如:012表示八进制的12。
十六进制:以“0x”或“0X”开头表明该数字是十六进制。如:0xabc、0Xabc、0xABC、0XABC,这四个是同一个数字。
不能直接书写二进制。
所谓的“进制”,其实就是数字的不同格式。可以以不同的格式对整形变量赋值,也可以将整形变量输出成不同格式。
整形的输入
VS的C4996提示
由于微软在VS2013中不建议再使用C的传统库函数scanf,strcpy,sprintf等,所以直接使用这些库函数会提示C4996错误:
VS建议采用带_s的函数,如scanf_s、strcpy_s,但这些并不是标准C函数。
要想继续使用此函数,需要在源文件中添加以下指令就可以避免这个错误提示:
#define _CRT_SECURE_NO_WARNINGS //这个宏定义最好要放到.c文件的第一行
#pragma warning(disable:4996) //或者使用这个
取地址运算符
int a;
//将输入的值存入变量a的地址中
scanf("%d", &a);
有符号数和无符号数的区别
有符号数:最高位为符号位,0代表正数,1代表负数。
无符号数:最高位不是符号位,而就是数的一部分,无符号数不可能是负数。
当我们写程序要处理一个不可能出现负值的时候,一般用无符号数,这样可以增大数的表达最大值。
sizeof关键字
- sizeof不是函数,所以不需要包含任何头文件,它的功能是计算一个数据类型在内存中占的字节大小
- sizeof的返回值为size_t
- size_t类型在32位操作系统下是unsigned int,是一个无符号的整数
#include<stdio.h>
int main() {
int a;
short b;
long c;
long long d;
printf("整形占用的内存为%u字节\n", sizeof(a));
printf("短整形占用的内存为%u字节\n", sizeof(b));
printf("长整形占用的内存为%u字节\n", sizeof(c));
printf("长长整形占用的内存为%u字节\n", sizeof(d));
return 0;
}
数据类型 | 占用空间 |
---|---|
short(短整型) | 2字节 |
int(整型) | 4字节 |
long(长整形) | Windows为4字节,Linux为4字节(32位),8字节(64位) |
long long(长长整形) | 8字节 |
字符型
字符型变量占用1个字节。char的本质就是一个1字节大小的整型。所以2个字符型变量可以做计算。
转义字符
转义字符 | 含义 |
---|---|
\b | 退格(BS) ,将当前位置移到前一列 |
\n | 换行(LF) ,将当前位置移到下一行开头 |
\r | 回车(CR) ,将当前位置移到本行开头 |
#include<stdio.h>
int main() {
printf("abc");//(1)
printf("\b456");//(2)
printf("\n");//(1)+(2)输出ab456
printf("abc");//(3)
printf("def");//(4)
printf("\r123\n");//(5) (3)+(4)+(5)输出123def,注意(5)中的\n不能少,否则输出123 ef
return 0;
}