当前位置:文档之家› 6实验六!综合运用三种基本结构进行程序设计

6实验六!综合运用三种基本结构进行程序设计

6实验六!综合运用三种基本结构进行程序设计
6实验六!综合运用三种基本结构进行程序设计

C程序设计实验三实验报告

实验报告 工学院土木工程专业09级2011至2012学年度第1学期学号:xxxxxx姓名:xxxxxx 2011 年10月08日第3~4节综合楼325教室 实验目的:

a的字节数为sizeof (a)或sizeof (int ),用printf 函数语句输出各类型变 量的长度(字节数)。 ①输入程序如下 in clude int mai n() {int a,b,i,j,k,r,s,t,u,v,w,x,y,z; float d,e; char c1,c2; double f,g; long m, n; un sig ned int p,q; a=61;b=62; c1='a';c2='b'; d=3.56;e=-6.78; m=50000;n=-60000; p=32768;q=40000; i=sizeof(a);j=sizeof(b); k=sizeof(d);r=sizeof(e); s=sizeof(c1);t=sizeof(c2); u=sizeof(f);v=sizeof(g); w=sizeof(m);x=sizeof( n); y=sizeof(p);z=sizeof(q); prin tf("a=%d,b=%d\nd=%d,e=%d\nc 1= %d,c2=%d\n",i,j,k,r,s,t); prin tf("f=%d,g=%d\nm=%d, n=%d\nmp=%d,q=%d\n",u,v,w,x,y,z); } 结 果如 下: (2)设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体 积。编程序,用scanf输入数据,输出计算结果。输出时要有文字说明,去小数点后两位数字。 ①编写程序如下: #i nclude int mai n() {float h,r,l,s,sq,vq,vz; float pi=3.141526; prin tf("Please in put r,h:"); sca nf("%f,%f",&r,&h); l=2*pi*r; s=r*r*pi; sq=4*pi*r*r; vq=3.0/4.0*pi*r*r*r; vz=pi*r*r*h; prin tf("The circumfere nce:l=%6.2f\n",l); prin tf("The area of thee circle:s=%6.2f\n ",s); prin tf("The superficial area of the ball:sq=%6.2f\n ",sq); prin tf("The volume of the ball:v=%6.2f\n",vq); prin tf("The volume of the cyli nder:vz=%6.2f\n ",vz); return 0; L

第4章程序设计三种基本结构

第4章程序设计三种基本结构 一、选择题: 【例1】(2002年4月)下面的程序的输出结果是( )。#include main( ) { int i=010,j=10; printf("%d,%d",++i,j--); } A. 11,10 B. 9,10 C. 010,9 D. 10,9 【答案】B (i的值是以八进制定义的) 【例2】(2002年4月)以下的程序的输出结果是( )。main( ) { int a=5,b=4,c=6,d; printf(("d\n",d=a>b?)(a>c?a:c):(b)); } A. 5 B. 4 C. 6 D. 不确定 【答案】C 【例3】(2002年4月)以下程序的输出结果是( )。

{ int a=4,b=5,c=0,d; d=!a&&!b||!c; printf("%d\n",d); } A. 1 B. 0 C. 非0的数 D. -1 【答案】A 【例4】(2002年4月)以下程序的输出结果是( )。 main( ) { char x=040; printf("%o\n",x<<1); } A. 100 B. 80 C. 64 D. 32 【答案】A 【例5】(2002年9月)已知i,j,k为int型变量,若从键盘输入:1,2,3< 回车>,使i的值为1、j的值为2,k的值为3,以下选项中正确的输入语句是(C )。 A. scanf("---",&I,&j,&k); B. scanf("%d %d %d",&I,&j,&k); C. scanf("%d,%d,%d",&I,&j,&k); D. scanf("i=%d,j=%d,k=%d",&I,&j,&k);

作文布局三种基本结构

