- 课程概览
- 授课讲师
- 课程大纲
- 实验列表
- 课程概览
- 授课讲师
- 课程大纲
- 实验列表
程序设计基础是一门理论与实践密切相关、以培养学生程序设计能力为目标的课程,它的任务是培养学生应用高级程序设计语言求解问题的基本能力,其难点在于在要帮助学生从现有思维模式转向机器思维模式。通过该课程使学生了解高级程序设计语言的结构,掌握基本的应用计算机求解问题的思维方法以及基本的程序设计过程和方法。
课程概览
本课程共分12章:
第1章介绍了C语言的基本概念、基本常识,
第2章介绍了算法与程序设计思想,
第3章介绍了C语言的基本数据类型与表达式,
第4章介绍顺序结构程序设计,
第5章介绍了选择结构程序设计,
第6章介绍了循环结构程序设计,
第7章介绍了数组,
第8章介绍了函数,
第9章介绍了指针,
第10章介绍了结构体、共用体、枚举类型,
第11章介绍了位运算,
第12章介绍了文件的输入输出操作。
本课程教学资源同步到此网站https://mooc1-1.chaoxing.com/course/210789115.html
授课讲师
本人系统讲授"数据结构"、"程序设计基础"、"软件工程"等多门课程,每年指导学生毕业设计(论文),教学效果好,多次获得课堂教学质量优秀奖。主持参与了省市校级课题共20项,主编教材4部,参编1部,指导学生进行“大学生创新创业训练计划”各级别项目18项;发表核心、EI收录、科技核心、教研等论文23篇;获省校级各类奖项共15项,指导学生获得国家级、省级各等级奖项共42人次。
肖振球
教学
钟秀玉
教学
陈广明
教学、学科竞赛
蓝红苑
教学、学科竞赛
房宜汕
教学
陈世基
教学
冯斯苑
教学
课程大纲
- 第1章概述
-
    第1节 计算机程序和计算机语言
-
    第2节 C语言程序设计的一般步骤
-
    第3节 C语言的发展历程
-
    第4节 初识C语言
-
    第5节 最简单的C语言程序
-
    第6节 运行C程序的步骤与方法
-
    第7节 本章小结
-
    第8节 实验内容
-
    第9节 本章练习题
-
    第10节 本章作业
- 第2章算法与程序
-
    第1节 算法基础知识
-
    第2节 算法的特征
-
    第3节 几种常用的算法
-
    第4节 简单算法示例
-
    第5节 如何评价一个算法
-
    第6节 算法的描述工具
-
    第7节 结构化程序设计方法
-
    第8节 本章小结
-
    第9节 本章练习题
-
    第10节 本章作业
- 第3章基本数据类型与表达式
-
    第1节 数据类型分类
-
    第2节 整型数据
-
    第3节 浮点型数据
-
    第4节 字符型数据
-
    第5节 常量与变量
-
    第6节 运算符和表达式
-
    第7节 本章小结
-
    第8节 实验内容
-
    第9节 本章练习题
-
    第10节 本章作业
- 第4章顺序结构程序设计
-
    第1节 顺序程序设计举例
-
    第2节 C语句
-
    第3节 数据的输入输出
-
    第4节 本章小结
-
    第5节 实验内容
-
    第6节 本章练习题
-
    第7节 本章作业
- 第5章选择结构程序设计
-
    第1节 为什么需要选择结构
-
    第2节 用if语句实现选择结构
-
    第3节 用switch语句实现选择结构
-
    第4节 选择结构的嵌套
-
    第5节 选择结构程序设计综合举例
-
    第6节 本章小结
-
    第7节 实验内容
-
    第8节 本章练习题
-
    第9节 本章作业
- 第6章循环结构程序设计
-
    第1节 为什么需要循环结构
-
    第2节 用while语句实现循环结构
-
    第3节 用do…while语句实现循环结构
-
    第4节 用for语句实现循环结构
-
    第5节 break语句和continue语句
-
    第6节 循环的嵌套
-
    第7节 循环结构程序设计综合举例
-
    第8节 本章小结
-
    第9节 实验内容
-
    第10节 本章练习题
-
    第11节 本章作业
