和实现具体问题,并用流程图清楚、准确的表达出问题。 评价依据:课堂提问、课堂测验、课外作业、实验和考 试。 毕业要求9: 教学目标:能够结合特定问题的具体需求,使用C语言 9.1:能够正确理解个人与团队的 进行基本的流程设计和编程实现。 关系,理解团队合作的重要性, 达成途径:训练学生使用VC和VS等特定软件工具, 具备在多学科背景下团队合作的 先从小的具体问题分析入手,训练学生使用软件DE进 意识和能力; 行C语言程序设计,训练用计算机解决具体问题的能力。 评价依据:课堂提问、课堂测验、课外作业、实验和考 9.2:能够在多学科背景的团队 中,与团队成员共同协作,完成 所承担的工作 半业要求4: 教学目标:能根据实施情况对设计的系统进行优化修正。 毕业要求12: 达成途径:针对编程过程中的具体问题和运行时问题, 121:能够认识不断探索和学习 训练学生使用DE编程工具跟踪问题所在,积极判断问 的必要性和重要性,具有自主学 题原因,以及优化修正,解决问题的能力。 习和终身学习的意识; 评价依据:课堂提问、课堂测验、课外作业、实验和考 12.2:具备终身学习的知识基础, 试。 掌握自主学习的方法,能够通过 学习不断提高、适应信息技术的 发展。 四、课程内容 教学内容 作业要求 第一章C语言概述 自学内容:教材和ppt未讲例题,本章小结。 1.1程序设计语言 课堂/课外作业: 1.2算法 1.3C程序基本结构 1.下载VC或者VS进行安装,搭建课程上 1.4程序设计与实现 机练习环境。 知识点: 2.写出“计算1到100的所有自然数的和”的 算法,并画出流程图。 1程序设计与算法关系 3.根据流程图或者算法写出“计算1到100 2.C语言基本语法(数据类型、标识符、注释 的所有自然数的和”的C程序代码,并上机 等)0 运行。 3.C程序结构(C程序由函数组成、main主函 数、C函数基本结构) 4.控制结构:顺序、循环、分支 5.流程图的画法。 6.程序设计过程及DE的使用。 第二章顺序结构与语法基础 自学内容:教材和ppt未讲例题,数据类型 21输入输入基本函数的使用 细节,本章小结。 2.2基本数据类型 2.3常量 课堂/课外作业: 2.4简单变量 l.设三角形边长为a、b、c,计算其面积area
3 和实现具体问题,并用流程图清楚、准确的表达出问题。 评价依据:课堂提问、课堂测验、课外作业、实验和考 试。 毕业要求 9: 9.1:能够正确理解个人与团队的 关系,理解团队合作的重要性, 具备在多学科背景下团队合作的 意识和能力; 9.2:能够在多学科背景的团队 中,与团队成员共同协作,完成 所承担的工作 教学目标:能够结合特定问题的具体需求,使用 C 语言 进行基本的流程设计和编程实现。 达成途径:训练学生使用 VC 和 VS 等特定软件工具, 先从小的具体问题分析入手,训练学生使用软件 IDE 进 行 C 语言程序设计,训练用计算机解决具体问题的能力。 评价依据:课堂提问、课堂测验、课外作业、实验和考 试。 毕业要求 4: 毕业要求 12: 12.1:能够认识不断探索和学习 的必要性和重要性,具有自主学 习和终身学习的意识; 12.2:具备终身学习的知识基础, 掌握自主学习的方法,能够通过 学习不断提高、适应信息技术的 发展。 教学目标:能根据实施情况对设计的系统进行优化修正。 达成途径:针对编程过程中的具体问题和运行时问题, 训练学生使用 IDE 编程工具跟踪问题所在,积极判断问 题原因,以及优化修正,解决问题的能力。 评价依据:课堂提问、课堂测验、课外作业、实验和考 试。 四、课程内容 教学内容 作业要求 第一章 C 语言概述 1.1 程序设计语言 1.2 算法 1.3 C 程序基本结构 1.4 程序设计与实现 知识点: 1.程序设计与算法关系 2.C 语言基本语法(数据类型、标识符、注释 等)。 3.C 程序结构(C 程序由函数组成、main 主函 数、C 函数基本结构) 4. 控制结构:顺序、循环、分支 5.流程图的画法。 6.程序设计过程及 IDE 的使用。 自学内容:教材和 ppt 未讲例题,本章小结。 课堂/课外作业: 1.下载 VC 或者 VS 进行安装,搭建课程上 机练习环境。 2.写出“计算 1 到 100 的所有自然数的和”的 算法,并画出流程图。 3.根据流程图或者算法写出“计算 1 到 100 的所有自然数的和”的 C 程序代码,并上机 运行。 第二章 顺序结构与语法基础 2.1 输入输入基本函数的使用 2.2 基本数据类型 2.3 常量 2.4 简单变量 自学内容:教材和 ppt 未讲例题,数据类型 细节,本章小结。 课堂/课外作业: 1.设三角形边长为 a、b、c,计算其面积 area
2.5算术运算 2.从键盘输入一个大写英文字母,然后在屏 2.6赋值运算 幕上输出它的小写形式。 2.7宏命令 3.输入学生两门课的成绩,计算其平均成 知识点: 绩。 l.输入输入基本函数:printf、scanf、getchar、 putchar等 2.基本数据类型:整型、字符型、浮点型等 3常量:整型、浮点型、字符、字符串、符号 4简单变量:整型、浮点型、字符型 5算术运算:加、减、乘、除、求余,运算优 先级 6赋值运算:=、+=、=、*=、仁、%= 7.宏命令:include、define、ifndef等 第三章分支结构 自学内容:教材和ppt未讲例题,本章小结。 3.1简单条件分支程序 3.2复合条件分支程序 课堂/课外作业: 3.3 switch语句 1输入某年某月某日,判断这一天是这一年 3.4条件运算 的第几天?请用switch-.case语法解决此问 知识点: 题。 1.条件分支程序:筒单程序举例、if语句、关 2.企业发放的奖金根据利润提成。利润(① 系表达式、逻辑表达式 低于或等于10万元时,奖金可提10%;利 2.switch语句 润高于10万元,低于20万元时,低于10 3条件运算:三目运算符?: 万元的部分按10%提成,高于10万元的部 4.分支程序例子 分,可提成7.5%;20万到40万之间时, 高于20万元的部分,可提成5%;40万到 60万之间时高于40万元的部分,可提成 3%;60万到100万之间时,高于60万元 的部分,可提成1.5%,高于100万元时, 超过100万元的部分按1%提成,从键盘输 入当月利润I,求应发放奖金总数?请用条 件语句解决此问题。 第四章循环结构 自学内容:教材和ppt未讲例题,本章小结。 4.1 while循环 4.2do-while循环 课堂/课外作业: 4.3for循环 1.有1、2、3、4个数字,能组成多少个互 4.4循环体中的控制 不相同且无重复数字的三位数?都是多 4.5多重循环 少?请用for循环语句解决此问题。 知识点: 2.一个小于10万的正整数,它加上100后 l.while循环:while语句、自增自减运算 是一个完全平方数(即一个数的平方),再 2.do-while循环:do-while语句 加上168又是一个完全平方数,请问该数是 多少?提示:不一定只有一个。要求:使用 3.for循环:for语句、逗号表达式 for循环语句和条件语句解决此问题。 4.循环体中的控制:break、continue 5.多重循环:嵌套结构
4 2.5 算术运算 2.6 赋值运算 2.7 宏命令 知识点: 1.输入输入基本函数:printf、scanf、getchar、 putchar 等 2.基本数据类型:整型、字符型、浮点型等 3.常量:整型、浮点型、字符、字符串、符号 4.简单变量:整型、浮点型、字符型 5.算术运算:加、减、乘、除、求余,运算优 先级 6.赋值运算:=、+=、-=、*=、/=、%= 7.宏命令:include、define、ifndef 等 2.从键盘输入一个大写英文字母,然后在屏 幕上输出它的小写形式。 3. 输入学生两门课的成绩,计算其平均成 绩。 第三章 分支结构 3.1 简单条件分支程序 3.2 复合条件分支程序 3.3 switch 语句 3.4 条件运算 知识点: 1.条件分支程序:简单程序举例、if 语句、关 系表达式、逻辑表达式 2.switch 语句 3.条件运算:三目运算符?: 4.分支程序例子 自学内容:教材和 ppt 未讲例题,本章小结。 课堂/课外作业: 1.输入某年某月某日,判断这一天是这一年 的第几天?请用 switch-case 语法解决此问 题。 2.企业发放的奖金根据利润提成。利润(I) 低于或等于 10 万元时,奖金可提 10%;利 润高于 10 万元,低于 20 万元时,低于 10 万元的部分按 10%提成,高于 10 万元的部 分,可提成 7.5%;20 万到 40 万之间时, 高于 20 万元的部分,可提成 5%;40 万到 60 万之间时高于 40 万元的部分,可提成 3%;60 万到 100 万之间时,高于 60 万元 的部分,可提成 1.5%,高于 100 万元时, 超过 100 万元的部分按 1%提成,从键盘输 入当月利润 I,求应发放奖金总数?请用条 件语句解决此问题 。 第四章 循环结构 4.1 while 循环 4.2 do-while 循环 4.3 for 循环 4.4 循环体中的控制 4.5 多重循环 知识点: 1.while 循环:while 语句、自增自减运算 2.do-while 循环:do-while 语句 3.for 循环:for 语句、逗号表达式 4.循环体中的控制:break、continue 5.多重循环:嵌套结构 自学内容:教材和 ppt 未讲例题,本章小结。 课堂/课外作业: 1. 有 1、2、3、4 个数字,能组成多少个互 不相同且无重复数字的三位数?都是多 少?请用 for 循环语句解决此问题。 2. 一个小于 10 万的正整数,它加上 100 后 是一个完全平方数(即一个数的平方),再 加上 168 又是一个完全平方数,请问该数是 多少?提示:不一定只有一个。要求:使用 for 循环语句和条件语句解决此问题
第五章数组 自学内容:教材和ppt未讲例题,本章小结。 5.1一维数组 5.2字符串操作 课堂/课外作业: 5.3二维数组 1.采用冒泡法对输入的n个整数按从小到 知识点: 大的顺序排序(n<=100),并输出排序结果。 1.一维数组:定义、数值型数组输入和输出、 2.输入两个字符串s1和s2,在S1后面添 数值型、字符型数组初始化、存储 加s2。要求,不能直接使用strcat函数。 2.字符串操作:输入输出scanf、printf、gets、 3.对二维整型数组进行转置,整数范围 -2147483648-2147483647,数组大小m×n puts,多字符串操作函数strcat、strcpy、strcmp 等,其他字符串操作函数strlwr、strupr、strlen (m,n<=100),输出转置后的结果。 等。 4.查找最大字符串,字符串个数 n(5<=n<=l00),字符串长度不超过50字符, 3.二维数组:定义、输入输出、初始化、存储 输出最大的字符串。 5.用折半查找法从输入的1个包含n (n<=100)个数的有序序列中,寻找一个 指定的数key(key<=100000),找到则输出 "found'",未找到则输出"not found" 第六章函数 自学内容:教材和Ppt未讲例题,本章小结。 5.1概述 5.2函数定义(形参)与调用(实参) 课堂/课外作业: 5.3函数嵌套与递归函数 1.输入两个整数a和b,编写函数lcm求a 5.4数组作为函数的参数 和b的最小公倍数,lcm函数调用gcd函数 5.5变量的作用域和存储类型 求a和b的最小公倍数。 知识点: 2.已知一个矩阵,编写convert函数,求其 1概述:函数化结构,函数分类:系统函数、 转置矩阵。 3.输入一组整数,编写函数filter求出它们 用户函数 的平均值,并输出所有大于平均值的数。 2函数定义与调用:函数定义及形参,函数值 与返回命令return,函数调用及实参等。 4.一共有n个三位数,编写函数 sumOfFigures求各位数字之和等于5的整 3.函数嵌套与递归函数 数的个数。 4.数组作为函数的参数:数组元素作为函数参 5.编写一个函数factorial,接收一个自然数 数,一维数组名作为函数参数,一维数组求解 参数n(0<=n<=12),用递归法计算并返回n 二维数组的问题 的阶乘。在main函数中接收用户输入的一 5,变量的作用域和存储类型:局部变量、全局 个自然数n,调用factorial函数计算nl,并 变量,变量的存储类型:auto、static、register、 输出结果 extern等 第七章指针 自学内容:教材和ppt未讲例题,本章小结。 5.1概述 5.2指针变量的定义和使用 课堂/课外作业: 5.3指针与数组 1.用指针编程实现strcat函数的功能,要求 5.4指针作为函数的参数 不采用标准库函数strcat,函数头部作如下 5.5指针函数和函数指针 定义:char*strcat(char*strl,char*str2)。 5.6二级指针 2.定义一个函数swap,实现对两个整数的 知识点: 交换操作
5 第五章 数组 5.1 一维数组 5.2 字符串操作 5.3 二维数组 知识点: 1. 一维数组:定义、数值型数组输入和输出、 数值型、字符型数组初始化、存储 2.字符串操作:输入输出 scanf、printf、gets、 puts,多字符串操作函数 strcat、strcpy、strcmp 等,其他字符串操作函数 strlwr、strupr、strlen 等。 3.二维数组:定义、输入输出、初始化、存储 自学内容:教材和 ppt 未讲例题,本章小结。 课堂/课外作业: 1. 采用冒泡法对输入的 n 个整数按从小到 大的顺序排序(n<=100),并输出排序结果。 2. 输入两个字符串 s1 和 s2,在 s1 后面添 加 s2。要求,不能直接使用 strcat 函数。 3. 对二维整型数组进行转置,整数范围 -2147483648~2147483647,数组大小 m×n (m,n<=100),输出转置后的结果。 4. 查找最大字符串,字符串个数 n(5<=n<=100),字符串长度不超过 50 字符, 输出最大的字符串。 5. 用折半查找法从输入的 1 个包含 n (n<=100)个数的有序序列中,寻找一个 指定的数 key(key<=100000),找到则输出 "found",未找到则输出"not found" 第六章 函数 5.1 概述 5.2 函数定义(形参)与调用(实参) 5.3 函数嵌套与递归函数 5.4 数组作为函数的参数 5.5 变量的作用域和存储类型 知识点: 1.概述:函数化结构,函数分类:系统函数、 用户函数 2.函数定义与调用:函数定义及形参,函数值 与返回命令 return,函数调用及实参等。 3.函数嵌套与递归函数 4.数组作为函数的参数:数组元素作为函数参 数,一维数组名作为函数参数,一维数组求解 二维数组的问题 5.变量的作用域和存储类型:局部变量、全局 变量,变量的存储类型:auto、static、register、 extern 等 自学内容:教材和 ppt 未讲例题,本章小结。 课堂/课外作业: 1. 输入两个整数 a 和 b,编写函数 lcm 求 a 和 b 的最小公倍数,lcm 函数调用 gcd 函数 求 a 和 b 的最小公倍数。 2. 已知一个矩阵,编写 convert 函数,求其 转置矩阵。 3. 输入一组整数,编写函数 filter 求出它们 的平均值,并输出所有大于平均值的数。 4. 一共有 n 个三位数,编写函数 sumOfFigures 求各位数字之和等于 5 的整 数的个数。 5. 编写一个函数 factorial,接收一个自然数 参数 n(0<=n<=12),用递归法计算并返回 n 的阶乘。在 main 函数中接收用户输入的一 个自然数 n,调用 factorial 函数计算 n!,并 输出结果 第七章 指针 5.1 概述 5.2 指针变量的定义和使用 5.3 指针与数组 5.4 指针作为函数的参数 5.5 指针函数和函数指针 5.6 二级指针 知识点: 自学内容:教材和 ppt 未讲例题,本章小结。 课堂/课外作业: 1. 用指针编程实现 strcat 函数的功能,要求 不采用标准库函数 strcat,函数头部作如下 定义:char *strcat(char *str1,char *str2)。 2. 定义一个函数 swap,实现对两个整数的 交换操作
1概述:指针变量,变量的直接访问和间接访 3.编写一个findchar函数,判断一个字符 问 串中指定字符出现的次数。 2.指针变量的定义和使用:定义格式,指针变 量初始化、赋值,使用指针变量输入,访问指 4.创建一个invert函数功能:将数组a中 针所指向的变量 的数据按相反的顺序存放。 3指针与数组:指针与一维数组,指针与二维 5.自定义函数SumColumMin,其功能是: 数组,指针与字符串,指针数组 4指针作为函数的参数:简单指针变量作为参 求出M行N列二维数组每列元素中的最小 数,指向数组的指针作为函数的参数,字符指 值,计算这些最小值和。通过函数返回【函 针作为函数的参数,指针数组作为函数的参数 数头部规定如下:int SumColumMin(int 5.指针函数和函数指针 aMN,int*min)】。 6.二级指针 第八章结构体 自学内容:教材和ppt未讲例题,本章小结。 5.1结构体数据概述 5.2结构体类型和结构体变量 课堂/课外作业: 5.3结构体数组 1.建立100个人的电话号码薄信息。其中: 5.4结构体指针变量 5.5链表 (I)编号:cod,整型。 知识点: (2)姓名:name,不超出10个字符。 1.结构体数据概述:使用结构体数据的一般过 程 (3)电码号码:tel,不超出15个字符 2.结构体类型和结构体变量:使用结构体变量 要求: 存储学生信息,定义结构体数据类型,定义结 构体变量及初始化 (1)任何常量数字(如“100”)在整个程序 3结构体数组:定义,初始化,利用结构体数 中只能出现1次(数字1、0除外)! 组管理学生信息 (2)从键盘上输入这100个联系人的信息。 4结构体指针变量:定义及使用,结构体指针 作函数的参数 (3)输出每个联系人的信息(每个人的信息 5链表:概念与特点,动态内存管理函数,定 单独占一行,各属性之间用t”分隔) 义链表结构,使用链表(插入、删除、查找) 2.已知有4个人的姓名和年龄信息, 找出年龄最大的人,并输出他的姓名和年龄 信息。 其中: (1)姓名:name,不超出20个字符。 (2)年龄:age,整型 要求: (1)任何常量数字(如“100”)在整个 程序中只能出现1次(数字1、0除外川 (2)4个人的信息依次从键盘上输入。 (3)所有操作应有清晰的提示(与用户 交互)。 (4)main函数已经确定,如下: int main()
6 1.概述:指针变量,变量的直接访问和间接访 问 2.指针变量的定义和使用:定义格式,指针变 量初始化、赋值,使用指针变量输入,访问指 针所指向的变量 3.指针与数组:指针与一维数组,指针与二维 数组,指针与字符串,指针数组 4.指针作为函数的参数:简单指针变量作为参 数,指向数组的指针作为函数的参数,字符指 针作为函数的参数,指针数组作为函数的参数 5.指针函数和函数指针 6.二级指针 3. 编写一个 findchar 函数,判断一个字符 串中指定字符出现的次数。 4. 创建一个 invert 函数功能:将数组 a 中 的数据按相反的顺序存放。 5. 自定义函数 SumColumMin,其功能是: 求出 M 行 N 列二维数组每列元素中的最小 值,计算这些最小值和。通过函数返回【函 数头部规定如下:int SumColumMin(int a[M][N],int *min)】。 第八章 结构体 5.1 结构体数据概述 5.2 结构体类型和结构体变量 5.3 结构体数组 5.4 结构体指针变量 5.5 链表 知识点: 1.结构体数据概述:使用结构体数据的一般过 程 2.结构体类型和结构体变量:使用结构体变量 存储学生信息,定义结构体数据类型,定义结 构体变量及初始化 3.结构体数组:定义,初始化,利用结构体数 组管理学生信息 4.结构体指针变量:定义及使用,结构体指针 作函数的参数 5.链表:概念与特点,动态内存管理函数,定 义链表结构,使用链表(插入、删除、查找) 自学内容:教材和 ppt 未讲例题,本章小结。 课堂/课外作业: 1. 建立 100 个人的电话号码薄信息。其中: (1) 编号:code,整型。 (2) 姓名:name,不超出 10 个字符。 (3) 电码号码:tel,不超出 15 个字符 要求: (1) 任何常量数字(如“100”)在整个程序 中只能出现 1 次(数字 1、0 除外)! (2) 从键盘上输入这 100 个联系人的信息。 (3) 输出每个联系人的信息(每个人的信息 单独占一行,各属性之间用“\t”分隔) 2. 已知有 4 个人的姓名和年龄信息, 找出年龄最大的人,并输出他的姓名和年龄 信息。 其中: (1) 姓名:name,不超出 20 个字符。 (2) 年龄:age,整型 要求: (1) 任何常量数字(如“100”)在整个 程序中只能出现 1 次(数字 1、0 除外)! (2) 4 个人的信息依次从键盘上输入。 (3) 所有操作应有清晰的提示(与用户 交互)。 (4) main 函数已经确定,如下: int main() {
Man person[N]; Man是表示 人员信息的结构体 Init(person); ∥输入个人信 息 GetMaxAge(person); ∥获取年 龄最大人员的信息并输出 return 0; 请根据main()函数,完成结构体构造、 Init(person)、GetMaxAge(person)函数的代 码。 3.建立30个学生的信息表,每个学生的数 据包括学号、姓名、三门课的成绩。其中: (1)学号:no,12位数字组成的字符串, 长度固定。 (2)姓名:name,不超出10个字符。 (3)三门课程的成绩:C、WEB、DS,均 为整型。 要求: (1)任何常量数字(如“30”)在整个程序 中只能出现1次(数字1、0除外) (2)从键盘上输入这30个学生的信息 (3)输出时显示每个学生的平均成绩(保 留一位小数) (4)输出每个学生的信息(每个学生的信 息单独占一行,各属性之间用t分隔)。 第九章文件 自学内容:教材和ppt未讲例题,本章小结。 5.1概述 5.2文件的基本操作 课堂/课外作业: 5.3文件的数据块读写操作 1.编写程序。从键盘接收一行字符,将该 5.4文件的其他操作 行字符及各字符的ASCⅡ码保存到 知识点: C:ltmp.txt文件中。 1概述:文件概念与文件分类(文本文件、二 2.在main函数中,从文本文件test.txt中读 进制文件),文件的一般操作过程(打开-操作 出N个整数,调用fun函数,分别统计其 -关闭),文件的指针 中正数的个数和负数的个数;在main函数 2文件的基本操作:打开和关闭文件(文件使 中输出正数的个数和负数的个数。 用方式),文件读写函数(fputc,fgetc,feof) 3.将文件filel..txt中的内容复制到file2.txt 3.文件的数据块读写操作:fwrite,fread 中,并输出到屏幕上。 4.文件的其他操作:文件格式化读写,随机读
7 Man person[N]; //Man 是表示 人员信息的结构体 Init(person); //输入个人信 息 GetMaxAge(person); //获取年 龄最大人员的信息并输出 return 0; } 请根据 main()函数,完成结构体构造、 Init(person)、GetMaxAge(person)函数的代 码。 3. 建立 30 个学生的信息表,每个学生的数 据包括学号、姓名、三门课的成绩。其中: (1)学号:no,12 位数字组成的字符串, 长度固定。 (2)姓名:name,不超出 10 个字符。 (3)三门课程的成绩:C、WEB、DS,均 为整型。 要求: (1)任何常量数字(如“30”)在整个程序 中只能出现 1 次(数字 1、0 除外) (2)从键盘上输入这 30 个学生的信息 (3)输出时显示每个学生的平均成绩(保 留一位小数) (4)输出每个学生的信息(每个学生的信 息单独占一行,各属性之间用“\t”分隔)。 第九章 文件 5.1 概述 5.2 文件的基本操作 5.3 文件的数据块读写操作 5.4 文件的其他操作 知识点: 1.概述:文件概念与文件分类(文本文件、二 进制文件),文件的一般操作过程(打开-操作 -关闭),文件的指针 2.文件的基本操作:打开和关闭文件(文件使 用方式),文件读写函数(fputc,fgetc,feof) 3.文件的数据块读写操作:fwrite,fread 4.文件的其他操作:文件格式化读写,随机读 自学内容:教材和 ppt 未讲例题,本章小结。 课堂/课外作业: 1. 编写程序。从键盘接收一行字符,将该 行字符及各字符的 ASCII 码保存到 C:\tmp.txt 文件中。 2. 在 main 函数中,从文本文件 test.txt 中读 出 N 个整数,调用 fun 函数,分别统计其 中正数的个数和负数的个数;在 main 函数 中输出正数的个数和负数的个数。 3. 将文件 file1.txt 中的内容复制到 file2.txt 中,并输出到屏幕上