C/C++语言程序设计 主讲教师 王玉青   合肥工业大学 开课时间 2020-10-30 至 2020-12-18 学习总人数:232人 视频时长:10:21:30


  • 课程简介
  • 授课教师
  • 章节目录
  • 课程讨论
  • 课程公告
  • 教材教辅

《C/C++语言程序设计》是机械设计制造及其自动化专业等相关理工科专业的基础课程,也是本校机械设计制造及其自动化专业的唯一一门基础编程类课程。通过《C/C++语言程序设计》课程的学习,学生应对C语言和C++语言的基本语法规范、基本数据类型的定义及运用、循环结构的定义及运用、数组的定义及运用、函数的定义及运用、编译环境下的文件操作等核心基本概念、基本理论、基本方法有较为深刻的理解。通过本课程的学习,学生应能够较为熟练地运用C语言和C++语言进行复杂工程问题中的数理建模、编程分析计算。通过对本课程《C/C++语言程序设计》,将使得学生们具备一定的处理复杂工程问题的能力,有助于学生启发性思维的能力培养,有助于“新工科”教育教学中所要求的“理论联系实际、解决复杂工程科学问题”的学生学习能力培养。

第1章 C语言和C++语言概述
>第1节 C语言和C++语言的特点、发展历史
>第2节 C语言和C++语言的编译环境介绍
>第3节 基于C语言和C++语言的程序编辑、编译、链接和运行
第2章 程序的灵魂——算法介绍
>第1节 算法的基本概念
>第2节 简单算法举例介绍
>第3节 算法的特点
>第4节 结构化程序设计方法
第3章 数据类型、运算符与表达式
>第1节 C语言的常见数据类型、运算符与表达式
>第2节 C++语言的常见数据类型、运算符与表达式
>第3节 typedef定义
第4章 顺序程序设计
>第1节 赋值语句
>第2节 输入与输出的实现与运用
>第3节 基于C语言的顺序结构程序设计举例
>第4节 基于C++语言的顺序结构程序设计举例
第5章 选择结构程序设计与循环控制
>第1节 C语言的选择结构设计与循环控制的基本语法介绍
>第2节 C++语言的选择结构设计与循环控制基本语法介绍
>第3节 循环嵌套的设计与实现
>第4节 基于C语言的选择结构设计与循环控制的编程示例及实际运用
>第5节 基于C++语言的选择结构设计与循环控制的编程示例及实际运用
第6章 数组与函数的定义、编写及实现
>第1节 C语言的数组与函数的定义、编写及实现
>第2节 C++语言的数组与函数的定义、编写及实现
第7章 指针、引用和动态空间管理
>第1节 指针概述
>第2节 指针运算符与指针表达式
>第3节 指针与数组
>第4节 指针与函数
>第5节 指针与字符串
>第6节 指针与自由空间
>第7节 引用的概念及应用
第8章 面向对象程序设计概述
>第1节 面向对象程序设计与面向过程程序设计(即:结构化编程)的区别与联系
>第2节 对象
>第3节 类
>第4节 抽象与封装
>第5节 继承
>第6节 多态性
>第7节 面向对象程序设计编程示例及应用简介
上机一:C语言和C++语言的编译环境熟悉、基本操作与用法
上机二:C语言的顺序程序设计
上机三:C++语言的顺序程序设计
上机四:C语言的选择结构程序设计和循环设计
上机五:C++语言的选择结构程序设计和循环设计
上机六:C语言和C++语言的数组与函数的程序设计(C++篇)
上机六:C语言和C++语言的数组与函数的程序设计(C篇)
上机七:C语言和C++语言的指针、引用和动态空间管理(C篇)
上机七:C语言和C++语言的指针、引用和动态空间管理(C++篇)
上机八:C语言和C++语言的面向对象程序设计
自制慕课-11月3号
自制慕课-11月3号
自制慕课-11月7号(声音与ppt同步)
自制慕课-11月7号-02(声音与ppt同步)
自制慕课-11月7号
自制慕课-11月7号
课程拓展学习资料01
课程拓展学习资料02
课程拓展学习资料03
课程拓展学习资料04
课程拓展学习资料05
课程拓展学习资料06
课程拓展学习资料07
课程拓展学习资料08
课程拓展学习资料09
实验指导书——C和C++
理论课作业
自制慕课-11月16号
自制慕课-11月16号
自制慕课-11月17号
自制慕课-11月17号
自制慕课-11月17号
自制慕课-11月17号
自制慕课-11月17号
自制慕课-11月22号
C语言总复习
自制慕课-12月5日
自制慕课-12月5号
自制慕课-12月5日
自制慕课-12月5日
自制慕课-12月5日
自制慕课-12月5日
自制慕课-12月5日
拓展学习资料-12月5日
自制慕课-12月12号-声音与图像同步版本
自制慕课-12月12号-声音与图像同步版本
自制慕课-12月12日-声音与图像同步版本
自制慕课-12月12日-声音与图像同步的版本
自制慕课-12月12日-声音与图像同步版本
自制慕课-12月12日-声音与图像同步版本
自制慕课-12月12日-声音与图像同步版本
自制慕课-12月12日-声音与图像同步版本
自制慕课-12月19日-声音与图像同步版本
自制慕课-12月19日-声音与图像同步版本
自制慕课-12月19日-声音与图像同步版本
自制慕课-12月19日-声音与图像同步版本
自制慕课-12月19日-声音与图像同步版本
自制慕课-12月19日-声音与图像同步版本
自制慕课-12月19日-声音与图像同步版本
自制慕课-12月19日-声音与图像同步版本
自制慕课-12月19日-声音与图像同步版本
自制慕课-12月19日-声音与图像同步版本
自制慕课-12月19日-声音与图像同步版本
自制慕课-12月19日-声音与图像同步版本
自制慕课-12月19日-声音与图像同步版本
剩余答疑
2020-12-19 15:43:32

