1.数据类型
什么是数据?
有用的信息成为数据
数据如何存储在内存
整型
整型修饰符
格式控制符
#include <stdio.h>
int main()
{
//申请两个字节的空间,并取名为a,俗称定义a
// 空间a的内容为随机数
// a空间只能存放整数
// a空间存放的最大值为2字节的数据
short int a;
// 在同一个作用域({})下,不能出现两个同名的变量名
//short int a;
a = 10; // 将10存放到空间a里面
// 申请空间并将100放到里面
// 即定义变量并初始化
short b = 100;
printf("%hu\n",b);//h的意思为half,即int的一半
unsigned short ub = 200;
printf("%hu\n",ub);
char c = 36;
printf("c = %hhd\n",c);
unsigned char uc = 15;
printf("%hhu\n",uc);
int d = -1024;
printf("%d\n",d);//%d既可以表示正数也可以表示复数
unsigned int ud = 1024;
printf("%u\n",ud);//%u为无符号输出
long int le = 1000L;
printf("%ld\n",le);
long long int lle = 1000L;//L表示1000为长整形
printf("%lld\n",lle);
//float f = 3.14;
//printf("%f\n",f);
// 在32位机里面,此类型越界无效
float f = 3.14;
printf("%f\n",f);
double lf = 3.1415;
printf("%f\n",lf);
long double llf = 0.123456;
printf("%Lf\n",llf);
int number = 10;
printf("0%o\n",number);//八进制输出
printf("%#x\n",number);//十六进制输出
return 0 ;
}
数据类型的取值范围
原码反码补码
例子
浮点型
例子
字符
ASCII码表
转义字符
例子
布尔类型
概念:布尔型数据只有真、假两种取值,非零为真,零为假。
语法:
bool a = 1;逻辑真,此处1可以取其他任何非0数值
bool b = 0;逻辑假 c
注意:
1.逻辑真除了1之外,其他任何非零数值都表示逻辑真,等价于1。
2.使用布尔型bool定义变量时需要包含系统头文件 stdbool.h。
例子
标准输入练习
如果用户输入大小写字母,则输出字母对应的ASCII码值。
如果用户输入ASCII码值,则输出对应的大小写字母。
输入大写字母转为小写字母。
#include <stdio.h>
int main()
{
//如果用户输入大小写字母,则输出字母对应的ASCII码值。
printf("输入一个字母: ");
char c ;
scanf("%c",&c);
printf("%d\n%x",c,c);
//如果用户输入ASCII码值,则输出对应的大小写字母
int b ;
printf("输入一个ASCII码值: ");
scanf("%d",&b);
printf("输出的符号为:%c\n",b);
return 0;
//输入一个小写字母输出一个大写字母
char app;
printf("输入一个小写字母:");
scanf("%c",&app);
char up = app - 32;
printf("输出的大写字母为:%c\n",up);
return 0;
}
类型转换
概念:不一致但相互兼容的数据类型,在同一表达式中将会发生类型转换。
转换模式:
隐式转换:系统按照隐式规则自动进行的转换
强制转换:用户显式自定义进行的转换
隐式规则:从小类型向大类型转换,目的是保证不丢失表达式中数据的精度
tf(“输出的大写字母为:%c\n”,up);
return 0;
}
#### 类型转换
```c
概念:不一致但相互兼容的数据类型,在同一表达式中将会发生类型转换。
转换模式:
隐式转换:系统按照隐式规则自动进行的转换
强制转换:用户显式自定义进行的转换
隐式规则:从小类型向大类型转换,目的是保证不丢失表达式中数据的精度