作文构思布局的三种基本结构 一.作文的构思(结构布局)法 构思是指在动笔作文前,对文章的内容、表达方式和结构层次的总体设计。就是我们平常所说的先写什么、后写什么、哪里详写、哪里略写的问题。它是作文过程中的一种创造性的复杂的思维活动。具体地说,文章构思就是对选材过程中所选的材料作分解和组装,使之有序化、审美化的思维过程,因为每个人的大脑的思维方式不同,所以分解和组装的方式也呈现多种多样,这里介绍几种大家常用的构思法,以打开同学们构思的路子。 1、一字(词)贯穿构思法 一字(词)贯穿,是提在构思文章时,选择一个和中心思想紧密相关的关键字或词连接文章的所有材料,从而形成文章的骨架。如《背影》一文,就是采用一词贯穿构思法,文章从始至终以“背影”一词不达意贯穿全文,使读者深深体会到一颗慈父心,体会到父子之间的深情。运用此法,要注意文章要扣紧一个字或词来写,只有这样,才有条件以此为辐射点,进行多角度的思维,才有利于有层次地、深入地进行描述或抒情,使文章丰满而有韵味。如微笑,目光,声音等类的写作。 2、排比组合构思法 排比组合,是指在题目规定的范围内,根据表达主题的需要,选择几个生动的典型的人物、事件或景物的片断排比组合成文来表现一个主题的构思方法。用这种方法构思的记人、叙事、写景的文章,可以在较短的篇幅内,多角度、多侧面地表现人物、叙述事件、描写景物。 运用排比组合的构思法需要注意的是: A、所组合的片断的形式要统一:或者是人物形象的一系列片断组合,或者是事件的一系列片断组合,或者是景物的一系列片断组合等。 B、片断本身的叙述必须是具体的、生动的、形象的。 C、片断可以是横向排列,也可以是纵向排列。横向的排列要安排好主次、实虚的关系,纵向的排列要注意时间的先后顺序。 格式分类: A并列式排比B递进式排比(如《感受自然》和《我读三国》)C小标题或镜头式排比 3、纵横对比构思法 纵横对比,是指将对立的人物、事件、景物放在同一篇文章中来叙写的一种构思方法。运用这种方法构思,形成鲜明的反差,给读者留下极深的印象。或动静对比,或美丑相映,或真假相衬,或善恶对立,或冬夏对比,或天地对照等等。如通过两篇日记或书信写同一件事中的两个不同人的相同或不同的感受。 我的视线 ――记一把蓝色的雨伞 我的视线,这么久以来都不得不为一把蓝色的雨伞所牵绊…… 那蓝色,明彻如天空。 小时候的那些下雨天,妈妈总撑着一把蓝色的雨伞来学校接我,我的头顶是一片蓝色,肩膀也笼罩于一片蓝色之中,触目所及都是一片蓝色的无雨的天空。 后来的一个下雨天,矮小的我抬头和妈妈说话,却发现妈妈的那一半天空是一片阴沉的灰色,风夹杂着雨滴,落入妈妈灰色的天空,妈妈的肩膀湿了,额前的头发也湿了,而我,依旧置身于一片蓝色的无雨的天空。

实验三综合程序设计方案(一)

实验三综合程序设计(一) 一、实验目的 1熟练掌握子程序的结构。 2?掌握子程序设计的思想、方法及上机调试过程。 3 ?熟练掌握系统功能调用的作用。 4?掌握系统功能调用的思想、方法。 二、实验准备知识 1. 8086/8088汇编语言指令及伪指令的用法 2?子程序设计的思想和方法 (1)子程序是功能相对独立的程序段,它可以实现源程序的模块化,简化源 程序结构,提高编程效率 (2)子程序定义:禾I」用过程伪指令PROC和ENDP,格式如下: 过程名PROC [NEAR|FAR] ……;过程体 过程名ENDP 其中:可选的参数指定过程的调用属性。没有指定过程属性,则采用默认属性NEAR。 NEAR属性:段内近调用,子程序只能被相同代码段的其他程序调用 FAR属性:段间远调用,子程序可以被相同或不同代码段的程序调用 (3)主程序(调用程序)调用子程序(被调用程序):利用CALL指令 (4)子程序返回主程序:利用RET指令 (5)保护现场:子程序开始处应该保护子程序中使用的寄存器(通常利用堆栈),子程序返回前相应进行恢复。 (6)子程序中对堆栈的压入和弹出操作通常成对使用,以保持堆栈的平衡。 (7)子程序允许嵌套和递归

(8)处理好子程序与主程序之间的参数传递问题:利用寄存器、内存缓冲区 及堆栈。 3. DOS和BIOS中断调用是机器及操作系统提供的中断调用功能 4?系统功能调用的步骤: ⑴在AH寄存器中设置系统功能调用号 ⑵ 在指定寄存器中设置入口参数 ⑶ 用中断调用指令(INT i8 )执行功能调用 ⑷ 根据出口参数分析功能调用执行情况 5.DOS利用21H号中断提供给用户近百个系统功能,主要包括设备管理、 目录管理和文件管理三个方面的功能版权文档,请勿用做商业用途 (1 )输入一个字符,01H号功能调用 (2)输出一个字符,02H号功能调用 (3)输入一个字符串,0AH号功能调用 (4)输出一个字符串,09H号功能调用 注意它们的入口参数及出口参数 6.BIOS也以中断服务程序的形式,向程序员提供系统的基本输入输出程序 BIOS功能更加基本,且与操作系统无关,当DOS没有启动或不允许使用DOS 功能调用时,可以使用BIOS功能调用版权文档,请勿用做商业用途 (1)键盘I/O中断调用——INT 16H (2)显示器输入中断调用——INT 10H 注意它们的入口参数及出口参数 三、实验性质 本实验为综合性实验。 四、实验学时 本实验学时为2学时。

实验3简单的程序设计

