课程简介 Course Introduction

《C语言程序设计》课程是“软件工程”等工科类本科专业的学科基础课程。

一、教学目标

《C语言程序设计》课程主要是培养学生的程序设计能力和运用计算机进行逻辑思维的能力。通过本课程的学习,让学生掌握C语言的编程思想、培养学生对程序设计的兴趣、学会利用计算机来进行问题的求解,同时对算法及其在计算机内的实现有一个基本的了解。为以后学习《数据结构》等课程打下坚实的基础。进一步的教学目标还包括有:掌握结构化程序设计方法、独立思考能力与团队合作能力等,为后续课程的学习打下坚实的基础。

二、课程的性质与地位

1.课程的性质

《C语言程序设计》是“软件工程”专业的学科大类课程,是专业基础课程。

《C语言程序设计》在我们“软件工程”专业的人才培养方案中,是“C → C++ → JAVA →Android → VC++与多核并行编程/J2EE”的程序设计课程教学主线的基础,在一定程度上,它支撑了对C/C++和JAVA两大类程序设计课程的学习。

2.课程的地位

这里主要讲的是前后续课程之间的关系,《C语言程序设计》是其它编程语言类课程和计算机软、硬件类课程的前导课程。

它本身的前导课程是:中学数学、高等数学(小部分)、计算机应用基础。《C语言程序设计》的后续课程(即:直接相关的课程):面向对象程序设计(C++描述)、数据结构与算法(C++描述)、JAVA语言程序设计、计算机网络、嵌入式系统及应用、机器人技术、VC++与多核并行编程、Linux系统等。在软件工程专业的人才培养方案中,《C语言程序设计》与其它专业课程内容联系紧密。如果按照层次结构来分的话,《C语言程序设计》处于最低层,是它们的基础,是其它很多后续课程的先导课。《C语言程序设计》的内容是全国计算机软件考试中要求的主要程序设计语言。

三、教学理念践实“理-实一体化”,通过程序设计,培养学生软件工程专业的基本理论素养;通过小型项目的设计与编程开发,增强对编程和问题求解的基本体验;让学生积累软件开发的基本经验,为学生在未来的可持续发展奠定坚实的基础。

本门课程的基本教学课时数如下:周学时数:3(理论)-2(实验);共有15个教学周;总学时数是:45(理论)-30(实验)学时。


教学大纲 Teaching Syllabus

软件学院《C语言程序设计》课程教学大纲

课程名称

C语言程序设计

英文名称

C Programming Language

适用专业

软件工程

课程编码

20H15281

开课学期

1

学分/周学时

4/ 5-2

课程性质

1

课程类别

2

先修课程

教材或参考书与学习资源

1. 李俊. C语言程序设计.北京. 电子工业出版社. 2012

2. 何钦铭等.C语言程序设计.杭州.浙江科技出版社.2004

3. 颜晖等.C程序设计综合实验指导.杭州.浙江大学出版社,2004

4. http://jpkc.zju.edu.cn/k/409/ml16.htm浙江大学软件学院精品课程网站(C语言程序设计)

一、课程简介

《C语言程序设计》课是软件工程专业学生必修的专业基础课程,是后续C++与言程序设计、数据结构、操作系统等课程的先修课程。本课程的内容包括数据类型、数据运算、语句、函数、程序结构、数组、结构体、指针和文件。

课程教学目标:通过学习本课程,使学生不但掌握高级编程语言的知识、编程技术和基本算法,更重要的是掌握程序设计的思想和方法,具备利用计算机求解实际问题的基本能力,能灵活应用高级语言进行程序设计。

二、理论教学内容及学时安排

章目编号

章目名称

教学内容与教学目标

学时安排

1

C语言概述

了解:C语言的发展及特点

理解:C语言程序的基本结构

掌握:C语言字符集、标识符和关键字

应用:C语言程序的开发环境

2

2

C语言基本数据类型与表达式

了解:C语言的数据类型

理解:常量与变量

掌握:运算符和表达式;运算符的优先级

应用:数据类型转换;

4

3

C语言输入/输出语句

了解:C语言基本语句;

理解:字符数据的输入和输出;

掌握:格式化输入与输出

应用:计算多项式成绩格式化输出结果

4

4

选择控制结构

了解:算法的概念

理解:IF语句;条件运算符;SWITCH语句

掌握:IF语句的应用

应用:多重IF语句的嵌套

6

5

循环控制结构

了解:循环的概念

理解:循环结构算法; WHILE语句;DO…WHILE语句;FOR语句; BREAK语句和CONTINUE语句;

掌握:;利用循环求解简单的数学问题

应用:多重循环语句的嵌套

6

6

函数与宏替换

了解:函数与宏的概念

理解:模块化设计;函数的参数(形式参数和实在参数)及 参数传递;

掌握:函数的简单调用

应用:宏替换

6

7

数组

了解:数组的概念

理解:一维数组;二维数组;字符数组与字符串;

掌握:二维数组;

应用:数组作为函数参数;

8

8

指针

了解:指针的定义

理解:指针与指针变量;指针与数组;指针与字符串;

掌握:指针与函数;

应用:指向指针的指针变量;

8

9

结构体与共用体

了解:结构体类型的定义;

理解:结构体变量;结构体数组;共用体类型;

掌握:结构体与函数;

应用:链表;结构体类型指针;

6

10

文件

了解:文件概述;

理解:文件的打开和关闭;

掌握:文件检测函数;文件定位和随机读写;

应用:文件读写函数;

4

三、实验或实践环节安排

项目编号

项目名称