(1)核心问题:数组作为形参使用的有问题

(2)你看下我的代码:

#include<stdio.h>

#define N 3

int array[N][N];

void main()

{

//在主函数内声明被调函数

void convert(int array[][3]);

int i,j;

printf("输入数组:\n");

for(j=0;j<N;j++)

for(i=0;i<N;i++)

scanf("%d",&array[i][j]);

printf("\n");

for(j=0;j<N;j++)

{

for(i=0;i<N;i++)

printf("%d\t",array[i][j]);

printf("\n");

}

//调用矩阵转置函数

convert(array);

printf("\n");

for(i=0;i<N;i++)

{

for(j=0;j<N;j++)

printf("%d\t",array[i][j]);

printf("\n");

}

}

void convert(int array[][3])

{

int i,j,t;

for(i=0;i<N;i++)

for(j=0;j<N;j++)//设置数组中转置矩阵元素交换

{

t=array[i][j];

array[i][j]=array[j][i];

array[j][i]=t;

}

}


image.png

剩余答疑
2020-12-19 15:21:47

(1)字符数组不能这么定义。建议你认真看看书及课件中字符数组的定义。

如下方为正确格式:

image.png

image.png

(2)数组引用的方法,参阅:

#include<stdio.h>
void fun(int a[],int n,int *odd,int *even)
{
int i;
*odd=0;
*even=0;
for (i=0;i<n;i++)
{
if(a[i]%2==0)
*even+=a[i];
else
*odd+=a[i];
}
}
void main()
{
int a[5]={1,2,3,4,5},j,o;
fun (a,5,&j,&o);
printf("the sum of odd is %d,tne sun of even is %d",j,o);
}

数组是int a[]或者int* a

(3)image.png

image.png

全局变量只能定义一次。

剩余的答疑
2020-12-19 15:06:29

image.png