- 第7章数组
-
    第1节 定义和引用一维数组
-
    第2节 定义和引用二维数组
-
    第3节 字符数组
-
    第4节 本章小结
-
    第5节 实验内容
-
    第6节 本章练习题
-
    第7节 本章作业
- 第8章函数
-
    第1节 函数概述
-
    第2节 函数的定义
-
    第3节 函数调用
-
    第4节 嵌套调用和递归调用
-
    第5节 数组作为函数参数
-
    第6节 变量的作用域
-
    第7节 变量的存储类型
-
    第8节 内部函数和外部函数
-
    第9节 本章小结
-
    第10节 实验内容
-
    第11节 本章练习题
-
    第12节 本章作业
- 第9章指针
-
    第1节 指针概述
-
    第2节 指针变量
-
    第3节 指针与数组
-
    第4节 指针与字符串
-
    第5节 指针与函数
-
    第6节 多重指针
-
    第7节 动态内存分配与指向它的指针变量
-
    第8节 本章小结
-
    第9节 实验内容
-
    第10节 本章练习题
-
    第11节 本章作业
- 第10章结构体、共用体和枚举类型
-
    第1节 结构体
-
    第2节 链表
-
    第3节 共用体
-
    第4节 枚举类型
-
    第5节 用typedef重定义数据类型名
-
    第6节 本章小结
-
    第7节 实验内容
-
    第8节 本章练习题
-
    第9节 本章作业
- 第11章位运算
-
    第1节 位运算概述
-
    第2节 位运算符
-
    第3节 位段
-
    第4节 本章小结
-
    第5节 实验内容
-
    第6节 本章练习题
-
    第7节 本章作业
- 第12章文件
-
    第1节 文件概述
-
    第2节 文件类型指针
-
    第3节 文件的打开和关闭
-
    第4节 文件的读写
-
    第5节 文件的定位
-
    第6节 文件检测函数
-
    第7节 本章小结
-
    第8节 实验内容
-
    第9节 本章练习题
-
    第10节 本章作业
- 第13章软件的使用
-
    第1节 使用Visual C++运行程序
-
    第2节 使用Dev-C++运行程序
