c语言程序实习的目的,《C语言程序设计与实训》教学大纲

1. 课程目标

通过C语言的学习,培养学生的程序逻辑思维以及通过标准C语言的编写简单的程序,通过学习使学生理解编写一个程序应该遵循的步骤以及编写程序应该注意哪些方面,并且可以纠正一些初学程序语言时容易犯的错误。通过课程的学生,使用学员具有逻辑思维能力,了解程序的逻辑结构,并能够使用C语言编写简单的程序。

2. 课程对象

高级系统操作工

3. 课程所需的预备知识

简单使用操作系统。

4. 课程学时

理论部分:  25学时

上机部分:  35学时

总学时:60学时

5. 课程的内容、重点及组织结构

本书的理论部分第一章列出解决问题的步骤,使学员了解流程图的重要性,掌握在C语言中的变量以及各种数据类型,清楚一个C程序中的结构;第二章重点介绍数据类型,区分不同的数据类型,理解运算符,以及几种不同运算符之间的优先级顺序;第三章在C语言中,理解条件和循环的实现,理解if,

if…else, if, switch, while, for,

do…while等条件和循环语句;第四章讲解数组和指针,其中重点理解数组,指针,结构的概念;

本书的上机部分是在vc++的环境中调试C程序,使用各种C语言的类型,使用C语言中的不同结构,使用数组和指针来完成一些程序。

课程的重点在于使用学生掌握程序的逻辑结构,并以C语言作为语言环境,培养学习实现简单的程序设计的能力。

6. 课程各章内容、重点、组织结构及授课要求

理论部分

第一章 解决问题

本章中列出解决问题的步骤,通过一些例子来使学员了解编程方法、算法和流程图的重要性,以及分支和循环,掌握在C语言中的变量以及各种数据类型,清楚一个C程序中的结构。本章的重点在于使学员掌握什么是算法,什么是流程图,流程图的各种符号的含义和用法,什么是分支、分支的流程图格式,什么是循环、循环的流程图格式,以及在程序中什么是变量,什么是数据类型以及种类。

1.1 概述:解决方案用指令表示。

1.2 编程方法:解决问题用算法表示。

1.3 算法:解决问题所使用的一系列合乎逻辑的、简洁的一系列步骤称为算法。

1.4 流程图:流程图是一种图解表示,它以图解方式说明实现一个解决方案所需完成的一系列操作。

1.5 分支:分支是指处理过程可能沿着两个或更多的计算路线进行。

1.6 循环:循环指的是反复地执行一个或多个步骤。

1.7 连接符

在连接符中指定一个唯一的数字标志该连接,同时指定一个箭头在流程图分割处指向该连接器。和该连接符相对应的另一个连接符中有同样的数字,以及一个从它出发的箭头,表示被分割的流程图在这里连接上。

1.8 使用流程图的一些技巧

开始时要把注意力集中在问题的逻辑上,画出流程图的主要执行路径;主要部分完成之后,加入分支和循环;一个流程图只有一个起始点和一个结束点;尽可能使流程图和机器无关,不要使用和计算机相关的术语;没有必要在流程图中将每个步骤都画出来,只要描述出那些有意义的即可;使用一些明确的描述性的词恰当地表示问题,不要用一些模棱两可的词语;让其他编程人员或用户能够轻松地看懂你的流程图。

1.9 变量

1.9.1 指定变量名的规则:变量名字必须以字母或下划线开头;第一个字母之后是字母、数字和下划线组成的序列;区分大写字母和小写字母,例如变量ADD,add和Add是不同的变量。

1.9.2 计数器变量:在编写包含循环的程序时,计数器是一种经常使用的变量。这种变量用于记录循环已经执行的次数。

1.10 数据类型介绍

1.10.1 什么是数据类型:数据类型决定了分配给变量来存放特定数据的内存空间的大小

1.10.2 整型int:存放整型数据的数据类型在任何编程语言中都是最基本的数据类型。它由一个或多个数字序列组成

1.10.3 浮点型float:可以包含整数或小数

1.10.4 字符型char:字符型变量可以用来存放一个单一字符

1.10.5 双精度浮点型double:双精度浮点型用于使用浮点型变量得到的精度不够的场合。双精度浮点型变量存放的数字的精度一般是浮点型变量的两倍。

1.10.6 基本数据类型和派生数据类型:加上限定的数据类型被称为派生数据类型,例如:unsigned,long,short等

1.10.7 无符号型unsigned:无符号型的变量只能用于存放非负数

1.10.8 长整型和短整型:长整型数据可以写为long int

或long。类似地,短整型数据可以写为short int 或 short。

1.10.9 保留字:有些名字是系统保留下来用于特定目的的,不能被编程人员使用。

1.11 空运行:空运行是一种手工检查算法正确与否的方法

1.12 一个简单的程序:

void main()

{

/声明变量/

/指令/

}

第二章 数据类型和运算符

本章主要介绍了数据类型和运算运。本章的重点在于使学生掌握重要的数据类型:数值型、字符型、日期和时间型等,以及运算符的分类、用法及运算符的优先级等。

2.1 回顾:上一章内容回顾

