文章目录
- 前言
- 第一章——程序设计和C语言
- 第二章——算法
- 第三章——C程序设计之顺序程序设计
- 第四章——选择结构程序
- 第五章——循环结构程序设计
- 第六章—— 数组
- 第七章——函数
- 第八章——指针
- 第九章——用户自己建立的数据类型
- 总结
前言
本人2022考研,复试用书为《C程序设计》第四版,我用的第五版,没有差别。先整体复习,再重难点突破。大多都为基础概念。
第一章——程序设计和C语言
-
程序:一组计算机能够识别和执行的指令。
-
指令:使计算机执行特定的操作,如加法指令使计算机进行一次加法运算。
-
计算机语言:计算机和人都能识别的语言,作为”沟通“桥梁,作用类似于语言。如:汉语用于中国人之间的交流。
-
计算机语言的分类:如下图,具体分类了解即可。
- 源程序、目标程序、可执行程序
第二章——算法
-
程序=算法+数据结构
-
.数据结构:对数据的描述。也就是在程序中要指定用到的数据,以及数据的类型和数据的组织形式。 如:int i; 即在程序中用一个int 类型的变量 i;
-
算法:对操作的描述。描述计算机进行的操作步骤。
-
算法五大特性,四大表示方法
-
结构化程序设计方法:自顶向下、逐步细化、模块化设计、结构化编程
-
三种基本结构:顺序结构、选择结构、循环结构
第三章——C程序设计之顺序程序设计
-
标识符:标识符即为一个对象的名字。只能由字母、数字、下划线中一种或多种组合而成,且第一个字符必须为字母或下划线。
-
基本数据类型,如下图:
-
补码的求法:正数直接用二进制数表示;负数则取反加一。
5的补码:
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
-5的补码:
1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0(取反)
1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1(加一)
- i++与++i的区别:i++先使用原值i,再加1,而++i直接加1
#include<stdio.h>
int main()
{
int i=0;
printf("%d\n",i++);
}
#include<stdio.h>
int main()
{
int i=0;
printf("%d\n",++i);
}
- 低精度自动向高精度转化:使用:(int)x;将x转化为int类型。
- getchar接受字符,putchar输出字符
第四章——选择结构程序
- 选择语句:if语句与switch语句。
- 双目运算符与单目运算符的区别:
- 三目运算符:表达式1?表达式2:表达式3
如:输入一个字符判断是否为小写字母,若为小写字母则直接输出,否则将其转换为小写字母输出。
第五章——循环结构程序设计
- 为何需要循环结构?
- 常见的循环语句有哪些?
Whlie的使用方法
注:Do while:与while的区别
while先判断,再执行循环体,而Do…while先执行循环体再判断
for的使用方法
- Break与continue的比较;
第六章—— 数组
- 为何需要数组?
- 数组的基本特征是什么?
- 如何定义数组?
-
当数组大小为10,前5个元素赋值后,后五个元素直接默认为0;
-
字符数组如何初始化?
第七章——函数
- 为何使用函数?
.如何实现函数?
- 函数的种类:
- 局部变量与全局变量
- 动态存储方式与静态存储方式
- 自动变量(auto),静态局部变量(static),寄存器变量(register)为3种局部变量有何主要区别?
第八章——指针
- 何为指针?
- List item
- 何为指针变量?
- 何为空指针?
- 何为野指针?
- 数组与指针有什么关系?
第九章——用户自己建立的数据类型
- 为何需要自己定义数据类型?
- 那为何不采用数组将其存储在一起,使得其相互联系?
-
如何定义?
-
结构体类型并不是一种类型,其可以设计出许多结构体类型,各自包含自己的成员
-
结构体类型与结构体变量有何区别?
- 何为链表?
- 如何创建链表
-
链表分为静态链表与动态链表(malloc函数分配空间)。
-
共用体与结构体有何区别?
- 为何用typedef声明新类型名?
Typedef struct
{
int month;
Int day;
Int year;
}Data;//定义一个新类型Data,代表结构体类型
Data birthday;//定义结构体变量birthday,它等价于stuct birthday;
Data *p;//定义结构体指针变量p,指向此结构体类型数据,等价于stuct *p;
注:struct Data birthday,是错误写法。
- Typedef有利于程序的迁移植
总结
以上为一些重难点,加黑的为重中之中,大概率出现在复试提问中,可以尝试理解记忆。希望星光不负赶路人,上岸!
推荐学习C语言的一个公众号:免费的!!!
适合新手学习!