课程

中国大学MOOC,为你提供一流的大学教育

认证学习
为你提供认证成绩和证书,以及AI高效学习服务
查看详情
大学

国家精品

认证学习

智慧课程

理学工学农学

计算机

经济管理

外语

音乐与艺术

心理学

文史哲法

医学与保健

教育教学

大学生竞赛

软件实训

人工智能

升学/择业

考研

期末突击

专升本

四六级

保研及论文

求职就业

专四专八

大学应试英语

大学生涯规划

期末资料

终身学习

名师专栏

兴趣技能

hi,小mooc
揭秘大学信息差
期末考试会员
SPOC学校专有课程
C语言程序设计
第4次开课
开课时间: 2025年02月26日 ~ 2025年06月30日
学时安排: 线上自主学习1小时,线下学习4学时每周
当前开课已结束 已有 2514 人参加
老师已关闭该学期,无法查看
spContent=学习程序设计是一件充满挑战、更充满乐趣的事情,然而学习之初,它之所以给你枯燥乏味的感觉,那是因为没有发掘出它的趣味来。本课程力图用最简明的语言、最典型的实例及最通俗的解释将这种趣味性挖掘出来,带给你全新的学习体验,体会学习C语言之无穷乐趣! 本课程是国家级线上线下混合式一流本科课程,“教学单元内容”分为两个部分: 第一部分,用SPOC标记的章节: 该部分是结合我校学情,由西南石油大学C语言课程组教师特别推出的:以案例为载体的《C语言程序设计》视频集,我们凝练、梳理C语言的语法知识,将其融入丰富的实战案例教学:通过职业能力胜任模型、搜索引擎、新闻热搜等,让大家在实践中成长,感受编程的成就与乐趣!建议所有同学必修。 第二部分,用MOOC标记的章节: 是引用的哈尔滨工业大学苏小红老师的国家级线上一流本科课程《C语言程序设计精髓》,这里面拓展了更多的课程案例和实践项目,供不同需求的同学课后选修学习。
学习程序设计是一件充满挑战、更充满乐趣的事情,然而学习之初,它之所以给你枯燥乏味的感觉,那是因为没有发掘出它的趣味来。本课程力图用最简明的语言、最典型的实例及最通俗的解释将这种趣味性挖掘出来,带给你全新的学习体验,体会学习C语言之无穷乐趣! 本课程是国家级线上线下混合式一流本科课程,“教学单元内容”分为两个部分: 第一部分,用SPOC标记的章节: 该部分是结合我校学情,由西南石油大学C语言课程组教师特别推出的:以案例为载体的《C语言程序设计》视频集,我们凝练、梳理C语言的语法知识,将其融入丰富的实战案例教学:通过职业能力胜任模型、搜索引擎、新闻热搜等,让大家在实践中成长,感受编程的成就与乐趣!建议所有同学必修。 第二部分,用MOOC标记的章节: 是引用的哈尔滨工业大学苏小红老师的国家级线上一流本科课程《C语言程序设计精髓》,这里面拓展了更多的课程案例和实践项目,供不同需求的同学课后选修学习。
—— 课程团队
课程概述

       对于这个地球上大多数人来说,真正的数字化革命还没有开始。在接下来的10年里,变化将无处不在,让我们一起来给这个世界编码吧!——Eric Schmidt Google执行主席      


        我们会用15周的时间来深入讲解C语言,课程安排和建议同学们的课外学时安排如下:

表 课程教学进度及要求

序号

章节内容

课内学时

教学方式

课外学时(上机)

课外学时

(线上)

课外环节

支撑课程目标

1

程序设计基础

2

讲授式、演示式

/

2

线上学习

实践练习

目标1、3

2

C数据类型、运算符与表达式

2

讲授式、演示式

实践练习

/

2

线上学习

实践练习

目标1

3

顺序结构程序设计

2

讲授式、演示式

实践练习

2

2

线上学习

实践练习

目标1、3

4

选择结构程序设计

2

案例式、研讨式

