本文内容并不是按照学习顺序记录,只是起到一个单纯的记录查询使用。
C语言三种主要的循环控制语句,除了goto外 --1.for, 2.while 3.do-while
C语言中变量存储的类型
自动变量(动态存储) 寄存器变量(动态存储) 外部变量(静态存储) 静态变量(静态存储)
C语言中表示逻辑’真’-非0,表示逻辑’假’-0
非零整形&&非零 = 真-1,非零整形&&零 = 假0, 非零 % 非零 = 具体数,逻辑的话就是 真-1, 非零 % 零 = 假-0
C语言中 &符号是 取存储单元的地址
C语言关键字 - 32个
- auto:声明自动变量,缺省时编译器一般默认为auto;最宽宏大量的关键字
- int:声明整型变量
const int MAX_LENGTH =100;//这不是常量,而是一个只读变量。` - double:声明双精度变量
- long:声明长整型变量
- char:声明字符变量
单纯的char类型应该用于字符值的存储使用,唯一允许的操作就是赋值和相同运算符(=,==,!=),signed char和unsigned char型变量只能用于数值的存储与使用。 signed char 范围:-128 ~ 127 unsigned char 范围: 0 ~ 255 - float:声明浮点型变量
- short:声明短整形变量
不同类型之间的运算要注意精度扩展问题,一般低精度数据要向高精度数据扩展。 - signed:声明有符号类型变量
- unsigned:声明无符号类型变量
- struct:声明结构体变量;结构体所占内存大小是其成员所占内存之和。
- union:声明联合数据类型变量;维护足够的空间来放置多个数据成员的“一种”,而不是为每一个数据成员配置空间,所有的数据成员具有相同的起始地址。一个union只配置一个足够大的空间来容纳最大长度的数据成员。
- enum:声明枚举类型变量;enum变量类型还可以给其中的常量符号赋值,如果不赋值则会从被赋初值的那个常量开始依次加1,如果都没有赋值,他们的值从0开始依次递增1.
- static:声明静态变量;最名不符实的关键字
- switch:用于开关变量
- case:用于语句分支
- default:开关语句中的其他分支
- break:跳出当前循环;表示终止本层循环
- continue:结束当前循环,开始下一轮循环。
- register:声明寄存器变量;最快的关键字
- const:声明只读变量,其修饰的只读变量必须在定义的同时初始化。
- volatile:说明变量在出现执行中可被隐含地改变 ;最易变的关键字
- typedef:用以给数据类型取名
- extern:声明变量是在其他文件中声明;最会带帽子的关键字
- return:子程序返回语句,用来终止一个函数并返回后面跟着的值
- void:声明函数无返回值或者无参数,声明空类型指针
- do:循环语句的循环体
- while:循环语句的循环条件
- for:一种循环语句
- if:条件语句
- else:条件语句否定分支
- goto:无条件跳转语句
- sizeof:计算对象所占内存空间大小
printf %控制符
符号 | 说明 |
---|
%d | 按十进制整型数据的实际长度输出。 | %ld | 输出长整型数据 | %md | m 为指定的输出字段的宽度。如果数据的位数小于 m,则左端补以空格,若大于 m,则按实际位数输出。 | %u | 输出无符号整型(unsigned)。输出无符号整型时也可以用 %d, 这时是将无符号转换成有符号数,然后输出。但编程的时候最好不要这么写,因为这样要进行一次转换,使 CPU 多做一次无用功。 | %c | 用来输出一个字符 | %f | 用来输出实数,包括单精度和双精度,以小数形式输出。不指定字段宽度,由系统自动指定,整数部分全部输出,小数部分输出 6 位,超过 6 位的四舍五入。 | %.mf | 输出实数时小数点后保留 m 位,注意 m 前面有个点 | %o | 以八进制整数形式输出 | %s | 用来输出字符串。用 %s 输出字符串同前面直接输出字符串是一样的 | %x | 以十六进制形式输出整数 |
%x、%X、%#x、%#X 的区别 int main(void) { int i = 47; printf("%x\n", i); printf("%X\n", i); printf("%#x\n", i); printf("%#X\n", i); return 0; } 输出结果: 2f 2F 0x2f 0X2F %x 表示小写 %X 表示大写 %#x 标准16进制输出,小写 %#X 标准16进制输出,大写
如何输出 %d、\ 和 “” 双引号? 要输出%d只需在前面再加上一个%,要输出\只需在前面再加上一个\,要输出双引号也只需在前面加上一个\即可 int main(void) { printf("%%d\n"); printf("\\n"); printf("""\n"); return 0; } 输出结果是: %ds “”
位,字节,字
位(bit): 计算机最小存储单元,存储0或者1 字节(byte):标准定义- 1字节等8位 字(word):对于8位计算机,1个字=8位,推广:x位计算机,1个字=x位, 字长越长,数据转移越快,允许访问的内存更多。
e计数法, 或指数计数法
例:3.16e7或者3.16E7 表示 3.16 * 10的7次方
|