数理基础与科学素养
所在位置: 首页» 通识课程» 数理基础与科学素养
程序设计基础(C)
发布时间:2019-08-12     文章来源:

课程名称:C语言程序设计

英文名称:C Language and Programming

课程编号GEN04187

所属模块】公共必修课


学分数3

适用专业】非计算机专业


学时数32+32

开设学期】春季

【已开设次数】10+

【建议选课人数】60

授课教师姓名】公共课教研组

授课教师职称】讲师/副教授/教授

授课教师联系方式

开课单位】教育学部

【先修课要求】计算机基础

一、课程简介

C语言程序设计》是面向非计算机专业理科本科生开设的一门计算机基础课,它是一门实践性很强的课程,既要掌握概念,又要动手编程,还要上机调试运行。从计算思维能力培养的视角出发,从C语言的基本结构、语法规则、函数和数据结构类型等方面组织教学。同时, 这门课程也是“全国非计算机专业学生计算机应用能力水平考试”二级考试的主要语种之一。

二、课程目标

课程旨在使学生掌握C语言的主要内容和程序设计的基本原理与方法,培养学生的综合编程能力,提高学生用计算机解决或辅助解决实际问题的素养,为后续相关课程的学习以及将来的工作和科研打下良好的基础。

三、教学内容和学时分配

(一)第一章 计算机语言与程序设计概述 3学时(课堂讲授 1学时+课程实验2学时)

1. 主要内容

1.计算机语言 2. C语言简介 3.计算机程序 4. C语言程序

5.算法及表示方法 6.程序设计方法

2. 教学要求

:了解 :理解 :掌握

3. 重点、难点

:重点 :难点

4. 课前学习要求

阅读导学材料,预习课程内容。

5. 其它教学环节(如实验、习题课、讨论课、其它实践活动):

C语言实验环境熟悉。


(二)第二章 数据类型、运算符和表达式 7学时(课堂讲授5学时+课程实验2学时)

1. 主要内容

1.数据类型 2.标识符 3.常量和变量 4.运算符 5.表达式

6.整数类型 7.实数类型 8.字符类型 9.指针类型 10.结构类型

11.文件类型 12.空类型 13.类型定义

2. 教学要求

:了解 :理解 :掌握

3. 重点、难点

:重点 :难点


(三)第三章 基本语句与顺序结构程序设计 4学时(课堂讲授2学时+课程实验2学时)

1. 主要内容

1.C语言的语句 2.赋值语句 3.标准输入输出语句 4.文件操作语句

5.顺序结构程序设计举例

2. 教学要求

:了解 :理解 :掌握

3. 重点、难点

:重点 :难点

4. 课前学习要求:

阅读导学材料,预习课程内容。

5. 其它教学环节(如实验、习题课、讨论课、其它实践活动):

基本语句的使用和顺序结构编程。


(四)第四章 选择结构程序设计 4学时(课堂讲授2学时+课程实验2学时)

1. 主要内容

1.if语句 2.switch语句 3. 结构程序设计举例

2. 教学要求

:了解 :理解 :掌握

3. 重点、难点

:重点 :难点

4. 课前学习要求:

阅读导学材料,预习课程内容。

5. 其它教学环节(如实验、习题课、讨论课、其它实践活动):

if语句、switch语句的使用和选择结构编程。


(五)第五章 循环结构程序设计 7学时(课堂讲授3学时+课程实验4学时)

1. 主要内容

1.while语句 2. do-while 语句 3.for语句 4.break语句和continue语句

5.循环语句与文件 6.顺序结构程序设计举例

2. 教学要求

:了解 :理解 :掌握

3. 重点、难点

:重点 :难点

4. 课前学习要求:

阅读导学材料,预习课程内容。

5. 其它教学环节(如实验、习题课、讨论课、其它实践活动):

循环语句综合使用和循环结构程序设计


(六)第六章 函数 13学时(课堂讲授5学时+课程实验8学时)

1. 主要内容

  1. 函数的定义

  2. 函数的调用: 2.1调用方式 2.1调用机理 2.3声明被调函数与函数原型 2.4嵌套调用 递归函数与递归调用

  3. 变量的作用域:3.1局部变量 3.2全局变量

  4. 变量的存储类别:4.1 auto类别 4.2 extern 类别 4.3 register类别 4.4 static类别

  5. 函数与指针: 5.1指针变量作函数的参数 5.2指向函数的指针 5.3用函数指针调用函数 5.4用函数的指针作函数参数 5.5指针值函数