实验列表
- 实验名称实验1 C程序的运行环境和运行方法
- 实验描述(1)阅读本书第1部分内容,了解VC 6.0的安装、启动,明确上机实验目的、要求等。
(2)运行VC 6.0,熟悉VC 6.0界面。
(3)按照本书1.2节的内容进行建立和运行单文件C程序的操作。
(4)输入以下C程序并上机调试运行。程序的功能是从随意输入的两个数中找出较大的数并输出,例如输入8 10时,观察结果。
#include
int max(int a,int b); /*函数声明*/ int main() /*主函数*/ { int x,y,z; /*变量说明*/ printf("input two numbers:\n"); scanf("%d%d",&x,&y); /*输入x,y值*/ z=max(x,y); /*调用max函数*/ printf("max=%d\n",z); /*输出*/ return 0; } int max(int a,int b) /*定义max函数
- 实验名称实验2 数据类型、运算符和表达式
- 实验描述
int main()
{float a,b;
a=1234567.89e5;
b=a+30;
printf("%f \n",b);
return 0;
}
(1)请分析该程序的输出是什么?
(2)输入并运行该程序,程序运行的结果是什么?
(3)试分析你的分析结果和程序运行结果一样吗?如果不一样,为什么?
">1.对于以下程序:
#include
int main() {short a,b; a=32767; b=a+1; printf("%d, %d\n",a,b); return 0; } (1)请分析该程序的输出是什么? (2)输入并运行该程序,程序运行的结果是什么? (3)试对比分析结果和程序运行结果一样吗?如果不一样,为什么? 2.对于以下程序: #include int main() {float a,b; a=1234567.89e5; b=a+30; printf("%f \n",b); return 0; } (1)请分析该程序的输出是什么? (2)输入并运行该程序,程序运行的结果是什么? (3)试分析你的分析结果和程序运行结果一样吗?如果不一样,为什么?
- 实验名称实验3 顺序结构程序设计
- 实验描述(1)编写程序,把560分钟换算成用小时和分钟表示,然后输出。 (2)编写程序,读入三个双精度数,求出它们的平均值并保留此平均值小数点后一位数,对小数点后的第二位数进行四舍五入,最后输出结果。
- 实验名称实验4 选择结构程序设计
- 实验描述(1)编写一个程序,当给x输入小于1的数时,输出x-1的值;当给x输入大于或等于1且小于10的数时,输出2*(x-1)的值;当给x输入大于或等于10的数时,输出3*x-10的值。用数学形式可以表示为: y=x-1(x<1),y=2*(x-1)(1<=x<1),y=3*x-10(x>=10) (2)输入一个不多于3位数的正整数,编写程序实现下面的要求: ①判断这个数是几位数; ②分别输出这个数的每位数; ③按照输入的数的逆序输出另外一个数。例如输入123,输出321。 (3)某企业发放的年终奖金根据企业的年度利润分段提成计算。年度利润小于或等于10万部分,可以按照10%提取年终奖金;年度利润大于10万且小于或等于20万部分,可以按照7.5%提取年终奖金;年度利润大于20万且小于或等于40万部分,可以按照5%提取年终奖金;年度利润大于40万且小于或等于60万部分,可以按照3%提取年终奖金;年度利润大于60万且小于或等于100万部分,可以按照1.5%提取年终奖金;超过100万部分按照1.5%提取年度奖金。分别用if语句和switch语句编写程序,输入年度利润总数,输出年终奖金总数。
- 实验名称实验5 循环结构程序设计
- 实验描述(1)输入一个正整数n,编程计算n!的值。 (2)利用泰勒级数 计算e的近似值,当最后一项的值小于105时认为达到了精度要求。要求编程统计总共累加了多少项。 (3)编程解决爱因斯坦数学题。爱因斯坦曾出过这样一道数学题:有一条长阶梯,若每步跨2阶,最后剩下1阶;若每步跨3阶,最后剩下2阶;若每步跨5阶,最后剩下4阶;若每步跨6阶,最后剩下5阶;只有每步跨7阶,最后才正好1阶不剩。请问,这条阶梯共有多少阶? (4)利用C语言编写程序,给学生出加法运算题,然后判断学生输入的答案对错与否,按下列要求以循序渐进的方式编程。 程序1 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“正确!”,否则显示“错误!”,程序结束。 程序2 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“正确!”,否则显示“错误! 请再尝试一次!”,直到做对为止。 程序3 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“正确!”,否则提示重做,显示“错误! 请再尝试一次!”,最多再给三次机会,如果三次仍未做对,则显示“错误! 你已经尝试了三次。测试结束。”
- 实验名称实验6 数组
- 实验描述(1)编写程序,输出杨辉三角。 (2)编写程序,将一个二维数组的行和列元素互换,存到另一个二维数组中。
- 实验名称实验 7函数
- 实验描述(1)写一个函数,判断某一个四位正整数是不是玫瑰花数(所谓玫瑰花数即该四位数各位数字的四次方和恰好等于该数本身,如:1634=14+64+34+44)。在主函数中从键盘任意输入一个四位数,调用该函数,判断该数是否为玫瑰花数,若是则在主函数中输出“yes”,否则输出“no”。 (2)小猴子第一天摘下若干桃子,当即吃掉一半,又多吃一个。第二天早上又将剩下的桃子吃一半,又多吃一个。以后每天早上吃前一天剩下的一半另一个。到第10天早上猴子想再吃时发现,只剩下一个桃子了。用递归法编写一个函数求第一天猴子共摘了多少个桃子? ① 输入程序,进行编译和运行,分析结果。 ② 分析递归调用的形式和特点。 ③ 如果不用递归方法,改用其他方法如何解决此问题,请上机试一下。
- 实验名称实验8 指针
- 实验描述 (1)编写一个函数string_in(char *str1,char *str2),如果字符串str1包含字符串str2,则返回数值1,否则返回数值2。 (2)一个班有若干个学生(人数不超过30人),每个学生考4门课程,请用指针型函数实现以下功能: ①输入所有学生4门课程成绩,获得成绩方式可用初始化或从键盘输入; ②从键盘输入某一学生序号,能输出该学生的全部成绩,其中学生序号从1开始编号; ③计算该学生4门课程的平均分、最好成绩和最差成绩。 (3)生成12个随机数,填充到一个3行4列的二维整型数组,输出该数组的最大元素、最小元素、所有元素的平均值。 要求:用指向二维数组首地址的指针变量按二维数组排列方式处理二维数组元素。 (4)编写程序:把字符串IP地址转化为十进制IP地址,并把IP地址的四段号码中第一段号码加3,最后一段号码加4输出,从而实现简单的IP地址加密。如IP地址"192.168.1.6",经转换加密后输出为"195.168.1.10"。 要求:在主函数中用字符型指针及函数实现以上功能。
- 实验名称实验9 结构体、共用体和枚举类型
- 实验描述(1)编写程序,根据2016年里约奥运会各国获得的金牌、银牌、铜牌数目,实现以下功能。 ①获奖数据包括国家(char)、金牌(int)、银牌(int)、铜牌(int)、和总数(int)共5项,现输入N个国家前4项数据(假设N=3)。 ②根据公式:总数=金牌+银牌+铜牌,计算各国获得的奖牌总数。 ③输出各国获得的奖牌情况。 ④根据总数计算这N个国家获得奖牌的平均数(int),输出平均数及高于平均数的国家的奖牌信息。 要求在主函数中用菜单操作方式实现以上各功能。 (2)编写程序,用链表实现某个班学生成绩的管理,包括成绩表的建立、查找、插入、删除、输出五个基本操作。假设成绩表只含学号和成绩两项,当输入学号为“0”时,结束建立、查找、插入、删除各操作。各操作均用函数完成,内容要求如下。 ①建立单向动态链表,完成成绩表的建立。 ②按学号查找该生信息。 ③插入一个结点。 ④删除一个结点。 ⑤输出链表内容。 ⑥在主函数中指定需要查找、插入和删除的学号。
- 实验名称实验10 位运算
- 实验描述(1)编写程序,统计一个32位整数n的二进制形式中1的个数。 (2)编写程序,检查所用的计算机系统的C编译系统在执行右移时是按照逻辑右移的原则还是算术右移的原则?如果是逻辑右移,请编一函数实现算术右移,如果是算术右移,请编一函数实现逻辑右移。 (3)编写程序,从键盘上输入两个字符,存入a,b中,并按规则将其整合到一个整型变量中,要求将a字符作为整型变量的高字节,b字符作为整型变量的低字节。
- 实验名称实验11 文件
- 实验描述编程设计 设计一个简单的学生成绩管理程序,学生信息包括学号、姓名和3门课的成绩。学生成绩管理程序至少应提供如下功能: ①录入学生成绩; ②计算每个学生的平均成绩; ③按平均成绩排名次; ④统计补考人数; ⑤找出每门课中成绩最高者; ⑥退出。 要求: ①使用磁盘文件保存学生成绩; ②将每个功能定义成函数; ③提供菜单操作界面。
节数 | 上课时间 | 星期一 | 星期二 | 星期三 | 星期四 | 星期五 | 星期六 | 星期天 |
---|---|---|---|---|---|---|---|---|
第1节 | 08:00 - 08:40 | |||||||
第2节 | 09:00 - 09:40 | |||||||
第3节 | 10:00 - 10:40 | |||||||
第4节 | 11:00 - 11:40 | |||||||
第5节 | 14:00 - 14:40 | |||||||
第6节 | 15:00 - 15:40 | |||||||
第7节 | 16:00 - 16:40 | |||||||
第8节 | 17:00 - 17:40 |
天数 | 上课日期 | 上课时间 | 内容 |
---|
相关课件 更多
-
rar
程序设计基础(C语言)(第二版)学习辅导-源程序
大小:127.25KB
2022-01-06
-
rar
程序设计基础(C语言)(第二版)-所有例子的源程序
大小:213.74KB
2022-01-06
-
docx
第12章 文件作业
大小:20.45KB
2022-01-06
-
docx
第11章 位运算作业
大小:16.56KB
2022-01-06
-
docx
第10章 结构体、共用体和枚举类型作业
大小:22.09KB
2022-01-06
-
docx
第9章 指针作业
大小:17.9KB
2022-01-06