十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

C语言核心知识点速览

C语言核心知识点速览 C 语言基础常量值固定不变的量使用const声明常量名建议大写。变量分类局部变量作用域仅限函数 / 模块内部无默认值使用前必须手动初始化。全局变量作用域覆盖整个程序定义在函数外部自带默认初始值。数据转换大类型 → 小类型强制转换 必须手动强转转换过程存在数据丢失风险多类型混合运算时用精度最高的类型接收结果。小类型 → 大类型隐式转换 / 自动转换 程序自动完成转换无需手动书写转换代码。运算符1. 算术运算符 - * / %2. 比较运算符 3. 赋值运算符 - * / %4. 自增 / 自减运算符--前置写在变量左侧先自增再参与表达式运算后置写在变量右侧先执行表达式运算运算结束后再自增5. 逻辑运算符||!逻辑与短路特性遇到 false 直接终止判断||逻辑或短路特性遇到 true 直接终止判断6. 位运算符按位与二进制对应位同为 1 结果才是 1否则为 0|按位或二进制对应位任意一个为 1结果就是 1^按位异或二进制对应位值不同则为 1相同则为 0~按位取反二进制 0 变 11 变 0快捷计算方式~X -(X1)无符号右移正数右移左侧补 0负数右移左侧补 1左移正负数值左移右侧统一补 07. 三目运算符语法格式条件 ? 表达式1 : 表达式2逻辑条件成立执行表达式 1不成立执行表达式 2流程控制语句一、选择控制语句1. if‑else if‑else 语句if 语句在条件达成并执行后if 语句直接执行结束。 if 语句本质上是判断语句。使用场景区别三目运算适合简单判断if 语句适合复杂判断2. switch 语句注意点switch 语句不会循环执行执行到末尾或者 break 结束需要注意 break 的位置没有匹配的 case 时才会执行 default类比 elseswitch 的括号中只能放整型表达式二、循环控制语句while 循环while (条件){表达式;}do‑while 循环先执行一次再判断条件for 循环for (初始值; 判断条件; 循环后的操作) {循环体;}for 循环嵌套要区分变量是全局变量还是局部变量三、goto 语句goto 跳转到定义的标签标签命名由字母、数字、下划线组成不能以数字开头命名。四、跳转关键字对比表格关键字生效范围作用break当前循环 /switch退出本层continue仅循环跳过本次直接下一轮判断return整个函数直接结束函数goto当前函数内跳转到自定义标签补充说明continue 需要循环计数器开启下一次迭代单独 if 无法使用break 只能跳出循环块、switch 块普通 if 的大括号不能用 break 跳出return 作用层级最高可在函数任意位置使用continue 只跳过本次循环剩余代码使用不当容易死循环scanf 输入输出特点scanf 专门用于接收字符可同时接收多个字符、数字。 普通变量接收时必须带上取地址符双引号内部尽量只写格式符不要加\n。表格符号含义printfscanf%dint 整数打印整数读取整数%ffloat 小数打印小数读取小数%c单个字符打印字符读取字符%s字符串打印字符串读取字符串额外规则getchar读取一个字符putchar输出一个字符printf 输出 double /float 都可以用%fscanf 读取 double 必须写%lf指针变量指针变量存放地址的变量。type *p a;p存储变量 a 的地址*p通过指针访问变量 a 的值指针运算p 1指针向后偏移一个对应数据类型的字节长度*(p 1)取出偏移后地址保存的值指针变量支持自增、自减运算指针与数组的关系数组在需要地址的场景下会隐式转换为首元素地址。arr数组首元素的地址arr整个数组的地址二者内存数值相同但数据类型不同1之后偏移长度不一样指针本身占用空间指针字节大小和数据类型无关由操作系统决定64 位系统占用 8 字节32 位系统占用 4 字节高频易错点*p 1和*(p 1)含义不同arr arr[0]arr和arr地址值相等类型不同同操作系统下所有类型的指针占用字节大小一致数组定义数组是一个容器可以存放多个数据。 数组分为全局数组和局部数组规则和普通变量类似。全局数组自动完成初始化存放在静态存储区内存自动清零局部数组不会自动初始化保存随机脏值存放在栈空间栈不会自动清除残留数据补充规则如果数组只初始化一部分元素剩余未赋值的元素同样自动初始化。 原因数组初始化是一条完整指令整块内存空间都会被处理。数组下标数组的下标从 0 开始。数组字节计算数组总字节数 数组长度 × 单个元素占用字节大小 数组长度 数组总字节数 ÷ 单个元素占用字节大小循环遍历选择明确循环次数 → 使用 for 循环不清楚循环次数 → 使用 while 循环字符数组使用双引号赋值末尾自动携带\0属于字符串使用大括号 单引号逐个赋值不手动添加\0只是普通字符数组使用%s、strlen、strcpy等字符串函数数组末尾必须带有结束符\0
返回列表