2.2 数值数据:数值型数据可能是整数,也可能是实数

2.3 重要的数值数据类型:字节、整型、长整型、单精度

2.4 字符型数据:字符型数据可以由任意的字符组成

数字 —— 0 到 9

字母 —— A 到 Z, a 到 z

特殊字符 —— #, $, * 等

2.5 日期和时间:日期和时间数据都有各自对应的数据类型

2.6 特殊数据类型:大文本、声音、影像

2.7 运算符

2.7.1 什么是运算符:运算符是作用在数据上的符号

2.7.2 运算符的分类:算术运算符、比较运算符、逻辑运算符

2.8 算术运算符

2.8.1 另一些算术运算符:加、减、乘、除、取负、取模

2.8.2 算术运算符的优先级:BEDMAS代表:1.括号(Brackets)2.指数(Exponentiation)3.除(Division)4.乘(Multiplication)5.加(Addition)6.减(Subtraction)

2.9 比较运算符:一些运算符专门基于一定条件对两个值进行比较,这些运算符称为比较运算符。比较运算符返回的结果或为“真”或为“假”。

2.10 逻辑运算符:与、或、非

2.10.1 与运算符&&

2.10.2 或运算符| |

2.10.3 非运算符 !

2.10.4 逻辑运算符的优先级:非、与、或

2.11 不同类型的运算符之间的优先级:算术、比较和逻辑

2.12 括号:括在括号中的表达式将首先被计算

第三章 条件和循环

本章主要讲解在C语言环境下条件语句和循环语句的定义和使用方法。本章的理点也在于此,要求使学员能够掌握条件语句中if,if…else,嵌套if,switch语句的用法,循环语句中While,for,嵌套for循环,do…while循环的使用。

3.1 回顾:上一章内容回顾

3.2 条件语句

3.2.1 介绍

3.2.2 什么是条件语句

条件语句使我们能够改变程序的执行路径。大多数的语言使用if语句来作为判断语句。此语句实现计算机科学中的一个最基本的逻辑,如果一个条件为真,那么计算机执行一系列动作,如果为假,将执行另一系列动作。

3.3 if语句

if语句通过计算一个给定条件的真假值来做出相应的决定。这些条件由比较和逻辑运算符构成。

3.4 if...else语句

如果条件为真,执行语句1,否则执行语句2,但是两条语句不会同时执行。

3.5 嵌套if语句

if语句中还可以包含另一个if…else

语句,这样可大大加强编程工具的灵活性。这种方式称为if语句嵌套。else语句中同样也可以嵌套另一个if…else 语句

3.6 switch语句

当一个变量的值要连续地和多个值进行比较时一般使用switch语句。

3.7 循环

循环是描述一个语句序列反复执行直到满足某个特定的条件为止的复杂的语句。

3.8 while循环:while循环反复执行一条或一组语句直到某个条件不再为真

3.9 for循环:事先要知道循环的次数

3.9.1 增量语句:循环自动将循环变量cnt的值加1

3.9.2 嵌套for 循环:可以在一个for

循环中嵌套另一个for 循环

3.10 do...while的例子:循环条件在每次循环执行之后才测试,循环至少被执行一次。

3.11 选择一个循环:在编写程序时对循环形式的选择取决于个人习惯。各个循环语句是等价的。当使用do…while循环时,循环体至少执行一遍。当使用while循环时,如果条件不满足,循环体不被执行。

第四章 数组和指针

本章主要介绍在C语言环境中什么是数组、声明的方法、一维数组和多组数组;以及指针、结构的定义和方法等。本章的重点在于使学员掌握数组的声明,赋值等基本的用法,指针变量的声明、赋值,结构的定义、结构成员的访问方法等。

4.1 回顾:上一章内容回顾

4.2 数组

数组是一组有相同类型数据的有序集合,这些数据用同一个数组名称访问。

4.3 介绍

4.3.1 数组下标:括在中括号“[

]”之间的数字用于区分数组的各个元素,称为下标

4.3.2 声明数组:同声明变量

4.3.3 给数组元素赋值:将右边表达式的值赋给左边的变量

4.3.4 取数组中的数值:用数组下标来标明数值

4.3.5 内存中的数组元素:数组元素被存放在连续的内存空间中

4.4 多维数组的必要性:将数据组织成表格的形式。

4.5 指针

4.5.1 什么是指针:指针是一种特殊的变量,它存放另一个变量的内存地址

4.5.2 声明一个指针变量:声明一个指针变量时,它并没有任何值

4.5.3 返回指针变量存放的值:变量地址如果赋给了一个指针变量,那么我们就可以通过指针来处理这个变量

4.6 结构

4.6.1 什么是结构:表示一组不同类型数据的集合

4.6.2 定义一个结构

结构是一种数据类型,它表示一组不同类型数据的集合

4.6.3 访问结构的成员

结构的成员通过“结构变量.成员变量”的方式被访问

上机部分

第一阶段:编写一个简单的C语言程序

熟悉VC++工作环境,熟悉编写、保存、编译、执行程序的过程;

启动VC++,编写显示"Hello"和"World"的程序

第二阶段:编写C语言程序

