weekeight 发表于 2023-11-4 15:00:11

大一C语言入门到底怎么学?

老师讲的根本跟不上

http://pic2.zhimg.com/v2-e303fb27dae81328fb713c92fd14e3f1_r.jpg

Lx7159 发表于 2023-11-4 15:01:06

程序员资源:https://zhuanlan.zhihu.com/p/376025068

yedan888 发表于 2023-11-4 15:01:16

关注我比较久的知友都知道了,我妹今年上大一,学校安排的编程语言是 C 语言,这对于一个初学编程的小白来说,并不容易!作为她亲哥的我,肩膀上抗着巨大的责任,那就是尽全力帮助她入门。
前段时间为了她专门调研了一波 IDE(有我俩的合影,快去瞧瞧),最后我比较钟情 Visual Studio Code,轻量级,高颜值。
我妹给我反馈说,学校老师安排的课程跟不上,上课经常走神,学的云里雾里,问我有什么好的办法没?不想就这么白白浪费了时间(还是有点觉悟哈)。
既然学校老师的课听不懂,那不妨听听网上的课,比如我之前推荐的浙大翁恺教授的 C 语言课程,在 B 站上可以找得到。现在还有,不知道以后还会不会下架,因为涉及到一些版权的问题。侯捷老师的 C++ 视频课都已经全部下架了,所以早点去白嫖,千万别后悔。
地址我这里再贴一下:
翁凯C语言_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

要学习 C 语言的知友抓紧时间去看一下,建议 1.5 倍速食用。我就是按照这么一个速度去看的,感觉不愧是浙大的教授,语言的表达能力,以及对程序的认知能力,尤其是对底层知识的一些讲解,确实配得上一个字——“彩”!
我按照这个视频的目录整理了一条以周为单位时间的学习路线,希望我妹在开学后能按照这个进度去学习一遍。知友们也可以参照。可能有些知识学习起来比较困难,比如说二进制这种涉及到底层方面的内容,建议多次食用。
当然了,学习任何一门编程语言都不容易,看一遍视频是不够的,可能有些知识点吸收不了。那就多看几遍,反正我就打算再看一遍,然后把涉及到程序在电脑上敲一遍,然后记录一些笔记,发布到我的博客上。
我之前有学习 Java 的经验加持,所以肯定会比我妹学起来容易得多,但说句实在话,不是我谦虚,这第一遍视频仍然有很多我之前没有掌握到的知识点。
编程语言都是相通的,C 语言作为 Java 语言的母胎,还是非常值得去学习一下打打基础的。好了,接下来来看一下我整理的学习路线,大部分来源于视频的目录,我稍作了删减。
第一周
1、计算机和编程语言
2、计算机的思维方式
3、为什么选择 C 语言
4、C 语言的简单历史
5、C 语言的编程软件
6、第一个 C 语言的小程序
7、详解第一个 C 语言的小程序
8、简单计算
9、macOS 操作系统下如何在命令行进行代码编辑和源代码编译
第二周
1、变量如何定义
2、变量的赋值和初始化
3、C语言的程序输入
4、常量和变量
5、浮点数
6、表达式
7、运算符的优先级
8、交换两个变量的值
9、复合赋值符和递增递减

