【C基础语法】1
输入输出
scanf("enter %d, %d", &a, &b)
里面的内容都是要输入的,包括空格、回车、字符- switch 只能用int型
- sizeof() 类型或变量所占的字节数;静态函数;在编译时就确定了,运行时里面的表达式并不会执行
- 补码 + 原码 = 溢出的全0
数据类型
整型
-
整数的输入输出:只有两种形式 int; long long
- %d:int 及比int小的 short char
- %u:unsigned
- %ld:long long
- %lu:unsigned long long
-
int 一个寄存器的大小
-
0开头 八进制 %o ; 0x 十六进制 %x (一种字符串表达形式);十进制 d% (都是有符号的)
-
不能输入输出二进制数
-
整数和整数的运算结果是整数;整数和浮点数运算时,整数会被转换为浮点数
浮点类型
- 浮点数的输入输出
- float 32位 输入 %f 输出 %f %.3f %e
- double 64 输入 %lf 输出 %f %.3f %e
- a = 1.234f float后面要加f
- a = 1.234 是double类型
- 浮点数是不精确的,精度会丢失
字符类型
- char 一种整数 8位 'a'
- 输入输出 %c :1 - > '1'
- 49 == ‘1’ 每一个字符都有一个对应的整数 ASCII码
指针
参考CSDN
数组 T a[]
数组名 a == &a[0]:数组首个元素的地址 :是一个T元素类型的指针
如:
int a [5] = {0};
int *p = a; or int *p = &a[0]
内存分配
手动分配数组内存:1. 变长数组 2.运行时可以动态修改数组的大小。
int *p;
p = (int *) malloc(sizeof(int) * 10);
p = (int *) malloc(sizeof(int) * 20);