本课程的教学目标是通过学习C语言,建立起程序设计的概念,掌握程序设计的基本方法和技巧,养成良好的程序设计风格,从而具备应用程序设计解决相关专业领域内实际问题的基本能力。本课程在系统介绍程序设计语言基本知识的基础上,注重程序设计思想及能力培养,并引入专业应用的实际问题和工程案例。
现代计算机遵循了艾伦·麦席森·图灵(Alan Mathison Turing)提出的”图灵机"模型,延续冯·诺依曼(John von Neumann)提出的“存储程序式电子计算机“体系结构。计算机程序(包括指令和数据)在运行时,首先存储到内存中,然后在中央处理器控制下自动执行。在执行过程中,按需从键盘、鼠标等输入设备获取信息,并向显示器、打印机等输出设备输出结果。
既然计算机程序运行于“存储程序式电子计算机“中,因此我们有必要了解构成程序的指令和数据如何表示和存储,也就是说为了能够编写计算机程序,首先要学习一门程序设计语言。在众多程序设计语言中,C语言为构建Unix操作系统而设计,后来的Windows、MacOS、Linux、Android等操作系统,以及众多应用软件均使用C语言开发。时到今日,C语言依然保持强大生命力。 因此本门课程选择了C语言作为学习程序设计的基础。
计算机作为一种计算系统,其数值计算、非数值计算方法与数学、物理、化学、力学等等领域的方法不同,将专业领域的求解方法转换为计算机领域的算法,掌握典型问题的求解算法,是本门课程的重要任务。
本课程围绕如何运算、如何表达逻辑、如何处理集合数据、如何实现代码的分解与重用、如何实现基于内存地址的数据访问、如何表达复杂对象、如何实现数据永久存储、如何实现程序移植,系统介绍表达式运算、输入输出、顺序结构、选择结构、循环结构、数组、函数、指针、结构体、文件、预编译处理等内容。
按照课程计划,本课程安排15周的学习任务,每周发布2个学时理论学习任务。建议各位同学另行安排2个学时完成上机实践。
通过学习使用C语言编写程序,初步掌握程序设计方法,养成良好的程序设计风格;系统地学习面向过程的、结构化程序设计的思想和方法;结合上机实践,使学生对程序设计有一个比较全面的、系统的了解,为学习程序设计和软件开发打下一个良好基础。
本课程要求学习者熟悉Windows或Linux的基本操作。
开发工具(PC)
[1] CodeBlocks 20.03
[2] VC++ 2010/2015/2017/2019/2022
[3] VSCode
开发工具(手机及平板电脑)
安卓系统:C4droid
苹果系统:C++
参考教材:
高克宁,程序设计基础(C语言)第3版,清华大学出版社,2018年1月
------------账号注册相关问题------------
Q1:我东北大学的学生,本期课程采用了混合式教学,在注册账号时要注意哪些问题?
A1:要求个人信息的“昵称”中包含学校和学号信息。例如NEU20200101。
Q2:我不是东北大学的学生,本期课程采用了混合式教学,在注册账号时注意哪些问题?
A2:要求个人信息的“昵称”中包含学校和学号信息。例如LNU20200101。
Q3:我是在校学生,未参加混合式教学,在注册账号时注意哪些问题?
A3:不做要求,建议参考问题Q2。
------------混合式教学相关问题------------
Q4:我希望依托本门课程开展混合式教学,如何联系?
A4:请发送邮件给我们,gkn@cc.neu.edu.cn
Q5:我们线下课程进度与MOOC进度不一致,如何处理?
A5:为了支持混合式教学需要,本期课程所有练习和测验将开放4周,最终截止时间不超过课程结束时间。请各位老师另行通知各项学习活动的实际完成时间。
Q6:如何获得学生过程学习数据?
A6:需要获得学生在线学习过程学习数据的老师,请通过慕课堂模块实现。
------------东北大学混合教学问题------------
Q7:本学期注册《C语言程序设计(理工类)》课程,教学如何开展?
A7:课程开展各项安排,请参见教务处通知。