实践练习

2

2

线上学习

实践练习

目标1、3

5

循环结构程序设计

4

案例式、研讨式

实践练习

4

4

线上学习

实践练习

目标1、3

6

函数

4

案例式、研讨式

实践练习

4

4

线上学习

实践练习

目标2、3

7

数组

4

案例式、研讨式

实践练习

4

4

线上学习

实践练习

目标2、3

8

指针

4

案例式、研讨式

实践练习

4

4

线上学习

实践练习

目标2、3

9

结构体

2

案例式、研讨式

实践练习

6

2

线上学习

实践练习

目标2、3

10

文件

2

讲授式、演示式

2

线上学习

实践练习

目标1

11

综合程序设计

2

任务驱动式

研讨式

2

线上学习

实践练习

目标2、3

合计

30

/

26

30

/

/


       在授课过程中,我们会注重多解释一些“为什么”以及错误程序的分析,从环环相扣的问题入手,将一些易被忽视且对高水平程序设计很重要的“点”,沿着数据结构从简单到复杂的主线逐一展开,在实例的“不断深化和提升”中引出知识点,通过对问题的举一反三和前后知识点的融会贯通,由浅入深地引导你循序渐进地编写规模逐步增大的程序。

       在过去40年90%的时间里,C语言独领风骚,仅偶尔被其他语言超越,可见其魅力。C语言作为一种高级语言,其实并不高级,但正是这种“低级”给我们更多思考的机会。期望通过本课程的学习,你不只是简单地能够掌握一种语言的语法,还能理解隐含在语法背后的思想,并初步具备灵活使用这些思想进行编写程序解决实际问题的能力。如果你掌握了这些,你会发现,迈向成功的最后一步不过是选择一种合适的编程工具而已。       

      你想从“菜鸟”升级为“程序猿”吗?那就加入“稀饭”的行列,和我们一起踏上爱上C语言之旅吧!


      “教学单元内容”的第一部分——用SPOC标记的章节 (建议必修)

SPOC 第1章 程序设计概述

        1-1 程序的作用和C语言程序

        1-2 为什么学习编程及C语言的用途

        1-3  C语言的编程步骤

        1-4 简单C语言程序及程序调试方法

SPOC 第2章 数据类型、运算符与表达式

        2-1 数据类型

        2-2 运算符与表达式(1)

        2-3 运算符与表达式(2)

        2-4 数据类型转换

SPOC 第3章 顺序结构程序设计

        3-1  IPO程序设计的基本思想-自动售货机(卖1种商品)

        3-2  IPO程序设计的基本思想-自动售货机(友好的UI)

        3-3  输入输出专题练习

SPOC 第4章 选择结构程序设计

        4-1  案例1:自动售货机——处理支付问题

        4-2  案例1:自动售货机——选择丰富的商品

        4-3  案例2:胜任力素质模型-敬业能力测评

        4-4  案例2:胜任力素质模型——雷达图分项能力测评

        4-5  案例3:多功能计算器

SPOC 第5章 循环结构程序设计

        5-1  案例1:胜任力素质模型-雷达图综合能力测评

        5-2  案例2:猜数字游戏—— do-while的使用

        5-3  案例2:猜数字游戏——for语句的使用

        5-4  案例2:猜数字游戏——循环嵌套及程序的控制转移

SPOC 第6章 函数

        6-1  案例1:迎新晚会节目单——定义阶乘计算函数

        6-2   案例1:迎新晚会节目单——函数的调用

        6-3   案例1:迎新晚会节目单——计算可以有多少节目单?

        6-4   案例1: 迎新晚会节目单——案例延伸计算1!+2!+…+n!

        6-5   案例2:哥德巴赫猜想 ——定义判断数n是否为素数的函数

        6-6   案例2:哥德巴赫猜想 ——函数的调用

        6-7   案例2:哥德巴赫猜想 ——验证n的所有组合是否是两个素数的和

        6-8   案例2:哥德巴赫猜想 ——验证6-10000之间的所有数是否满足哥德巴赫猜想