第三周
1、0 和 o 的显示区别
2、if 语句
3、关系运算符
4、注释
5、else 语句
6、嵌套的 if-else 语句
7、级联的 if-else-if 语句
8、switch 语句
第四周
1、while 循环
2、do-while 循环
3、for 循环
4、break 关键字
5、continue 关键字
6、嵌套循环
7、goto 语句
第五周(练习题)
1、前 N 项求和
2、逆反数字
3、求最大公约数(辗转相除法)
4、求符合给定条件的整数集
5、求水仙花数
6、九九乘法表
7、素数求和
8、猜数游戏
第六周
1、数据类型
2、整数的位数
3、整数与二进制
4、整数的范围
5、整数的格式化
6、八进制和十六进制
7、如何选择整数类型
8、浮点数:double 和 float
9、浮点数的范围与精度
10、字符类型
11、逃逸字符
12、类型转换
13、bool 类型
14、逻辑运算符
第七周
1、函数的定义和调用
2、函数的返回值
3、函数的顺序及原型
4、函数的参数及传递
5、本地变量
第八周
1、数组的定义
2、数组的下标
3、二维数组
4、&运算符
5、指针
6、指针与数组
7、指针与 const
8、指针运算
9、动态内存分配
10、可变数组
第九周
1、字符串变量
2、字符串输入输出
3、字符串数组
4、单字符输入输出
5、字符串函数 strlen
6、字符串函数 strcmp
7、字符串函数 strcat
8、字符串搜索函数
第十周
1、枚举
2、结构类型
3、结构与函数
4、结构中的结构
5、类型定义
6、全局变量
7、静态本地变量
第十一周
1、宏定义
2、带参数的宏
3、头文件
4、格式化输入输出
5、文件输入输出
6、二进制文件
7、按位运算
8、移位运算
第十二周
1、链表
2、链表的函数
3、链表的搜索
4、链表的删除
第十三周
到了这一周,基本上 C 语言的理论知识就学完了,接下来就到了实践出真知的阶段了。到底有没有学会,就看能不能自己动手根据需求写出符合要求的代码。很多初学者吃亏就吃亏在这个方面,敲的代码太少,导致看代码的时候感觉自己像个程序员,要主动写代码的时候就感觉还没有入门。原因很简单,就是因为敲的代码太少了,甚至可以说,有些小套路的代码是要背会的。
那到哪找习题做呢?有没有一些经典的例子呢?比如说第五周提到的求最大公约数、求水仙花数、九九乘法表这些?
当然有,http://runoob.com 上有一百道经典的题目,并且给出了参考答案,我看了一下,还真不错。

http://pic1.zhimg.com/v2-13c6d9a93477f55a4c35165164bf8e78_r.jpg?source=1940ef5c
如果能把这些习题全部做出来的话,那基本上可以自信的拍拍胸膛,信誓旦旦地说,自己是一名合格的 C 语言程序员了。下面是网址。
https://www.runoob.com/cprogramming/c-100-examples.html
除了上面这些,我再列举一些经典的(来源于 CSDN)题目,供大家参考。可以说不管是学哪门子编程语言,这些例子都是绕不开的。我当年学 Java 的时候就敲过这些例子,敲完后感觉自己的嘴角洋溢着自信的笑容。
1、斐波那契数列
2、判断 101-200 之间有多少个素数,并输出所有素数及素数的个数。
3、找出 1000 以内的所有完数。
4、杨辉三角。
5、字符串反转。
6、用指针变量输出结构体数组元素。
7、建立一个有三个结点的简单链表。
有更多经典的例子,大家可以在评论区给出哈。
第十四周
有些知友喜欢看视频学习,有些知友可能更喜欢在线学习网站,那能不能推荐一些呢?好的,你稍等,这就来,我已经给大家准备好了。

http://picx.zhimg.com/v2-93b0f589f69b3063ebdd6860da7fe5d9_r.jpg?source=1940ef5c
虽然是英文版的学习网站,但只要保持着高中时期的词汇量,阅读是没有问题的。即便是有问题,借助一下翻译工具就完全没有问题了。最新的 Safari 浏览器还提供了及时翻译功能,点击地址栏的翻译小图标就可以翻译成中文了,阅读体验真不错。

http://pica.zhimg.com/v2-5a47dc3654ee13020d29f380c3a8d4e9_r.jpg?source=1940ef5c
下面是翻译后的内容,感觉翻译得挺舒适的。

http://pica.zhimg.com/v2-e72bc54d085d69ce0cf64683059e3b44_r.jpg?source=1940ef5c
这个网站底部还提供了在线练习的功能,更改完示例代码后,点击「Run」按钮就可以直接运行,及时看到输出结果。

http://pic1.zhimg.com/v2-96c679798084c771f549b86d9c2479d1_r.jpg?source=1940ef5c
爱了爱了。网站链接我贴一下,速去收藏。
Learn C - Free    Interactive C Tutorial