主要内容

开设要求

学时安排

1

简单程序设计

1)熟悉C语言程序开发环境

2)Hello.c程序的实现

1

1

2

基本数据处理

1)求两个数的和与差

2)求平方根

3)数据的基本格式

4)基本输入输出语句的实现

1

1

3

分支结构程序设计

1) IF条件语句的实现

2) Switch条件语句的实现

3) 条件语句的嵌套

1

2

4

循环程序设计

1) For循环语句的实现

2) While循环语句的实现

3) 利用循环语句求阶乘

4) 嵌套循环

1

2

5

函数与宏替换

1) 函数的实现

2) 函数的参数传递

3) 宏与宏替换的实现

1

2

6

数组

1) 一维数组的实现

2) 二位数组的实现

3) 数组的排序

1

2

7

字符串

1) 字符串的定义

2) 字符串的基本操作

3) 字符数组的转换

1

2

8

指针

1) 指针的定义

2) 利用指针对数组排序

3) 指针函数的使用

1

2

9

结构和链表

1) 结构体变量的定义

2) 日期换算的实现

3) 成绩表的实现与处理

1

2

10

文件

1) 文件的基本操作

2) 统计文本文件中的字符数

3) 两个文件合并

1

2

3四、教学方法

C语言程序设计课程讲授应该注重理论和实践相结合。理论课程每周三学时,实验课程每周两学时。理论课程以讲授为主,鼓励课堂讨论, 建议采用多媒体教学方式。根据每章内容,建议每周布置一定量的书面作业,使学生更好地掌握课程中讲授的基本概念和基本方法。实验课程以学生在实验室完成上机作业为主。上机作业分两部分:基本部分要求学生能够自己动手完成的基础性实验,要求尽量在实验课上完成;综合部分训练学生综合应用所学知识的能力,根据课程内容,由二至三个较大的实验构成,可以在课后完成。综合实验由2-3 个人构成的小组协作完成,并通过协作训练学生的交流与团队合作意识。实验内容强调培养学生动手解决实际问题能力,并培养学生养成良好的编程习惯,如代码的可读性,完整性,健壮性,实用性和正确性等。同时结合全国软件设计大赛的要求选拔一部分有编程专长的学生。

五、考核方式

闭卷考试。

六、成绩评定方式

平时考查成绩占 10%、实验成绩占20%、期末考试成绩占70%。

七、学院审批意见

课程负责人签字: 年 月 日

课程负责人联系邮箱:yangjun9118@126.com

教学团队成员签字

年 月 日

主管教学院长签字: 年 月 日

填写说明:

1、课程名称:严格按照培养方案中的全称填写;

2、英文名称:严格按照培养方案中的标准名称填写;

3、适用专业:填写全称。

4、课程编码:严格按照培养方案中的编码填写;

5、开课学期:填写阿拉伯数字,1-8;

6、学分/周学时:学分填写阿拉伯数字,周学时按每周理论学时-实验(实践)学时填写,填写阿拉伯数字;

7、课程性质:分为必修课和选修课两类,“1”代表必修课,“2”代表必修课,请按课程性质填写“1”或“2”;

8、课程类别:分为公共基础课程、学科大类课程、专业领域课程或教师教育课程。“1”代表公共基础课程,“2”代表学科大类课程,“3”代表专业领域课程,“4”代表教师教育课程,请按课程类别填写“1”、“2”、“3”、“4”;

9、先修课程:填写全称,如没有填写“无”;

10、教材:按如下格式填写:著者姓名.书名/题名.出版地.出版者.出版年;

11、主要参考文献:参考文献为著作的(包括一般著作及以著作形式出版的论文集、学位论文、报告等)请依次注明:[序号] 著者姓名.书名/题名.出版地.出版者.出版年;参考文献为期刊论文的,请依次注明:[序号] 著者姓名.篇名.刊名.出版年.卷(期);网络资源请注明网络文献所在网址;

12、课程简介:主要介绍课程的地位与基本任务,核心教学内容与基本要求等。5号宋体,字数不超过500字;

13、理论教学内容及学时安排:学时安排指讲授本部分教学活动需要的学时数,填写阿拉伯数字;

14、实验或实践环节安排:指非独立、依附于理论课程的实验、实训、实习等教学环节;开设要求分为必做或选做两类,“1”代表“必做”,“2”代表“选做”,请按照开设要求类别填写对应的阿拉伯数字。

15、考核方式:如开/闭卷试卷、上机考试、课程论文、实践型考试等方式;

16、成绩评定方式:如学期考试成绩占70%,平时考查成绩占30%等;

17、各章节知识点及教学目标:识记:能知道有关的名词、概念、原理的意义,并能正确认知和表达;领会:在识记的基础上,能全面掌握基本概念、基本原理、基本知识、基本方法,能掌握有关概念、原理、知识、方法的区别与联系;简单应用:在领会的基础上,能用学过的基本概念、基本原理、基本方法的一两个知识点分析和解决简单的问题;综合应用:在简单应用的基础上,能用学过的多个知识点,综合分析和解决比较复杂的问题;各知识点之间用“;”分开。

18、填完本表格后,多余的表格需自行删除。

留言板 Message Board
条留言  共

  • 参与互动
    Interaction

  • 扫码加入课程
    Scan QR Code
教学队伍Teaching Members
您申请加入课程:C语言程序设计
需要验证您的身份,请输入请求信息:
  • 学号号:
  • 班级选择:
  • 附注信息:

扫一扫二维码,快速加入本课程!

放大二维码 查看使用方法
课程
引导