c语言期末总结

c语言总结
第一部分 顺序结构
1,常量与变量
(1)常量与变量是C语言中处理数据的两种形式。
(2)常量在程序执行中不可改变,而变量是可以改变的。
(3)赋值时用int,float,double,char等。
(4)使用变量时必须声明,声明变量必须在第一条可执行语句前。
2,赋值运算
(1)“a=b"即“把b赋值给a”,而不是“a与b相等”。
(2)赋值运算左边只能是变量,而不能是常量或表达式。
3,输入与输出
(1)输入:“cin”,“scanf( )”。
  输出:“cout,“printf( )”。
(2)cin,cout比scanf,printf慢。
4,各种运算符
(1)”+”,"-","*","/","%"。
(2)"&&","||","!"(非)。
(3)"==","<=","<=","!="。
5,自+运算
a++的意思为在使用a后,使a加1;++a的意思为在使用a前,使a加1。
第二部分 if,switch语句
1,if语句
(1)格式
   if(条件表达式)
   { 循环语句
   }
(2)注意:
条件后面不能加";"。
强调条件用单分支。
2,switch语句
(1)格式
switch(表达式)
{
case 表达式;
语句;
break;
case 表达式;
语句;
break;

case 表达式;
语句;
break;
default:
语句;
}
(2)注意
switch语句后面的表达式是离散数值表达式(整数,字符型,枚举)。
当case后的工作一样时,不用写break。
break表示在执行完一个case语句后,停止执行整个语句。
第三部分 循环结构
1,for语句
格式略
注意
(1)for语句用于实现当型循环控制语句,适合于循环次数已知,计数控制的循环。
(2)for语句中的声明变量只在for循环结构中有效。
(3)i++使用i,再自己加1;
  ++i先自己加1,使用i;
(4)如何对循环变量进行赋值,决定了循环的执行次数,如果在循环体内再次改变这个变量的值,将改变循环的正常执行次数。
2,while语句
注意
(1)while语句属于当型循环。
(2)while语句中循环控制表达式是在执行循环体之前测试的,当符合while后括号内条件时执行循环。
(3)while语句适合于循环次数未知,条件控制的循环。
(4)注意while后没有分号,否则会造成死循环。
3,do-while语句
注意
(1)do-while语句用于直到型循环控制结构,在循环底部进行循环条件测试,循环至少执行一次,如果循环控制表达式的值为假,就退出循环,执行循环体后面的语句。
(2)适合于循环次数未知,条件控制的循环。
(3)注意while后面有";"。
4,循环嵌套
循环嵌套即将一个循环放在另一个循环语句的循环体中构成的循环。
5,其他语句
(1)break语句
当执行循环体遇到break语句时,循环将立即终止,从循环语句后的第一条语句开始继续执行。
(2)continue语句(一般不用)
 continue语句与break语句都可以用于对循环进行内部控制,但当循环体遇到continue语句时,程序将跳过countinue语句后面尚未执行的语句,开始下一个循环。
(3)goto语句
用于流程控制。当程序需要退出多重循环时,用goto要比break方便。
第四部分  数组
1,一维数组
注意点

 (1)在创建数组时,必须定义数组的类型和大小。

  数组的大小不能为0。

 (2)在数组a[n]中,[ ]内必须为常量,不能为变量。

 (3)输入数组时,可以使用循环语句。例如

for(int i=1;i<n+1;i++)

cin>>a[i];

 (4)数组必须先定义,在使用。

 (5)数组不能进行赋值操作,如果声明int a[n],b[n]。是不能b=a。

 (6) memset(a,0,sizeof(a))的作用是把数组a清零,他在cstring中定义。
2,二维数组
注意点

 (1)二维数组与一维数组相类似。

    在创建数组时,必须定义数组的类型和大小。

  数组的大小不能为0。

 (2)在数组a[n][b]中,[ ]内必须为常量,不能为变量。

 (3)输入数组时,可以使用循环语句。例如

for(int i=1;i<n+1;i++)

for(int j=1;j<b+1;j++)

cin>>a[i][j];

 (4)数组必须先定义,在使用。

 (5)回文

回文是指从左到右和从右到左读一串字符的值都是一样的。
3,字符类型与字符串
(1)字符类型
  1字符类型由一个字符组成的字符常量和字符变量。

   2字符常量的定义

     const

          字符常量='字符'

   3字符变量定义

     char 字符变量。
2,字符数组

   1字符数组的定义格式

     char ch[n];


      字符数组的定义同于一般数组,所不同的是数组类型是字符型,第一个元素同样是从char[0]开始的。
 3,字符串的输入与输出

     1输入

       格式scanf("%s",字符串名称);

       注意,这里的输入不加&

             输入多组字符串时,以空格隔开。

       格式get(字符串名称)

       注意,get只能输入一个字符串。

      2输出

        格式printf("%s",字符串名称);

        注意,用%s输出时,输出项只能是字符串名称。

### 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、付费专栏及课程。

余额充值