本课程不提供教学服务、作业批改及证书发放。
程序设计是一门基础课程。对于计算机相关专业而言,程序设计是专业基础知识,是进一步学习其他专业知识的第一步阶梯;对于非计算机专业而言,程序设计的学习有助于理解计算机的能力所在,理解哪些是计算机擅长解决的问题,怎样的方式方法是计算机擅长的手段,从而能更好地利用计算机来解决本专业领域内的问题。
C语言是古老而长青的编程语言,它具备了现代程序设计的基础要求,它的语法是很多其他编程语言的基础,在系统程序、嵌入式系统等领域依然是无可替代的编程语言,在各类编程语言排行榜上常年占据前两名的位置。
对于非计算机专业的学生,学习本课程的主要目的是掌握程序设计的基本方法,C语言是教学媒介。但是对于计算机专业的学生,本课程是向后续的计算机组成、操作系统、编译原理、体系结构等课程前进的基石。
本课程是以C语言来讲授程序设计的入门知识,而非具体教授C语言,关于C语言的全面知识,还需要学习本课程的后续课程——“C语言程序设计进阶”。
程序设计是实践性很强的课程,该课程的学习有其自身的特点,听不会,也看不会,只能练会。你必须通过大量的编程训练,在实践中掌握编程知识,培养编程能力,并逐步理解和掌握程序设计的思想和方法。在这里所提供的,只是基础的知识讲解,要想学会编程,还需要更多时间的投入和努力。
为了学习编程,你需要有一台计算机,安装必要的编程软件。无论是MS Windows、Mac OS X还是Linux,都有适合C语言编程的软件。
本课程的后续课程是《C语言程序设计进阶》
本课程不提供证书服务。
作为第一门编程课,本课程可以零基础学习。大学计算机(大学计算机基础、计算思维导论)等课程对于理解本课程的部分内容有帮助,但这些课程的学习不是必须的。
C语言的编程软件选择太多,我们推荐Dev C++;如何在Dev C++中编辑、编译和运行程序;详解第一个程序:程序框架、printf、出错怎么办;做点计算:如何让程序输出算术结果
变量定义:变量是做什么的,如何定义一个变量;变量赋值与:a=b表示把b的值赋给a,而不是它们相等;变量输入:如何让程序读入用户输入的数字
表达式:运算符和算子,取余计算,程序就是数据加计算;浮点数:整数运算的结果只有整数部分,不然就要用浮点数
;运算符优先级:优先级、结合关系、赋值运算符;复合赋值和递增递减
做判断:if语句根据条件决定做还是不做;判断的条件 关系运算,做比较的运算符; 否则的话:如果条件不成立呢?; 逻辑运算:对比较的结果进行与、或、非运算
逻辑运算;嵌套的if-else:在if或else后面要执行的还是if语句,就成了嵌套; 级联的if-else if:像分段函数这样的程序就可以写成级联的if; if-else的常见错误:没有{}、多了;、=和==这些都是常见的错误
循环:有些事情就得用循环才能解决;while循环:就像if一样,条件满足就不断地做后面大括号里的句子;do-while循环:不管三七二十一,先做循环内的句子再判断条件
for循环:这是最古老的循环; 循环的计算和选择:如何计算循环的次数,如何选择不同的循环
循环控制:如何用break和continue来控制循环 嵌套的循环:在循环里面还是循环; 从嵌套的循环中跳出:break只能跳出其所在的循环
猜数游戏;算平均数;整数求逆;前n项求和;整数分解;求最大公约数
函数的定义和调用
从函数中返回
函数原型:用来告诉编译器这个函数长什么样儿
参数传递:调用函数的时候,是用表达式的值来初始化函数的参数
5.1 初试数组
数组的使用:如何定义和使用数组,数组的下标和下标的范围
5.2 数组运算
数组的例子:统计个数 数组例子:素数
二维数组
何钦铭、颜晖,《C语言程序设计(第3版)》,高等教育出版社,2015年