C++的cin/cout比C语言的scanf/printf慢

默认情况,cin与stdin总是保持同步的,也就是说这两种方法可以混用,而不必担心文件指针混乱,同时cout和stdout也一样,两者混用不会输 出顺序错乱。正因为这个兼容性的特性,导致cin有许多额外的开销,如何禁用这个特性呢?只需一个语句std::ios::sync_with_stdio(false);,这样就可以取消cin于stdin的同步了,此时的cin就与scanf差不多了。

(1)明天需提交实验报告四,即:上机四:C语言的选择结构程序设计和循环设计 (2)下周二的实验课需提交实验报告,即:上机六:C语言和C++语言的数组与函数的程序设计之C语言篇、上机七:C语言和C++语言的指针、引用和动态空间管理之C篇 (3)下周周五的理论课提交C++部分的实验报告,即:上机三:C++语言的顺序程序设计、上机五:C++语言的选择结构程序设计和循环设计、上机六:C语言和C++语言的数组与函数的程序设计之C++篇 (4)最后一次理论课提交:上机七:C语言和C++语言的指针、引用和动态空间管理之C++篇、上机八:C语言和C++语言的面向对象程序设计、理论课作业(即:10道题的那些理论课作业)。
2020-12-03 17:46:51

(1)明天需提交实验报告四,即:上机四:C语言的选择结构程序设计和循环设计 

(2)下周二的实验课需提交实验报告,即:上机六:C语言和C++语言的数组与函数的程序设计之C语言篇、上机七:C语言和C++语言的指针、引用和动态空间管理之C篇

(3)下周周五的理论课提交C++部分的实验报告,即:上机三:C++语言的顺序程序设计、上机五:C++语言的选择结构程序设计和循环设计、上机六:C语言和C++语言的数组与函数的程序设计之C++篇

(4)最后一次理论课提交:上机七:C语言和C++语言的指针、引用和动态空间管理之C++篇、上机八:C语言和C++语言的面向对象程序设计、理论课作业(即:10道题的那些理论课作业)。


所有上机实验的题目均在e会学上 不懂的地方或者找不到的地方记得问小胡和卢浩。第二次实验课大家记得提交:前五个实验预习报告,即:(1)-(5),合计一共5页纸即可。
2020-11-21 11:28:35

所有上机实验的题目均在e会学上   不懂的地方或者找不到的地方记得问小胡和卢浩。第二次实验课大家记得提交:前五个实验预习报告,即:(1)-(5),合计一共5页纸即可。

预习报告:写清楚实验所用设备、编译环境、每个实验所需的理论知识储备; 实验报告:不必抄题目 把自己的代码写清楚标清题号即可 关键语句需要添加一定量的注释。运行结果也需要写清楚即可。
2020-11-19 16:50:10

预习报告:写清楚实验所用设备、编译环境、每个实验所需的理论知识储备;

实验报告:不必抄题目   把自己的代码写清楚标清题号即可   关键语句需要添加一定量的注释。运行结果也需要写清楚即可。


期中随堂测试(即:课堂测试)将于下周的上课时间进行 测试要求: (1)时间:下周的理论课的第一节课 (2)时长:一节课时间,下课铃响,提交答题纸 (3)请携带几张工大抬头的信纸作为期中随堂测试的答题纸 (4)闭卷 (5)和正常考试一样请勿使用任何电子设备,譬如:手机等 (6)请大家提前过去 错开坐。 (7)无需抄题目 写清题号即可 (8)务必去参加期中随堂测试 (9)认真准备复习 本周的理论课请勿缺席 会抽一点时间带领大家系统梳理逻辑脉络等。
2020-11-17 17:41:53

期中随堂测试(即:课堂测试)将于下周的上课时间进行    


测试要求:

(1)时间:下周的理论课的第一节课  

(2)时长:一节课时间,下课铃响,提交答题纸

