C语言之基础知识----防备忘
序号 | 知识点----整型 |
---|
1 | C语言的标识符,只能由字母、数字和下划线组成,且第一个字符必须为字母或者下划线 |
2 | 大写字母和小写字母认为是两个不同的字符 |
3 | 计算机内存中,整数是以补码的形式存在的 |
4 | 正整数:原码、反码、补码相同; 原码即为十进制转为二进制 |
5 | 负整数:原码,符号位为1。反码,符号位为1,其余位取反。补码,反码+1 |
6 | 默认的int(4字节)是有符号的整数,故在计算取值范围时,应去掉符号位,即为-215~(215-1) ,不应为216 |
7 | unsigned int 为无符号整数,则范围为0~(216-1) |
8 | 整型数据溢出问题:溢出之后,从该类型的取值范围最小的数值开始循环 |
9 | 一个整型常量后边加子一个字母u或U,认为是unsigned int型;一个整型常量后边加一个字母l或L,认为是long int型; |
序号 | 知识点----浮点型 |
---|
1 | 浮点型数据,在计算机内存中,是按照指数形式存储的 |
2 | 浮点型数据即所说的实数,实数变量包括单精度(float)、双精度(double)和长双精度(long double) |
3 | 十进制小数形式:由数字与小数点组成,必须有小数点。123. 、123.0 、0.0 都是该形式 |
4 | 指数形式:123e3代表123×103,e前必须有数字,e后必须为整数。.e3也不合法,前面没数字,虽然有点 |
5 | 规范化指数形式:即e之前的小数部分中,小数点左边应有一位(且只有一位)非零的数字。1.345e3正确 |
6 | 避免一个很大的数和一个很小的数直接相加或相减,否则会丢失小的数 |
7 | C语言编译系统将浮点型常量作为双精度来处理 |
8 | 在浮点型后面加字母f或F,编译器将它们按照单精度处理 |
序号 | 知识点----字符常量【即为控制字符】 |
---|
1 | \t 代码解释 |
2 | \n 换行,将当前位置移到下一行的开头 |
3 | \b 退格 |
4 | \r 回车,将当前位置移动到本行开头 |
5 | \f 换页 |
6 | \ ’ 代表一个单引号 |
7 | \ " 代表一个双引号 |
8 | \ \ 代表一个反斜杠字符 |
9 | \ddd 1到3位八进制所代表的字符:ddd转为十进制,该十进制所对应的ASCLL中的字符 |
10 | \xhh 1到2位十六进制数所代表的字符:十六进制hh所对应的ASCLL中的字符 |
11 | \0 为NULL,“空操作”;printf(“abc\0efg\n”);则遇到\0结束,"efg\n"不在输出 |
对于\t的代码理解:
#include<stdio.h>
int main()
{
printf("abcdefg\t 12\rA\tB\n");
}
序号 | 知识点----字符变量 |
---|
1 | 在计算机内存中,字符数据以ASCLL码存储:该字符对应的ASCLL中的十进制的二进制 |
2 | 因为上一条,故字符型数据可与整形数据通用,可与整形数据进行算数运算 |
3 | 记住关键的字符:‘A’=65 ‘a’=97 ‘A’=‘a’-32 |
序号 | 知识点----字符串常量 |
---|
1 | 使用字符数组为其定义:char obj[ ]=“aswd”; |
2 | char obj[5]=“aswd”; sizeof(obj)=5 数组分配的大小 strlen(obj)=4 实际字符串长度,且不包括“\0” |
序号 | 知识点----各类数值型数据的混合运算 |
---|
1 | 运算转换表,见注释[^4] |
2 | float型的数据在运算时,先转为double,以提高精度,即使是两个float型运算,也是先转为double,再运算 |
3 | float a=3.8; int b; b=(int)a; 输出b=3; |
4 | 这个东西就是做题的时候,特别需要注意,自己写代码时,不要弄的很复杂 |
序号 | 知识点----算数运算备忘问题 |
---|
1 | %取模运算符,要求两侧均为整型量,若不为,必须强转 |
2 | 强制转换:(强转类型)变量 |
3 | ++、-- 只能用于变量,不能用于表达式 |