SPOC 第7章 数组

        7-1  一维数组基础

        7-2  案例1:进制转换器

        7-3  案例2:网页重要度的表示与存储

        7-4  案例3:字符串逆序—— 交换法实现

        7-5  二维数组基础

        7-6  案例4:二维数组-音乐排序

        7-7  案例5:-一个有趣的发现-是什么决定我们的人生

        7-8  案例6:水文数据统计

SPOC 第8章 指针

        8-1  指针与地址传递基础

        8-2  案例1:字符串逆序——栈的使用

        8-3   案例2:逆波兰表达式求解——栈的使用

        8-4   案例3:关键字检索-关键字的表示与存储

        8-5   案例3: 关键字检索-关键字比较

        8-6   案例3: 关键字检索-关键字在一个文献中的次数

        8-7   案例3: 关键字检索-关键字在多个文献中的次数

        8-8   案例3: 关键字检索-文献排序

SPOC 第9章 结构体

        9-1  结构体基础

        9-2   案例:新闻热搜与排行榜——新闻热搜的表示

        9-3    案例:新闻热搜与排行榜——新闻查找

        9-4    案例:新闻热搜与排行榜——热搜榜的生成

        9-5    案例:新闻热搜与排行榜——热搜榜的更新

        9-6    案例:新闻热搜与排行榜——算法改进

SPOC 第10章 文件

        10-1    案例:在线购物-需求分析与系统设计

        10-2   案例: 在线购物-商品及购物车表示及存储

        10-3    案例:在线购物-购物车新增商品&查询

        10-4    案例:在线购物-购物车删除商品&结帐

        10-5    案例:在线购物-运行演示&拓展

        

     “教学单元内容”的第二部分——用MOOC标记的章节 (建议根据自己的学习情况选修) 

        课程加入了哈尔滨工业大学苏小红老师的国家级线上一流本科课程《C语言程序设计精髓》的内容(详见“教学单元内容”)。 

        同时,课程还引入了教育部-华为“智能基座”精品慕课建设项目,将C语言与华为资源有机结合起来,包括鲲鹏平台软件开发、华为编程实践与编程规范等。具体所在的章节如下:

            1.1.2 计算的未来和未来的计算(9分半)

            1.1.3 编译型语言与解释型语言及其运行差异(7分)

            1.1.4 现代主流计算机指令(8分)

            1.2.3 鲲鹏平台介绍——如何在华为云上申请弹性云服务器(6分)

            1.2.4 鲲鹏平台介绍——远程登陆(3分半)

            1.2.5 鲲鹏平台介绍——linux指令(4分)

            1.2.6 鲲鹏平台介绍——运行Hello World(5分)

            1.6 进阶:华为编程实践与编码规范

            1.6.1 编程实践—数据类型(4分)

            1.6.2 编程实践—常量(4分)

            1.6.3 编程实践—变量(10分)

            1.6.4 编程实践—声明与初始化(1分)

            

            2.6 进阶:华为编程实践与编码规范

            2.6.1 编程实践—表达式(4分)

            2.6.2 代码风格—整数(16分)

            

            5.7 进阶:华为编程实践与编码规范

            5.7.1 编程实践—控制语句(8分半)

            

            6.1.3 鲲鹏平台ARM处理器的函数优化(8分)

            6.5 进阶:华为编程实践与编码规范

            6.5.1 代码风格—命名(6分半)

            6.5.2 代码风格—注释(6分)

            6.5.3 代码风格—格式(17分)

            6.5.4 编程实践—预处理(19分)

            6.5.5 编程实践—头文件(9分半)

            

            11.5 进阶:华为编程实践与代码风格

            11.5.1 代码风格—指针和数组(10分半)

            11.5.2 代码风格—字符串(5分)

            11.5.3 代码风格—断言(6分)

            11.5.4 代码风格—函数设计(17分)

            11.5.5 代码风格—函数使用(19分)

            

            13.4 鲲鹏多核体系与弱内存模型(17分)

            

            15.7 进阶:华为编程实践与编码规范

            15.7.1 编程规范—内存(6分)

            15.7.2 编程规范—文件(3分半)

            15.7.3 编程规范—其它(4分)

