数据类型
- 编码表
- C语言的数据类型
- scanf的使用注意事项
编码表
-
ASCII表
ASCII表全称为American Standard Code For Information Interchange.
可以理解为密码表,可以将字符转化为十进制符号。例如‘A’在ASCII表中对应就是65,‘a’在ASCII表中对应97.可以发现这个英文单词的意思是美国的标准信息交流代码表,所以不适合世界各国来进行编写。
- Unicode表
这个表就十分强大了,它不仅覆盖了前面提到的ASCII表,而且它可以覆盖世界上许多语言。令人没想到的事情就是它也覆盖了emoji,就是表情包。
C语言的数据类型
无符号类型
无符号类型就是没有“-”符号的数据类型。一般来说,它表示正数据的范围更大。char类型也有无符号类型是因为char在C语言中是通过ASCII码来存储的,也就是一个整数类型,故也有无符号类型。
书写的注意事项
1.长整型常量需在数值后面加上“l ”或“L”,如123L。 无符号整型常量需数值后面加上“u ”或“U”,如123U。
2.浮点型常量默认的是double型的。单精度常量表示成2.56f。
3.进行变量定义的时候不要忘记数据类型对应的表示范围,如果超出数据类型的范围会发生数据溢出,也就是表示出来的数据是缺失的,溢出去了。
变量和常量的命名
标识符:用于标识变量名、符号常量名、数组名、函数名、类型名、文件名的有效字符序列。可以类比为名字理解
标识符的组成:由字母、数字和下划线组成。且第一个字符必须是字母或下划线。
变量名称一般为小写
符号常量名一般为大写
符号常量是指用一个指定的标识符来表示一个字符串。
格式: #define 标识符 字符串
其中,“标识符”被称为宏。宏定义不是语句,不必再其后加上“;”。#表示预处理命令的开始。
作用:使用户能以一个简单的名字代替一个长的字符串。在预编译时将宏名替换成字符串,一变全变。在编写计算汇率的程序的时候可以直接修改符号常量。
#include<stdio.h>
#define PI 3.1415926 //这是符号常量名
int main()
{
int a; //整数类型
int short b; // 短整型
int long c; //长整型
int long d=10l;//长整型
int short f=50;//短整型
double e =3.1415926;// 双精度
float g =3.56F;//单精度
a=20;
b=128556; // 会发生数据溢出,数据溢出后打印输出的结果为 -2516
c=565;
printf("%d\n",a);
printf("%d\n",b);
printf("%d\n",c);
printf("%d\n",d);
printf("%d\n",f);
printf("%f\n",g); //输出的结果为3.560000
printf("%f\n",e); // 输出的结果为 3.141593
printf("%f\n",PI); // 输出的结果为 3.141593
return 0;
}
字符类型与字符串类型
字符类型:字符类型只能用于存放一个字符变量,使用单引号
字符类型存放只占据一个字节
字符数据和整型数据之间可通用,字符数据既可以字符形式输出(此时输出语句中占位符为%c),也可以整数形式(此时输出语句中占位符为%d)输出,因此字符中的数据可以进行算术运算。
字符串类型:使用双引号来表示,末位自动会加上/0/表示结束
#include<stdio.h>
#include<string.h> //如果需要字符串的处理,可以通过库来实现,减少书写代码的数量
int main()
{
char a='A'; //字符的定义
char str[9]="你好世界"; //字符串的定义,中文一个字占据两个字节,加上字符串的末位以/0结束,故有八个字节 。注意空格也算一个字节
printf("%c\n",a); // 字符打印占位符为%c
puts(str); //字符串的打印方式为puts,输入为gets,要记得先导入库即#include <>
return 0;
}
其他
整数在内存中是以补码的形式进行储存的。
至于原码,反码,补码,可以参考这位博主原码,反码,补码的介绍
scanf的注意事项
scanf是一种通过硬件设备键盘来实现输入功能的一个函数。
scanf使用的时候的格式为:scanf(“input:%d”,&a)
&a表示变量在内存中的地址,也就是告诉程序:通过键盘输入的值,请你放在a里面,那住哪,怎么送呢。此时&a就告诉程序a的住址。所以使用时,千万不能忘记&符号。
持续更新,记录C语言的学习过程。
有问题可以私信哦!
有补充的知识点,请查看C语言基础知识补充