c语言期末总结

这篇博客是对C语言进行的知识点总结,包括基本类型如bool、true、false,循环语句如break、continue、goto,分支结构如switch、case、default,以及字符类型char,循环结构do、for、while,数值类型,条件语句if和else,sizeof操作,头文件的使用,以及常见的易错点,如赋值、自加表达式、字符串处理等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

c语言知识总结

关键字:bool、true、false

bool即为布尔类型,属于基本类型中的整数类型,取值为真和假。true和false是具有布尔类型的字面量,为右值,即表示真和假。

注:字面量:用于表达源代码中一个固定值的表示法。

break、cotinue、goto

break用于跳出for、while循环或switch语句。continue用于调到一个循环的起始位置。goto用于无条件跳转到函数内得标号处。一般情况不建议使用goto,风险较大。

switch、case、default

switch分支语句的起始,根据switch条件跳转到case标号或defalut标记的分支上。

char

表示字符型和宽字符型这些整数类型(属于基本类型),但一般只专用于表示字符。char(和signed char、unsigned
char一起)事实上定义了字节的大小。char表示单字节字符

do、for、while

循环语句的组成部分,C和C++都支持这3种循环。

数值类型,如 int、double、float、short、long、signed、unsigned

signed和unsigned作为前缀修饰整数类型,分别表示有符号和无符号。signed和unsigned修饰char类型,构成unsigned
char和signed char,和char都不是相同的类型;不可修饰wchar_t、char16_t和char32_t。其它整数类型的signed省略或不省略,含义不变。signed或unsigned可单独作为类型,相当于signed int和unsigned int。

double和float专用于浮点数,double表示双精度,精度不小于float表示的浮点数。long double则是C++11指定的精度不小于double的浮点数。

if和else

条件语句的组成部分。if表示条件,之后else表示否定分支。

sizeof

返回类型名或表达式具有的类型对应的大小。

头文件

iostream iomanip cmath cstdio cstdlib
algorithm

接下来是这个学期以来我的易错点总结

算术表达式符号:±*/% 赋值表达式:表达式数值是最左边的数值。常量不可以赋值。定义时不可以连续赋值,定义后可以连续赋值。赋值的左边只能是一个变量。

自加表达式:++在前表示先加再用在后表示先用在加。

使用printf或者scanf函数时要在程序最前面加上#include<stdio.h>。printf后可以有一个参数也可以有两个。一定要注意二者用法。printf输出一个字符串或按格式和数据类型输出变量值。

选择结构:单个if;if-eise(双分支if);多个else语句;switch语句。注意其运行方式。if后面若跟有多条语句则需使用大括号。

循环结构:while,for,do-while,嵌套循环。关系运算符注意等于是==不等于是!=

While(条件)
   (或在循环体添加{})

循环体;

控制条件语句在循环体后执行

跳转控制语句:break可以跳出单层循环或多层循环

Continue跳出当前循环,进入下一循环

字符数组(字符串)每个元素只能存放一个字符。C语言中没有字符串变量字符串的输入存储处理输出等必须通过字符数组实现。字符串的输入scanf()可以用%c逐个字符输入比如char

a[6];scanf(“%s,”a)注意a前不需要加&因为a不是数组名,注意:以%s输入时以第一个非空白字符开始,终止与第一空白字符。Gets()作用为输入一个字符串空格回车都存放在数组中最后自动加入“/0”。字符输出用printf()或puts()。前者可以用%C逐个输出后者输出一个字符串结尾自动换行。

最终总结:任务重大,任重道远,应脚踏实地!

### C语言期末复习重点和知识点汇总 以下是C语言期末考试的重点知识点以及相关内容的总结: #### 一、基础语法 1. **变量与数据类型** - 掌握基本的数据类型,如 `int`、`float`、`double` 和 `char` 的定义及其范围[^3]。 - 学会如何声明并初始化变量。 2. **输入输出函数** - 使用标准库 `<stdio.h>` 中的 `printf()` 和 `scanf()` 函数完成程序交互[^3]。 - 输入字符串时需注意缓冲区溢出问题,建议使用 `%s` 或其他安全方式读取用户输入。 3. **条件控制语句** - 熟悉 `if...else` 结构用于分支判断。 - 掌握逻辑运算符 (`&&`, `||`, `!`) 的优先级及作用[^5]。 4. **循环结构** - 循环语句包括 `for`、`while` 和 `do...while`,理解其执行流程差异。 - 需要注意边界条件设置错误可能导致死循环等问题。 #### 二、数组与字符串处理 1. **一维/二维数组操作** - 数组索引从零开始计数;访问越界会造成未定义行为。 - 对于字符型数组即字符串的操作尤为重要,比如拼接、比较等常用方法[^3]。 2. **字符串函数应用** - 常见的标准库函数有 `strcpy()`、`strcat()` 及长度计算函数 `strlen()` 等。 - 自己实现简单的字符串拷贝或连接功能作为练习巩固基础知识。 #### 三、指针概念深入理解 1. **地址传递机制** - 明确指针的概念——存储内存地址的一种特殊类型的变量。 - 能够通过解引用(`*p`)获取所指向对象的具体数值[^2]。 2. **动态分配空间** - 利用 `malloc()` 或者 `calloc()` 请求堆上的额外存储区域来扩展静态分配不足的情况。 - 记得释放不再使用的资源以免造成泄漏现象发生。 #### 四、函数设计技巧 1. **参数传值 vs 参数传址** - 如果希望修改实参,则应采用按地址调用的方式而非单纯复制副本给形参[^1]。 2. **返回值的意义** - 合理规划每一个自定义函数应该产生的结果形式(单一值还是复合结构体),以便后续调用更加灵活高效。 #### 五、文件I/O管理 - 文件流分为两种模式:文本模式(binary mode) 和二进制模式(text mode)[^1]。 - 主要涉及打开关闭动作(`fopen(), fclose()`)还有逐字节或者整块读写命令(`fgetc(), fread()`)等等。 #### 六、综合实践题目演练 为了更好地掌握以上理论要点,在准备过程中应当注重实战训练环节。可以从以下几个方面入手: - 数据结构初步认识,例如链表节点增删改查等功能模块开发[^4]; - 经典算法模拟试题解答,像冒泡排序法、快速查找定位目标项位置之类的内容; - 实际应用场景下的编码挑战项目尝试构建小型管理系统雏形。 ```c // 示例代码展示如何交换两个整数而不借助临时变量 void swap(int *a, int *b){ (*a)^=*b; (*b)=(*a)^(*b); (*a)=(*a)^(*b); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值