显示全部
授课目标

课程目标

支撑的毕业要求指标点

目标1:知识运用

掌握C语言的基础语法、基本知识点,理解结构化程序设计方法,能够熟练运用基础算法和知识对简单问题等进行程序分析与设计。

毕业要求2.2具有本专业领域需要的数据分析能力,能针对具体的对象建立数学模型并利用计算机求解。

目标2: 能力培养

培养基于C语言程序设计的综合/复杂问题分析、建模、程序设计与实践能力;能够分析、评价程序设计方案的合理性和优劣,并据此锻炼“基于已知探究未知”的能力,为各专业开展基于程序设计的融合创新能力打下基础。

毕业要求6.2:能够选择与使用恰当的仪器、信息资源、工程工具和专业模拟软件,对复杂工程问题进行分析、计算与设计。

目标3:价值引领

引导“信息强国战略”背景下渗透的家国情怀、科技强国战略、宪法法治意识等方面的思政精神,激发学习内驱力,领悟编程学习和实践中的品格精神,促进知识运用和能力培养目标的达成。

毕业要求1:价值塑造


成绩 要求


 

成绩

平时成绩

20%

实验1-实验7的加权平均成绩

20%

期末成绩60%

成绩分项

j

课堂参与

k

视频学习完成度

l

课程讨论

m

在线作业与测验

n

实验1-7

机考

题库随机组卷

实验成绩

个性化考核

成绩占比

25%

25%

15%

35%

80%

20%

100%

考核环节

结合课堂参与情况考核

视频学习不少于20%

线上讨论

课堂讨论等

章节作业、测验、模拟测验等

实验1和7 提交报告

实验2-6在考试系统

教师个性化

随机组卷

平台

中国大学MOOC平台

万维实验/考试系统

考试系统

课程大纲

开篇,学习本课前你必须知道的那些事儿

开篇

本课程使用的教材和软件开发环境

向老师提问、做编程作业的注意事项

小白遇到的安装使用问题尽在其中

了解计算机基础(49分钟)

SPOC 第1章 程序设计概述

1.1 导学文档

1.2 课堂交流区讨论

1.3 学习视频

1.5 测验-单选题——计入总分

1.4 练兵区-单选题——不计入总分

SPOC 第2章 数据类型、运算符与表达式

2.2 课堂交流区讨论

2.1 导学文档

2.3 学习视频

练兵区——单选题——不计入总分

练兵区——编程题——不计入总分

第2章测验——计入总分

SPOC第3章 顺序结构程序设计

3.1 导学文档

3.2 课堂交流区讨论

3.3 学习视频

练兵区——单选题——不计入总分

练兵区——编程题——不计入总分

第3章 测验——计入总分

SPOC 第4章 选择结构程序设计

4.2 课堂交流区讨论

4.1 导学文档

4.3 学习视频

第4章 测验——计入总分

练兵区——单选题——不计入总分

练兵区——编程题——不计入总分

SPOC第5章 循环结构程序设计

5.1 导学文档

5.2 课堂交流区讨论

5.3 学习视频

练兵区——编程题——不计入总分

第5章测验——计入总分

练兵区——单选题——不计入总分

SPOC第6章 函数

6.2 课堂交流区讨论

6.3 学习视频

6.1 导学文档

第6章测验——计入总分

练兵区——单选题——不计入总分

练兵区——编程题——不计入总分

SPOC第7章 数组

7.2 课堂交流区讨论

7.1导学文档

7.3 学习视频

第7章测验——计入总分

练兵区——单选题——不计入总分

练兵区——编程题——不计入总分

SPOC第8章 指针

8.2 课堂交流区讨论

8.3 学习视频

8.1 导学文档

第8章编程题在线测试(指针编程题1)

练兵区——编程题——不计入总分(指针练习1)

