程序设计基础(C语言)入门篇
程序设计基础(C语言)入门篇
3万+ 人选课
更新日期:2025/06/03
开课平台智慧树
开课高校山东理工大学
开课教师马新娟田爱奎刘晓红张先伟
学科专业工学计算机类
开课时间2025/01/21 - 2025/07/20
课程周期26 周
开课状态开课中
每周学时-
课程简介
《程序设计基础(C语言)入门篇》是计算机科学与技术专业的入门专业基础课,同时也是进一步学习《数据结构》、《面向对象程序设计》、《JAVA程序设计》以及《编译原理》等课程的前导课程。其主要任务是使学生掌握计算机编程语言的基本知识,初步掌握程序设计的基本思想和方法,理解程序设计的基本概念,使学生具有应用一种编程语言进行简单程序设计的能力,重点培养学生的问题分析能力、数学建模能力、基本算法设计能力以及程序编写与调试实践能力,为学生程序设计基本能力的培养和众多后续课程的学习打下扎实的基础。
课程大纲

在线教程

章节简介教学计划
程序设计与C语言
登录后可预览视频
课程导言:关于程序设计
马新娟
计算机语言
马新娟
编程语言C:为什么是C语言
马新娟
编程软件:如何安装并创建文件
马新娟
第一个C语言程序:简单的C语言程序构成
马新娟
如何设计运行C程序:C程序设计运行的基本步骤
马新娟
算法
程序设计的算法
田爱奎
算法的表示方法
田爱奎
基本数据类型
变量与常量
马新娟
如何定义一个变量:变量的初始化和赋值及输入
马新娟
数据的存储方式:二进制、位与字节
马新娟
C语言的基本数据类型(上)
马新娟
C语言的基本数据类型(下)
马新娟
算术运算符
马新娟
表达式、运算符的优先级和结合性
马新娟
printf:如何得到浮点数的结果
马新娟
递增递减与复合赋值运算符号:有争议的运算符号
马新娟
顺序控制结构与数据的输入输出
详细认识scanf
马新娟
顺序结构:交换两个整数的值
马新娟
分支控制结构
关系运算符和关系表达式
马新娟
如果成立:if单分支
马新娟
逻辑运算符和逻辑表达式
马新娟
否则:if else 双分支
马新娟
{}的使用:复合语句
马新娟
嵌套的if else
马新娟
级联的if else if else if
马新娟
多分支:switch语句
马新娟
循环控制结构
数组:批量数据的处理,对循环结构的需求
马新娟
while语句:计数循环
马新娟
while语句:不确定次数循环
马新娟
do…while语句
马新娟
for语句
马新娟
逗号的引用:逗号运算符和逗号表达式
马新娟
循环的嵌套
马新娟
break
马新娟
数组
导言:批量数据的处理,数组的意义
马新娟
一维数组的定义
马新娟
一维数组的引用
马新娟
一维数组的初始化与赋值
马新娟
数组的应用1-数组计算
马新娟
数组的应用2-选择排序
马新娟
数组的应用3
数据顺序查找
马新娟
数据二分查找
马新娟
数组的应用4-数组逆置
马新娟
数组的应用5-数组移位
马新娟
数组的应用6-数据统计
马新娟
二维数组的定义
马新娟
二维数组的引用和初始化
马新娟
二维数组的应用
马新娟
函数
导言:什么是函数
马新娟
函数的定义和调用
马新娟
函数的声明
马新娟
函数的返回
马新娟
函数的递归调用(上)
张先伟
函数的递归调用(下)
张先伟
数组做函数参数
刘晓红
指针
地址与指针
马新娟
指针变量的定义
马新娟
指针变量的引用
马新娟
指针变量作为函数参数
马新娟
指针与数组:指向数组元素的指针
马新娟
指针与数组:做参数
马新娟
字符串
字符串
马新娟
字符串变量的表示
字符数组的定义、引用和初始化
马新娟
字符指针与字符数组的区别
马新娟
字符串的输入输出
马新娟
字符串处理函数
马新娟
  • 第一章程序设计与C语言

    (一)内容提要
    本章重点介绍了指令、程序、程序设计和计算机语言的含义,C语言的发展和特点、C语言程序的基本结构、书写规范、调试方法和运行过程。
    (二)学习目标
    1、理解指令、程序、程序设计、计算机语言的含义;
    2、了解C语言的发展和特点;
    3、掌握C语言程序的基本构成;
    4、学会C语言的简单调试步骤;
    5、学会C语言程序的执行过程;
    6、掌握C语言的书写规范和注释方法。

  • 1.1课程导言:关于程序设计

    1、 无处不在的计算机应用
    2、 什么是计算机程序
    3、 什么是计算机程序设计

  • 1.2计算机语言

    1、 什么是计算机语言
    2、 计算机语言的发展阶段
    3、 目前最流行的计算机语言

  • 1.3编程语言C:为什么是C语言

    1、 C语言的发展
    2、 C语言的优点
    3、 C语言简介

  • 1.4编程软件:如何安装并创建文件

    1、 CodeBlocks的安装
    2、 C文件的创建

  • 1.5第一个C语言程序:简单的C语言程序构成

    1、 简单C程序的构成
    2、 C程序的特点 3、编写C程序的注意事项

  • 1.6如何设计运行C程序:C程序设计运行的基本步骤

    1、编写C程序的基本步骤
    2、调试C程序的基本步骤

  • 第二章算法

    (一)内容提要
    本章讨论了程序设计中三种常用算法的表示方法;重点讨论了各算法的特点及其典型应用举例。
    (二)学习目标
    1、理解算法的含义、特征;
    2、学会算法的常用表示方法;
    3、学会三种基本结构的流程图表示方法;

  • 2.1程序设计的算法

    1、 什么是算法
    2、 算法的特征

  • 2.2算法的表示方法

    1、 自然语言表示的算法
    2、 传统流程图表示的算法
    3、 NS结构图表示的算法

  • 第三章基本数据类型

    (一)内容提要
    本章讨论了C语言程序中的各种基础数据类型及其使用方法,如常量与变量、整型、实型、字符型的定义、表示和使用方法,C语言程序中运算符和表达式的使用方法,不同类型数据之间的转换。
    (二)学习目标
    1、理解常量与变量的定义和使用方法。
    2、学会整型、实型、字符型的定义、表示和使用方法。
    3、学会算术运算符和算术表达式的使用方法。
    4、学会赋值运算符与赋值表达式的使用方法;
    5、学会自增、自减、复合赋值运算符和表达式的使用方法。
    6、掌握运算符的优先级和结合性。
    7、掌握格式化printf输出函数使用法

  • 3.1变量与常量

    1、 变量与变量的声明
    2、 常量与符号常量的定义

  • 3.2如何定义一个变量:变量的初始化和赋值及输入

    1、赋值运算符号
    2、变量的赋值与初始化
    3、通过scanf获得一个数据

  • 3.3数据的存储方式:二进制、位与字节

    1、二进制
    2、位与字节
    3、数据的存储方式

  • 3.4C语言的基本数据类型(上)

    1、整型数据
    2、实型数据
    3、字符型数据

  • 3.5C语言的基本数据类型(下)

    字符型数据

  • 3.6算术运算符

    1、算术运算符号的种类
    2、算术运算符号的运算规则
    3、/与%的应用

  • 3.7表达式、运算符的优先级和结合性

    1、什么是表达式;
    2、运算符的优先级;
    3、运算符号的结合性

  • 3.8printf:如何得到浮点数的结果

    1、printf的格式
    2、printf的作用

  • 3.9递增递减与复合赋值运算符号:有争议的运算符号

    1、自增自减运算符
    2、复合赋值运算符

  • 第四章顺序控制结构与数据的输入输出

    (一)内容提要
    顺序结构是程序设计中的最基本的结构。这种结构的基本特点是构成程序的语句都是按照出现的顺序逐条进行的,只有遇到某些控制语句和函数时,才会暂停原来的顺序。顺序结构程序的执行流程是直线型的,而组成顺序结构的基本语句是输入语句、输出语句、赋值语句等程序语句。
    本章重点讨论了使用顺序结构设计程序的方法,C语言中输人、输出库函数的用法以及赋值运算符和表达式的用法。
    (二)学习目标
    1、理解C语言的三种基本控制结构的思想;
    2、理解并掌握C语言顺序结构的设计方法;
    3、学会使用字符输入输出函数getchar()、putchar()以及格式化输入输出函数scanf()。

  • 4.1 详细认识scanf

    1、scanf的格式
    2、scanf的作用

  • 4.2顺序结构:交换两个整数的值

    1、顺序结构的特点
    2、顺序结构的例子:交换两个整数

  • 第五章分支控制结构

    (一)内容提要
    选择结构是程序设计中的最基本的结构。这种结构的基本特点是程序的执行过程中出现了分支,究竟执行哪个分支是根据一定的条件进行判定选择的。
    本章重点讨论了关系运算符、逻辑运算符以及由它们组成的表达式作为分支判定条件的灵活使用,并讨论了分支控制语句if-else和switch语句的使用。
    (二)学习目标
    1、理解C语言的三种基本控制结构的思想;
    2、学会正确使用关系运算符并理解关系表达式;
    3、学会正确使用逻辑运算符并理解逻辑表达式;
    4、学会正确使用条件运算符并理解条件表达式;
    5、学会灵活使用if-else及其嵌套的使用;
    6、学会灵活使用switch语句实现的多分支选择结构。

  • 5.1关系运算符和关系表达式

    1、关系运算符
    2、关系表达式

  • 5.2 如果成立:if单分支

    1、单分支if语句格式
    2、if语句的执行过程
    3、if语句的例子

  • 5.3逻辑运算符和逻辑表达式

    1、逻辑运算符
    2、逻辑表达式

  • 5.4否则:if else 双分支

    1、双分支if-else语句格式
    2、if-else语句的执行过程
    3、if-else语句的例子

  • 5.5{}的使用:复合语句

    1、复合语句的意义
    2、复合语句的形式
    3、复合语句的例子

  • 5.6嵌套的if else

    1、嵌套if-else语句格式
    2、嵌套if-else语句的执行过程
    3、嵌套if-else语句的例子

  • 5.7 级联的if else if else if

    1、级联if-else语句格式
    2、级联if-else语句的执行过程
    3、级联if-else语句的例子

  • 5.8多分支:switch语句

    1、switch语句格式
    2、switch的执行过程
    3、switch语句的例子

  • 第六章循环控制结构

    (一)内容提要
    本章重点讨论了C语言三种循环控制语句,即while()语句、do…while()语句和for()语句,和与之有关的逗号运算符和逗号表达式以及break语句。
    (二)学习目标
    1、理解C语言的三种基本控制结构的思想;
    2、学会灵活使用while、do~while、for循环语句;
    3、学会使用break、continue语句;
    4、学会使用逗号运算符并理解逗号表达式;

  • 6.1数组:批量数据的处理,对循环结构的需求

    1、循环语句的意义
    2、循环语句的基本结构
    3、三种循环语句

  • 6.2while语句:计数循环

    1、while语句格式
    2、while的执行过程
    3、while语句的例子

  • 6.3while语句:不确定次数循环

    1、什么是不确定循环
    2、如何确定不确定循环的条件

  • 6.4do…while语句

    1、while语句格式
    2、while的执行过程
    3、while语句的例子

  • 6.5for语句

    1、for语句格式
    2、for的执行过程
    3、for语句的例子

  • 6.6逗号的引用:逗号运算符和逗号表达式

    1、逗号运算符
    2、逗号表达式

  • 6.7循环的嵌套

    1、什么是嵌套循环
    2、如何设计嵌套循环的程序

  • 6.8break

    break

  • 第七章数组

    (一)内容提要
    本章讨论了C语言中数组的含义、定义格式,数组及其数组元素的使用方法;通过数组的定义和使用,讨论了C语言中批量数据的处理方法;根据批量数据分组方式的不同,分析了一维数组和二维数组的处理方法;通过各种程序设计,明确数组的使用方法。
    (二)学习目标
    1、理解C语言中数组的含义;
    2、学会C语言中一维和二维数组的定义和使用方法;
    3、学会灵活使用C语言中一维和二维数组进行数据的计算、统计、排序和查找方法;

  • 7.1导言:批量数据的处理,数组的意义

    1、数组的意义
    2、什么是数组
    3、数组的特点

  • 7.2一维数组的定义

    1、一维数组的定义
    2、一维数组的特点

  • 7.3一维数组的引用

    1、一维数组的引用
    2、一维数组的特点

  • 7.4 一维数组的初始化与赋值

    1、一维数组的初始化
    2、一维数组的赋值

  • 7.5数组的应用1-数组计算

    1、一维数组的递推计算
    2、使用一维数组计算数据的好处

  • 7.6数组的应用2-选择排序

    1、选择排序的算法
    2、选择排序的程序实现

  • 7.7数组的应用3

    1、顺序查找的算法
    2、顺序查找的程序实现

  • 7.8数组的应用4-数组逆置

    1、二分查找的算法
    2、二分查找的程序实现

  • 7.9数组的应用5-数组移位

    1、数组前移的实现
    2、数组后移的实现

  • 7.10数组的应用6-数据统计

    1、数据统计问题的特点
    2、巧妙利用数据与数组下标的关系

  • 7.11二维数组的定义

    1、二维数组的定义
    2、二维数组的特点

  • 7.12二维数组的引用和初始化

    1、二维数组的引用
    2、二维数组的初始化

  • 7.13二维数组的应用

    1、矩阵转置
    2、二维数组应用特点

  • 第八章函数

    (一)内容提要
    本章介绍了C语言函数的定义、调用、声明及返回方法;讨论了C语言函数调用时的参数传递过程和函数返回值问题、函数的递归调用、变量作用域与存储类别;通过函数定义、调用的应用举例,重点讨论了C语言函数的使用方法和执行过程,分析了数组在函数中的使用方法。
    (二)学习目标
    1、理解C语言程序的执行总是从主函数main开始,最后在main函数结束整个程序的过程;
    2、学会C语言系统提供的库函数的使用方法;
    3、掌握C语言用户自定义函数的定义、声明、调用方法;
    4、理解并掌握C语言函数参数值的传递过程;
    5、学会使用C语言函数的嵌套调用方法设计程序;
    6、学会使用C语言函数的递归调用方法设计程序;
    6、理解C语言程序的模块化设计思想,学会设计简单的模块化程序。

  • 8.1导言:什么是函数

    1、使用函数的意义
    2、什么是函数
    3、使用函数的好处

  • 8.2函数的定义和调用

    1、函数的定义
    2、函数的调用

  • 8.3函数的声明

    1、什么是函数的声明
    2、使用函数声明的场合

  • 8.4函数的返回

    1、return 的格式
    2、return的返回值

  • 8.5函数的递归调用(上)

    函数的递归调用

  • 8.6函数的递归调用(下)

    函数的递归调用

  • 8.7数组做函数参数

    1、什么是递归调用
    2、递归调用的场合
    3、递归的执行过程

  • 第九章指针

    (一)内容提要
    本章讨论了C语言中指针的含义、指针的定义格式、指针与其它类型数据的关系、指针的使用方法;通过指针的定义和使用,讨论了C语言中各种标准类型数据在内存中的存储地址;分析了指针与地址的关系。
    (二)学习目标
    1、理解C语言中指针的含义;

    2、学会C语言中指针的定义、赋值、运算和使用方法;
    3、理解C语言中指针与其它标准数据类型数据的关系;
    4、理解C语言中指针与数组名、数组元素的关系;
    5、理解C语言函数中指针作参数与标准数据类型的数据作参数的不同。

  • 9.1地址与指针

    1、变量的地址
    2、&运算符号
    3、变量的值

  • 9.2指针变量的定义

    1、指针变量的定义
    2、*运算符号
    3、指针变量的使用原则

  • 9.3指针变量的引用

    1、直接访问
    2、间接访问

  • 9.4指针变量作为函数参数

    1、指针变量做函数参数间接修改目标变量
    2、指针变量做函数参数修改指针变量

  • 9.5指针与数组:指向数组元素的指针

    1、下标法表示数组元素
    2、固定指针法表示数组元素
    3、游动指针法表示数组元素

  • 9.6指针与数组:做参数

    1、数组名做函数参数
    2、指针变量做函数参数

  • 第十章字符串

    (一)内容提要
    本章讨论了字符串常量、字符串变量、字符串的输入输出方法;讨论了利用C库提供的字符串处理函数进行字符串比较、赋值和连接等的操作方法;分析了字符指针与字符数组的使用方法。
    (二)学习目标
    1、理解C语言的字符串常量的含义;
    2、理解C语言的字符串变量的含义;
    3、学会C语言中字符串的输入输出方法;
    4、学会使用C语言提供的各种字符串处理函数;
    5、理解字符指针与字符数组的含义;
    6、学会使用字符指针存储字符串以及输入输出的方法;
    7、学会使用字符数组存储字符串以及输入输出的方法;
    8、学会利用字符串、指针、数组、函数灵活设计程序。

  • 10.1字符串

    1、字符串与字符串结束标志
    2、字符串常量

  • 10.2字符串变量的表示

    1、字符数组表示字符串
    2、指针变量表示字符串

  • 10.3字符串的输入输出

    1、格式化输入输出字符串
    2、字符串输入输出函数gets()与puts()

  • 10.4 字符串处理函数

    1、字符串连接函数strcat
    2、字符串拷贝函数strcpy
    3、字符串比较strcmp函数
    4、求字符串长度strlen函数

  • 开始学习
  • 第一章  作业测试
    第一章 程序设计与C语言

    1.1 课程导言:关于程序设计

    1.2 计算机语言

    1.3 编程语言C:为什么是C语言

    1.4 编程软件:如何安装并创建文件

    1.5 第一个C语言程序:简单的C语言程序构成

    1.6 如何设计运行C程序:C程序设计运行的基本步骤

    视频数6
  • 第二章  作业测试
    第二章 算法

    2.1 程序设计的算法

    2.2 算法的表示方法

    视频数2
  • 第三章  作业测试
    第三章 基本数据类型

    3.1 变量与常量

    3.2 如何定义一个变量:变量的初始化和赋值及输入

    3.3 数据的存储方式:二进制、位与字节

    3.4 C语言的基本数据类型(上)

    3.5 C语言的基本数据类型(下)

    3.6 算术运算符

    3.7 表达式、运算符的优先级和结合性

    3.8 printf:如何得到浮点数的结果

    3.9 递增递减与复合赋值运算符号:有争议的运算符号

    视频数9
  • 第四章  作业测试
    第四章 顺序控制结构与数据的输入输出

    4.1 详细认识scanf

    4.2 顺序结构:交换两个整数的值

    视频数2
  • 第五章  作业测试
    第五章 分支控制结构

    5.1 关系运算符和关系表达式

    5.2 如果成立:if单分支

    5.3 逻辑运算符和逻辑表达式

    5.4 否则:if else 双分支

    5.5 {}的使用:复合语句

    5.6 嵌套的if else

    5.7 级联的if else if else if

    5.8 多分支:switch语句

    视频数8
  • 第六章  作业测试
    第六章 循环控制结构

    6.1 数组:批量数据的处理,对循环结构的需求

    6.2 while语句:计数循环

    6.3 while语句:不确定次数循环

    6.4 do…while语句

    6.5 for语句

    6.6 逗号的引用:逗号运算符和逗号表达式

    6.7 循环的嵌套

    6.8 break

    视频数8
  • 第七章  作业测试
    第七章 数组

    7.1 导言:批量数据的处理,数组的意义

    7.2 一维数组的定义

    7.3 一维数组的引用

    7.4 一维数组的初始化与赋值

    7.5 数组的应用1-数组计算

    7.6 数组的应用2-选择排序

    7.7 数组的应用3

    7.8 数组的应用4-数组逆置

    7.9 数组的应用5-数组移位

    7.10 数组的应用6-数据统计

    7.11 二维数组的定义

    7.12 二维数组的引用和初始化

    7.13 二维数组的应用

    视频数14
  • 第八章  作业测试
    第八章 函数

    8.1 导言:什么是函数

    8.2 函数的定义和调用

    8.3 函数的声明

    8.4 函数的返回

    8.5 函数的递归调用(上)

    8.6 函数的递归调用(下)

    8.7 数组做函数参数

    视频数7
  • 第九章  作业测试
    第九章 指针

    9.1 地址与指针

    9.2 指针变量的定义

    9.3 指针变量的引用

    9.4 指针变量作为函数参数

    9.5 指针与数组:指向数组元素的指针

    9.6 指针与数组:做参数

    视频数6
  • 第十章  作业测试
    第十章 字符串

    10.1 字符串

    10.2 字符串变量的表示

    10.3 字符串的输入输出

    10.4 字符串处理函数

    视频数5
  • 期末考试