第十五周
大一这么下劲的学习,是为了什么?
我想很大一部分知友和我妹不太一样,她只想找份工作,哈哈哈,我对她要求也没那么严苛。
大家可能想要在大学毕业后顺利进入大厂工作(不想拿命换钱的可以选择银行的科技岗),那想要进入大厂的话,就需要趁早把算法题刷一刷,算法厉害的人进大厂还是相对容易些。
我妹之前整理了一份 GitHub 上开源的一本刷题笔记,作者是谷歌的一名员工,实力非常强劲,他写的这本算法笔记的质量更是没得说。代码是 C++ 写的,C 语言入门后学习起来的曲线就很平缓了。大家刚好可以趁着学习完 C 语言的热情大刷特刷一波,趁早建立起优势。
程序员宝宝:看完谷歌学长的刷题笔记,我决定 2021 年手撕这101道 Leetcode 算法题我是沉默王二,喜欢这篇内容的知友可以给个赞,顺带关注下我 @沉默王二,从此你是风而我是沙,嘿嘿。
链接:我一 jiao 踹开了 C 语言的大门
来源:公众号「沉默王二」

yangshouz 发表于 2023-11-4 15:01:34

大一C语言入门按照下面路线来,以及把下面的100道C语言编程案例学会就入门啦~
入门篇
1、什么是计算机语言
2、C语言的程序的结构
3、运行C语言的步骤与方法
4、了解简单的算法
5、怎么表示算法
6、结构化程序设计的方法
提高篇
1、顺序程序设计
2、数据的表现形式
3、C语言的输入输出
4、选择结构和条件判断
5、if、switch语句的使用
6、关系运算符与表达式
7、逻辑运算符与表达式
8、条件运算符与表达式
7、循环结构程序设计
8、while循环语句
9、do...while循环语句
10、for循环语句
11、循环的嵌套和比较
12、break和continue语句
强化篇
1、怎么定义和引用一维数组
2、怎么定义和引用二维数组
3、多维数组和字符数组
4、怎么定义函数
5、函数的调用
6、数组作为函数参数
7、局部和全局变量
8、内部和外部函数
9、变量的存储方式和生存期
深入篇
1、指针是什么
2、指针变量
3、通过指针引用数组
4、通过指针引用字符串
5、指向函数的指针
6、返回指针值的函数
7、指针数组和多重指针
8、动态内存分配与指向它的指针变量

升华篇
1、定义和使用结构体变量
2、使用结构体数组
3、结构体指针
4、用指针处理链表
5、共用体、枚举类型
6、typedef声明新类型名
7、C文件的有关知识
8、打开与关闭文件
9、顺序读写数据文件
10、随机读写数据文件
11、文件读写
从这里开始,下面是100道C语言习题
1、C语言 | 温度转换
2、C语言 | 计算存款利息
3、C语言 | 大写A转换为小写a
4、C语言 | 用%f输出实数
5、C语言 | 先后输出Love
6、C语言 | 由小到大输出两个数
7、C语言 | 三目运算判断大写
8、C语言 | 输入一个数,输出相应result
9、C语言 | 成绩的等级判别
10、C语言 | 判断是否是闰年

11、C语言 | 求1+2+...100的和
12、C语言 | 统计捐款人数及人均捐款数
13、C语言 | 输出100-200之间不能被3整除的数
14、C语言 | 输出4*5矩阵
15、C语言 | 求斐波那契数列的前30个数
16、C语言 | 判断是否为素数
17、C语言 | 求100-200之间的素数
18、C语言 | 三种样式的九九乘法表
19、C语言 | 求特定规律数的和
20、C语言 | 心形表白神器

21、C语言 | 打印菱形
22、C语言 | 逆序输出10个数
23、C语言 | 冒泡排序比较大小
24、C语言 | 将一个二维数组行列元素互换
25、C语言 |求3*4矩阵中最大的元素值及行列
26、C语言 | 输出杨辉三角
27、C语言 | 函数实现输出I love you
28、C语言 | 函数实现比较大小
29、C语言 | 递归求年龄
30、C语言 | 递归求n!

31、C语言 | 用指针对10个数排序
32、C语言 | 计算总平均分及第n个人的成绩
33、C语言 | 用指向元素的指针变量输出二维数组元素的值
34、C语言 | 将字符串a复制为字符串b并输出b
35、C语言 | 改变指针变量的值
36、C语言 | 让用户选择1或2输出max或min
37、C语言 | 把学生信息放在一个结构体变量中
38、C语言 | 统计选票结果的程序
39、C语言 | 按成绩高低输出学生信息
40、C语言 | 通过指向结构体变量的指针变量输出结构体变量中的信息