编写一些程序,计算简单的利息,计算平均值,计算三角形面积,显示字符的一些程序

第三阶段:在程序中使用循环语句和运算符

使用for循环,使用while循环,使用if...else语句,使用if...else...if语句,使用switch语句,使用算术运算符,使用比较运算符,使用&&运算符,使用

| | 运算符, 使用!运算符,编写C的一些简单程序

第四阶段:使用数组和指针编写一些简单的C语言程序

编写C语言程序中涉及一维数组、二维数组的声明、赋值语句的用法。

编写C语言程序中涉及整形指针、字符指针的用法。

第五阶段:使用结构和函编写C语言程序

编写一些程序,并且使用到结构和函数,并且使用标准算术函数和标准字符串函数来理解函数的应用。

CSU 大一上 C语言实验报告 (1)教材第2章编程题第2题:编写计算球体体积的程序。 说明:本题声明适当变量,用户键入数据,运算并输出结果,较简单。 (2)教材第2章编程题第8题:编写程序计算第一、第二、第三月还贷后剩余贷款金额。 说明:本题要求用户输入总额、利率、每月还贷净额,输出每月剩余,对输入输出、类型定义考查。 (3)教材第3章编程题第2题:编写程序实现对用户输入的产品信息进行格式化。 说明:本题考查格式化输入输出、转义字符的运用。 (4)教材第4章编程题第4题:编写程序实现将输入的整数按八进制输出。 说明:本题重在考查简单的运算符和表达式运用。 (5)用户输入一个三位数,输出各位数字之和。 说明:本题重在考查如何从一个整数中取出每一个数字。 (6)教材第5章编程题第5题:编写程序计算用户输入所得额的税金。 说明:本题考查简单的选择结构。 (7)教材第5章编程题第11题:编写程序实现将用户输入的两位数转化为英文。 说明:本题考查switch语句的应用。 (8)教材第6章编程题第8题:编写程序显示单月日历,用户指定这个月的天数和该月起始日是星期几。 说明:本题考查循环结构和选择结构的综合应用,判断是否一个星期最后一天,换行符。 (9)教材第6章编程题第11题:编程序实现利用无穷级数法估计e的值。 说明:本题考查根据公式设计循环结构并实现。 (10)因子之和等于其本身的数称为完数,如28的因子为1、2、4、7、14,而28=1+2+4+7+14,因此28为完数。编程序找出2~5000中的完数。 说明:本题利用变量i在2~5000中变化,判断其是否是完数。 (11)教材第7章编程题第12题:编程计算从左至右求值的表达式的值。 说明:本题考查对运算符和操作数的判断。 (12)教材第7章编程题第14题:编程序用牛顿计算法计算浮点数平方根。 说明:本题考查对循环结构的掌握,对表达式的合理运用,对基本类型的理解。 (13)教材第8章编程题第14题:编写程序颠倒句子中单词的顺序。 说明:本题考查对字符数组的处理,对一些循环选择结构的理解。 (14)教材第8章编程题第15题:编写程序实现凯撒密码加密。 说明:本题考查对字符数组的掌握,对字符处理的理解。 (15)编程序实现将用户输入的数字字符串转化为整数输出。 说明:本题考察对字符、整数关系的掌握与理解,对循环结构的熟练运用。 (16)教材第9章编程题第1题:编写选择排序的函数,并递归调用。 说明:本题利用函数简化程序、使得结构更清晰、熟练掌握。 (17)教材第9章编程题第7题:编写计算xn的函数。 说明:本题考查函数定义、调用,并初步考察递归运用。 (18)教材第10章编程题第6题:编写程序实现逆波兰运算。 说明:本题考查对程序每部分的理解、掌握,外部、内部变量,主函数,小函数的编写与应用。初步了解栈的一些实现函数。 (19)编程序找出2~5000中满足条件的数x:x是素数且x的每位数字是素数、每位数字之和是素数,如23、223、2333等。 说明:本题考查函数方法与循环选择结构的综合运用。 (20)教材第11章编程题第3题:用指针变量编写简化一个分数的函数。 说明:本题用来解决函数无法传回传递的实际参数,指针变量。 (21)教材第12章编程题第2题:编写函数读入用户输入的一条消息,检测是否是回文,分别用数组、指针来解决。 说明:本题可以体会到数组与指针的特点,利用指针的便利。 (22)利用指针编写程序,实现从键盘键入字符串,将此字符串从m个字符开始的n个字符复制成另一个字符串。 说明:本题用指针指向字符串,进行跟踪和复制操作。 (23)教材第13章编程题第5题:编写程序实现对输入命令行参数求和。 说明:本题加深对命令行参数的理解、考查知识的综合应用。 (24)教材第16章编程题第5题:用结构变量解决搜索离用户输入时间最近的航班信息,并输出。 说明:本题考查结构与数组的结合运用,有助于理解结构。首先,定义一个存储起飞、到达时间的结构,再定义一个该类型的数组,循环搜索即可。 (25)教材第17章编程题第5题:用指针数组存储键入的字符串,对数组排序。 说明:本题应用动态分配内存、数组排序,考查综合能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值