C语言核心高频知识点
一、C语言基础与发展
** 二、编译与链接+VS项目基础**
三、main函数+第一个C语言程序(程序入口核心)
核心代码
#include <stdio.h>
int main() // 程序唯一入口,不可拼写为mian
{
printf("hello C\\n");
return 0; // 与main前int呼应,整型返回0表示程序正常结束
}
必考要点
四、常用头文件及对应核心库函数
<stdio.h>
printf()、scanf()、getchar()、putchar()
<string.h>
strlen()、strcpy()、strcat()、strcmp()、memset()、memcpy()
<math.h>
sqrt()、pow()、abs()、fabs()、floor()、sin()、cos()、tan()
<stdlib.h>
malloc()、free()、realloc()、atoi()、atof()、rand()、srand()
<stdbool.h>
定义bool类型,提供true、false布尔常量
<assert.h>
assert()
<time.h>
time()、localtime()
<windows.h> Sleep()、system(“cls”)、system(“pause”)
通用规则:使用库函数必须先包含对应头文件,否则编译报错;<windows.h>为MSVC编译器专属扩展头文件,非C语言标准头文件
五、关键字
六、字符与ASCII编码
必记ASCII码核心值
核心代码(字符与ASCII码互转)
#include <stdio.h>
int main()
{
printf("%d\\n", 'A'); // 输出A的ASCII码65
printf("%c\\n", 97); // 输出ASCII码97对应的字符a
printf("%c\\n", 'b'–32); // 小写b转大写B,输出B
return 0;
}
七、字符串与\\0+strlen和sizeof对比(重中之重)
字符串与\\0核心规则
strlen与sizeof核心对比(应试必考,易混淆)
本质区别:strlen是库函数,需包含头文件string.h,作用是计算字符串的有效长度;sizeof是C语言关键字/操作符,无需头文件,作用是计算变量/数组/类型在内存中占用的字节数
计算规则:strlen从起始位置开始,遇到\\0立即停止,不计算\\0;sizeof会计算整个变量/数组的内存大小,包含\\0(若存在),且计算数组时不会因\\0停止。
必考对比代码
#include <stdio.h>
#include <string.h> // 包含strlen头文件
int main()
{
char arr1[] = "abc"; // 自动加\\0,数组长度4
char arr2[] = {'a','b','c'}; // 无\\0,数组长度3
// strlen计算
printf("strlen(arr1):%d\\n", strlen(arr1)); // 遇\\0停,输出3
// printf("strlen(arr2):%d\\n", strlen(arr2)); // 无\\0,随机值,报错风险
// sizeof计算
printf("sizeof(arr1):%d\\n", sizeof(arr1)); // 计算总字节,含\\0,输出4
printf("sizeof(arr2):%d\\n", sizeof(arr2)); // 计算总字节,输出3
printf("sizeof(char):%d\\n", sizeof(char)); // 字符类型占1字节,输出1
return 0;
}
八、转义字符(常考,识别+应用)
#include <stdio.h>
int main()
{
printf("abc\\ndef"); // \\n换行,输出abc后换行打印def
printf("c:\\\\test\\\\code.c\\n"); // \\\\表示\\,输出c:\\test\\code.c
printf("%s\\n", "\\"应试C语言\\""); // \\"表示",输出"应试C语言"
printf("%c\\n", '\\130'); // \\130八进制转十进制88,输出X
return 0;
}
九、C语言语句分类(5类,应试考特征+识别)
C语言代码由一条一条语句构成,共分5类,应试重点掌握各类语句的特征,能快速识别即可。
语句识别核心代码
#include <stdio.h>
int Add(int x, int y)
{
return x + y; // 转向语句return
}
int main()
{
; // 空语句
int a = 5; // 表达式语句
printf("a=%d\\n", a); // 函数调用语句
if(a>3) // 分支控制语句
{
a *= 2; // 复合语句(代码块)
}
return 0;
}
十、注释(应试考格式+避坑要点)
注释规范代码
#include <stdio.h>
/* 多行注释:
功能:实现两数相加
入参:x、y为待相加的整型数
返回值:两数之和
*/
int Add(int x, int y)
{
return x + y;
}
int main()
{
int a = 2, b = 4; // 单行注释:定义两个整型变量
// printf("a=%d, b=%d\\n", a, b); // 注释掉此行,该行不执行
printf("两数之和:%d\\n", Add(a,b));
return 0;
}