(3)请携带几张工大抬头的信纸作为期中随堂测试的答题纸

(4)闭卷

(5)和正常考试一样请勿使用任何电子设备,譬如:手机等

(6)请大家提前过去   错开坐。

(7)无需抄题目   写清题号即可

(8)务必去参加期中随堂测试

(9)认真准备复习    本周的理论课请勿缺席    会抽一点时间带领大家系统梳理逻辑脉络等。


奥雄说的是正确的 先写和先做C语言部分的实验 可先撰写C语言部分的实验预习报告和实验报告 实验三是C++部分 故可等待C语言全部实验做完 再撰写。
2020-11-17 17:33:29

奥雄说的是正确的   先写和先做C语言部分的实验    可先撰写C语言部分的实验预习报告和实验报告   实验三是C++部分  故可等待C语言全部实验做完 再撰写。

所有的实验指导书也发送至课程的学习资料区 汇通刚上传的理论课作业均在等待e会学后台工作人员审核 审核后将可查阅 谢谢。
2020-11-12 16:34:32

所有的实验指导书也发送至课程的学习资料区    汇通刚上传的理论课作业均在等待e会学后台工作人员审核  审核后将可查阅  谢谢。

所有的理论课作业均上传至学习资料区 请大家认真完成理论课作业。 撰写要求: (1)无需抄题目; (2)写清楚代码的全过程,核心语句块需要进行注释; (3)所有的作业只收纸质版、不收打印版、不收电子版。 (4)所有的运行结果无需打印、无需粘贴,可考虑直接手写下运行结果即可。 (5)时间很充裕,大家需要独立完成。 (6)提交要求:用软面抄、练习本都可以,请勿交纸片或者任何信纸。
2020-11-12 16:33:34

所有的理论课作业均上传至学习资料区    请大家认真完成理论课作业。

撰写要求:

(1)无需抄题目;

(2)写清楚代码的全过程,核心语句块需要进行注释;

(3)所有的作业只收纸质版、不收打印版、不收电子版。

(4)所有的运行结果无需打印、无需粘贴,可考虑直接手写下运行结果即可。

(5)时间很充裕,大家需要独立完成。

(6)提交要求:用软面抄、练习本都可以,请勿交纸片或者任何信纸。


上机实验时可带自己的电脑 记得带个u盘备份自己的程序。
2020-11-08 10:00:58

上机实验时可带自己的电脑    记得带个u盘备份自己的程序。

下面就是所有的实验上机指导书,大家有电脑的话可提前抓紧时间写codes了。
2020-11-07 17:59:39

image.png

大家有空现在可以开始做实验指导书上面的上机习题了 都在e会学的课程网页上 内容极其完备 涵盖了基本所有的用法 最后的实验报告提交纸质版 需要写清代码的编写过程 运行结果可拍照打印后附到每次的实验报告纸后面。具体要求: (1)统一用大物实验报告纸,每个实验可用1张到多张报告纸,实验设备就是PC,需要标清楚编译器及集成编译平台。 (2)无需抄题目,只写编程的代码过程,对于重要语句需要标清注释。 (3)不收电子版和打印版,只收手写版的代码源程序清单。
2020-11-07 17:51:51

大家有空现在可以开始做实验指导书上面的上机习题了   都在e会学的课程网页上  内容极其完备  涵盖了基本所有的用法    最后的实验报告提交纸质版   需要写清代码的编写过程   运行结果可拍照打印后附到每次的实验报告纸后面。具体要求:

(1)统一用大物实验报告纸,每个实验可用1张到多张报告纸,实验设备就是PC,需要标清楚编译器及集成编译平台。

(2)无需抄题目,只写编程的代码过程,对于重要语句需要标清注释。

(3)不收电子版和打印版,只收手写版的代码源程序清单。


