运算符
-
运算符的优先级要熟悉
-
运算符 描述 实例 sizeof() 返回变量的大小。 sizeof(a) 将返回 4,其中 a 是整数。 & 返回变量的地址。 &a; 将给出变量的实际地址。 * 指向一个变量。 *a; 将指向一个变量。 ? : 条件表达式 如果条件为真 ? 则值为 X : 否则值为 Y -
a++=b++;是不可以的
赋值运算符的左边只能是变量,
a++
是表达式。 -
++a=++b;是可以的
前缀++可以,这就是C++的设定,C不行。
a=5,b=10; a=b++; printf("%d,%d", a, b); //结果是10,11
-
a++的具体运算过程为
int temp=a; a=a+1; return temp;
-
++a的具体运算过程为
a=a+1; return a;
-
后置自增运算符需要把原来变量的值复制到一个临时的存储空间,等运算结束后才会返回这个临时变量的值。所以前置自增运算符效率比后置高。
输入输出
-
scanf
和gets
的区别?gets()
:从标准输入(stdin)中读取字符串,直到到达换行符或文件末尾。-
scanf
在C语言中能对各种类型进行输入,gets
用于对字符串的输入。 -
gets
可以接收空格;而scanf
遇到空格、回车和Tab键都会认为输入结束。
-
-
getch
从键盘读取单个字符。但它不使用任何缓冲区,因此立即返回输入的字符,而无需等待 Enter 键。
-
getche*
从键盘上读取单个字符,并立即显示在输出屏幕上,而无需等待回车键。
预处理
C 预处理器不是编译器的组成部分,但是它是编译过程中一个单独的步骤。简言之,C 预处理器只不过是一个文本替换工具而已,它们会指示编译器在实际编译之前完成所需的预处理。我们将把 C 预处理器(C Preprocessor)简写为 CPP。
-
程序的编译过程分几个部分?
编译器将 C 程序转换为可执行文件。C 程序成为可执行文件有四个阶段:
-
预处理
这是传递源代码的第一阶段。此阶段包括:
-
删除注释
-
宏的扩展
-
包
-
-