第8章 测验(指针测验1)——计入总分

练兵区——单选题——不计入总分(指针练习1)

第8章 测验(指针测验2)——计入总分

练兵区——编程题——不计入总分(指针练习2)

练兵区——单选题——不计入总分(指针练习2)

SPOC第9章 结构体

9.1 导学文档

9.3 学习视频

9.2 课堂交流区讨论

练兵区——单选题——不计入总分

练兵区——编程题——不计入总分

第9章测验——计入总分

SPOC第10章 文件

10.3 学习视频

10.1 导学文档

MOOC 第1章——初识C语言从认识变量和常量开始

1.1 C 语言集成开发环境简介(39分钟)

1.2 如何定义一个变量(10分钟)

1.3 变量的表数范围和存储形式(30分钟)

1.4 宏常量与const常量(13分钟)

1.5 进阶:华为编程实践与编码规范(19分)

本周课件、知识点小结和常见错误小结

先修知识(有基础者越过)——二进制和内存(11分半)

MOOC 第2章——数字间的那些事儿,做点计算哈

2.1 算术运算(20分钟)

2.2 赋值运算(15分钟)

2.3 增1和减1运算(17分钟)

2.4 自动类型转换(5分钟)

2.5 强制类型转换(7分半)

2.6 进阶:华为编程实践与编码规范(20分)

本周课件、知识点小结和常见错误小结

MOOC 第3章——从键盘中来,到键盘中去,开始输入和输出啦

3.1 数据的格式化屏幕输出(15分钟)

3.2 数据的格式化键盘输入(18分钟)

3.3 单个字符的输入输出(15分半)

3.4 进阶:用getchar()输入数据存在的问题(含错误案例分析)(10分)

3.5 进阶:用%c输入数据存在的问题(含错误案例分析)(10分)

本周课件、知识点小结和常见错误小结

MOOC 第4章——无处不在的抉择

4.1 关系运算符和逻辑运算符(23分钟)

4.2 条件语句(14分钟)

4.3 开关语句——条条道路通罗马(28分钟)

4.4 进阶:数值溢出和精度损失问题(34分半)

4.5 进阶:软件测试与错误实例分析(20分半)

本周课件、知识点小结和常见错误小结

选学——用raptor绘制选择结构的流程图(27分钟)

MOOC 第5章——周而复始的循环之道

5.1 计数控制的循环(31分钟)

5.2 递推(33分钟)

5.3 条件控制的循环(32分钟)

5.4 嵌套循环(17分钟)

5.5 穷举(39分钟)

5.6 进阶:软件调试与错误实例分析(27分钟)

5.7 进阶:华为编程实践与编码规范(8分半)

本周课件、知识点小结和常见错误小结

选学——用raptor绘制循环结构的流程图(25分钟)

MOOC 第6章——函数:分工与合作的艺术

6.1 函数定义、调用、参数传递和函数原型(43分)

6.2 函数封装与程序的健壮性(23分钟)

6.3 进阶:断言与防御式编程(14分钟)

6.4 进阶:代码风格(22分钟)

6.5 进阶:华为编程实践与编码规范(58分)

选学——结构化与模块化程序设计方法(41分)

本周课件、知识点小结和常见错误小结

MOOC 第6章(2)——函数的递归调用

7.1 从嵌套调用到递归调用(20分钟)

7.2 递归是如何执行的(16分钟)

7.3 进阶:尾递归是什么鬼?(14分半)

7.4 变量的作用域(22分半)

7.5 进阶:变量的生存期(33分半)

本周课件、知识点小结和常见错误小结

选学——分治和迭代(33分半)

7.6 进阶: 多文件结构(7分半)

MOOC 第7章—— 一堆数据来了,你准备好了吗

本周内容导读

8.1 数组的定义和初始化(43分)

8.2 向函数传递一组相同类型的数据(19分)

8.3 查找算法——众里寻他千百度(37分半)

8.4 排序算法——让世界变得更有序(17分半)

本周课件、知识点小结和常见错误小结