上次课重点:(1)C语言的发展历史(2)计算机文化基础:什么是计算机、什么叫做程序设计、什么又叫做机器语言、计算机的基本构成;(3)C语言的快速入门 弄清基本程序构成要素 主函数等(4)C语言的变量声明规则。
2020-11-05 15:17:51

上次课重点:(1)C语言的发展历史(2)计算机文化基础:什么是计算机、什么叫做程序设计、什么又叫做机器语言、计算机的基本构成;(3)C语言的快速入门   弄清基本程序构成要素  主函数等(4)C语言的变量声明规则。

dev使用手册及说明参阅我刚发到课程讨论区的两个链接。
2020-11-01 17:32:23

dev使用手册及说明参阅我刚发到课程讨论区的两个链接。

书记得多去跑跑图书馆 借阅图书馆的书就行 都是免费的 而且图书馆资源很多 只要是正规出版社 都蛮好。主体结构无任何区别 记得同时借阅一本上机习题练习集 多多上机练习 敲代码。勤学苦练是最好的捷径。书山有路勤为径 学海无涯苦作舟 享受学习 享受coding的快乐 欢迎多多交流 提问。
2020-11-01 15:36:31

书记得多去跑跑图书馆   借阅图书馆的书就行  都是免费的  而且图书馆资源很多   只要是正规出版社   都蛮好。主体结构无任何区别   记得同时借阅一本上机习题练习集    多多上机练习   敲代码。勤学苦练是最好的捷径。

大家的班级名片记得修改写清楚:“姓名”、“所在大学”,可参阅其他同学的名片格式,然后貌似手机端无法修改完成,可用电脑网页版登录修改,昨天吴子楠提的解决方案。
2020-10-28 11:58:12

大家的班级名片记得修改写清楚:“姓名”、“所在大学”,可参阅其他同学的名片格式,然后貌似手机端无法修改完成,可用电脑网页版登录修改,昨天吴子楠提的解决方案。

刚已联系“e会学平台”的工作人员,请他们帮忙进行后台审核,请各位同学稍等,很快课程内容将可看到,多谢。
2020-10-26 09:47:08

刚已联系“e会学平台”的工作人员,请他们帮忙进行后台审核,请各位同学稍等,很快课程内容将可看到,多谢。

请各位选课同学尽早登录“e会学”平台进行课程的预习工作,“e会学”平台专门有学生版操作手册及app客户端以便于同学们线上线下学习操作。
2020-10-25 14:24:17

请各位选课同学尽早登录“e会学”平台进行课程的预习工作,“e会学”平台专门有学生版操作手册及app客户端以便于同学们线上线下学习操作。

“e会学”教学平台为安徽省教育厅指定的著名线上线下融合教学平台,具备操作简洁、模块多样、互动充分、群联共享等诸多突出优势,已被广大一线教育工作者和学生们采用。因“e会学”平台没有单独的“课程大纲”及“课程模块”等上传模块,故特地将上述两块内容的课件、非视频教学资料、拓展学习资料等上传至“章节目录”的平台模块中,以便于同学们查找复习及提升,谢谢大家。
2020-10-25 14:22:59

“e会学”教学平台为安徽省教育厅指定的著名线上线下融合教学平台,具备操作简洁、模块多样、互动充分、群联共享等诸多突出优势,已被广大一线教育工作者和学生们采用。因“e会学”平台没有单独的“课程大纲”及“课程模块”等上传模块,故特地将上述两块内容的课件、非视频教学资料、拓展学习资料等上传至“章节目录”的平台模块中,以便于同学们查找复习及提升,谢谢大家。

“e会学”课程网页已制作完成,正在等待审核通过,劳烦后台工作人员审核通过,以便后续教学内容及资料的更新及发布,感谢“e会学”的后台工作人员们。
2020-10-25 14:17:48

“e会学”课程网页已制作完成,正在等待审核通过,劳烦后台工作人员审核通过,以便后续教学内容及资料的更新及发布,感谢“e会学”的后台工作人员们。

配套教材
参考教材