41、C语言 | 输出平均成绩最高学生的信息
42、C语言 | 建立链表,输出各结点中的数据
43、C语言 | 用同一表格输出若干人的数据
44、C语言 | 输入一些字符,直到输入“#”为止
45、C语言 | 最大公约数与最小公倍数
46、C语言 | 将“China”翻译成密码
47、C语言 | 求圆周长 面积,圆球表面积 体积
48、C语言 | 用getchar读入两个字符,分别用putchar和printf输出
49、C语言 | 输入小于1000的数,输出平方根
50、C语言 | 由小到大输出4个数

51、C语言 | 求某点的建筑高度
52、C语言 | 统计字符中英文 空格 数字和其他
53、C语言 | 求1!+2!+...+20!
54、C语言 | 输出水仙花数
55、C语言 | 找出1000以内的所有完数
56、C语言 | 求某个数列前20项和
57、C语言 | 自由落地,求第10次落地共经过多少米
58、C语言 | 猴子吃桃问题
59、C语言 | 乒乓球比赛,编程找出3对赛手的名单
60、C语言 | 选择法对10个数排序

61、C语言 | 求一个3*3矩阵对角线元素之和
62、C语言 | 将一个数按大小顺序插入数组中
63、C语言 | 输出魔方矩阵
64、C语言 | 找出二维数组中的鞍点
65、C语言 | 统计文章中的字符
66、C语言 | 将密码译回原文,并输出密码和原文
67、C语言 | 将两个字符串连接起来,不用stract
68、C语言 | 比较字符串s1 s2,不用strcmp
69、C语言 | 将s2中的字符复制到s1中,不用strcpy
70、C语言 | 将字符串中的元音字母复制到另一个字符串中

71、C语言 | 输出4个数字字符,每个数字空一格
72、C语言 | 用递归求n阶勒让德多项式
73、C语言 | 递归将一个整数n转换成字符串
74、C语言 | 计算某日是该年的第几天
75、C语言 | 指针由小到大输出3个整数
76、C语言 | 对n个字符开辟连续的存储空间
77、C语言 | n个人围成一圈,顺序排号
78、C语言 | 求字符串的长度
79、C语言 | 输入月份号,输出该月的英文
80、C语言 | n个整数,前面各数顺序向后移动m,后m个变成最前面m个

81、C语言 | 用指向指针的指针对5个字符串排序输出
82、C语言 | 用指向指针的指针对n个整数排序
83、C语言 | 选择排序
84、C语言 | 判断是否构成三级形
85、C语言 | 求a+aa+...+aa..a的值
86、C语言 | 判断是否为回文数
87、C语言 | static定义静态变量
88、C语言 | 使用auto定义变量
89、C语言 | 使用register定义变量
90、C语言 | 宏#define命令练习

91、C语言 | 学习使用&
92、C语言 | 学习使用异或^
93、C语言 | 学习使用按位取反-
94、C语言 | 学习使用递增运算符
95、C语言 | 学习使用逻辑运算符
96、C语言 | 求奇偶数个数
97、C语言 | 学习使用算术运算符
98、C语言 | 奖金发放问题
99、C语言 | 直接插入排序
100、C语言 | 希尔排序
以上,如果你看了觉得对你有所帮助,就给俺点个赞,分享给身边的人叭,这样俺也有更新下去的动力,跪谢各位父老乡亲啦~

amo_xue 发表于 2023-11-4 15:01:46

我大一看的黑马程序员的C语言教程自学,成功拿下二级证书(班里只有两人拿到)。
敷面膜的小码农:看了这篇文章,妈妈再也不用担心我花钱买二级证书了
为小白们附上开发工具:
c/c++开发工具visual studio       提取码:xzai

随手点赞,手留余香

Sprite 发表于 2023-11-4 15:02:09

b站搜索c语言郝斌,跟着后面撸就完事了,你看其他人给你从上到下一一列举,什么入门进阶这个书那个书,不能说没有用,但想要快速入门,撸视频就完了
并且必须跟着敲。
看视频就是让你入个门,想要往深了学,很多都是看书看论文。
总结:就想现在快速入个门,跟上老师,撸视频。以后想要深入学习,看书看论文看博客。
页: [1]
查看完整版本: 大一C语言入门到底怎么学?