MOOC 第8章——指针:C语言世界中所向披靡的“金箍棒”

本周内容导读

9.1 指针变量的定义、初始化及其解引用(19分)

9.2 指针变量作函数参数(36分半)

9.3 进阶:函数指针及其应用(27分)

9.4 进阶:数组的趣味应用(50分)

本周课件、知识点小结和常见错误小结

MOOC 第8章(2)——字符串:C语言世界中的大力水手

本周内容导读

10.1 字符串的存储与表示(28分)

10.2 字符串处理操作(15分)

10.3 向函数传递和从函数返回字符串(26分)

10.4 进阶:缓冲区溢出与错误案例分析(51分半)

本周课件、知识点小结和常见错误小结

MOOC 第8章(3)——指针与数组

本周内容导读

11.1 指针的运算(8分)

11.2 指针和一维数组间的关系(14分)

11.3 指针和二维数组间的关系(18分)

11.4 进阶:指针数组及其应用(22分)

11.5 进阶:华为编码实践与代码风格(57分半)

本周课件、知识点小结和常见错误小结

MOOC 第9章——结构体:海陆空齐上阵,又来了一堆数据

本周内容导读

12.1 结构体类型(13分)

12.2 结构体与数组的嵌套(7分)

12.3 结构体的相关计算和操作(19分)

12.4 向函数传递一堆不同类型的数据(28分半)

12.5 枚举类型和共用体类型有什么用(25分)

12.6 进阶:典型应用实例——洗发牌模拟(20分)

本周课件、知识点小结和常见错误小结

展开全部
预备知识

本门课程的基本内容是面向零基础的学生。

进阶内容是面向有一定编程基础、学有余力的同学。详见课程概述。

参考资料

1.  面向读者的教材网站(https://sse.hit.edu.cn/book/) 

       该网站中的内容是本课程网站中“教学单元内容”MOOC标记章节对应的素材,也是同学们使用的纸质主教材,提供教材课件、例题源代码、教材勘误表等资源,便于学生浏览和下载后自学,读者也可利用该网站反馈教材使用意见和建议。

       后续课程组老师还会下发“教学单元内容”SPOC标记章节对应的电子素材。


2.  实验考试系统编程软件等的下载地址     

同学们可以通过任课教师或如下网盘链接下载编程软件和实验、考试软件。

链接:https://pan.baidu.com/s/1e6JosnLSgnxi2Hhk1o-9Og

提取码:1234

       安装vs2010学习版软件的完整步骤请查:课件-》开篇-》VC2010集成开发环境安装与使用。

       安装CodeBlocks软件的完整步骤可参考:                                   https://jingyan.baidu.com/article/b24f6c822756b886bfe5da90.html 


3. 参考教材

      1)苏小红等,《程序设计基础(C语言)-慕课版》,人民邮电出版社,2023年2月,购书网址:京东

      2)苏小红,赵玲玲,孙志岗,王宇颖,《C语言程序设计(第4版)》,高等教育出版社,2019年8月,购书网址:京东

      3)苏小红,王甜甜等,《C语言程序设计学习指导(第4版)》,高等教育出版社,2019年9月,购书网址:京东

      4)苏小红,孙志岗,陈惠鹏,《C语言大学实用教程(第5版)》,电子工业出版社,2022年9月,购书网址:亚马逊

      5)苏小红,孙志岗等,《C语言大学实用教程学习指导(第4版)》,电子工业出版社,2017年3月,购书网址:亚马逊

      6)苏小红等,《程序设计实践教程(C语言版)》,机械工业出版社,2021年12月


4.华为资源的相关资料链接(选学)

      • “智能基座”产教融合协同育人基地:

            https://edu.huaweicloud.com/activity/colleges.html?ggw_qt

      • 鲲鹏社区: https://www.hikunpeng.com/zh/

            • openEuler官网: https://www.openeuler.org/zh/

            • openEuler开源社区: https://gitee.com/openeuler

            • openGauss官网: https://opengauss.org/zh/

            • Gauss松鼠会社区: https://bbs.csdn.net/forums/gaussdb

      • 昇腾社区: https://www.hiascend.com/zh/

            • MindSpore官网: https://www.mindspore.cn/

      • 华为公有云: https://www.hwclouds.com

      • 华为软件开发云: https://www.hwclouds.com/devcloud/


