c语言基础的一些小技巧

1. 使用EOF循环输入,并输出数字个数

EOF的意思是End Of File是文件尾的标志。在数值上来说就是-1。当在文件操作的时候,碰到文件结束,或者数据读取错误是均会返回EOF。在linux操作系统下ctrl+d就可以产生EOF,而windows下是ctrl+z。

int printf(const char *forma, ...)的返回值是输出字符的数量。 ...表示可变参数列表。

c语言基础的一些小技巧

c语言基础的一些小技巧

2. 异或正则表达式读入含空格字符串。

scanf("%[^\n]", s);表示读入非\n的字符数据流。

c语言基础的一些小技巧

c语言基础的一些小技巧

 

3. sprintf和fprintf的使用

注意需要加\反斜杠连接符。以及涉及到&位运算的使用。比如n = 7, n &4 就是111 & 100 结果是100. 需要注意输出到stderr无标准错误输出重定向,有stdout的标准输出重定向到文件。比如./a.out > output 输出到文件中stdout = xx的结果。而stderr的结果仍然打印到屏幕。

c语言基础的一些小技巧

c语言基础的一些小技巧

 

4. 使用acos()得到pi的值

 

c语言基础的一些小技巧

c语言基础的一些小技巧

5. 运算符和按位取反~ 和异或^

c语言基础的一些小技巧

c语言基础的一些小技巧

 

6. inttypes头文件

c++ reference标准文档手册。

可以查询cpp reference文档手册

链接:https://zh.cppreference.com/w

外文链接:https://en.cppreference.com/w/

c reference 类型支持。c大概30多个头文件,比如有个inttypes.h的头文件。

c语言中支持bool类型。

stdbool.h c语言从c99支持bool类型。.c文件中#include <stdbool.h>

int32_t a 和int a的区别。int定义的变量在64位中为4字节,32位操作系统中int为2字节,因此程序会有可移植性的问题。引入#include <inttypes.h>,可以定义固定字节的int类型,比如,int32_t, 可以统一类型。格式占位符,可以通过PRId32,PRId64,PRId16,PRId8,这个PRIdx是个宏,可以根据不同的系统改变。例如查找格式占位符,printf("%s\n",PRId32);结果显示输出d,PRId32输出lld。

printf("%" PRId32 "\n", a);

-128按位取反还是-128.

正数8位整型符号位0占1位,2^8 - 1,为最大值01111111,按位取反再加1得到-127为10000001,-127减去1可以得到10000000为-128为最小值。

c语言基础的一些小技巧

c语言基础的一些小技巧