2. 教学要求

:了解 :理解 :掌握

3. 重点、难点

:重点 :难点

4. 课前学习要求

阅读导学材料,预习课程内容。

5. 其它教学环节(如实验、习题课、讨论课、其它实践活动)

函数的定义及简单调用;嵌套调用与递归调用;

变量的作用域与存储类别;函数与指针。


(七)第七章 数组 12学时(课堂讲授6学时+课程实验6学时)

1. 主要内容

  1. 一维数组:1.1定义与初始化 1.2数组元素的引用(下标引用、指针引用)

1.3数组的指针作函数参数 1.4数组的排序 1.5结构体数组

1.6批量数据的存取与文件操作

  1. 二维数组与多维数组2.1定义与初始化 2.2数组元素的引用(下标引用、指针引用) 2.3数组的指针作函数参数 2.4多维数组

  2. 字符数组与字符串:3.1字符数组与字符串 3.2字符串处理函数 3.3指针与字符串 3.4字符串指针作函数参数

  3. 指针数组与指向指针的指针:4.1指针数组 4.2指向指针的指针 4.3指针数组与命令行参数

2. 教学要求

:了解 :理解 :掌握

3. 重点、难点

:重点 :难点

4. 课前学习要求

阅读导学材料,预习课程内容。

5. 其它教学环节(如实验、习题课、讨论课、其它实践活动)

一维数组;二维数组与多维数组;字符数组与字符串,指针数组与指向指针的指针。


(八)第八章 动态数据结构 7学时(课堂讲授3学时+课程实验4学时)

1. 主要内容

  1. 内存申请函数

  2. 链表:2.1链表的结构 2.2链表的构建 2.3链表的操作 2.4几种特殊链表 2.5批量数据的存取与文件操作二叉树:3.1二叉树的定义 3.2二叉树的建立及操作

2. 教学要求

:了解 :理解 :掌握

3. 重点、难点

:重点 :难点

4. 课前学习要求

阅读导学材料,预习课程内容。

5. 其它教学环节(如实验、习题课、讨论课、其它实践活动)

链表的建立和操作;链表的应用


(九)第九章 综合编程 7学时(课堂讲授3学时+课程实验4学时)

1. 主要内容

  1. 综合编程的一般步骤

  2. 包含多文件的程序的组织:2.1工程文件 2.2 include命令 2.3内部函数和外部函数 2.4外部变量与静态外部变量

  3. 综合编程实例

2. 教学要求

:了解 :理解 :掌握

3. 重点、难点

:重点 :难点

4. 课前学习要求

阅读导学材料,预习课程内容。

5. 其它教学环节(如实验、习题课、讨论课、其它实践活动)

链表的建立和操作;链表的应用


(十)第十章 杂类 7学时(课堂讲2学时+课程实验5学时)

1. 主要内容

  1. 编译预处理:1.1宏定义(不带参数的宏,带参数的宏) 1.2文件包含1.3条件编译

  2. 位运算:2.1位运算 2.2位段

  3. 枚举类型 4.联合体 5. goto语句

2. 教学要求

:了解 :理解 :掌握

3. 重点、难点

:重点 :难点

4. 课前学习要求

阅读导学材料,预习课程内容。

5. 其它教学环节(如实验、习题课、讨论课、其它实践活动)

链表的建立和操作;链表的应用

四、教材与学习资源

1. 教材:

(1)谭浩强主编, C语言程序设计(第三版),清华大学出版社,2005

2. 参考书:

(1)谭浩强《C程序设计习题解答与上机指导》,清华大学出版社,1999.12

(2)谭浩强《C语言程序设计试题汇编》,清华大学出版社,2003

(3) B.W.Kernighan, D.M.RitchieC程序设计语言,机械工业出版社,2001

(4)钱启平, C语言程序设计基础,铁道出版社,2000

(5)田淑清,二级考试教程——C语言程序设计,教育部考试中心

3. 网络课程:

http://www.vcok.com

http://xyfh.yeah.net

http://distance.njtu.edu.cn

五、考核方式

平时作业:实验考核;作业考核; 小测验

期末考试:机考,以考察实际变成能力为主。

编写日期】:2014.11.24