实验项目三:结构化程序设计(选择结构)
- 格式:doc
- 大小:718.00 KB
- 文档页数:13
甘肃民族师范学院计算机专业课程教学大纲C语言程序设计一、说明(一)课程性质必修课(二)教学目的本课程是为计算机类等本、专科学生开设的,以培养学生程序设计能力为目的的专业基础课,是学习其他专业课的基础,同时也是第一门高级语言程序设计课。
本课程的任务是结合一般数值计算向学生介绍计算机程序设计的基本知识,使学生掌握C语言的基本语法,掌握程序设计的基本思想、基本概念和基本方法和技巧,并能运用所学的知识和技能对一般问题进行分析和程序设计,编制出高效的C 语言应用程序;同时了解进行科学计算的一般思路,培养应用计算机解决和处理实际问题的思维方法与基本能力,为进一步学习和应用计算机打下基础。
(三)教学内容计算机程序语言发展史,结构化程序设计的三种基本结构,函数,数组,指针,文件。
(四)教学时数90学时,60理论,30上机(五)教学方式多媒体授课二、本文第一章C语言程序设计基础教学要点:C程序的基本结构。
上机环境,进行简单C程序的编写。
教学时数:4学时(理论3学时,上机1学时)教学内容:第一节概述程序设计语言的发展。
C程序的基本结构。
第二节开发环境上机环境,进行简单C程序的编写。
考核要求:1.掌握编写C语言程序的基本步骤。
2. 掌握上机调试过程。
第二章数据类型、运算符与表达式教学要点:数据类型。
表达式。
输入输出函数。
教学时数:12学时(理论8学时,上机4学时)教学内容:第一节数据类型整型、实型、字符型、枚举型、构造类型、指针。
第二节常量与变量第三节运算符与表达式算术运算符及表达式、关系运算符及表达式、逻辑运算符及表达式、逗号运算符及表达式、条件运算符及表达式、赋值运算符及表达式。
第四节标准输入/输出scanf()函数、printf()函数。
第五节数学函数数学库头文件<math.h>。
第六节随机数发生器函数rand()和srand()函数,对应的头文件“stdlib.h”。
考核要求:1.理解数据结构、常量、变量的概念;2.掌握各种运算符的优先级及结合方向;3.熟练掌握数据的输入、输出方法;4.了解其他数学函数及随机函数的使用方法。
《C语言程序设计》课程教学大纲一、课程教学目的本课程系统研究C语言的基本知识和基本语法,较好地训练学生解决问题的逻辑思维能力以及编程思路和技巧,使学生具有较强的利用C语言编写软件的能力,为培养学生有较强软件开发能力打下良好基础。
二、课程教学要求通过本课程的研究,应熟练掌握C语言中的基本知识、各种语句及程序控制结构,熟练掌握C语言的函数、数组、指针、结构体、链表等数据结构的基本算法;并能熟练地运用C语言进行结构化程序设计;具有较强的程序修改调试能力;具备较强的逻辑思维能力和独立思考能力。
三、课时分配本学科计划学时为246学时,其中理论与实训课时比例为7:3.四、课程教学重、难点课程教学重点:掌握C语言变量类型及不同类型常量的表示;标准的输入输出函数的使用;运算符及常用数学函数的使用;控制流程、数组和指针的使用;结构体、链表的构造使用;函数结构、函数参数传递及递归等方面的知识;基本的文件操作。
难点:指针的使用、结构体链表的构造和使用及函数的参数传递。
五、课程教学方法(或手段)本课程实践性较强,故采用讲授和上机操作相结合的方式进行教学。
六、课程教学内容第一章C言语概述1.教学内容(1)编程历史的回顾、程序设计介绍(过程式,面向对象,函数式,逻辑式);(2) C语言的历史背景、特点;(3) C言语源步伐的格式和步伐结构;(4) C程序的上机步骤。
2.重、难点提醒(1)重点:掌握简单的C程序格式,包括main()函数、数据说明、函数开始和结束标志等;(2)难点:编程入门和对言语的理解。
第二章算法1.教学内容(1)算法的概念及特征;评价算法优劣的方法(时间和空间);(2)简单算法举例;(3)算法的表示(自然语言、流程图、N-S流程图);(4)结构化步伐设计的基本思想及基本步调。
2.重、难点提醒(1)重点:算法流程图三种基本结构(以后各章研究中使用流程图强化对步伐的理解);(2)难点:算法概念和对结构化步伐设计思想的理解。
结构化程序设计在当今的计算机编程领域,结构化程序设计是一种基础且重要的编程方法。
它就像是为程序搭建的一座坚固而有序的大厦,让程序的逻辑清晰明了,易于理解和维护。
那么,什么是结构化程序设计呢?简单来说,它是一种编程理念,强调将程序分解为若干个功能明确、相对独立的模块,每个模块按照一定的结构和规则进行编写。
想象一下,如果我们要编写一个复杂的程序,比如一个学生成绩管理系统。
如果没有结构化程序设计的方法,我们可能会把所有的代码都混在一起,这样不仅会让代码变得混乱不堪,难以阅读和修改,而且很容易出现错误。
但通过结构化程序设计,我们可以将这个系统分解为多个功能模块,比如学生信息录入模块、成绩计算模块、成绩查询模块等等。
结构化程序设计有几个显著的特点。
首先是顺序结构,程序按照从上到下的顺序依次执行每条语句。
这就像是我们按照既定的步骤完成一项任务,一步接着一步,有条不紊。
其次是选择结构,根据不同的条件来决定程序的执行路径。
比如,如果学生的成绩大于等于 60 分,就显示“及格”,否则显示“不及格”。
这就像是在岔路口根据路标做出选择,决定我们前进的方向。
还有循环结构,用于重复执行一段代码,直到满足特定的条件为止。
比如说,要计算一个班级所有学生的总成绩,我们可以通过循环结构依次将每个学生的成绩相加。
这些结构的组合使用,使得程序能够处理各种复杂的逻辑和任务。
结构化程序设计的好处是显而易见的。
它使得程序的逻辑更加清晰,易于理解。
对于开发者来说,当他们回顾自己编写的代码或者其他人需要接手和修改代码时,能够迅速明白程序的功能和执行流程。
这大大提高了开发效率,减少了错误的发生。
而且,由于程序的结构清晰,调试和测试也变得更加容易。
我们可以针对每个独立的模块进行单独的测试,快速定位和解决问题。
另外,结构化程序设计还有助于提高代码的可重用性。
如果我们把一些常用的功能模块编写得足够通用和灵活,那么在其他项目中遇到类似的需求时,就可以直接复用这些模块,而无需重新编写代码,节省了时间和精力。
结构化程序设计的三种结构化程序设计是一种编程范式,它强调使用结构化的控制流程来编写程序,以提高代码的可读性、可维护性和可靠性。
结构化程序设计主要包含三种基本结构:顺序结构、选择结构和循环结构。
下面将详细阐述这三种结构的特点和应用。
顺序结构顺序结构是最基本的程序结构,它按照编写的顺序依次执行各个语句。
在大多数编程语言中,顺序结构不需要特别的语法来标识,因为代码默认就是按照顺序执行的。
特点:- 简单直观:顺序结构的代码易于理解和编写。
- 直接执行:没有额外的控制结构,语句按照编写顺序执行。
应用场景:- 初始化变量。
- 执行一系列不需要条件判断或循环的计算。
- 打印输出信息。
选择结构选择结构允许程序在执行过程中根据条件选择不同的执行路径。
最常见的选择结构是`if`语句和`switch`语句。
特点:- 条件判断:基于条件表达式的结果来决定执行哪一段代码。
- 灵活性:可以根据不同的条件执行不同的代码块。
应用场景:- 根据用户输入做出响应。
- 处理不同的错误情况。
- 在满足特定条件时执行特定的操作。
循环结构循环结构允许程序重复执行一段代码,直到满足某个条件为止。
循环结构通常包括`for`循环、`while`循环和`do-while`循环。
特点:- 自动重复:根据给定的条件自动重复执行代码块。
- 可控性:可以通过循环控制语句(如`break`和`continue`)来提前退出或跳过某些迭代。
应用场景:- 处理数组或列表中的元素。
- 执行需要重复的操作,如打印乘法表。
- 等待某个条件成立,例如用户输入有效数据。
结构化程序设计的优势1. 提高代码的可读性:通过使用清晰的结构化控制流程,代码更容易被其他开发者理解。
2. 增强代码的可维护性:结构化的代码更易于修改和扩展。
3. 减少错误:结构化程序设计减少了复杂嵌套和“goto”语句的使用,从而降低了程序中出现逻辑错误的可能性。
4. 提高效率:结构化程序设计鼓励使用高级控制结构,这可以减少代码量,提高编程效率。
结构化程序设计的基本结构随着计算机技术的不断发展,程序设计也逐渐成为了现代社会不可或缺的一部分。
在程序设计的过程中,结构化程序设计是一种被广泛使用的设计方法。
它以清晰、简洁、易于理解和维护的代码为目标,被广泛应用于各种类型的软件开发中。
本文将介绍结构化程序设计的基本结构,以及如何使用它来编写高效的程序。
一、结构化程序设计的概念结构化程序设计是一种程序设计方法,它通过将程序分解成小的模块,然后按照一定的结构组合这些模块,从而构建出一个完整的程序。
结构化程序设计的目标是编写高效、可读性强、可维护性好的程序。
结构化程序设计的核心思想是分而治之。
将一个大的问题分解成多个小的问题,然后使用适当的算法解决这些小的问题。
这种方法可以使程序更加清晰、易于理解和维护。
同时,结构化程序设计还强调程序的模块化,也就是将程序分解成多个模块,每个模块只完成一个特定的任务。
二、结构化程序设计的基本结构结构化程序设计的基本结构包括三种控制结构:顺序结构、选择结构和循环结构。
1.顺序结构顺序结构是指程序按照编写的顺序依次执行每个语句。
程序从程序的入口开始执行,依次执行每个语句,直到执行完所有语句为止。
例如:```a = 10b = 20c = a + bprint(c)```以上代码中,程序按照编写的顺序执行每个语句,先给变量a 赋值,然后给变量b赋值,然后计算a和b的和,最后输出结果c。
2.选择结构选择结构是指程序根据条件选择执行不同的语句。
选择结构有两种形式:if语句和switch语句。
(1)if语句if语句的基本形式如下:```if condition:statementelse:statement```其中,condition是一个条件表达式,statement是要执行的语句。
如果condition为True,则执行if后面的语句;否则执行else后面的语句。
例如:```a = 10b = 20if a > b:print('a > b')else:print('a <= b')```以上代码中,如果a大于b,则输出'a > b';否则输出'a <= b'。
实验三选择结构程序设计3.1实验要求与目的1.掌握关系表达式和逻辑表达式的正确应用2.条件表达式的正确应用3. 掌握if语句,if-else语句,if语句的嵌套的编程方法4. 掌握switch的编程方法及执行特点5.掌握相关的算法(大小写字母的转换,判断数的奇偶,整数的整除,分段函数的求解,成绩的转换等)6. 培养解决实际问题的能力3.2实验指导结构化程序设计的三大结构:顺序结构、选择结构和循环结构。
计算机在执行过程时,根据条件选择所要执行的语句,称为选择结构,也称为分支结构。
在解决实际问题时,可能会因为其种条件的约束产生分支,可能是单分支结构、双分支结构和多分支结构等。
因此可选择相应的语句进行程序设计。
C语言程序设计实现单分支结构常采用,if语句;实现双分支结构常采用:if-else语句;实现多分支结构常采用:if-else嵌套语句或switch语句。
选择结构的程序设计除了选择适当的语句外,另一关键问题是条件的正确表示。
条件可以用表达式来描述,如关系表达式、逻辑表达式等。
【3.1】录入下列程序,输入给定的测试数据,观察其程序执行结果。
程序文件名为:ex3_1.c。
输入测试数据:23 56程序运行结果:max=56#include<stdio.h>void main(){int a,b,max;scanf("%d%d",&a,&b); /*从键盘输入两整数*/max=a;if(max<b)max=b;printf("max=%d\n",max); /*输出最大数*/}该程序的执行过程,从键盘输入两个整数赋予a,b,把a的值先赋予变量max,采用if 语句判别max和b的大小,若max小于b,则把b的值赋予max,然后执行printf语句输出max的值;若max大于b,不执行if后的语句,而执行printf语句输出max的值;max中的值总是大数。
C语言结构化程序设计的三种结构C语言是一种高级程序设计语言,它支持结构化编程,即将程序划分为不同的模块,每个模块只执行特定的任务,并通过三种结构进行组织。
这三种结构分别是顺序结构、选择结构和循环结构。
下面将详细介绍这三种结构,并给出相关的代码示例。
1.顺序结构:顺序结构是最简单的结构,它按照代码的顺序依次执行每个语句,没有条件或循环的判断。
这种结构可以用来实现各种简单的操作和计算。
下面是一个使用顺序结构的示例代码,它实现了两个数相加并输出结果的功能:```c#include <stdio.h>int maiint a = 10;int b = 20;int sum = a + b;printf("The sum is: %d\n", sum);return 0;```在这个示例中,程序按照顺序执行,首先定义了两个变量a和b,并将它们相加的结果赋给变量sum,然后通过printf函数将sum的值输出到屏幕上。
2.选择结构:选择结构用于根据条件的真假来决定程序的执行路径,即根据条件选择执行哪个代码块。
常用的选择结构有if语句和switch语句。
2.1 if语句:if语句根据给定的条件选择是否执行段代码。
如果条件为真,则执行if后面的代码块,否则跳过该代码块。
下面是一个使用if语句的示例代码,它判断一个整数是否为正数:```c#include <stdio.h>int maiint num;printf("Enter a number: ");scanf("%d", &num);if (num > 0)printf("The number is positive.\n");}return 0;```在这个示例中,程序首先通过scanf函数读取一个整数,然后使用if语句判断该整数是否大于0,如果是,则输出一条消息表示它是正数。
实验报告课程名称程序设计语言C/C++实验项目顺序结构,选择结构编程与调试一、实验目的1.掌握C语言中使用最多的一种语句——赋值语句的使用方法。
2.掌握各种数据类型的输入输出的方法,能正确使用各种格式转换符。
3.掌握选择结构程序设计的方法和用用关系表达式、逻辑表达式表示选择结构的条件。
二、实验内容1.调试关于各种格式转换符的正确使用方法的程序并验证结果的正确性。
2.编写并调试简单的关于数据类型输入输出的程序。
3.编写并调试运行关于if语句和switch语句使用的程序。
三、实验步骤及结果分析1.从键盘输入两个整数,求两数之和并输出。
#include <stdio.h>int main ( ){int a,b,c;printf("请输入两个整数:\n");scanf("%d,%d",&a,&b);c=a+b;printf("两数之和为:%d\n",c);return 0;}2.从键盘输入园的半径r,求园的周长C、面积S并输出。
#include <stdio.h>int main( ){float pai=3.14159;float r,C,S;printf("Please enter the radius of the circle:");scanf("%f",&r);C=2*pai*r;S=pai*r*r;printf("The circumference of the circle C is %.2f\n",C); printf("The area of the circle is %.2f\n",S);return 0;}3.从键盘输入一个小写字母,要求输出其对应的大写字母。
#include <stdio.h>int main (){char c1,c2;c1=getchar();c2=c1-32;putchar(c2);printf("\n");return 0;}4.输入圆锥的底面圆的半径和高,求圆锥的表面积和体积。
《C语言程序设计》课程教学大纲一、课程教学目的本课程系统学习 C语言的基本知识和基本语法,较好地训练学生解决问题的逻辑思维能力以及编程思路和技巧,使学生具有较强的利用 C 语言编写软件的能力,为培养学生有较强软件开发能力打下良好基础。
二、课程教学要求通过本课程的学习,应熟练掌握 C 语言中的基本知识、各种语句及程序控制结构,熟练掌握 C 语言的函数、数组、指针、结构体、链表等数据结构的基本算法;并能熟练地运用 C 语言进行结构化程序设计;具有较强的程序修改调试能力;具备较强的逻辑思维能力和独立思考能力。
三、课时分配本学科计划学时为246学时,其中理论与实训课时比例为7:3。
四、课程教学重、难点课程教学重点:掌握C语言变量类型及不同类型常量的表示;标准的输入输出函数的使用;运算符及常用数学函数的使用;控制流程、数组和指针的使用;结构体、链表的构造使用;函数结构、函数参数传递及递归等方面的知识;基本的文件操作。
难点:指针的使用、结构体链表的构造和使用及函数的参数传递。
五、课程教学方法(或手段)本课程实践性较强,故采用讲授和上机操作相结合的方式进行教学。
六、课程教学内容第一章 C语言概述1.教学内容(1) 编程历史的回顾、程序设计介绍(过程式,面向对象,函数式,逻辑式);(2) C语言的历史背景、特点;(3) C语言源程序的格式和程序结构;(4) C程序的上机步骤。
2.重、难点提示(1)重点:掌握简单的 C程序格式,包括main()函数、数据说明、函数开始和结束标志等;(2)难点:编程入门以及对语言的理解。
第二章算法1.教学内容(1) 算法的概念及特性;评价算法优劣的方法(时间和空间);(2) 简单算法举例;(3) 算法的表示(自然语言、流程图、N-S流程图);(4) 结构化程序设计的基本思想及基本步骤。
2.重、难点提示(1)重点:算法流程图三种基本结构(以后各章学习中利用流程图强化对程序的理解);(2)难点:算法概念以及对结构化程序设计思想的理解。
实验项目三:结构化程序设计(选择结构)
《程序设计基础I》实验报告实验项目三:结构化程序设计_选择结构
学号1605120308
姓
名
何峰
专业、班
级
计算机
类03
实验时间2016年11月
30日星期三
实验
地点
机房6 指导教师孙爱蓉
一、实验目的及要求
(1)了解C语言表示逻辑量的方法(以0代表”
假”,以非0代表”真”)。
(2)学会正确使用逻辑运算符和逻辑表达式。
(3)熟练掌握if语句和switch语句。
(4)结合程序掌握一些简单的算法。
(5)学习调试程序。
二、实验设备(环境)及要求
使用Visual C++ 6.0;windows系列操作系统的环境。
三、实验内容与步骤(要求以“学号_姓名_题号”为名建立项目;例项目名为:2013050201_***_01)
1.输入一个华氏温度f,要求输出摄氏温度c。
公
式为c=5/9(f-32)。
输出要求有文字说明,取2位小数。
【算法提示】
华氏温度f 摄氏温度c 100.25 37.92 0.5 -17.50 23.78
-4.57
1) 定义实变量 c,f
2) 提示输入"Please enter f:"
3) 读入f 4) 根据公式
计算c
5) 打印两位精度的结果
2. 有一函数
用scanf 函输入x 的值,求y 值。
【算法提示】 1) 定义实变量x,y 2) 提示输入"Please enter x:" 3) 读入x
4) 判断x 所在的区间,对应出y 的计算公式并
求值(进一步细化)
5) 打印结果。
要求:每道题目分别画出程序流程图,书写程
结
开输输c=5/
#include<stdi o.h> int main() {float c,f ; printf(“plea se
enter
序,试运行(如何输入,结果如何)。
3. 从键盘上输入一个正整数,判断这个数能否同时被3和5整除;
要求:每道题目分别画出程序流程图,书写程
序,试运行(如何输入,结果如何)。
结
开y=2
y=3y
输输x ≥x<是 否 是 否
#include<stdi o.h>
int main() {int x,y; printf(“plea
4.设计算法输入一个四位正整数,将它们倒排,例如输入1234,输出4321。
要求:每道题目分别画出程序流程图,书写程序,试运行(如何输入,结果如何)。
开
结
输入正
能
输出
输出
否是
#include<std
io.h>
int main()
{
int x,y;
printf("pl
ease enter
5. 由键盘输入3个整数a 、b 、c,作为三角形的三条边,判断能否构成三角形,若不能构成,请给出提示信息;若能构成三角形,指出构造的是何种三角形(等腰三角形、直角三角形、一般三角形)。
要求:每道题目分别画出程序流程图,书写程序,试运行(如何输入,结果如何)。
开
结
输
输b=m/1
d=m%10
m=d*100a=m/
c=m/10%#include<
stdio.h> int main() { int m,a,b,c,d ; printf("please enter m");
开输入三能否直角等腰不构成
直角普通
等腰
结
结#include<stdio.h> int main() {
int a,b,c;
printf("请输入三角形三边:"); scanf("%d,%d,%d",&a,&b,&c); if(a+b>c&&a+c>b&&b+c>a) {if(a*a+b*b==c*c||b*b+c*c==a*
是
是
是
否 否 否
四、分析与讨论
对上机实践结果进行分析,上机的心得体会。
1. 书读百遍,其义自见 2.熟能生巧,坚持到底,就是胜利!
五、教师评语
成绩 开
结输入
0≤x
60≤x
70≤x
80≤x
90≤x
输输输输输否
否
否
否
是 是 是 是 是
名:期:。