实验3简单的程序设计 实验目的: 1.掌握表达式、赋值语句的正确书写规则。 2.掌握VB变量的定义和使用,表达式和常用函数的使用。 3.掌握InputBox与MsgBox的使用。 实验3.1函数考察 实验任务: 考察下列函数的值。 Round(-3.5) Round(3.5) Chr(66) Asc ("c") Asc(Chr(99)) Chr(Asc("K")) Ucase$("abcdefg") Lcase(“ABC”) Str(123.45) Val(“123AB”) Len(“123程序设计ABC”) LenB(“123程序设计ABC”) Ltrim(“ ABC”) String(3, “ABC”) Instr(“EFABCDEFG”, “ef”) Instr(2,“EFABCDEFG”, “ef”,1) Date() Now() Time() 实验步骤: 先自己分析以上函数的功能和可能的结果,然后在立即窗口用Print方法求出相应函数的值,对照比较自己的判断。 22

实验3.2表达式考察 实验任务: 考察下列表达式的值。 Dateadd(“m”,1,#1/30/2000#) Datediff(“y”,#12/03/1999#,#1/03/2000#) ‘计算时间间隔多少日 123 + Mid(“123456”,3,2) 123 & Mid(“123456”,3,2) Ucase(Mid(“abcdefgh”,3,4)) 16 / 4 – 2 ^ 5 * 8 / 4 MOD 5 \ 2 实验步骤: 先自己分析表达式的功能和可能的结果,然后在立即窗口用Print方法求出相应表达式的值,对照比较自己的判断。 实验3.3简单打印图形 实验任务: 使用Print方法、Tab函数和String函数设计一个过程,显示如图3-1所示的图形,并将结果保存到文件中。 图3-1 实验3.2运行界面 参考代码如下: Private Sub Form_Load() Print Tab(15); String(1, "1") Print Tab(14); String(3, "2") Print Tab(13); String(5, "3") Print Tab(12); String(7, "4") End Sub 操作提示: 应先将Form窗体的AutoRedraw属性值设为True。

程序设计综合实验报告册

西南交通大学程序设计综合实验 实验地点: 实验学期: 学生班级: 学生学号: 学生姓名: 任课教师:龚勋 信息科学与技术学院 2012年4月

实验一:ATM机用户操作界面、业务逻辑编写 ●实验目的及内容 1、根据ATM的工作流程编写用户界面,掌握文本用户菜单的编写方法; 2、根据ATM的工作流程编写业务罗杰,掌握搭建一个完整的应用系统的方法及软件编程思想。 ●实验要求 1、除提示用户输入的数字外,界面上不能响应、出现任何其他用户输入; 2、每个菜单界面独立显示,不要出现多组菜单重叠显示的现象; 3、每个业务逻辑可以多次执行,直到用户选择退出业务。 ●实验步骤及核心代码 void main() { int bExit=0; char in; //控制语言的选择 while(!bExit) { MainMenu(); in=getch(); system("cls"); switch(in) { .....语言选择} } } void MainMenu() {......} void LanguageMenu(int t) {

int cExit=0; char in; while(!cExit) { if(t==1) { ...... //显示中文功能选择菜单 in=getch(); system("cls"); switch(in) { 中文功能函数的选择} } else { 同上,只需将中文函数改为英文函数} } } //中文的查询函数 void Query1() { printf("======================\n") printf(“此账户有%.2f元\n",sum); //对sum已初始化system("pause"); system("cls"); } //中文的存钱函数 void Deposit1(float *p) { float x; printf("================================\n"); printf(" 输入您要存的数目:"); scanf("%f",&x); *p+=x; system("pause"); system("cls"); } //中文的取钱函数 void WithDraw1(float *p) { float y; int a=1; printf("====================================\n"); printf("输入您要取的数目: "); while(a) { scanf("%f",&y); if(y>sum)

三种基本结构流程图

三种基本结构流程图 1.顺序结构 图1 顺序结构N-S流程图 2.选择结构 if语句的三种形式 (1)形式一:if(表达式)语句; 该形式表示的是单分支选择结构,其N-S流程图如图2所示: 图2 形式一N-S流程图 (2)形式二:if(表达式)语句1; else 语句2; 该形式表示的是双分支选择结构,其N-S流程图如图3所示: 图3 形式二N-S流程图 (3)形式三:if(表达式1)语句1; else if(表达式2)语句2; else if(表达式3)语句3; …… else if(表达式n-1)语句n-1; else 语句n; 该形式表示的是多分支选择结构,其N-S流程图如图4所示: 图4 形式二N-S流程图

◆ switch 语句 多分支选择的问题,可以使用嵌套的if 语句解决。但在某些情况下,使用switch 语句可能更为方便。switch 语句的一般形式是: switch (表达式) { case 常量表达式E1: 语句组1; break ; case 常量表达式E2: 语句组2; break ; …… case 常量表达式En : 语句组n ; break ; default :语句组n+1; } 图5 switch 语句N -S 流程图 3.循环结构 ◆ while 语句 (1)一般形式 While (表达式) 循环体语句; (2)N -S 流程图如图6所示: 图6 while 语句N -S 流程图 ◆ do-while 语句 (1)一般形式 do{ 循环体语句; }while (表达式); (2)N -S 流程图如图7所示: 图7 do-while 语句N -S 流程图 ◆ for 语句

03实验三 顺序结构程序设计_答案

湖北工业大学实验报告 课程名称:C语言程序设计实验内容实验三顺序结构程序设计 学院:工程技术学院专业班级: 姓名:学号:教师:成绩: 一、实验目的 1、掌握赋值语句、表达式语句、函数调用语句、复合语句、空语句的使用方法。 2、掌握输入、输出函数的格式及格式符的使用。掌握文件包含预处理命令的使用方法。 3、掌握数据的输入、存储、输出之间的关系。 4、掌握顺序程序设计的逻辑结构,掌握数据结构的功能。 二、预习作业 1、程序填空题:试在括号中填入正确的答案,并上机验证程序的正确性。(1) 输入大写字符A,则输出为( )。(文件名:ex3_1.c) (#include ) main( ) { ( char ch,chr; ) chr=(ch= getchar( )) main( ) { ( long int) a =80000 , b = 60000, c, d; ( c) = ( a - b ,a + b ); ( d) = (a + b,a - b); printf(“%ld ,%ld\n”, c, d); }

2、程序改错并上机调试运行 (1)更改下列程序中的位运算符和逻辑运算符,能使变量d、e输出的结果为零。 (文件名:ex3_3.c) #include main( ) { int a = 8, b = 2,c = 3,d,e; /********** found **********/ d = (a % c & ^ a % c); e = a / c - b || && c + + ; printf (“%d, %d\n”, d, e); } (2) 查找改程序中的错误,并修改正确。(文件名:ex3_4.c) #include main( ) { int a = 4, b = 6, c= 3; /********** found **********/ a = a + b = b + c ; b = a < b ?a :b < c ?b :c printf(“%d,%d\n”, a, b); } 3、读程序写结果并上机验证其正确性 (1) 变量 a,b,c,d如下,将变量a以各种格式输出并输出表达式c+a,d – 32的值。(文件名:ex3_5.c) #include main( ) 结果为:(-1,4294967295,37777777777,ffffffff ) { int a = - 1 , b = 2 ; C,B char c = …D?,d = …b?; b = b + c;//??? printf (“%d, %u,%o,%x \n ”,a,a,a,a ); printf (“%c,%c \n ”,c + a, d - 32); } (2) 运行程序后输入”a空格b空格c回车”后,输出结果是(a ,b )。(文件

三种基本语言结构

利用机器人平台认识三种基本语言结构 一、设计思路 信息技术基础模块中的“尝试程序开发”一节涉及到了程序设计的三种结构,程序设计的三种结构是程序设计中的基本知识点。程序的讲解是比较抽象的,学生听着也比较枯燥乏味。本节课的设计利用智能机器人仿真软件进行讲解,利用该软件既有图形化编程界面,又有相对应的代码窗口的特性,让学生在生动形象利于接受的学习活动中了解三种程序结构,能够使用图形化编程环境实现顺序、分支、循环三种控制结构。 仿真软件如图:左侧为模块库;中间为流程图编辑区;右侧为代码显示区。 二、教材分析 “尝试程序开发”一节是信息技术基础中的第四单元中的一节,这一节的内容是让学生能够认识程序设计的三中结构,了解三种程序结构执行的过程,读懂简单的程序,为后续开设算法与程序设计选修课程做知识铺垫。 三、学生情况分析 本节课之前,学生掌握了仿真软件的使用,对程序设计有了一定的了解,学会了使用仿真软件设计机器人走直线,转弯,停止,发音的设计,并同时可视化的界面看到了自己设计的成果。但是,程序设计中的抽象化和理论化会减淡学生对程序设计的热情,这就需要教师充分营造教学情境,合理安排任务,保持学生的学习热情和兴趣。 四、教学目标 知识与技能:能够清晰的绘制出顺序结构、循环结构、分支结构的流程图,能够读懂程序执行的流程,能够比较三种基本结构的异同; 过程和方法:通过演示法、讲授法、任务驱动和小组合作等方法,学生能掌握流程

图的设计思路,能绘制流程图; 情感态度与价值观:培养合作交流的意识,提高分析、解决问题的能力;促进学生对程序语言的学习兴趣。 五、教学重、难点 教学重、难点:掌握流程图的设计思路;理解三种程序结构的执行过程。 六、教学资源: 机器人仿真软件、视频材料、PPT、相关学习材料。 教学用时:90分钟

议论文的三种基本结构

议论文的三种基本结构 导读:议论文基本结构 1.并列式: (1)并列分论点: (中心论点——分论点一——分论点二 ——分论点三——结论,照应全文) (2)并列论据:(引论——本论——结论) 2.对照式: 正反论述:(提出中心论点——正面阐述——反面阐述——结论) 3.层进式(递进式) 议论文(一)——层进式结构 层进式的文章一般有三种格式: (一)将中心论点进行分解,分成几个分论点,这些分论点之间的关系是由浅入深、由简单到复杂。层间可用诸如“不仅……而且……”“……况且”等关联词语过渡,同时又以此反映层次间递进的关系。 例:严于解剖自己 1、要不断进步,必须无情地“解剖我自己”。 2、论述如何才能“解剖”好自己。 ①对自己要有自知之明。(这是“解剖”好自己的前提。不了解“病”在哪里,就无从下刀。) ②光有自知之明还不够,还要勇于自我批评。(这是解剖好自己

的途径。不开刀,就无从去“病”。) ③自我批评的勇气来源于对真理的追求和崇高的信念。(这是解 剖好自己的关键。不掌握开刀的规律,刀就开不好,也就难以真正去“病”。) (二)按照“提出问题,分析问题,解决问题”的思路安排论证结构,即围绕中心心论点回答三个问题:①是什么,②为什么,③怎么办。 例:实现心中的理想 每个人心中都有属于自己的天使。何谓“天使”呢?天使就是心 中向往的东西,渴望实现的美好的东西,正如你的理想。要实现心中的理想,必须用心地雕琢心中的天使,用你手上的雕刻刀,把天使雕刻出来,展现出来。“天使”展现了微笑,理想之花绽放着光彩。(是什么) 理想是你在黑暗中指路的明灯,理想是你在迷失方向时的指南针,理想还是你焦急干渴时沁人心脾的清泉,理想是我们人生重要的部分,而人生不断前进的动力是为了实现理想,为了雕琢心中的天使,使天使成型,使理想成型。(为什么) 那要怎样才能实现心中的理想,雕琢心中的天使呢? 实现理想需要坚强的毅力和强大的意志。刘翔,一个代表速度的名字,已经载入田径史册。他从参加110栏比赛开始,就有着与世界短跑名将同台比赛的理想,同时他为实现理想而努力。跨越一道道栏,

实验三(1)MATLAB程序设计并且附有答案

实验三(1)、MATLAB程序设计 一、实验目的 1、掌握建立和执行M文件的方法 2、掌握利用if语句和switch语句实现选择结构的方法 二、实验内容及步骤 1、输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。 其中90分~100分为A,80分~89分为B,70分~79为C, 60分~69分为D,60分以下为E。 要求:1)分别用if语句和switch语句实现a=input('please input the score:'); if mod(a,0.5)==0 &a>=0&a<=100; switch (floor(a/10)) case 9 disp('A'); case 8 disp('B'); case 7 disp('C'); case 6 disp('D'); otherwise disp('E'); end else disp('输入的成绩不合理') end double x; x=input('Input x please:'); if mod(x,0.5)~=0 || x>100 || x<0 disp('ê?è?μ?3é?¨2?o?àí'); elseif x>=90 & x<=100 disp('A'); elseif x>=80 & x<=89 disp('B'); elseif x>=70 & x<=79 disp('C'); elseif x>=60 & x<=69 disp('D'); elseif x>=0 & x<60 disp('E');

end 2)对不合理的成绩应输出出错信息“输入的成绩不合理”(若成绩出现小数,则只能是“.5”) 2、设计程序,完成两位数的加、减、乘、除四则运算,即产 生两个两位随机整数,再输入一个运算符号,做相应的运 算,显示相应的结果,并要求结果显示类似于“a=x+y=34”。 x=randint(1,1,[10 99]);或者x=round(rand(1)*100) y=randint(1,1,[10 99]);或者y=round(rand(1)*100) disp(['x=',num2str(x)]); disp(['y=',num2str(y)]); A=input('请输入一个运算符号:','s'); %书上114页有说明 switch(A) case '+' a=x+y; disp(['a=x+y=',num2str(a)]); case '-' a=x-y;disp(['a=x-y=',num2str(a)]); case '*' a=x*y;disp(['a=x*y=',num2str(a)]); case '/' a=x/y;disp(['a=x/y=',num2str(a)]); end 3、求下列分段函数的值 2 2 2 6,0 56, 1, y χχχχ χχχχχ χχ ?+-<≠ ? =-+≤≠≠? ?-- ? 且-3 0<10,2且3 其他 要求:用if语句实现,分别输出x = -5.0,-3.0,1.0,2.0,2.5,

实验三 循环结构程序设计(教案)

实验教案 一、实验目的 (1) 掌握while、do~while、for语句的使用。 (2) 掌握循环体内使用break、continue语句的作用。 (3) 掌握循环及嵌套循环结构的程序设计方法。 二、实验准备 1.C语言实现循环的方法 ①goto 和if 构成的循环:由于goto是无条件转向,不符合结构化程序设计思想,所以不建议使用。 ②while循环:实现“当型”循环,首先判断循环条件,当条件为真,执行循环体,再判断循环条件……此种循环有可能一次也不执行循环体。 ③do~while循环:实现“直到型”循环,与while循环的区别是先执行循环体,再判断循环条件,当循环条件为真,再执行循环体……此种循环至少执行一次循环体。 ④for循环:与while循环类似,一般用于知道循环变量初值、终值及步长值的循环。 2.break 和continue 语句 ①break 语句:可用在循环体或switch语句中,作用是跳出其所在的控制结构。若是在循环体中,则是跳出其所在的循环,使得循环不止一个出口。 ②continue语句:只能用在循环体中,其作用是结束本层本次循环,注意不是退出循环。 3.阅读以下程序,并分析其功能,调试运行程序后再分析其运行结果。 ①掌握三种方法求1到100的累加和。 文件名为ex3-1-1.c,内容如下: # include main() { int sum=0,i=1; while(i<=100) sum+=i++; // 等价于:{ sum=sum+i; i++; } printf("sum is %d\n",sum); } 文件名为ex3-1-2.c,内容如下: # include main() { int sum=0,i=1; do sum+=i++; while(i<=100); printf("sum is %d\n",sum); } 文件名为ex3-1-3.c,内容如下: # include main()

C程序设计综合性实验报告模版11030325

C程序设计综合性实验报告模版11030325

《C程序设计》综合性实验 实验报告 题目:学生成绩管理 姓名: 班级: 学号: 指导教师:

完成时间:

一、实验题目 学生成绩管理 二、实验目的 1. 掌握一维数组、二维数组的使用方法。 2. 掌握结构体数组的定义和使用。 3. 综合应用数据文件的读写语句保存结构体数组中的数据。 三、实验要求 有4个学生,每个学生有3门课的成绩,从键盘上输入以上数据,计算每个学生的平均分,并把这些信息(包括学号、姓名、班级、3门课的成绩及平均分)保存到一个文件(score.txt)中,并显示在屏幕上。 具体要求: ①定义结构体类型(student_type),其中包括学号(num[11])、姓名(name[8])、班级(class[20])、3门课成绩(score[3])和平均成绩(ave)。利用该结构体类型定义数组stud[4]。 ②在主函数中输入学生学号、姓名、班级、3门课的成绩,并计算出平均成绩,然后调用save()函数将学生数据保存在score.txt 文件中,调用display()函数读取score.txt文件,并将其中的内容显示在屏幕上。 ③定义保存文件函数save()和显示文件函数display()。 四、程序流程图

五、程序代码 #include struct student_type {char num[13]; char name[20]; char classname[20]; float score[3]; float ave; }stud[4]; void save() {FILE *fp; int i; if((fp=fopen("score.txt","wb"))==NULL) { printf("cantnot open file\n"); return; } for(i=0;i<4;i++) { if(fwrite(&stud[i],sizeof(struct student_type),1,fp)!=1) printf("file write error\n"); } fclose(fp); } void display() { FILE *fp; int i; if((fp=fopen("score.txt", "rb"))==NULL) { printf("cantnot open file\n"); return; } printf("\n------------成绩---------------"); for(i=0;i<4;i++) { struct student_type stud; fread(&stud,sizeof(struct student_type),1,fp); printf("\n%6s\t%6s\t%6s\t%3.1f\t%3.1f\t%3.1f\t%3.1f\n",https://www.doczj.com/doc/412970591.html,,stud.nu m,stud.classname,stud.score[0],stud.score[1],stud.score[2],stud.ave); } fclose(fp); }

程序的三种基本结构

程序的三种基本结构 荷兰学者Dijkstra提出了"结构化程序设计"的思想,它规定了一套方法,使程序具有合理的结构,以保证和验证程序的正确性.这种方法要求程序设计者不能随心所欲地编写程序,而要按照一定的结构形式来设计和编写程序.它的一个重要目的是使程序具有良好的结构,使程序易于设计,易于理解,易于调试修改,以提高设计和维护程序工作的效率. 结构化程序规定了以下三种基本结构作为程序的基本单元: (1) 顺序结构. 见图1-1 在这个结构中的各块是只能顺序执行的. (2) 判断选择结构.见图1-2 根据给定的条件是否满足执行A块或B块. 图1-1 图1-2 (3) 循环结构.见图1-3和图1-4. 图1-3表示的结构称为"当型"循环.当给定的条件满足时执行A块,否则不执行A块而直接跳到下面部分执行.图1-4表示的结构称为"直到型"循环,它的含义是:执行A块直到满足给定的条件为止(满足了条件就不再执行A块).这两种循环的区别是:当型循环是先判断(条件)再执行,而直到型循环是先执行后判断. 图1-3 图1-4 以上三种基本结构可以派生出其它形式的结构.由这三种基本结构所构成的算法可以处理任何复杂的问题.所谓结构化程序就是由这三种基本结构所组成的程序.

可以看到,三种基本结构都具有以下特点: ① 有一个入口. ② 有一个出口. ③ 结构中每一部分都应当有被执行到的机会,也就是说,每一部分都应当有一条从入口到出口的路径通过它(至少通过一次). ④ 没有死循环(无终止的循环). 结构化程序要求每一基本结构具有单入口和单出口的性质是十分重要的,这是为了便于保证和验证程序的正确性.设计程序时一个结构一个结构地顺序写下来,整个程序结构如同一串珠子一样顺序清楚,层次分明.在需要修改程序时,可以将某一基本结构单独孤立出来进行修改,由于单入口单出口的性质,不致影响到其它的基本结构.

算法的三种基本结构

No: 年月日课题:算法的三种基本结构和框图表示 课时 1 课型新授 知识与技能掌握程序框图表示算法的三种基本逻辑结构 过程与方法模仿、探索、学习设计程序框图 情感态度价值观培养学生辩证取看待问题 重点算法的三种基本结构及框图表示 难点对循环结构的理解 关键会用三种基本结构画框图 教学过程与内容师生 互动时间分配 一.顺序结构: 是最简单的算法结构,语句与语句之间,框与框之间是从上到下的顺序进行的。 注意:(1)顺序结构是按从上到下的顺序依次执行的,不会引起程序步骤的跳转 (2)顺序结构只能解决一些简单的问题 (3)基本形式如图 A,B两框按顺序执行 二.条件分支结构: 在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向,这种先根据条件作出判断,在决定执行哪一种操作的结构叫条件分支结构。 注意:(1)条件分支结构的语句与语句之间,框与框之间必须有一个环节是概括条件进行判断的操作 (2)条件分支结构中算法的流程要根据条件流向不同的方向,在此结构中的主要部分是判断框,一个判断结构中可以有多个判断框 三.循环结构: 如果一个计算过程要重复一系列的计算步骤若干次,每次重复的计算步骤完全相同,则这种算法过程称为循环过程,由此引入算法的循环结构(根据指定条件决定是否重复执行一条或多条指令的控制结构)。从某处开始,按照一定条件反复执行某一处理步骤,反复执行的处理步骤称为循环体。注意:循环结构的程序框图中包含判断框,它控制着循环的流程,判断框内写上条件,两个出口分别对应着条件成立和条件不成立执行的不同指令,其中一个指向循环体,然后再从循环体回到判断框的入口处。 常见循环结构有三种:计数型循环,当型循环和直到型循环 (1)计数型循环结构:一般用于预先知道重复的次数 (2)当型(while型)循环结构:一般用于预先难以知道循环次数,通过设置某个条件,当条件满足时就重复操作,当条件不满足时就退出循环。(3)直到型循环结构:一般用于预先难以知道次数,通过设置某个条件,当条件满足退出循环。 两种循环结构的区别:(1)执行情况不一样:当型循环是当条件不满足才

实验三 Mathematica的综合程序设计

实验三:Mathematica的综合程序设计 1.验证角谷猜想.如果一个自然数,是偶数,就把它除以2,如果是奇数,就把它乘以3加1, 这样下去,经过若干次之后,必定得到数字1.试编写程序验证这一猜想. In[ ]:= n=Input["n="];Print["n=",n];k=0; While[n!=1,k++;If[EvenQ[n],n=n/2,n=3n+1]]; Print["k=",k] Out[ ]= n= 23 k= 15 2.求一个整数的所有因子 方法一:因子竖着放的 In[ ]:= n=Input["n="];Print["n=",n]; For[i=1,i<=n,i++,If[Mod[n,i]==0,Print[i]]] In[ ]:= n= 12 Out[ ]= 1 2 3 4 6 12 方法二:借助于列表,横着排放 In[ ]:= n=Input["n="];Print["n=",n];t={}; For[i=1,i<=n,i++,If[Mod[n,i]==0,AppendTo[t,i]]];t In[ ]:= n= 12 Out[ ]= {1,2,3,4,6,12} 3.验证Nn=p1*p2*...*pn+1是不是素数 此题,n不宜过大,以免溢出. In[ ]:= For[k=1;n=1,n<=30,n++, k=k*Prime[n]; If[PrimeQ[k+1],Print["N[",n,"]=",k+1," is a Prime"], Print["N[",n,"] =",k+1," is not a Prime"]]] 4.Fermat数是不是素数,欧拉证明了n=5不是.试试看. n In[ ]:= f[n_] := 221 In[ ]:= f[{1,2,3,4,5,6,7,8}] Out[ ]= {5,17,257,65537,4294967297,18446744073709551617,340282366920938463463374 607431768211457,1157920892373161954235709850086879078532699846656405640394575840 07913129639937 }

实验三 循环结构程序设计

实验三循环结构程序设计 一、实验目的 (1) 掌握while、do~while、for语句的使用。 (2) 掌握循环体内使用break、continue语句的作用。 (3) 掌握循环及嵌套循环结构的程序设计方法。 二、实验准备 1.C语言实现循环的方法 ①goto 和if 构成的循环:由于goto是无条件转向,不符合结构化程序设计思想,所以不建议使用。 ②while循环:实现“当型”循环,首先判断循环条件,当条件为真,执行循环体,再判断循环条件……此种循环有可能一次也不执行循环体。 ③do~while循环:实现“直到型”循环,与while循环的区别是先执行循环体,再判断循环条件,当循环条件为真,再执行循环体……此种循环至少执行一次循环体。 ④for循环:与while循环类似,一般用于知道循环变量初值、终值及步长值的循环。 2.break 和continue 语句 ①break 语句:可用在循环体或switch语句中,作用是跳出其所在的控制结构。若是在循环体中,则是跳出其所在的循环,使得循环不止一个出口。 ②continue语句:只能用在循环体中,其作用是结束本层本次循环,注意不是退出循环。 3.阅读以下程序,并分析其功能,调试运行程序后再分析其运行结果。 ①掌握三种方法求1到100的累加和。 文件名为ex3-1-1.c,内容如下: # include main() { int sum=0,i=1; while(i<=100) sum+=i++; // 等价于:{ sum=sum+i; i++; } printf("sum is %d\n",sum); } 文件名为ex3-1-2.c,内容如下: # include main() { int sum=0,i=1; do sum+=i++; while(i<=100); printf("sum is %d\n",sum); } 文件名为ex3-1-3.c,内容如下: # include main() { int sum=0,i; for(i=1;i<=100;i++) sum+=i; printf("sum is %d\n",sum); } ②程序二,程序文件名为ex3-2.c。(掌握递推算法(求 值))

实验三 顺序结构程序设计及运算符(答案)

实验三顺序结构程序设计及运算符 【实验目的】: 1.掌握C语言中使用的一种语句----赋值语句的使用; 2.掌握C语言中数据的输入/输出方法,常用输入(getchar、getch、scanf)/输出函数(putchare、printf)的使用; 3.掌握顺序结构程序设计方法 【实验时数】:2学时 【实验内容】: 一、新建文件夹 首先在各自计算机K盘的对应文件夹中新建一个文件夹,文件夹的名字为“班级+学号的后两位+姓名”,如食品1081班、学号后两位是02的、姓名为“张三”的同学,则其对应的文件夹名字是:食品108102张三(注意中间不要加任何空格)。然后在刚才建好的文件夹里面再建立一个文件夹,文件夹为“第4次”。 以下实验内容的运行结果需保存在所建的“第4次”文件夹内,并按题目的要求完成。希望同学们在做以下实验之前,先认真分析程序的运行结果,后再上机验证。 二、实验内容: [程序一]:运行以下程序,通过键盘输入1234后按回车,分析程序的运行结果。 #include "stdio.h" void main( ) { char c1,c2; c1= getchar(); c2= getchar(); putchar(c1); putchar('\n'); putchar(c2); printf("\n%c %c",c1,c2); }

[程序二]:输入三角形的边长,求面积area。 要求:三角形的边长a、b、c要求通过键盘输入,要求有相应的提示信息。原程序以“area.c”保存在“第4次”文件夹内。 提示: 这是一个海伦公式,同学们根据这个公式编程示三角形的面积。其中我们用到了一个新的函数:求平方根函数(sqrt()) 这里要求在程序的开头用一个包含头文件 include “math.h” 根据程序的通用性,此处要求三角形的三边a、b、c、面积area均定义成float类型。#include "stdio.h" #include "math.h" void main() { float a,b,c,s,area; /*a、b、c为三角形的三边,area为面积*/ printf("input a、b、c:"); scanf("%f%f%f",&a,&b,&c); s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("三角形面积area=%f",area); } [程序三]: 设园半径r=1.5,园柱高h=3,求园周长、园面积、球表面积、球体积、园柱体积。编程序:用scanf输入数据,输出计算结果。输出时要有文字说明,取小数点后两位数字。程序以“circle.c”保存在“第4次”文件夹内 要求:变量用以下名字命名: 半径:r 圆柱高:h 圆周长:lzhou 圆面积:syuan 球表面积:sqiu 球体积:vqiu 圆柱体积:vzhu 提示:此处计算用到了π=3.14159,要求用符号常量定义,即在程序的开始处用编译预处理命令。 #include “stdio.h” #define PI 3.14159 /*定义符号常量PI=3.14159*/ 圆周长=2*PI*r 圆面积=PI*r*r 球表面积=4*PI*r*r 球体积=4/3*(PI*r*r*r) 圆柱体积=PI*r*r*h

相关主题
文本预览
相关文档 最新文档