开学第一问为什么要学C语言

又到了一年的开学季,每到这时候很多同学都会问“我为什么要学习C语言啊?”,这是一个每年都会被全中国几百万学子问到的问题。你可能会从老师那、师兄那得到这样的答案——“将来有可能会用到的”、“这是基本的程序素养,锻炼一下以后有好处”。事实上,如果你想认真学习计算机科学,你将不是“可能”,而是“一定”会用到C语言;你将不是“锻炼基本素养”,而是“如果不学好,后面就麻烦大了”。C语言程序设计是一门介绍了C语言基本概念并将其在程序设计中运用起来的课程。它在上个世纪七十年代诞生至今,已经度过了40多个春秋,在此期间经历多次的版本的更迭,目前市面上绝大部分语言的底层实现都是基于C语言。计蒜客的课程中我们同样推荐刚刚接触计算机科学的同学们学习C语言,在《CS:C语言程序设计》课程中,将会介绍如何用C语言完成基本的输入输出、数学运算、分支结构表达、循环结构表达;同时,我们会学会如何使用函数对程序进行组织、写出良好的程序;学会如何进行简单的工程设计与实现。你在完成这门课的学习后,将可以运用这门课的知识帮助你学习系统编程、操作系统设计、计算机体系结构、网络与通讯等课程。学习C语言程序设计对于计算机科学与技术领域其它内容有极为重要的意义。例如:●实现内存管理、写服务器之类的事情都可以通过C语言完成;●如果你希望修改操作系统内核或自己写一个操作系统,不学好C语言是绝对不行的;●设计、实现一个传输协议往往也抛不开C语言;●物联网核心的嵌入式系统编程很大程度上也会首选C语言;●虽然编译器并不是所有的都需要用C语言来写,但是很多高效率的编译器是C语言写出来的。课程风格这门课程的内容适合几乎所有专业的同学学习,主要针对没有计算机科学课程基础的大学新生或高中生。根据同学的背景差异和时间投入情况,扎实地学习这门课程需要大约8至16周不等的时间。课程每一部分的基础介绍都以卡片式阅读方式予以呈现;为了帮助同学们确认自己阅读后是否掌握基础知识,课程内设置了选择题、概念配对题、填空题等考察方式。在同学们理解基础知识的基础上,每一章节中都大量地使用了实时伴随引导编程的方式,带同学上手练习。根据不同章节的需要,同学还会被要求完成规模不一的项目,强化知识。同学在学习这一课程时,基础C语言语法部分占30%,基本程序设计思想占40%,简单算法与计算思维素养占20%,工程应用与工程习惯养成占10%。答疑服务在平时我们建议你使用课程中的问答功能进行提问,请注意在提问时将问题背景、具体问题和你试图解决的方法都陈述清楚,这样助教和其他同学在对问题进行回答时才能有所针对,快速解决问题。助教团队承诺,对于任何问题最慢24小时内给予回应。在问答中我们会根据学生提问的数量情况在每个月中设置1次到4次不等的在线直播答疑。相关信息将在问答的“公告”中显示。课程评分这门课程的的分数将分为两部分:

课程部分:课程部分的分数分布如下,最终学习成绩达70%及以上的同学将获得“已完成”的成绩,低于70%的同学将获得“未通过”的成绩。(更为详细的分数分布请参照成绩单页面)

