# 深圳大学-本科-地理空间信息工程专业-程序设计基础-课程仓库 **Repository Path**: risc_giser/SZU_Bachelor_Basic_OfProgramming ## Basic Information - **Project Name**: 深圳大学-本科-地理空间信息工程专业-程序设计基础-课程仓库 - **Description**: 本项目用于,深圳大学“地理空间信息工程”本科专业,《程序设计基础》课程资料分享与交流。 - **Primary Language**: C - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2021-03-16 - **Last Updated**: 2024-09-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 城市空间信息工程系-地理空间信息工程专业-本科-程序设计基础 ## 介绍 本项目用于,深圳大学“地理空间信息工程”本科专业,《程序设计基础》课程资料分享与交流。 ### 中文名称:程序设计基础 ### 英文名称:Basic of Programming ### 学时:36授课,36上机 ## 课程内容简介 C语言作为国内外广泛使用的一种计算机高级语言,以其功能丰富,灵活方便,运行效率高以及应用范围广等优点成为广大计算机应用人员和学生学习的主要计算机语言之一。也是培养学生计算机语言思维,了解计算机编程思想的最佳语言。 本课程的教学将使学生掌握C语言的基本结构、各种数据类型和控制流程的语法、语义和使用。学习运用计算机语言进行程序设计的思想和方法,初步受到程序设计方法、技巧、风格和素养的训练。 ## 课程目标 课程的主要任务是引导学生进入计算机程序设计的广阔空间、培养学生的逻辑思维能力、抽象能力和基本的计算机程序设计能力。本课程以C语言为载体,使学生对计算机程序设计有一个初步的正确的认识,学会阅读用计算机程序设计语言(C)编写的简单应用程序, 掌握结构化程序设计的基本方法和用计算机解决实际问题的基本步骤,训练学生的逻辑思维能力,培养其严谨的思维方式和良好的程序设计风格,为进一步学习其它专业基础课程和专业课程打下良好的基础。 ## 教学内容 ## 课程考核 平时成绩(每周作业)*40%+期末考试(笔试+上机)*60% 期末考试中,笔试题型,选择题20题,填空题5题,问答题5题;上机考试题型,编程题3题。 ## 课程教材 C语言程序设计(第五版),谭浩强,清华大学出版社。 ![教材封面](https://images.gitee.com/uploads/images/2021/0918/130129_69ae644b_1204209.jpeg "教材封面") ### 第一章 程序设计和C语言(4 学时,2学时理论,2学时上机) #### 教学内容: >1.1 什么是计算机程序 >1.2 什么是计算机语言 >1.3 C语言的发展及特点 > >1.4 最简单的C语言程序 >>1.4.1 最简单的C语言程序举例 >>1.4.2 C语言程序的结构 > >1.5 运行C程序的步骤和方法 >1.6 程序设计的任务 #### 教学目的及要求: >1) 了解程序与程序设计语言的基础知识 >2) 理解结构化程序设计的基本思想 >3) 了解 C 语言的发展历史、 特点 >4) 了解 C 程序的结构与编写风格 >5) 掌握 C 语言的运行环境, 初步了解运行一个 C 语言程序的过程 #### 教学重点及难点: >1) 结构化程序设计的思想 >2) C 语言特点、 C 程序的结构与编写风格 >3) C 程序的上机步骤 #### 课外资料: 【国内】[VS 2015 IDE 集成开发环境中新建C语言项目](https://blog.csdn.net/weixin_44849099/article/details/122831143) 【国内】[C语言自学网页教程,介绍基本语法及基本概念](https://www.runoob.com/cprogramming/c-intro.html) 【国内】[C语言自学视频教程,B站](https://www.bilibili.com/video/BV1Ps411U7tS?from=search&seid=7076600686553223794) 【国外-自备梯子】[如何在八个月自学成为大厂软件工程师(谷歌、微软等)](https://github.com/jwasham/coding-interview-university) ### 第二章 算法——程序的灵魂(4 学时,2学时理论,2学时上机) #### 1. 教学内容: >2.1 基本数据类型 >>2.1.1 void 类型 >>2.1.2 字符类型 >>2.1.3 整数类型 >>2.1.4 实数类型 > >2.2 变量 >>2.2.1 变量的声明与定义 >>2.2.2 变量初始化 > >>2.3 常量 >>2.3.1 各种类型的常量表示 >>2.3.2 代码常量 > >2.4 运算符和表达式 >>2.4.1 赋值运算符和赋值表达式 >>2.4.2 算术运算符和算术表达式 >>2.4.3 逗号运算符和逗号表达式 >>2.4.4 关系与逻辑运算符及其表达式 >>2.4.5 条件运算符和条件表达式 >>2.4.6 常用标准函数的调用 >>2.4.7 位运算符 > >2.5 表达式求值 >>2.5.1 优先级 >>2.5.2 结合性 >>2.5.3 表达式求值中的类型转换方法 > #### 2. 教学目的及要求: >1) 掌握各种基本类型的常量和变量及其使用方法 >2) 掌握各种基本运算符及其表达式 >3) 理解表达式求值过程中的运算符优先级和结合性 #### 3. 教学重点及难点: >1)各种基本类型的变量和常量及其使用 >2)各种基本运算符及其构成的表达式计算 >3)表达式求值中的优先级与结合性 ### 第三章 最简单的C语言程序(4 学时,2学时理论,2学时上机) #### 1. 教学内容: >3.1 顺序程序设计举例 >3.2 数据的表现形式及其运算 >3.3 常见C语句 >3.4 数据的输入与输出 #### 2. 教学目的及要求: >1) 掌握顺序程序设计的基本写法 >2) 掌握常见的C语言数据类型 >3) 掌握常见的C语言数据输入输出方法 #### 3. 教学重点及难点: >1)顺序程序的编写 >2)输入输出函数的使用 >3)灵活使用各种数据类型 ### 第四章 选择结构程序设计(4 学时,2学时理论,2学时上机) #### 1. 教学内容: >4.1 判断语句概述 >4.2 if 语句的使用 >4.3 条件运算符与条件表达式 >4.4 switch 语句 #### 2. 教学目的及要求: >1) 掌握 if 语句的使用方法 >2) 掌握 switch 语句的使用方法 #### 3. 教学重点及难点: >1) if 语句及其使用 >2) switch 语句及其使用 >3) if 的嵌套 ### 第五章 循环结构程序设计(4 学时,2学时理论,2学时上机) #### 1. 教学内容: >5.1 while 语句 >5.2 do-while 语句 >5.3 for 语句 >5.4 循环的嵌套 >5.5 break 和 continue 语句 >5.6 循环的嵌套使用举例 #### 2. 教学目的及要求: >1) 熟练掌握三种循环语句的运用 >2) 掌握循环的嵌套 >3) 掌握 break 和 continue 语句的运用 #### 3. 教学重点及难点: >1) 三种循环语句的使用 >2) 循环的嵌套及其使用 ### 第六章 利用数组处理批量数据(8 学时,4学时理论,4学时上机) #### 1. 教学内容: >6.1 数组的基本概念 >6.2 一维数组的定义与使用 >6.3 二维数组的定义与使用 >6.4 字符数组与字符串 >6.5 多维数组 >6.6 数组的应用 #### 2. 教学目的及要求: >1) 掌握一维数组和二维数组的概念、 初始化和引用 >2) 掌握字符数组和字符串的应用 >3) 学会使用字符串处理函数 >4) 掌握数组的基本应用 #### 3. 教学重点及难点: >1) 数组的初始化、 引用和数组应用 >2) 字符串的处理 ### 第七章 用函数实现模块化程序设计(12 学时,6学时理论,6学时上机) #### 1. 教学内容: >7.1 函数的概念与定义 >7.2 函数的参数与返回值 >7.3 函数的调用 >7.4 函数与数组 >7.5 变量的类型 >7.6 全局函数和静态函数 #### 2. 教学目的及要求: >1) 掌握函数的定义和调用方法 >2) 了解函数的嵌套和递归调用 >3) 了解变量的存储类别和作用域 #### 3. 教学重点及难点: >1) 函数的定义和调用 >2) 函数的嵌套调用 ### 第八章 善于利用指针(16 学时,8学时理论,8学时上机) #### 1. 教学内容: >8.1 指针的概念 >8.2 指针与数组 >8.3 指针与字符串 >8.4 指针与函数 >8.5 多级间址 >8.6 动态内存分配 #### 2. 教学目的及要求: >1) 掌握指针、 指针变量的基本概念和基本使用方法 >2) 掌握指针与数组、 指针与函数之间的关系 >3) 了解指向函数的指针、 返回指针值的函数、 指针数组等 #### 3. 教学重点及难点: >1) 指针变量的定义与使用 >2) 指针与字符串 >3) 指针与数组的关系 >4) 指针与函数的关系 ### 第九章 用户自己建立数据类型(8 学时,4学时理论,4学时上机) #### 1. 教学内容: >9.1 定义和使用结构体变量 >9.2 使用结构体数组 >9.3 结构体指针 >9.4 定义和使用类 >9.5 用指针处理链表 >9.6 使用枚举类型 #### 2. 教学目的及要求: >1) 掌握结构体和类的基本概念和基本使用方法 >2) 掌握使用结构体、类来自定义数据结构的方法 >3) 了解枚举类型的使用方法 #### 3. 教学重点及难点: >1) 结构体、类变量的定义与使用 >2) 使用结构体和类变量自定义数据结构 ### 第十章 对文件的输入输出(4 学时,2学时理论,2学时上机) >10.1 C文件的相关基本知识 >10.2 打开和关闭文件 >10.3 顺序读写数据文件 >10.4 随机读写数据文件 #### 2. 教学目的及要求: >1) 掌握C文件的基本概念和C文件API的基本使用方法 >2) 掌握并熟练运用打开和关闭文件的相关API函数 >3) 能够采用顺序、随机方式读写文本及二进制文件 #### 3. 教学重点及难点: >1) C文件读写API >2) 顺序和随机方式读写数据文件 ### 最终考核 ==============================================================================================================