如果说学习过《计算导论与C语言基础》,你已经迈入了C语言的殿堂,那么《C程序设计进阶》将帮助你更上一层楼,理解“结构化程序设计的基本思想”,掌握“C程序设计的基本技巧”,养成“良好的编程习惯和编程风格”,编写出“真正具有生命力的计算机程序”。完成这门课的学习,你将能解释C程序设计语言的基本概念与知识,并且使用C语言编写计算机程序解决生活工作中的实际问题。
C程序设计进阶
This course is part of 程序设计与算法 Specialization
Instructor: Ge Li 李戈, Ph.D.
19,635 already enrolled
Included with
(827 reviews)
Skills you'll gain
Details to know
Add to your LinkedIn profile
1 assignment
See how employees at top companies are mastering in-demand skills
Build your subject-matter expertise
- Learn new concepts from industry experts
- Gain a foundational understanding of a subject or tool
- Develop job-relevant skills with hands-on projects
- Earn a shareable career certificate
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV
Share it on social media and in your performance review
There are 9 modules in this course
在学习完“理性认识C程序”之后,我们希望同学们能够自己动手编写一些简单的C程序了!如果你还没有具备这个能力,一个可能的原因是因为你还没有进行“足够的训练”。因为,学习一门程序语言,需要你获得的有两样东西——“知识”和“技巧”。“知识”可以通过讲授传递,但“技巧”却只能通过训练获得。因此,我们鼓励同学们在“理性认识C程序”这个迭代周期中,多多进行简单的编程练习,以便获得“技巧”。(注意:我们特别鼓励同学们多多进行“简单”的编程练习,因为,所有复杂的问题,都是简单问题的组合。我们的教学实践表明:多做简单练习,不但可以提升学习者的学习信心,也非常有助于编程技巧的提升!)在完成“理性认识C程序”部分的学习之后,我们将开始新的迭代周期——“结构化的程序”。在这个部分,我们将讲授一种基本的、用于将程序组织成“模块”的语言成分——函数。函数实际上是C程序的基本组织单位,是C程序设计中的重要组成部分。在这个迭代周期中,同学们不仅要学习函数的定义方式、调用方式,还要学习一种重要的函数使用方法——递归。我们将讲授递归调用的基本机理,并讲授“利用递归解决问题的技巧”。这部分,讲本课程C程序设计部分的一个难点!不过,请同学们不要担心,我们将力图通过最简明的讲解方式,帮助大家掌握“递归”的使用方法,力争“化困难于无形”。我们一起努力吧!PS:我们这门课程一直处在不断地建设与优化当中,吸取了很多以往课程的经典视频,所以如果你看到视频中出现了不同课程的名字,也不要惊讶哦,因为你正在集百家所长。
What's included
2 videos
本次课,我们讲授“函数”的基本概念、定义方式、调用方式、参数传递方式等基本知识。其间,我们还将讨论“变量的作用域”的问题。PS:我们这门课程一直处在不断地建设与优化当中,吸取了很多以往课程的经典视频,所以如果你看到视频中出现了不同课程的名字,也不要惊讶哦,因为你正在集百家所长:)
What's included
6 videos1 programming assignment
本次课是C程序设计部分的一个难点。但,请不要担心,我们将按照“由简单到复杂”的方式进行讲解。我们先为大家讲解“递归调用”的执行过程,以便让大家看到“其实,递归调用与普通函数调用没什么不同”的道理,在此基础上,再去详细分解递归调用的过程,以印证我们学到的知识。 在此基础上,我们将通过几个典型的递归函数设计范例,向大家讲授递归函数的作用和使用技巧。 需要强调的是,如果在这个部分大家感觉到困难,请不要气馁:)因为,根据我们的教学经验,80%以上的同学都会感觉到同样的困难。当你也感觉困难时,可以先耐心听完我们的讲解,然后再通过练习慢慢体会。只要稍加练习,这个困难的感觉就会逐渐消失,因为,到那时,你已经对递归越来越熟悉了:)
What's included
7 videos1 reading1 programming assignment
本次课我们为大家讲解“指针”“指针变量”“指向变量的指针”等名词的基本含义。在此,需要特别提示大家:请大家务必明确区分上述的基本概念,以便在后面的课程中准确的使用它们。 同时,我们还将向大家阐述一个重要的理解——数组名 与 指向数组首元素的指针 之间的关系,也请大家务必反复印证,以便日后轻松使用:)
What's included
8 videos1 assignment
这次课是上次课的延续,我们将为大家讲解“指针与字符串”之间的关系,“二维数组名的含义”(这也是一个小难点,不过,只要大家谨记上次课中的结论,一切将会变得简单:)),以及“指针与函数参数”之间的关系(这种情况很常见哦:))。
What's included
4 videos1 programming assignment
这次课我们将紧跟上一节的脚步,继续为大家讲解“指针做函数参数”及“指针做函数返回值”的两种情况,到此为止,你应该对于指针在C程序设计里的应用有一个比较全面的了解啦,不妨在本次课末尾画个思维导图考考自己,是否弄清楚了这个重要的概念。
What's included
4 videos1 programming assignment
这次课,我们将为大家讲解“结构体”的基本概念、定义方式和使用方式,结构体的使用将为某些程序的编写带来极大的便利:)在此基础上,我们还将介绍“链表”的基本概念和创建方法。需要说明的是,在我们的课程上,链表将不作为一个重点练习的内容,因为,在后续的课程中,它将被反复大量的讨论:)
What's included
5 videos
这是C程序设计课程的最后一次课,也是一次“承前启后”的课程。我们将介绍“面向对象”编程方法的基础思想。我们希望通过这个简短的介绍能够让大家对“面向对象”的软件设计方法有一个最初步的了解,以便顺利步入后续的课程:)
What's included
3 videos
恭喜你顺利完成了所有教学模块的学习,来到了我们的终极挑战-期末考试!不要紧张,考试中所涉及的内容都是为了帮助你自我检测是否真正掌握了C程序的相关知识,达到了你的目标,所以只要认真复习所学的模块,我想你一定没有问题的!加油吧,我在这趟《程序设计与算法》学习旅途的下一站等你哦!
What's included
1 video1 programming assignment
Instructor
Offered by
Recommended if you're interested in Software Development
Peking University
The Chinese University of Hong Kong
Shanghai Jiao Tong University
Peking University
Why people choose Coursera for their career
Learner reviews
827 reviews
- 5 stars
89.34%
- 4 stars
8.95%
- 3 stars
0.96%
- 2 stars
0.12%
- 1 star
0.60%
Showing 3 of 827
Reviewed on Apr 20, 2017
课后练习题和课程视频关联不大啊,递归那章作业略复杂,作业有个不好是不告诉你是哪几个样例不通过,郁闷的时候一个小程序得调试一整天,太费时间了,感觉和Courser优秀的课程还是有差距的,4星吧
Reviewed on Jul 12, 2021
Please give the test cases when the code is failed, otherwise, it makes people confuse.
Reviewed on Jan 25, 2018
教学视频生动有趣,学起来一点也不枯燥。
New to Software Development? Start here.
Open new doors with Coursera Plus
Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription
Advance your career with an online degree
Earn a degree from world-class universities - 100% online
Join over 3,400 global companies that choose Coursera for Business
Upskill your employees to excel in the digital economy
Frequently asked questions
Access to lectures and assignments depends on your type of enrollment. If you take a course in audit mode, you will be able to see most course materials for free. To access graded assignments and to earn a Certificate, you will need to purchase the Certificate experience, during or after your audit. If you don't see the audit option:
The course may not offer an audit option. You can try a Free Trial instead, or apply for Financial Aid.
The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.
If you subscribed, you get a 7-day free trial during which you can cancel at no penalty. After that, we don’t give refunds, but you can cancel your subscription at any time. See our full refund policy.