5.相关链接

      爱课程国家精品资源共享课https://www.icourses.cn/coursestatic/course_3153.html

      相关MOOC课程:程序设计基础https://www.icourse163.org/course/hit-56001#/info

   (https://www.jianshu.com/p/1e7f0e6b99d0 大牛给计算机专业学生的7个建议,告诉你为什么毕业前要学好C语言)

显示全部
常见问题

Q:如何提问,能得到快速的解答?

A:

1)标题:撰写标题时,要注意把要问的问题的出处和核心词写出来,最好用【】标出来,比如【第1周编程题在线测试的第1题】求解。

2)内容:内容上要把你不懂的地方说出来,最好详细点,把自己尝试修改的过程也说一下。

3)附源代码:把源码贴到讨论区(不要使用图片,因为图片看不清,也不能拷贝),这样大家可以通过你贴出的源码帮你分析错在哪里。

4)附错误提示:把编译出错的提示也贴出来(一般是英文形式),这样大家不用拷贝粘贴和调试程序也能帮你分析出错原因了。


Q:常见的运行结果错误的原因有哪些?

A:程序提交后通常显示三类错误:格式错误、结果错误、运行超时。

对于格式错误,请检查你的程序的输入输出信息是否和题目要求的完全一致。

对于结果错误,请检查你的程序使用的算法和计算公式是否正确,如果涉及浮点运算,可以尝试将float换成double或者反之。

对于运行超时错误,请检查你的程序是否存在死循环,死循环通常由永真的循环控制条件或者while后面添加了不必要的分号引起。注意在本网站提交程序进行测试时,不要使用flush()函数清除缓冲区,输入字符串也不要使用fgets(),原因详见视频讲解 。

注意事项如下:

1)数据输入输出的格式没有严格按照题目的要求写,直接拷贝粘贴题目中给的格式字符串和提示信息,是最简单和不易出现格式错误的方法

2)输入输出字符串中的字符大小写有错误,或者空格数量和位置与题目中的要求不一致,或者缺少换行等。

3)仔细审题,例如题目要求计算半圆的周长,就不要加上直径,更不要计算整个圆的周长。

4)如果只有几个测试用例通过,还有没有通过的测试用例,那么说明你没有考虑所有的可能性,甚至是非法输入的情况。

5)检查是否为英文输入,切记切换成英文状态再输入。一些同学误用了中文作为输入法,就会出现不能编译的问题,例如中文状态下输入的分号和英文状态下输入的分号是完全不同的,语句的末尾使用的分号一定要在英文状态下输入。


Q:如果无法正常观看视频,我该怎么办?

A:如果无法正常观看视频,请尝试进行如下操作:

1.确认你使用了支持视频播放的浏览器。切换到flash播放器无法调整播放速度,切换到HTML5播放器可以调整播放速度。建议都切换到HTML5播放器。

2.清除浏览器的浏览数据及缓存。

3.关闭硬件加速。请在浏览器的 设置 - 显示高级设置 中,将“使用硬件加速模式”(如果可用)一项取消勾选,并重新启动浏览器。

4.检查你的网速。你可以尝试在其他视频网站播放视频(如优酷、土豆等),如果你在其他网站仍无法观看视频,那么你的网络连接很可能有问题。你需要重新连接你的网络或者切换至网速更快的网络以实现流畅的视频播放。


Q:我想考二级,学完这个课程可以考吗? 

A:二级考试题考查语言的语法细节较多,所以能否通过二级考试,要看你的应试水平如何。本课侧重于讲解程序设计的方法以及错误程序的排错方法,更关注实战能力,因此应该说本课程对学生的要求是高于二级考试的要求的。


