C语言基本数据类型
Tip: 1B(字节) = 8位(字符)
1、数值类型
a、整型
1)、短整型(short、unsigned short(无符号短整型)):2 bytes
取值区间:
short: (-2^15 ~ 2^15-1)
unsigned short: (0 ~ 2^16-1)
eg: 1、-1、 2、 0
2)、整型(int、unsigned int(无符号整型)):4 bytes(32、64位系统) (常用)
取值区间:
int: (-2^31 ~ 2^31 -1)
unsigned int: (0 ~ 2^32 -1)
eg: 1、 2、 3、 4
3)、长整型(long、unsigned long(无符号长整型)):
32位:4 bytes
取值区间:
long: (-2^31 ~ 2^31 -1)
unsigned long: (0 ~ 2^32 -1)
64位:8bytes
取值区间:
long: (-2^63 ~ 2^63 -1)
unsigned long: (0 ~ 2^64 -1)
eg: 1、 2、 3、 4
b、浮点型
1)、单精度(float):4 bytes (-2^32 ~ 2^32 - 1)
eg: 3.1415
2)、双精度(double):8 bytes (-2^64 ~ 2^64 - 1)
eg: 3.1415
2、字符类型
Tip:
1、汉字:2B,英文字符:1B
2、英文字母(26个):
ASCII码:
A~Z : 65 ~ 90
a~z : 97 ~ 122
字符类型(char):1 bytes
eg: 'A'、'W'、'S'、'D'
Tip: sizeof(数据类型):用于计算指定数据类型在当前系统所占用的内存空间
eg: sizeof(int) // 4
变量
1、变量定义:
格式:数据类型 变量名 =(赋值运算符) 数值
eg:
a、short mShortVariable = 1;
b、int mIntVariable = 2;
c、long mIntVariable = 3;
d、float mFloatVariable = 3.14;
e、double mDoubleVariable = 3.14;
f、char mChar = 'A';
注意:
变量名命名规范:
a、变量由数字、字母、下划线组成;eg:Name, Name1, Name_1
b、首字母必须是字母、下划线;eg:mAge, _age
c、变量不能是C语言关键字或者保留字
32个关键字:
auto break case char const
continue default do double else
enum extern float for goto
if int long register return
short signed sizeof static struct
switch typedef unsigned union void
volatile while
格式类型转换符:
表示在当前位置需要声明一个指定类型的数据,供程序使用
数据类型与格式类型转换符对照表:
char %c
short %hd
int %d
long %ld
float %f
double %f 或 %lf(建议使用)
2、变量初始化
a、声明的同时进行初始化
eg: int number = 1;
b、先声明,后初始化
eg: int number; number = 1;
c、采用用户输入方式进行初始化
eg:
int number;
scanf("%d", &number);//格式化输入
Eg:
#include <stdio.h>
int main(int argc, const char * argv[])
{
int number_1 = 10;
int number_2; number_2 = 10;
int number_3;
int number_4;
printf("number_1 = %d\n", number_1);
printf("number_2 = %d\n", number_2);
printf("Please input a integer:\n");
scanf("%d%d", &number_3, &number_4);
printf("number_3 = %d, number_4 = %d\n", number_3, number_4);
return 0;
}
只读变量(const)
定义格式:const 数据类型 变量名 = 初始值
Eg:const int number = 10;
eg:
const int number=3;
printf("number = %d\n",number);
注意:
1、定义的同时必须进行初始化,且只能初始化一次
2、程序运行期间,不能修改变量的值
格式化输入输出
1、scanf(): 格式化输入
eg: scanf("%d", &number);
(1) 当使用scanf获取多个用户输入数据时,
a、数值类型
若格式类型转换符之间没有分隔符,则可使用空格、Tab、回车进 行数据分割输入;
若格式类型转换符之间有分隔符进行分割,必须严格按照分隔符方 式输入数据。
b、字符类型
若格式类型转换符之间没有分隔符,不能够使用空格、Tab、回车 进行数据分割输入
若格式类型转换符之间有分隔符进行分割,必须严格按照分隔符方 式输入数据。
(2)格式控制字符串与变量之间需使用【,】进行分割
(3)需在变量前加【&】
Tip: &: 取地址运算符
(4) scanf(),可在格式控制字符串 % 与 d/f/lf/ld之间加入数字,指定读取的
数值长度
eg:scanf("%5d", &number);
Eg:
char mChar_1;
char mChar_2;
printf("Please input two char: \n");
scanf("%c,%c", &mChar_1, &mChar_2);
printf("mChar_1 = %c\nmChar_2 = %c\n", mChar_1, mChar_2);
int number_5;
printf("Please input a integer: \n");
scanf("%5d", &number_5);
printf("number_5 = %d\n", number_5);
2、printf():格式化输出
(1)支持多个结果输出
(2)允许指定输出数据长度、精度
Eg:
printf("%5d, %.2f, %5.2f\n", 1, 2.0152, 3.1415926);
类型重命名 (typedef)
格式;typedef 数据类型 新的数据类型名称(数据类型别名)
eg:
typedef unsigned int UInteger;
UINTEGER number = 10;
eg:
typedef int y;
y number_6 = 57;
printf("%d\n",number_6);
作用:
可以用于替代自定义的枚举、结构体、系统定义的名字较长的数据类型