admin管理员组文章数量:1794759
考研[*C语言*]学习笔记汇总(全)
文章目录:
A:学习视频
B:考点范围
C:C语言学习教程
D:补充知识
E:题库
F:其他资源
1.printf()和scanf()
1.1 printf()
1.2 scanf()
2.if 的常见问题解析
3.数组的常见问题解析
4.动态分配内存
5.定义结构体struct
6.共用体union
7.枚举enum
8.return的用法
9.break和continue
10.指针数组和数组指针的内存布局
11.野指针
12.typedef与#define的区别
13.文件操作
14:位运算计算
15:字符串函数运用
16:函数
17:数组
18:指针
A:学习视频
《郝斌C语言自学教程》180集:470万播放量 推荐学习-40小时
【C语言】《带你学C带你飞》(小甲鱼)61集:380万播放量 入门前学习-18小时 760万播放量地址2
2020年视频-播放量910万-习题比较多 100万播放量地址2时间比较长
B:考点范围 C基础知识、选择结构程序设计、理解分支结构的流程图表示、循环控制、数组的使用、函数的使用、指针的使用、结构体、文件操作 C:C语言学习教程笔记参考 参考文档
参考地址1
鱼C工作室
N诺C语言复习攻略
C语言学习笔记知识点齐全——新手入门必看【建议收藏】
菜鸟教程C语言
C语言网教程
易百教程C语言教程
简单教程C 语言基础教程
C语言技术网C语言教程
Linux公社C语言
D:补充知识C语言——数据类型
C语言——运算符优先级
C语言——六大运算符
C语言——| 和 ||——& 和 && 的区别用法
搞懂C语言指针,看这篇就够了!
E:题库C语言——经典200道实例【基础例题100道——进阶例题100道】
C语言——题库汇总
C语言——练习题_200题【选择题-判断-填空-程序设计】
c语言——试题库编程题_[经典例题——60道]
大学C语言各章节练习题_及答案合集【350题】《选择题- 判断-程序填空-程序设计》
F:其他资源C语言——BOOK
C语言——上课重点知识截图_课堂练习
指针-预处理-结构体-共用体-枚举-文件-位运算
1.printf()和scanf()
C语言——printf&scanf格式字符串【占位符】
C语言——输入【getchar-scanf-gets】输出【putchar-printf-puts】用法区别
1.1 printf() 四种用法: printf(“字符串\\n”); printf(“输出控制符”, 输出参数); printf("输出控制符1 输出控制符2 输出控制符3 ", 输出参数1, 输出参数2, 输出参数3… ); // 输出控制符和输出参数个数必须一一对应。 printf("输出控制符 非输出控制符 ", 输出参数);%d | int |
%ld | long int |
%c | char |
%f | float |
%lf | double |
%x(或%X, #x %#X) 2f 2F 0x2f 0X2F | int 或 long int 或 short int |
%s | 字符串 |
补充:calloc函数
void *calloc(unsigned n, unsigned size); 其作用是在内存的动态存储区中分配n个长度为size的连续空间。 函数返回一个指向分配域起始地址的指针; 如果分配不成功,返回NULL。 用calloc函数可以为一维数组开辟动态存储空间,n为数组元素个数,每个元素长度为size 5.定义结构体structC 结构体地址1 C 结构体地址2
C复合结构——结构体struct
6.共用体unionC复合结构——共用体union
7.枚举enumC语言——enum(枚举)
把事物所有可能的取值一一列举出来 使用枚举可以限制用户的输入,使得代码更安全 enum weekday{ sun,mou,tue,wed,thu,fri,sat }; enum weekday a, b, c; 或者为: enum weekday{ sun,mou,tue,wed,thu,fri,sat }a, b, c; 或者为: enum { sun,mou,tue,wed,thu,fri,sat }a, b, c “枚举”类型的变量取值不能超过定义的范围 枚举类型是一种基本数据类型,而不是一种构造类型,因为它不能再分解为任何基本类型 在枚举值表中应罗列出所有可用值。这些值也称为枚举元素 在C编译中,对枚举元素按常量处理,故称枚举常量。它们不是变量,不能对它们赋值 枚举元素作为常量,它们是有值的,C语言编译按定义时的顺序使它们的值为0,1,2… 枚举值可以用来作判断比较 一个整数不能直接赋给一个枚举变量 #include <stdio.h> enum DAY { MON=1, TUE, WED, THU, FRI, SAT, SUN }; int main() { enum DAY day; day = WED; printf("%d",day); return 0; } 以上实例输出结果为:3 8.return的用法 1>终止被调函数,向主调函数返回表达式的值 2>如果表达式为空,则只终止函数,不向主调函数返回任何值 3> break是用来终止循环和switch的,return是用来终止函数的 void f(){ return; //return只用来终止函数,不向主调函数返回任何值 } int f0{ return 10; //第一:终止函数,第二:向主调函数返回10 } int f({ return 10.5;1 //因为函数的返回值类型是int //所以最终f返回的是10而不是10.5 } 9.break和continue break break如果用于循环是用来终止循环 break如果用于switch,则是用于终止switch break不能直接用于if,除非if属于循环内部的一个子句 continue 用于跳过本次循环余下的语句,转去判断是否需要执行下次循环 10.指针数组和数组指针的内存布局 指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定。它是“储存指针的数组”的简称。 数组指针:首先它是一个指针,它指向一个数组。在32 位系统下永远是占4 个字节,至于它指向的数组占多少字节,不知道。它 是“指向数组的指针”的简称。 指针数组:int *p1[10]; 这里需要明白一个符号之间的优先级问题。“[]”的优先级比“*”要高。只要看到int * 就首先认为他两个是结合在一起的。 p1 与“[]”结合,构成一个数组的定义,数组名为p1,int *修饰的是数组的内容,即数组的每个元素。那现在我们清楚,这是一个 数组,其包含10 个指向int 类型数据的指针,即指针数组。 数组指针:int (*p2)[10]; 在这里“()”的优先级比“[]”高,“*”号和p2 构成一个指针的定义,指针变量名为p2,int 修饰的是数组的内容,即数组的每 个元素。数组在这里并没有名字,是个匿名数组。那现在我们清楚p2 是一个指针,它指向一个包含10 个int 类型数据的数组,即数 组指针。 11.野指针 野指针:不守规矩乱跑的指针,最好把它拴住。 栓“野指针”的链子就是这个“NULL”,定义指针变量的同时最好初始化为NULL,用完指针之后也将指针变量的值设置为 NULL。也就是说除了在使用时,别的时间都把指针“栓”到0 地址处。这样它就老实了。 12.typedef与#define的区别C语言——typedef &define的区别用法
1.执行时间不同 关键字typedef在编译阶段有效,由于是在编译阶段,因此typedef有类型检查的功能。 #define则是宏定义,发生在预处理阶段,也就是编译之前,它只进行简单而机械的字符串替换,而不进行任何检查。 2.对指针的操作 typedef (int*) p1; 和 #define p2 int* 另外注意,一个有分号,一个没有分号! typedef int * pint; #define PIN T int * int i1 = 1, i2 = 2; const pint p1 = & i1; //p不可更改,p指向的内容可以更改,相当于 int * const p; const PIN T p2 = & i2; //p可以更改,p指向的内容不能更改,相当于 const int *p;或 int const *p; pint s1, s2; //s1和s2都是int型指针 PIN T s3, s4; //相当于int * s3,s4;只有一个s3是指针 13.文件操作鱼C工作室 参考地址1
分类 函数名 功能 |
打开文件 fopen() 打开文件 |
关闭文件 fclose() 关闭文件 |
文件定位 fseek() 改变文件位置指针的位置 |
rewind() 使文件位置指针重新至于文件开头 |
ftell() 返回文件位置指针的当前值 |
文件状态 feof() 若到文件末尾,函数值为真 |
ferror() 若对文件操作出错,函数值为真 |
clearerr() 使ferror和feof()函数值置零 |
文件读写 fgetc(),getc()从指定文件取得一个字符 |
fputc(),putc()把字符输出到指定文件 |
fgets()从指定文件读取字符串 |
fputs()把字符串输出到指定文件 |
getw()从指定文件读取一个字(int型) |
putw()把一个字输出到指定文件 |
fread()从指定文件中读取数据项 |
fwrite()把数据项写到指定文件中 |
fscanf()从指定文件按格式输入数据 |
fprintf()按指定格式将数据写到指定文件中 |
C位运算<< >> ~ & | ^(以数值的二进制位为单位进行操作的)
15:字符串函数运用C字符串函数运用(strlen-strcpy-strcat-strncat-strcmp-strrev-strlwr-strupr-strchr-strstr)
16:函数函数
传值调用 | 该方法把参数的实际值复制给函数的形式参数。在这种情况下,修改函数内的形式参数不会影响实际参数。 |
引用调用 | 通过指针传递方式,形参为指向实参地址的指针,当对形参的指向操作时,就相当于对实参本身进行的操作。 |
数组
多维数组 | C 支持多维数组。多维数组最简单的形式是二维数组。 |
传递数组给函数 | 您可以通过指定不带索引的数组名称来给函数传递一个指向数组的指针。 |
从函数返回数组 | C 允许从函数返回数组。 |
指向数组的指针 | 您可以通过指定不带索引的数组名称来生成一个指向数组中第一个元素的指针。 |
指针
指针的算术运算 | 可以对指针进行四种算术运算:++、--、+、- |
指针数组 | 可以定义用来存储指针的数组。 |
指向指针的指针 | C 允许指向指针的指针。 |
传递指针给函数 | 通过引用或地址传递参数,使传递的参数在调用函数中被改变。 |
从函数返回指针 | C 允许函数返回指针到局部变量、静态变量和动态内存分配。 |
版权声明:本文标题:考研[*C语言*]学习笔记汇总(全) 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686887285a114520.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论