10、线性表代码实战
🌺博客汇总:🌃Summary And Schedule🌠
🌸考研相关内容汇总:考研Schedule&&Summary
🌼408王道C督学课程目录:《王道C语言督学班目录》
本章需要掌握:
1、顺序表(静态分配)怎么定义?
2、打印PrintList、插入ListInsert、删除ListDelete、查找LocateElem
0、与408关联(大题)
会考到顺序表和链表,对表中内容进行操作
1、顺序表原理
什么是线性表?n个相同类型的元素组成的有序集合。
ai-1是ai的前驱,ai+1是ai的后继
2、顺序表初始化、插入、打印、删除、查找12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510 ...
9、数据结构概述
🌺博客汇总:🌃Summary And Schedule🌠
🌸考研相关内容汇总:考研Schedule&&Summary
🌼408王道C督学课程目录:《王道C语言督学班目录》
本章需要掌握:
1、逻辑结构是什么?存储结构是什么?
2、T(n)时间复杂度的简单计算
3、S(n)空间复杂度为O(1)代表什么?
0、与408关联(选择+大题)本章需要掌握:
部分卷子小题也会考到时间复杂
基本上考到数据结构大题都需要设计算法的时间复杂度
1、逻辑结构与存储结构逻辑结构(抽象的):数据元素之间的逻辑关系。有集合结构、线性结构、树形结构、图形结构。
存储结构(具体的):数据结构在计算机中的表示。有顺序存储、链式存储、索引存储、散列存储。
顺序存储
链式存储
优
随机存取
充分利用存储单元
元素占空间少
不会出现碎片现象
缺
只能使用整块的存储空间
需要额外的空间存放指针
会出现碎片现象
只能实现顺序存取
2、时间复杂度与空间复杂度算法:对特定问题求解步骤的描述
算法的特征:有穷、确定、可行、输入、输出
时间复杂度:所有语句 ...
08、结构体与C++引用讲解
🌺博客汇总:🌃Summary And Schedule🌠
🌸考研相关内容汇总:考研Schedule&&Summary
🌼408王道C督学课程目录:《王道C语言督学班目录》
本章需要掌握:
1、定义、初始化结构体、初始化结构体数组
2、什么是结构体对齐?结构体指针怎么用?指向结构体数组?指针偏移?
3、typedef重命名结构体
4、C++引用,再接往函数传入变量,函数拿到&变量,可以改变其值
1、结构体定义、初始化、结构体数组123456789101112131415161718192021222324252627#include <stdio.h>//定义struct student{ int num; char name[20]; char sex; int age; float score; char addr[30];}; //注意加分号int main(){ //1、初始化 struct student s={1001,"le ...
07、函数
🌺博客汇总:🌃Summary And Schedule🌠
🌸考研相关内容汇总:考研Schedule&&Summary
🌼408王道C督学课程目录:《王道C语言督学班目录》
本章需要掌握:
1、什么是定义宏,什么是函数库,怎么引用
2、递归,有结束条件,return到自身相关
3、局部变量和全局变量遵从就近原则
1、函数的声明预定义
include 尖括号是标准库
include “func.h” func.c是自己写的函数库
函数的声明放到func.h 函数的实现放到 func.c 引用在main.c
在func.h用定义宏来防止重复定义
ifdefine FUNC_H //如果没有定义过
define FUNC_H //那么定义
endif //结束
嵌套?函数内不可用定义函数,函数间可以相互调用。
2、递归12345678int f(int n){ if(m==1) { //一定要有结束条件 return 1; } ret ...
06、指针
🌺博客汇总:🌃Summary And Schedule🌠
🌸考研相关内容汇总:考研Schedule&&Summary
🌼408王道C督学课程目录:《王道C语言督学班目录》
本章需要掌握一些代码,就是简单的指针逻辑
1、如何定义一个指针,并用于构造函数,实现值传递
2、指针的偏移(指针指向一个数组后,指针+1代表指向元素+1,可以修改p=&a[3]指向第四个元素)
3、malloc一个空间,用strcpy、puts测试并free掉(malloc在 库)
1、指针的定义
本质:间接访问(指针p是指是一个地址值,*p是取其值)
12345678910#include <stdio.h>int main(){ int i = 5; int* p = &i; printf("i=%d\n",i); //直接访问 printf("*p=%d\n",*p); //间接访问 return 0;}
2、值传递123456789101112 ...
05、一维数组与字符数组
🌺博客汇总:🌃Summary And Schedule🌠
🌸考研相关内容汇总:考研Schedule&&Summary
🌼408王道C督学课程目录:《王道C语言督学班目录》
本章需要掌握:
1、定义数组长度必须固定,定义数值数组两种方式int a[10]; 或 int a[10] = {0,0,0};
2、定义字符数组的三种形式,字符数组以’\o’结尾
3、scanf(“%s”,arr)、strlen(c)、strcat(c,d)加、strcpy(c,d)赋值给c、strcmp(c,d)比较-1/0/1
4、注:四个函数在库
1、数组定义123456789101112#include <stdio.h>int main() { //1、定义方式一 int a[10]; int b[10]={1,2,3,4,5,6,7}; //2、定义方式二 char c[10]; char d[10]={'a','b','c ...
04、选择和循环
🌺博客汇总:🌃Summary And Schedule🌠
🌸考研相关内容汇总:考研Schedule&&Summary
🌼408王道C督学课程目录:《王道C语言督学班目录》
本章重点?
1、if-else if-else
2、while
3、for( ; ; )
4、continue、break退出循环
一些注意:
scanf(“%s”,c)
1、if-elseif-else123456789101112131415161718192021222324252627282930#include <stdio.h>int main() { int i = 9; //1、if-else if(i>0)//不要在括号后加分号 { printf("i is bigger than O\n"); } else { printf("i is not bigger than O\n"); } ...
03、运算符和表达式
🌺博客汇总:🌃Summary And Schedule🌠
🌸考研相关内容汇总:考研Schedule&&Summary
🌼408王道C督学课程目录:《王道C语言督学班目录》
本章重点?
1、逻辑运算符 ! && ||
2、位运算符 << >> ~ & | ^
3、条件运算符号,三目运算符 ?;
4、sizeof()求字节数
没什么好写的…
C语言总共提供13种
算术运算符 + - * / %
关系运算符号 > < == >= <= !=
逻辑运算符 ! && || //优先级相对于前两者靠后
位运算符 << >> ~ | ^ &
赋值运算符 =
条件运算符号 ?;
逗号运算符号 ,
指针运算符 * &
求字节运算符 sizeof
强制类型转换运算符 (类型)
分量运算符 . ->
下表运算符 []
其他 ...
02、数据的类型、数据的输入输出
🌺博客汇总:🌃Summary And Schedule🌠
🌸考研相关内容汇总:考研Schedule&&Summary
🌼408王道C督学课程目录:《王道C语言督学班目录》
本章需要掌握:
1、基本数据类型:int、float、char、[]、struct、*、void
2、常量: #define PI 3.14
3、printf:%d、%o、%x、%u、%f、%c、%s、%p、%%、%-5.2f(左对齐5位数2位小数)
4、scanf:%d、%f、%c (注意格式规范)
5、CPU采取小端方式进行数据存储,因此低位在前,高位在后
一些注意:
1、5/2得到2,1/3得到0
2、printf默认右对齐,加-左对齐
3、输入的数据都在标准输入缓冲区内,scanf去获取后,放到对应的变量内
4、机试请使用scanf(“%c”,&c),不要用rewind、fflush一类,%d%f忽略空格和\n,%c不忽略任何字符
1、数据类型基本类型(整型int、浮点型float、字符型char)、构造类型(数组[]、结构体struct)、指针类型(*)、空类 ...
01、课程导学,编程环境搭建
🌺博客汇总:🌃Summary And Schedule🌠
🌸考研相关内容汇总:考研Schedule&&Summary
🌼408王道C督学课程目录:《王道C语言督学班目录》
本章需要掌握:
1、CLion创建可执行的C99代码
2、CLion简单DeBUG
一些建议:
1、刻意练习调试,每写一部分及时验证
2、独立写代码,不要抄而要自己想
3、理解老师代码的时候画流程图,之后根据列成图自己写程序
1、下载Clion这里下载安装:https://www.jetbrains.com/clion/download
这里激活使用:https://idea.medeming.com
2、创建、运行C项目、断点调试1、 新建项目:这里选C Executable —> 配置路径 —> 语言标准默认C99,其他也都ok(C++兼容C,直接选C++ Executable,语言标准C++17)
2、运行项目:选中main.c (或者main.cpp) —> 点右上角运行 —>左下角显示结果
3、汉化:选中File —> ...