C之算法与程序
C之算法与程序
5000+ 人选课
更新日期:2025/08/01
开课时间2025/07/21 - 2026/01/20
课程周期27 周
开课状态开课中
每周学时-
课程简介
1.程序设计语言的发展可谓百花齐放、百家争鸣,开发于20世纪70年代的C语言却能流行30多年而长盛不衰,这要归功于C语言的硬件无关性和可移植性,这也使得C语言成为使用最广泛的计算机语言之一。2.如何进行编程?如何解决问题?如何让计算机按照人类的思维进行操作?本课程将通过C语言进行讲解,现在很多流行语言都借鉴了C语言的思想、语法,所谓一通百通,这也是为什么要学习C语言的理由。
课程大纲

在线教程

章节简介教学计划
很高兴认识你-C语言
登录后可预览视频
课程介绍
课程概要
孙守强
VC2010开发环境
我们的维C
孙守强
项目介绍
我们的项目
孙守强
算法讲解
程序的灵魂:算法
孙守强
有线图:传统流程图
孙守强
盒图:N-S图
孙守强
Visio2010 绘图工具
孙守强
第一个C语言程序
系统菜单实现
孙守强
一战到底-顺序
数据类型
王泽松
整型数据
王泽松
实型数据
王泽松
字符型数据
王泽松
数据类型转换
王泽松
数据的输入输出
格式化输出函数
王泽松
格式化输入函数
王泽松
顺序结构程序设计应用
王泽松
条条大道通罗马-选择
关系运算符、逻辑运算符及其表达式
王泽松
if语句
单分支条件语句
王泽松
双分支条件语句
王泽松
多分支条件语句
王泽松
if语句的嵌套
王泽松
switch语句
王泽松
运算符及其表达式
王泽松
选择结构程序设计应用
王泽松
生生不息—循环
for语句
林德丽
while与do-while
while与do-while
林德丽
区分while与do-while
林德丽
break与continue
林德丽
循环嵌套与穷举法
林德丽
我们是一类—数组
一维数组
一维数组定义、引用、初始化
林德丽
一维数组的应用
林德丽
二维数组
二维数组定义、引用、初始化
林德丽
二维数组的应用
林德丽
字符数组
字符数组定义、引用、初始化
林德丽
字符串输入输出函数
林德丽
冒泡排序
林德丽
小模块大作用-函数
函数小常识
函数是什么
王晓辉
如何创建函数
王晓辉
函数的调用
王晓辉
嵌套和递归
函数的声明
王晓辉
函数的嵌套调用
王晓辉
函数的递归调用
王晓辉
函数的左膀-数组参数
函数的数组参数
王晓辉
函数的右臂-变量
局部变量和全局变量
王晓辉
变量的存储方式和生存期
王晓辉
内部函数和外部函数
王晓辉
多种类共存-结构体
结构体的概念
结构体类型及变量的定义
苏娜
结构体变量的简单应用
苏娜
结构体数组
结构体数组
苏娜
结构体数组的应用
苏娜
C的生存之道-文件
文件的概述
初识文件
苏娜
文件的常用操作
文本文件的读写
苏娜
二进制文件的读写
苏娜
  • 第一章很高兴认识你-C语言

    C语言是一门高级程序设计语言,也是现在国际上比较流行的计算程序设计语言之一。C语言自1973年在美国贝尔实验室成为一种标准语言之后,便受到广大开发者欢迎,如今已经成为世界上使用最广泛、最流行的高级程序设计语言之一。那么,C语言到底是什么样子呢?C语言又是怎样来解决问题的呢?

  • 1.1课程介绍

    介绍C语言课程背景、课程目标、课程特色和对本课程的认知。

  • 1.2VC2010开发环境

    介绍C语言集成开发环境的使用方法。

  • 1.3项目介绍

    介绍本课程所用案例系统,分析项目需求,初步对项目进行了总体设计和详细设计。

  • 1.4算法讲解

    介绍算法的概念、特性、结构和描述,对流程图进行了重点讲解。

  • 1.5第一个C语言程序

    介绍了第一个C语言程序的生成方法。

  • 第二章一战到底-顺序

    在计算机科学中,数据是指所有能输入到计算机并被计算机程序处理的符号的介质的总称。数据是信息的表现形式和载体,可以是符号、文字、数字、语音、图像、视频等。在计算机中存放数据的存储单元是具体存在的,它的分配规则需要通过数据类型来定义。数据类型是一种属性,用于指定存储到计算机中数据的类型。数据类型相当于一个容器,容器的大小决定了装的东西的多少,将数据分为不同的类型可以节省磁盘空间和资源。

  • 2.1数据类型

    介绍数据类型是对数据分配存储单元的安排,包括存储单元的大小以及数据的存储形式。不同的类型分配不同的大小和存储形式。

  • 2.2整型数据

    介绍整型数据
    在C语言中,数据有常量和变量两种表现形式。整型类型包括int(基本整型)short int(短整型)、long int(长整型)。

  • 2.3实型数据

    介绍实型数据
    实型(也称浮点型)数据用来表示具有小数点的实数。在C语言中,实数是以指数形式存放在存储单元中的。浮点数类型包括float(单精度浮点型)、double(双精度浮点型)。

  • 2.4字符型数据

    介绍字符型数据
    字符型数据在内存中存储的是字符的ASCII码。字符常量有两种表现形式:普通字符常量和转义字符。

  • 2.5数据类型转换

    介绍数据类型转换
    在程序中经常会遇到不同类型的数据进行运算,有时需要将数据的类型转换成另一种类型。

  • 2.6数据的输入输出

    介绍数据的输入输出
    C语言的输入输出操作是由C标准函数库中的函数来实现的。其中,scanf函数用于格式化输入,printf函数用于格式化输出。

  • 2.7顺序结构程序设计应用

    介绍顺序结构程序设计应用
    顺序结构是最简单的程序结构,也是最常用的程序结构。在顺序结构中,各语句是按自上而下的自动顺序执行的,不必作任何判断。

  • 第三章条条大道通罗马-选择

    将解决问题的步骤或设计好的算法转换为计算机程序的全过程称为程序设计。顺序结构是最简单的程序设计,只要按照问题的解决顺序写出相应的语句就行。而现实生活中需要进行判断和选择的情况很多,对于要先做判断再选择的问题就要使用选择结构。选择结构是通过判断某些特定条件是否满足来决定下一步的执行流程。常见的有单分支选择结构、双分支选择结构、多分支选择结构以及嵌套的分支结构,形式灵活多变。

  • 3.1关系运算符、逻辑运算符及其表达式

    介绍关系运算符、逻辑运算符及其表达式的应用。

  • 3.2if语句

    介绍if语句
    在C语言中选择结构主要是用if语句实现的。If语句又称为条件语句,有3种形式:单分支条件语句、双分支条件语句和多分支语句。

  • 3.3switch语句

    介绍switch语句
    在程序设计中,采用if-else if语句处理多分支问题,当分支过多时,会造成程序较为冗长且可读性降低,switch语句很好的解决了多分支问题。

  • 3.4运算符及其表达式

    介绍多种运算符及其表达式
    在C语言中,常用的运算符有算术运算符、赋值运算符、条件运算符和逗号运算符。由运算符、常量、变量、圆括号、函数等构成的符合C语言语法规则的式子称为表达式。

  • 3.5选择结构程序设计应用

    介绍选择结构程序设计应用
    在现实生活中,需要根据某个条件是否满足来决定是否执行指定的操作任务,本节将进一步讲解选择结构语句的应用。

  • 第四章生生不息—循环

    循环结构是高级语言程序设计中的一种常用的控制结构,主要用于解决那些需要重复处理的问题。本章要熟练掌握3种循环控制语句:for语句、while语句和do-while语句,熟练掌握循环结构对程序设计非常重要。

  • 4.1for语句

    介绍for语句的使用。

  • 4.2while与do-while

    介绍while与do-while语句的使用,并能区分while与do-while语句。

  • 4.3break与continue

    介绍break语句与continue语句。

  • 4.4循环嵌套与穷举法

    介绍循环结构程序设计应用。

  • 第五章我们是一类—数组

    在实际应用中,经常需要批量处理大量同类型的数据。例如,要保存100个学生的分数,不可能在程序中定义100个变量,这样编程起来将及其麻烦,此时使用数组将非常方便。本章我们主要学习目标是:介绍一维数组的定义和使用;介绍二维数组的定义和使用;介绍字符数组的定义和使用;了解各种数据排序算法的基本思路。

  • 5.1一维数组

    介绍一维数组的定义、引用、初始化,能够熟练应用一维数组。

  • 5.2二维数组

    介绍二维数组的定义、引用、初始化,能够熟练应用二维数组。

  • 5.3字符数组

    介绍字符数组的定义、引用、初始化,能够应用字符串输入输出函数。

  • 5.4 冒泡排序

    案例讲解:冒泡排序。

  • 第六章小模块大作用-函数

    学习 C 语言有一个知识点是必须要学的,那就是函数,这个知识点是 C 语言的主体和核心。可以说,C 程序的全部工作都是由各式各样的函数完成的。不会写函数,就无从谈写C程序。由此可见,学习函数的重要性,所以初学者一定要好好学。
    函数的好处有什么呢?1、方便代码重用。这样可以解决大量同类型的问题,避免重复性操作。2、方便代码的维护。哪个功能出问题了,或者需要修改某个功能,那就只需要修改某个功能的函数就可以了。面向过程语言最基本的单位不是语句,而是函数。本章我们主要学习函数的相关知识。

  • 6.1函数小常识

    第一,函数就是 C 语言的模块,一块一块的,有较强的独立性,可以相互调用,换句话说,C 语言中,一个函数里面可以调用 n 个函数,即大函数调用小函数,小函数又调用“小小”函数。这就是结构化程序设计,所以面向过程的语言又叫结构化语言。
    第二,函数就是一系列 C 语句的集合,能完成某个特定的功能。需要该功能的时候直接调用该函数即可,不用每次都堆叠代码。需要修改该功能时,也只需要修改和维护这一个函数即可。

  • 6.2嵌套和递归

    在 C 语言中,所有函数的定义,包括主函数 main 在内,都是“平行”的。也就是说,在一个函数的函数体内,不能再定义另一个函数,即不能嵌套定义。但是函数之间允许相互调用,也允许嵌套调用。习惯上将调用者称为主调函数,被调用者称为被调函数。函数还可以自己调用自己,称为递归调用。
    此外,main 函数是主函数,它可以调用其他函数,但不允许被其他函数调用。C 程序的执行总是从 main 函数开始的(也是由 main 结束的),就算定义的函数放在 main 的前面,程序仍然从 main 开始执行。如果执行到函数调用则执行被调用的函数,完成函数调用后再返回到 main 函数继续往下执行,最后由 main 函数结束整个程序。一个 C 语言程序必须有且仅有一个主函数 main。

  • 6.3 函数的左膀-数组参数

    一个函数的形参是普通的局部变量。当发生函数调用时,程序创建这些形参,然后用对应的实参来初始化这些形参。形参的作用域就是函数块。函数内可以改变形参的值,而不会影响调用上下文中实参的值。数组元素的作用与变量相当,一般来说,变量可以出现的地方,都可以用数组元素代替。除了用数组元素作为函数参数外,还可以用数组名作为函数参数(包括实参和形参)。本节主要学习数组作参数的相关知识。

  • 6.4 函数的右臂-变量

    形参变量要等到函数被调用时才分配内存,调用结束后立即释放内存。这说明形参变量的作用域非常有限,只能在函数内部使用,离开该函数就无效了。所谓作用域,就是变量的有效范围。不仅对于形参变量,C语言中所有的变量都有自己的作用域。决定变量作用域的是变量的定义位置。本节主要介绍局部变量和全局变量的相关知识。

  • 6.5 内部函数和外部函数

    变量有作用域,有局部变量和全局变量之分,那么函数有没有类似问题呢?函数也由此类问题,有的函数可以在本文件中使用,也可以在其他文件中使用,而有的函数只能在本文件中使用,不能被其他文件使用。根据函数能否被其他源文件使用,将函数分为内部函数和外部函数。本节主要介绍内部函数和外部函数的定义和调用方法等知识点。

  • 第七章多种类共存-结构体

    很多实际问题中用到的数据是有内在联系的,成组出现。如一个学生的学号、姓名、年龄、成绩等项,属于同一个学生。人们希望把这些数据组成一个组合数据,即多种类可以共存的构造数据类型---结构体。本章主要内容有:结构体类型及变量的定义、引用、初始化;结构体数组定义、初始化、数组元素中结构体成员变量的引用;通过结构体数组在“学生信息管理系统”中的应用,进一步加深对结构体及数组知识的掌握。

  • 7.1结构体的概念

    首先介绍结构体类型的定义,结构体变量的引用、初始化,及较综合的初始化变量的方法;在此基础上以单个学生信息为例,编程统计该学生的总分和平均分,从而掌握结构体变量的简单应用。

  • 7.2结构体数组

    在掌握结构体数组定义、初始化、元素中成员引用的基础上,通过结构体数组在“学生信息管理系统”中的应用,进一步加深对结构体及数组知识的掌握。

  • 第八章C的生存之道-文件

    前几章介绍的程序都是将数据保存在内存中,当程序运行结束后,所有变量的值将不再存在。对一些数据输入量大且数据需要长期使用的应用程序而言,这种方式就存在很大的问题,而应将这些数据保存在外存中,即C的生存之道-文件。本章主要介绍文件的基本概念和基本操作,通过“学生信息管理系统”中文件的读写实例,领会文件的作用,掌握其使用方法。

  • 8.1文件的概述

    本节通过介绍文件的类型,理解C语言中文件的概念,掌握操作文件的基本流程:打开、读写、关闭,重点掌握打开及关闭文件的函数的使用。

  • 8.2文件的常用操作

    本节分别在介绍文本文件及二进制文件读写函数的基础上,通过“学生信息管理”中对这两类文件的读写应用实例,领会文件的功能,掌握其使用方法。

  • 开始学习
  • 第一章  作业测试
    第一章 很高兴认识你-C语言

    1.1 课程介绍

    1.2 VC2010开发环境

    1.3 项目介绍

    1.4 算法讲解

    1.5 第一个C语言程序

    视频数8
  • 第二章  作业测试
    第二章 一战到底-顺序

    2.1 数据类型

    2.2 整型数据

    2.3 实型数据

    2.4 字符型数据

    2.5 数据类型转换

    2.6 数据的输入输出

    2.7 顺序结构程序设计应用

    视频数8
  • 第三章  作业测试
    第三章 条条大道通罗马-选择

    3.1 关系运算符、逻辑运算符及其表达式

    3.2 if语句

    3.3 switch语句

    3.4 运算符及其表达式

    3.5 选择结构程序设计应用

    视频数8
  • 第四章  作业测试
    第四章 生生不息—循环

    4.1 for语句

    4.2 while与do-while

    4.3 break与continue

    4.4 循环嵌套与穷举法

    视频数5
  • 第五章  作业测试
    第五章 我们是一类—数组

    5.1 一维数组

    5.2 二维数组

    5.3 字符数组

    5.4 冒泡排序

    视频数7
  • 第六章  作业测试
    第六章 小模块大作用-函数

    6.1 函数小常识

    6.2 嵌套和递归

    6.3 函数的左膀-数组参数

    6.4 函数的右臂-变量

    6.5 内部函数和外部函数

    视频数10
  • 第七章  作业测试
    第七章 多种类共存-结构体

    7.1 结构体的概念

    7.2 结构体数组

    视频数4
  • 第八章  作业测试
    第八章 C的生存之道-文件

    8.1 文件的概述

    8.2 文件的常用操作

    视频数3
  • 期末考试