类别权重说明基础知识得分18%选择题、填空题、概念配对题得分程序设计实验得分66%实时伴随引导编程、小项目得分工程实践得分11%中等规模项目得分阅读得分5%阅读课程完成得分考试部分:该课程每6个月会组织一次考试,在课程部分获得70%及以上成绩的同学将在考试开始前收到考试报名邮件。报名考试并且通过的同学将在“已完成”的成绩基础上获得以A、B、C、D标识的课程能力等级评价。最终的课程能力等级评价将参考由课程分数(占40%权重)和考试分数(占60%权重)计算出的综合成绩给出。A等级(包括A?和A+)将需要88%及以上的综合成绩;B等级(包括B?和B+)将需要76%及以上的综合成绩;C等级(包括C?和C+)将需要64%及以上的综合成绩;D等级(包括D+)将需要60%及以上的综合成绩。(备注:每一等级内前15%的同学将获得+,最后15%的同学将获得?)课程证书完成课程并且在课程考试后获得C?及以上的综合成绩的同学将获得课程证书,其中除直接的成绩外将包括你的学习报告、优势及弱势分析等内容。学术纯洁性本课程对学术纯洁性的要求遵循计蒜客《学术准则》的要求,你选择本课程表示同意并且承诺按照前述《学术准则》的要求开展学习。在这里,你需要格外注意:●本课程在涉及到小项目、中等规模项目的部分,你需要独立完成;使用任何非你自己独立完成的工程代码的行为都可能触发学术纯洁性检测程序,造成这一部分内容得分为0。●你可以参考互联网或其他教科书、教学材料的静态内容,你可以在问答中与这一课程的助教和同学进行讨论。在除计蒜客以外的其他互联网或线下渠道,与其他人讨论或粘贴课程内容、题目描述、题目答案都属于破坏学习过程设计、违背学术纯洁性的内容。课程参考密歇根州立大学(Spring)《CSEProgramminginC(C语言程序设计)》杜克大学(Fall)《CPSProblemSolvingSeminar(CProgramming)(问题求解讲习之C语言编程)》曼彻斯特大学(Spring)《COMPProgramminginC(C语言程序设计)》浙江大学《C语言程序设计》北京理工大学《C语言程序设计》哈尔滨工业大学《C语言程序设计》课程列表第1章语言入门基础●为什么学习C语言●用C语言编程的环境●C语言的是与非●让我们一起说你好●你的第一个C语言程序●将变量嵌入输出●变量与格式化输出●C语言的入门概念●在程序中学会换行●正确地换行第2章数学运算●重新认识基本运算●运算符的理解●做一下简单的运算●a的n次方●数学函数●让C语言变成计算器●计算球的体积●数学世界知多少●在程序中添加注释●正确地写注释第3章输入、输出与地址●一个数字复读机器●理解标准输入输出●一个加法计算器●A+B+C问题●格式化输入的用法●地址与取地址符●看看我们的地址第4章关系、逻辑与分支●是非的表示与关系运算●验一验关系运算式●关系运算式求值●如果的意义●分段函数求值●如果之后的如果●五则计算器●分支的嵌套●问号表达式●是非之间的逻辑组合●日期合法性●多路顺序结构●又见五则计算器●在程序中学会缩进●正确的缩进第5章循环●列出连续整数●逆序列出连续整数●理解循环结构●自增与自减●使用自增●缩小列出整数范围●循环结果配对●用for写循环●没有合数的程序●循环嵌套●特殊乘法结果●输出质数●循环嵌套的功能●判断质数●乘法表●小于指定值的质数●在程序中使用空格第6章函数●函数●正确的使用函数●自己的函数●理解函数●函数的概念●自定义的数学函数●嵌套调用函数●递归调用函数●函数使用的理解●声明与实现分离●在程序中命名●正确的命名●变量地址做函数参数●函数地址做函数参数●牛顿法求方程近似解●二分法求方程近似解●最大公约数与最小公倍数第7章数组●数组●数组求和●求数组中偶数和●数组理解与运用●筛法列举质数●指定范围的质数●线性查找●二分查找●实现二分查找●递推数组●炊饼问题●捕鱼问题●宏定义●冒泡排序●冒泡排序的演示●理解冒泡排序●选择排序●选择排序的演示●排序的实现第8章多维数组与字符串●数组与内存●看看数组与内存●字符数组●字符串与字面量●另一种字符串●字符串的正确理解●二维数组●二维数组输出●矩阵旋转输出●矩阵螺旋输出●矩阵翻转输出●二维数组理解●矩阵乘法第9章字符串与字符串操作●字符串输入与输出●输出到字符串●字符串的理解●字符串长度●字符串拷贝●字符串字典序●正确的字典序●字符串比较●排序名单●字符串连接●字符串函数连连看第10章指针、内存与位运算●指针与内存●正确理解指针与内存●动态分配内存●正确理解动态分配内存●长度未知的大数组●堆上内存的释放●指向指针的指针●相同的取值●空指针与类型转化●位运算●按位取反●按位与或●按位运算的结果●移位运算●移位运算计算第11章复杂结构与指针●结构体●点的距离●矩形与矩形面积●结构体的理解●点在矩形内●类型别名●向量加法●向量点积●结构体指针●正确理解结构体●链表●链表结构●正确理解链表●约瑟夫环问题●共用体●查看共用体地址●正确理解共用体●枚举●使用枚举类型●正确理解枚举类型第12章C语言工程开发●多模块程序●正确理解多模块程序●Makefile●正确理解Makefile●命令行参数●正确理解命令行参数●文件操作●一个简单命令的实现●在线判题的机制●正确理解在线测评●调试代码

●自制简易OJ

点击阅读原文查看课程~

赞赏

长按







































怎样能够治愈白癜风
北京专业白癜风医院是哪家



转载请注明:http://www.nydjfy.com/pxxx/9239.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了