Q:上机编写C语言程序使用什么软件好?

A:SPOC课程中的案例演示会使用VS2010学习版(计算机二级等级考试C语言所使用的编程软件);MOOC课程中的程序演示会使用Code::Blocks+gcc+gdb集成开发环境。

     在你熟练使用一种开发工具后,其实你使用任何其他C语言开发工具也都是可以的。

 

Q:使用codeblocks在sources中新建一个file,也就是不在原来默认的main.c里面写代码,那么应该如何调试才能使运行的时候直接运行新建的里面的程序呢?

A:给工程添加完新的文件后,移出旧的文件main.c再重新编译即可,移出文件的方法和添加的方法类似。

 

Q:为什么安装好软件后创建新项目的时候软件总是说:could not save project<invalid path> maybe the file is write-protected 呢?

A:codeblocks要求软件安装的目录最好不要带空格或汉字,不要按默认设置安装到program file目录下,卸载后再选择安装到根目录下试试。更多注意事项,参见高等教育出版社的《C语言程序设计学习指导(第3版)》


Q:请问为什么我在Code::Blocks里面点开Debug中的watch里面是空白的?

A按照视频1.2讲的方法新建一个控制台应用程序,不要直接新建一个C文件,直接新建或者打开一个 C文件是无法使用调试功能的。

检查一下是不是将CB安装到默认的program files目录下了,CB不能安装到中文或者有空格的目录下,请卸载软件,重新安装到根目录下,再试试。

此外,全速运行程序时,是看不到watch窗口内的内容的,必须在单步运行的时候才能看到watch窗口内的内容。


Q:为什么我的程序编译不了?

A:一种可能是你安装了不带编译器和调试器的版本,重新安装带编译器和调试器的版本。免费开源的C 语言集成开发环境Code::Blocks+gcc+gdb的官方下载网址:https://www.codeblocks.org/downloads/26(目前最新版本是codeblocks-17.12mingw-setup.exe)。请下载带gcc编译器和gdb调试器的code::blocks(下载软件名中务必包含mingw),否则程序无法编译。无法从官方下载软件的,也可以从百度云盘上下载:链接: 链接: https://pan.baidu.com/s/1q7iVuo8qjFVVW9YLf3BDvQ 提取码: f2n7

C 语言集成开发环境code::blocks的安装和使用方法见教材《C语言程序设计学习指导(第3版)》

如果不想重装系统,可参考

https://zhidao.baidu.com/link?url=T8WrKoa6dHXfZdTIOFex4uWais6SaTY2VbmNnLyKL77fb62LdzxrdJxBT_-UVf48AA9Z14K8l_nyueKFxD_q4Rh3BH0UMZvx5Kvxjx8o1MG重新设置编译器和调试器。

安装软件的完整步骤可参考:https://jingyan.baidu.com/article/b24f6c822756b886bfe5da90.html 

另一种可能是你用的系统自带了迈克菲杀毒软件,请卸载迈克菲杀毒软件即可。


Q:为什么我的程序无法运行,显示cannot open output file bin\Debug\election.exe Permission denied.

A:可能是你的文件正在别的程序中使用,或者还有程序的副本正在执行(或者你上次运行没有关闭),因此不能写入election.exe,把副本关闭或者结束election.exe任务应该就能够纠正这个问题。另外,请检查一下你的IDE是不是是不是安装到C盘的默认目录下了,请将IDE安装到D盘,并将你的程序也保存到D盘,不要保存到C盘。


Q:为什么我的程序与网站上的程序运行结果中的小数点最后一位存在差异?

A: 这是因为网站的OJ使用的操作系统和编译器与我们自己使用的操作系统和编译器不一样,从而导致浮点运算的精度不一致。

此外,使用float和double定义变量得到的计算结果也可能在结果的最后一位小数上有所不同。

显示全部
西南石油大学
14 位授课老师
杨梅

杨梅

教授

赵刚

赵刚

教授

贾月乐

贾月乐

副教授

下载
下载

下载App