1.关键字(存储、跳转结构)
- C语言中一共有32个关键字
- 存储级别关键字(6个)
- 跳转结构(4个)
- auto double int struct break else long switch
- case enum register typedef char extern return
- union const float short unsigned continue for
- signed void default goto sizeof volatile do if while static
- auto :指定为自动变量,由编译器自动分配及释放。通常在栈上分配
- static :指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部
- register :指定为寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数形 参,建议编译器通过寄存器而不是堆栈传递参数
- extern :指定对应变量为外部变量,即标示变量或者函数的定义在别的文件中,??示编译器 遇到此变量和函数时在其他模块中寻找其定义。
- const :与volatile合称“cv特性”,指定变量不可被当前线程/进程改变(但有可能被系统 或其他线程/进程改变)
- volatile :与const合称“cv特性”,指定变量的值有可能会被系统或其他进程/线程改变, 强制编译器每次从内存中取得该变量的值
- return :用在函数体中,返回特定值(或者是void值,即不返回值)
- continue :结束当前循环,开始下一轮循环
- break :跳出当前循环或switch结构
- goto :无条件跳转语句
2.标识符
xcode里中文开头的标示符不报错;
字母,下划线,数字,$;
3.特殊字符常量
\n 换行,相当于敲一下回车。
\t 跳到下一个tab位置,相当于按一下键盘上的tab键。 \b 退格,相当于按一下backspace。
\r 回车。
\f 换页,光标移到到下页开头。
\\ 输出\字符,也就是在屏幕上显示一个\字符。
\‘ 输出‘字符,也就是在屏幕上显示一个‘字符。
\" 输出"字符,也就是在屏幕上显示一个"字符。
\ddd 1位到3位八进制数表示的字符。
例如:使用‘\376‘,则在屏幕上显示一个黑色的方块。 \xhh 1位到2位十六进制数表示的字符。注意x不能丢了
4.整型常量
- 十进制整数。如356,-120,0。
- 八进制整数。八进制形式的常量都以0开头,如0123,也就是十进制的83;-011,也就是十进 制的-9。
- 十六进制整数。十六进制的常量都是以0x开头,如0x123,就是十进制的291。
- 二进制整数。逢二进一 0b开头
5.变量的存储
类型 |
16位编译器 |
32位编译器 |
64位编译器 |
char |
1 |
1 |
1 |
int |
2 |
4 |
4 |
float |
4 |
4 |
4 |
double |
8 |
8 |
8 |
short |
2 |
2 |
2 |
long |
4 |
4 |
8 |
long long |
8 |
8 |
8 |
void* |
2 |
4 |
8 |
6.printf
- %-nd表示左对齐输出(右侧补空格),如省略表示右对齐输出(左侧补空格)。
- 0:有0表示指定空位填0,如省略表示指定空位不填。
- %m.nlf m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数小数位数。对数值型的来说,未指定n时,隐含的精度为n=6位。
- o格式:以无符号八进制形式输出整数
- x格式:以无符号十六进制形式输出整数
逼格在哪里?
// 指定保留多少位小数时, 可以通过*号占位, 以后赋值具体保留的小数位 printf("%.*f", 4,3.1415926535f);
输出结果: 3.1416
7.实型精度问题
- 对于单精度数,使用%f格式符输出时,仅前7位是有效数字,小数6位.
- 对于双精度数,使用%lf格式符输出时,前15位是有效数字,小数6位
8.scanf
- scanf读取用户输入时不满足格式即跳出即如果输入的数据与格式化字符串中的不匹配, 那么scanf函数会自动终止;
- 如果输入缓冲区的内容不为空,scanf会一直从缓冲区中获取,而不要求再次输入。
清理输入缓冲区:
int c; //从缓冲区中抓取的内容不为\n并且缓冲区不满,循环继续,则继续抓取. while ((c = getchar())!=‘\n‘ && c != EOF) { }
时间: 2024-10-29 19:11:00