实验4循环控制一教学提纲

实验4循环控制一教学提纲
实验4循环控制一教学提纲

实验4循环控制一

《C语言程序设计》实验报告

----------------------------------------------------------------------------------------------

实验4循环控制(一)

一.实验目的

(1)掌握用while语句,do…While语句和for语句实现一重循环的方法。(2)掌握在程序设计中用循环的方法实现一些常用算法(例如求最大/最小值、求和、统计等)。

(3)进一步学习调试程序的技巧。

二.实验内容和步骤

1.填空题

(1)给定程序成c4-1.c功能是计算1到M之间的奇数之和及偶数之和。

#include

#define M 100

int main()

{ int a,b,i;

a=0;b=0;

for(i=1;i<=99;i+=2)

{ a=a+i;

b=b+i+1; }

printf("sum of evens is %d\n",b);

printf("sum of odds is %d\n",a);

return 0;

}

(2)以下给定程序c4-2.c的功能是从键盘输入整数,分别计算所输入正整数的和、负整数的和。当输入0时,结束并输出计算结果。

#include

int main()

{ int x,sum1,sum2;

sum1=0;sum2=0;

scanf("%d",&x);

while(x!=0)

{

if(x>0) sum1+=x;

else sum2+=x;

scanf("%d",&x);

}

printf("sum of>0 in %d\n",sum1);

printf("sum of<0 is %d\n",sum2);

return 0;

}

(3)给定程序c4-3.c功能是计算正整数num的各位上数字之积。

#include

int main()

{ int num,k;

k=1;

printf("please enter a number:");

scanf("%d",&num);

do

{ k*=num%10;

num=num/10;

}while(num!=0);

printf("\n%d\n",k);

return 0;

}

反思与总结:1.evens代表偶数,odds表示奇数;2.(3)中取末尾的方法值得一看!3.通过这三个例子掌握for,while,do while语句的使用。

2.改错题

(1)以下程序c4-4.c的功能是从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入,请将程序补充完整。

#include

int main()

{ float x,amax,amin;

scanf("%f",&x);

amax=0;amin=100;

实验4 循环控制 答案

实验4 循环控制 班级:学号: 姓名:日期: 一、实验目的 (1)熟悉掌握用while语句、do—while语句和for语句实现循环的方法。 (2)掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。 (3)进一步学习调试程序。 二、实验内容 1.while语句 while 语句的一般形式为: while(表达式)语句; while 语句的语义是:计算表达式的值,当值为真(非0)时,执行循环体语句。 编程:求1-100的奇数和。 提示:循环变量的步长值为2。 #include void main() { int i=1,sum=0; while(i<=100) { sum=sum+i; i=i+2; } printf("sum=%d\n",sum); } 2.do-while语句 do-while 语句的一般形式为: do { 语句; }while(表达式);

do-while 语句的语义是:先执行循环体语句一次,再判别表达式的值,若为真(非0)则继续循环,否则终止循环。 编程:求1—100的偶数和。 #include void main() { int i=0,sum=0; do { i=i+2; sum=sum+i; }while(i<100); printf("sum=%d\n",sum); } 3.for语句 其一般形式为: for(表达式1;表达式2;表达3) 语句; for 语句的语义是: ⑴首先计算表达式1 的值。 ⑵再计算表达式2 的值,若值为真(非0)则执行循环体一次,否则结束循环。 ⑶执行循环体后再计算表达式3 的值,转回第2 步重复执行。 下列程序用于输出fibnocci 数列的前20 项,每行输出5 个。请填空。 说明:fibnocci 数列的前两项均为1,以后各项等于其前两项之和。 #include void main( ) { int i,f1,f2,f3,n; f1=1;f2=1; printf("\n%d %d ",f1,f2); n=2; for(i=1; i<=18 ;i++) { if (n % 5==0 ) printf("\n"); f3=f1+f2 ; printf("%d ",f3); n++;` f1=f2;f2=f3; } }

大一上期C语言实验报告5 循环控制语句

成都工业学院·计算机工程学院 《程序设计基础》实验报告 1.实验目的 (1)熟练掌握while语句、do…while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用三 种循环语句实现循环结构; (2)掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧; (3)进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。2.实验内容 (1)输出两个整数m和n,求它们的最大公约数和最小公倍数。 要求: ①画出算法流程图,从键盘输入m和n; ②对负数和零可不做考虑; ③运行程序,对m>n、m

③按照数字、大写字母、小写字母及其他字符数的顺序输出结果 3.流程图 4.源程序

5. 运行结果 (1 ) 求最大公约数和最小公倍数 (2)求1000内最大的10个素数之和(3)计算π值

实验4_循环结构程序设计1题目及解答

4.3 循环结构程序设计1 【(1)题中页码均为《C 语言程序设计教程》中的页码 (2)题后为原程序文件名 (3)仅提交名为【*.c 】的源程序文件,可一起提交,也可逐题提交 】 1、 按照右边给出的流程图用while 语句求1~100之间的偶数之和。(007张三t411.c, 007张三t412.c ) 【提示:参见p89—例4.18 ,并按照下面的左流程图书写007张三t411.c ,右流程图书写007张三t412.c 程序运行结果: s=2550 】 2、 按照右边给出的流程图用while 语句求出所有的水仙花数(如135: 153=13+53+33)。(007张三t42.c )【限制用一重循环实现】 【提示: 程序运行结果: 全部水仙花数如下:??153??370??371??407 】 3、 根据公式,求)(1n n 1 4313212 11 ....+????++++ 的前n 项之和。 (007张三t431.c ,007张三t432.c ) 【提示:参见p90—例4.19了解类似算法的实现 参见p93--例4.18了解do-while 语句的应用 007张三t431.c---用while 语句实现, 007张三t432.c 用do —while 语句实现 程序运行时: 程序运行结果: 请输入n :10? 前10项之和=0.91 请输入n :20? 前20项之和=0.95 】

4、求1!+2!+……+n!(007张三441.c和007张三442.c)【要求n≤10】 【提示:参见p90—例4.20,注意当n=10时,结果超过int 的最大值,建议用长整型(long int--%ld)007张三441.c---用while语句实现, 007张三442.c 用do—while语句实现 程序运行时:程序运行结果: 请输入n:1?1!~1!之和=1 请输入n:3?1!~3!之和=9 请输入n:10?1!~10!之和=4037913 请输入n:20?20超出本程序的求解范围! 请输入n:0?0超出本程序的求解范围! 】 5、输出个位数字是6,且能被3整除的所有3位数(007张三45.c)【要求:输出时,每个数字占4位,右对齐】 程序运行结果: 附加题: 1、编制一个能破解4位数字组成的数字密码的程序(即密码不能以0开头),假设数字密码为:1234(007张三4附加1.c)。【程序运行结果: 密码是:1234 】 2、鸡兔同笼问题,已知鸡和兔的总头数为a,总脚数为b,求鸡和兔的有多少只?(007张三4附加21.c,007张三4附加 22.c)【要求:(1)用循环结构实现,存于007张三4附加21.c (2)顺序结构实现,存于007张三4附加22.c 【程序运行时:程序运行结果: 请输入鸡和兔的总头数和总脚数:4 8?当4个头,8只脚时:鸡4只, 兔0只 请输入鸡和兔的总头数和总脚数:4 12?当4个头,12只脚时:鸡2只, 兔2只 】

实验4循环伏安法测定电极反应参数实验报告

华南师范大学实验报告 学生姓名学号2014 专业新能源材料与器件年级、班级2014 课程名称电化学实验实验项目循环伏安法测定电极反应参数实验类型□√验证□设计□综合实验时间2016年4月25日 实验指导老师吕东生实验评分

一、实验目的 1.了解循环伏安法的基本原理及应用 2. 掌握循环伏安法的实验技术和有关参数的测定方法。 二、实验原理 循环伏安法(Cyclic Voltammetry)是一种常用的电化学研究方法。该法控制电极电势以不同的速率,随时间以三角波形一次或多次反复扫描,电势范围是使电极上能交替发生不同的还原和氧化反应,并记录电流-电势曲线。根据曲线形状可以判断电极反应的可逆程度,中间体、相界吸附或新相形成的可能性,以及偶联化学反应的性质等。常用来测量电极反应参数,判断其控制步骤和反应机理,并观察整个电势扫描范围内可发生哪些反应,及其性质如何。对于一个新的电化学体系,首选的研究方法往往就是循环伏安法。该方法使用的仪器简单,操作方便,图谱解析直观,在电化学、无机化学、有机化学、生物化学等许多研究领域被广泛使用。循环伏安法通常采用三电极系统,一支工作电极(被研究物质起反应的电极),,一支参比电极,一支对电极。外加电压在工作电极和辅助电极之间,反应电流通过工作电极与辅助电极。 图1 循环伏安法测得的氧化还原曲线 正向扫描的峰电流i p 与v^0.5和C都成线性关系,对研究电极过程具有重要意义。标准 电极电势为:EΘ=(E pa +E pc )/2。所以对可逆过程,循环伏安法是一个方便的测量标准电极 电位的方法。 三、实验器材 CHI电化学工作站;玻碳电极;铂电极;Hg/Hg2SO4电极;0.1 mol/L VO2+ + 0.1 mol/L VO2+ +3 mol/L H2SO4溶液 四、实验步骤 1. 预处理电极

实验5 循环控制

实验5 循环控制 一、实验目的 熟悉掌握用while语句,do-while语句和for语句实现循环的方法。掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。进一步学习调试程序。 二、实验内容 编程序并上机调试运行。 1.输入两个正整数m和n,求它们的最大公约数和最小公倍数。 源程序:(以T5_1作为文件名。) 运行程序,分别用8和12、22和10做为测试数据,写出运行结果: 2.猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩一个桃子了。求第一天共摘了多少桃子。 源程序:(以T5_2作为文件名。) 运行程序,写出运行结果:

3.编程计算1+(1+2)+(1+2+3)+(1+2+3+4)+...+(1+2+3+...+n)的值。 (本题中的n从键盘输入,且假设在20以内) 源程序:(以T5_3作为文件名。) 4.试编程:找出1至99之间的全部同构数。同构数是这样一组数:它出现在平方数的右边。例52=25,5在25的右边,5是同构数;252=625,25在625的右边,25是同构数。 源程序:(以T5_4作为文件名。) 运行程序,写出运行结果: 5.编程求100~300之间的全部素数的和 源程序:(以T5_5作为文件名。)

运行程序,写出运行结果: 课后思考题(以前考试题): 1.利用下面公式求s的值(求20项之和) s=1/(1*2*3)-1/(2*3*4)+1/(3*4*5)-1/(4*5*6)+...+1/(19*20*21)-1/(20*21*22) 2.一个素数加上1000以后是43的倍数,求满足这个条件的最小素数。 3.有2个小于40的正整数a和b,a的平方与b的和是1053,b的平方与a的和是873,请编程求满足条件的a和b的值。(提示:满足条件的a,b的值唯一) 4.一个自然数除以2余1,除以3余2,除以4余3,除以5余4,除以7余5,求满足这个条件的最小的自然数? 5.求所有的"水仙花数"之和。所谓"水仙花数"是指一个三位数,其各位数字的立方和等于该数本身。例如153是一个"水仙花数",因为:153=1*1*1+5*5*5+3*3*3。 6.分别计算500到1300之间所有既能被7整除又能被13整除的奇数和偶数之和。 7.统计用0-9之间不同的3个数构成一个三位数有多少种方法

循环伏安法实验报告(有测定电极有效面积)

循环伏安法实验 【实验目的】 学习和掌握循环伏安法的原理和实验技术。 了解可逆波的循环伏安图的特性以及测算玻碳电极的有效面积的方法。 【实验原理】 循环伏安法是在固定面积的工作电极和参比电极之间加上对称的三角波扫 描电压(如图1),记录工作电极上得到的电流与施加电位的关系曲线(如图2),即循环伏安图。从伏安图的波形、氧化还原峰电流的数值及其比值、峰电位等可以判断电极反应机理。 与汞电极相比,物质在固体电极上伏安行为的重现性差,其原因与固体电极的表面状态直接有关,因而了解固体电极表面处理的方法和衡量电极表面被净化的程度,以及测算电极有效表面积的方法,是十分重要的。一般对这类问题要根据固体电极材料不同而采取适当的方法。 对于碳电极,一般以Fe(CN) 63-/4- 的氧化还原行为作电化学探针。首先,固体 电极表面的第一步处理是进行机械研磨、抛光至镜面程度。通常用于抛光电极的 材料有金钢砂、CeO 2、ZrO 2 、MgO和α-Al 2 O 3 粉及其抛光液。抛光时总是按抛 光剂粒度降低的顺序依次进行研磨,如对新的电极表面先经金钢砂纸粗研和细磨 后,再用一定粒度的α-Al 2O 3 粉在抛光布上进行抛光。抛光后先洗去表面污物, 再移入超声水浴中清洗,每次2~3分钟,重复三次,直至清洗干净。最后用乙 醇、稀酸和水彻底洗涤,得到一个平滑光洁的、新鲜的电极表面。将处理好的碳 图2:循环伏安曲线(i—E曲线)

电极放入含一定浓度的K 3Fe(CN)6和支持电解质的水溶液中,观察其伏安曲线。如得到如图2所示的曲线,其阴、阳极峰对称,两峰的电流值相等(i pc / i pa =1),峰峰电位差ΔE p 约为70 mV (理论值约59/n mV ),即说明电极表面已处理好,否则需重新抛光,直到达到要求。 有关电极有效表面积的计算,可根据Randles-Sevcik 公式: 在25°C 时,i p =(2.69×105 )n 3/2 AD o 1/2ν1/2 C o 其中A 为电极的有效面积(cm 2 ),D o 为反应物的扩散系数(cm 2 /s),n 为电极反应的电子转移数,ν为扫速(V/s ),C o 为反应物的浓度(mol/cm 3 ),i p 为峰电流(A )。 【仪器和试剂】 1. CHI 660D 电化学系统,玻碳电极(d = 4mm ) 为工作电极,银/氯化银电极为参比电极,铂片电极为辅助电极; 2. 固体铁氰化钾、H 2SO 4 溶液、高纯水; 3. 100 mL 容量瓶、50 mL 烧杯、玻棒。 【实验内容】 1. 配制5 mM K 3Fe(CN)6 溶液(含0.5 M H 2SO 4),倒适量溶液至电解杯中; 2. 将玻碳电极在麂皮上用抛光粉抛光后,再用蒸馏水清洗干净; 3. 依次接上工作电极(绿)、参比电极(白)和辅助电极(红); 4. 开启电化学系统及计算机电源开关,启动电化学程序,在菜单中依次选择Setup 、Technique 、CV 、Parameter ,输入以下参数: 5. 点击Run 开始扫描,将实验图存盘后,记录氧化还原峰电位E pc 、E pa 及峰电流I pc 、I pa ; 6. 改变扫速为0.05、0.1 和0.2 V/s ,分别作循环伏安图; 7. 将4个循环伏安图叠加比较; Init E (V) 0.8 V Segment 2 High E (V) 0.8 V Smpl Interval (V) 0.001 Low E (V) ?0.2 V Quiet Time (s) 2 Scan Rate (V/s) 0.02 V Sensitivity (A/V) 5e?5

实验七 PHP循环控制语句(二)

实验七 PHP循环控制语句(二) 一、实验目的与要求 1.复习编写和测试PHP程序的方法。 2.掌握PHP循环控制语句for的使用。 3.掌握强制结束循环的语句continue和break。 4.理解二重循环的使用方法。 二、实验内容 1. for语句的使用 for语句的语法: for (表达式1; 表达式2; 表达式3) { 程序块 } 说明: ●表达式1是循环初始值,表达式2是判断 条件,通常用比较表达式或逻辑表达式充 当判断的条件,表达式3是执行程序块之 后要执行的语句,即循环步长,它用来改 变循环条件,供下次的循环判断,如:变量值加1、减1等。 ●在程序执行时,首先执行表达式1,然后对 表达式2的值进行判断,如果其值为真, 则执行for循环中程序块,然后执行表达式3,并返回继续判断表达式2的真假;如果其值为假,则跳出for循环,继续执行for 语句之后的下一条语句。 ● 【任务1】使用for语句编程,要求:使用for循环语句计算100以内奇数的和,即求1+3+5+……+99

的值。输出格式如下图所示: 将该PHP页面保存在文件夹“C:\ phpstudy \WWW”中,命名为task1.php。 步骤: ①打开Dreamweaver CS5软件,新建一个PHP页面,并保存在文件夹“C:\ phpstudy\WWW”中,命名为task1.php。 ②在代码视图的和之间输入PHP程序代码,如下: ③完成后,保存task1.php网页文档,按下F12键在浏览器中预览效果。此时,会弹出设置服务器的提示,单击“是”,就可以在站点设置中建立一个新站点,如下图所示: 输入站点名称:PHP实验,本地站点文件夹:C:\ phpstudy\WWW。 单击左侧的“服务器”,会出现一个设置服务器的窗口,点击“+”按钮,添加一个远程服务器。

实验十 循环伏安法分析

实验十循环伏安法分析 一、实验目的 1.仔细阅读理解本讲义和相关资料,掌握循环伏安法的基本原理。 2.熟练使用循环伏安法分析的实验技术。 二、实验原理 循环伏安法(Cyclic Voltammetry, 简称CV)往往是首选的电化学分析测试技术,非常重要,已被广泛地应用于化学、生命科学、能源科学、材料科学和环境科学等领域中相关体系的测试表征。 现代电化学仪器均使用计算机控制仪器和处理数据。CV测试比较简便,所获信息量大。采用三电极系统的常规CV实验中,工作电极(The Working Electrode, 简称WE)相对于参比电极(the Reference Electrode,简称RE)的电位在设定的电位区间内随时间进行循环的线

表1. 图1的实验条件和一些重要解释

零,所以RE的电位在CV实验中几乎不变,因此RE是实验中WE电位测控过程中的稳定参比。若忽略流过RE上的微弱电流,则实验体系的电解电流全部流过由WE和对电极(The Counter Electrode,简称CE)组成的串联回路。WE和CE间的电位差可能很大,以保证能成功地施加上所设定的WE电位(相对于RE)。CE也常称为辅助电极(The Auxiliary Electrode, 简称AE)。 分析CV实验所得到的电流-电位曲线(伏安曲线)可以获得溶液中或固定在电极表面的组分的氧化和还原信息,电极|溶液界面上电子转移(电极反应)的热力学和动力学信息,和电极反应所伴随的溶液中或电极表面组分的化学反应的热力学和动力学信息。与只进行电位单向扫描(电位正扫或负扫)的线性扫描伏安法(Linear Scan Voltammetry,简称LSV)相比,循环伏安法是一种控制电位的电位反向扫描技术,所以,只需要做1个循环伏安实验,就可既对溶液中或电极表面组分电对的氧化反应进行测试和研究,又可测试和研究其还原反应。 循环伏安法也可以进行多达100圈以上的反复多圈电位扫描。多圈电位扫描的循环伏安实验常可用于电化学合成导电高分子。 图1为3 mmol L-1 K4Fe(CN)6 + 0.5 mol L-1 Na2SO4水溶液中金电极上的CV实验结果。实验条件和一些重要的解释列于表1中。 三、仪器和试剂 仪器:CHI400电化学工作站 磁力搅拌器 铂片工作电极 铅笔芯对电极 KCl饱和甘汞电极 试剂:K3Fe(CN)6(分析纯或优级纯) KNO3(分析纯或优级纯) 溶液及其浓度:1.0 mol L-1 KNO3水溶液。实验中每组学员使用30.0 mL。 0.100 mol L-1 K3Fe(CN)6水溶液储备液。实验中每组学员使用100 L微量注射 器依次注射适量体积的0.100 mol L-1 K3Fe(CN)6水溶液到30 mL的1.0 mol L-1 KNO3水溶液中,详见如下4.3.节。

实验四 循环结构程序设计(答案)

实验四循环结构程序设计(解答) 1.改错题 (1)下列程序的功能为:求1~100之和(和值为5050)并输出。请纠正程序中存在错误,使程序实现其功能,程序以文件名sy4_1.c存盘。 #include main() { int i,sum=0; i=1; while(i<100) sum=sum+i; i++; printf(“The sum from 1 to 100 is %d\n”,sum); } 改正后的程序: #include main() { int i,sum=0; i=1; while(i<=100) { sum=sum+i; i++; } printf("The sum from 1 to 100 is %d\n",sum); } (2)下列程序的功能为:倒序打印26个英文字母。请纠正程序中存在错误,使程序实现其功能,程序以文件名sy4_2.c存盘。 #include main() { char x; x='z'; while(x!='a') { printf("%3d",x); x++; } }

改正后的程序: #include main() { char x; x='z'; while(x!='a'-1) 或while(x>='a') 或while(x!=96) { printf("%3c",x); x- -; } } (3)下列程序的功能为:输出如下的图形,要求顶端的*定位在第21字符位置,请纠正程序中存在错误,使程序实现其功能,程序以文件名sy4_3.c存盘。 * *** ***** ******* #include void main() { int i,j; for (i=0;i<4;i++) { for (j=0;j<=20;j++) printf("\n"); for (j=0;j<2*i+1;j++) printf("*"); } } 改正后的程序: #include void main() { int i,j; for (i=0;i<4;i++) { for (j=0;j<=20-i;j++) printf(" "); for (j=0;j<2*i+1;j++) printf("*"); printf("\n"); } } 2.程序填空 (1)下列程序的功能为:用辗转相除法求两个正整数的最大公约数;请填写适当的符号或语句,使程序实现其功能,程序以文件名sy4_4.c存盘。 提示:

Python-实验4--循环结构

实验四循环结构 【实验目的】 1.掌握For语句和while循环语句的使用。 2.掌握循环的规则及其执行过程。 3.掌握如何控制循环条件,防止死循环或不循环。 【实验内容】 1.编写程序,找出7的倍数中十位数为2的所有3位数。 x=100 while x<1000: y=x/100 a=(x-100*y)/10 z=x-100*y-10*a if (10*y+a-2*z)%7==0 and a==2: print x x+=1 else: x+=1 或: x=100 while x<1000: if x%7==0 and x//10%10==2: print x x+=1 或: for x in range(100,1000): if x%7==0 and x//10%10==2: print x 2.编写程序用Print语句输出2000年至2500年间的所有闰年,要求每行输出8个。 y=2001 count=0 flag=True while flag: if y%4==0 and y%100!=0 or y%400==0: if count%8==0: print print y, y+=1 count+=1 else: y+=1 if y==2500: flag=False 3.编写程序解决爱因斯坦台阶问题:有人走一台阶,若以每步走两级则最后剩下一级;若每步走三级则剩两级;若每步走四级则剩三级;若每步走五级则剩四级;若每步走六级则剩五级;若每步走七级则刚好不剩。问台阶至少共有多少级? L=[] for x in range(0,1000): if x%2==1 and x%3==2 and x%4==3 and x%5==4 and x%6==5 and x%7==0: L.append(x) print min(L) 至少共有119级

实验5

实验五 第3章MATLAB程序设计 第二节程序控制结构 程序控制结构有三种:顺序结构、旋择结构、循环结构.任何复杂的程序都可以由这三种基本结构构成.Matlab提供了实现控制结构的语句,利用这些语句可以编写解决实际问题的程序. 一、顺序结构 顺序结构是指按照程序中语句的排列顺序从上到下依次执行,直到程序的最后一个语句如例1的qiu文件和例2的dd1文件.这是最简单的一种程序结构.一般涉及数据的输入、计算或处理、数据的输出等内容. 1. 数据的输入 通过input命令来接收从终端输入的内容,它也可以显示文本和提示. 命令集14 输入命令 input(out ,in)在屏幕上显示出字符串out的文本并等待终端的输入.如果变量in是's',则输入的内容以字符串的形式进行保存,通常MATL AB在保存前要尽可能地求出表达式的值.如果使用格式控制符号如'\n',字符串out可以是若干行. 2. 数据的输出 可以通过简单地输入变量的名字来显示数字矩阵或者字符串向量的内容,结果将显示出变量的名字和内容. 另一种显示变量的值就是使用命令disp.使用它只显示出变量的内容,这是有用的,特别是在字符串的应用中. 命令集15显示命令 disp(A)显示矩阵A的内容,如果A是字符串,则显示出它的文本. 二、循环结构 循环结构是按照给定的条件,重复执行指定的语句.Matlab用于实现循环结构的语句有for — end语句和while — end语句. 1.for —end语句 for-end语句的格式为: for 循环变量=表达式1 : 表达式2 : 表达式3 循环体语句 end

其中表达式1的值为循环变量的初值,表达式2的值为步长,表达式3的值为循环变量的终值.步长为1时,表达式2可以省略. 循环语句应用时应注意: ● 循环语句可以嵌套使用; ● 不能在 for — end 循环体内改变循环变量的值; ● 为了提高代码的运行效率,应尽可能提高代码的向量化程度,避免 for — end 循环的使用,如例8; ● 如果预先就知道循环的次数,则可以采用 for — end 循环;否则,如果预先无法确定循环的次数,则可以使用 while — end 循环. 2. while — end 循环 while-end 语句的一般格式为: while (条件) 循环体语句 end 其执行过程为:若条件成立,则执行循环体语句,执行后再判断条件是否成立,如果不成立则跳出循环. ■例1 使用while-end 结构计算1+2+3+…+100 . 解: ■例2 计算 Matlab 中 eps 值 (exp1.m) 解: s=0; for i=1:100 s=s+i; end s s=0; i=1; while i<=100 s=s+i; i=i+1; end s num=0; EPS=1; while (1+EPS)>1 EPS=EPS/2; num=num+1; end EPS,num

循环程序设计习题及答案

模块三循环程序设计习题及答案 一、填空题 1、当在数据处理中要重复执行相同的操作时,宜采用程序结构来实现。 2、循环的3要素是、、。 3、在循环语句体中包含另一个循环语句的用法称为。 4、执行循环语句体中的break语句后将使用包含它的循环语句。 5、要结束当前正在执行循环体语句而直接进入下一循环周期,需要执行语句。 6、在for语句中表达式允许省略,但不能少,语句for( ; ;) ;构成的是循环。 7、在for语句中,省略表达式2时,则循环为循环。 8、执行语句for(i=1;i++<4; );后变量i的值是。 9、要使用循环程序提前结束本次循环周期并开始下一个循环周期,应在循环体内有条件使用语句。 10、在每次循环周期均要执行一次的语句,称为。 11、for语句括号内的3个表达式的作用分别是、和循环控制变量的更新。 二、选择题 1、若k为整形变量,则while循环共循环()。 k=5; while(k>=0) k-1; A、无限循环 B、6次 C、5次 D、4次 2、与while( ! n) ; 中表达式!dn等价的是()。 A、dn>=0 B 、dn!=0 C、dn == 0 D、dn != 1 3、以下程序段,while循环执行的次数是() int k=0;

while( k == 1) k++; A、无限次 B、有语法错,不能执行 C、一次也不执行 D、执行1次 4、在C语言中,当do while语句中的条件为()时,结束该循环。 A、0 B、1 C、TRUE D、非0 5、下面程序段的输出结果是() do { b-=a; a++; }while(b--<0); A、10,-1 B、2,8 C、9,0 D、4,-3 6、以下描述正确的是() A、由于do while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。 B、do while循环由do开始,用while结束,在while(表达式)后面不能写分号 C、在do while循环体中,一定要有能使while后面匠值变为零的操作 D、do while循环中,根据情况可以省略while 7、若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)。 s=c; for(b=1;b<=c;b++) s=s+1; 则与上述程序段功能等价的赋值语句是() A、s=a+b; B、s=a+c; C、s=s+c; D、s=b+c; 8、假定a,b,c,d均已定义为整型变量,且a、c均已赋值,a大于0,c大于0,则与程序段for(d=a,b=1;b<=c;b++) d--;功能等价的语句是() A、d=a+b; B、d=a+c; C、d=a-b; D、d=a-c 9、下列关于for循环的说法正确的是() A、for循环只能用于循环次数已经确定的情况

循环控制 实验指导

实验三循环结构程序设计 实验课程名:高级语言程序设计(C) 专业班级:电气工程及其自动化学号:201140220209 姓名:郑朝栋 实验时间:2012.4.19 实验地点:K4—202 指导教师:吴建设 一、实验目的 1. 熟练掌握用while语句、do while语句和for语句实现循环的方法。 2. 掌握在程序设计中用循的方法实现一些常用算法。并进一步学习调试程序的方法。 3. 掌握一维数组和二维数组的定义、赋值和输入输出的方法。 4. 掌握字符数组和字符串函数的使用。 5. 掌握与数组有关的算法。 二、实验内容和步骤 1.程序求和:1+…+100,填空,实现该功能。 #include void main() { int s,i; s=0; /* 第5行*/ for( ) s=s+i; printf("1+...+100=%d\n",s); } 思考:(1)第5行能不能去掉?其作用是什么? (2)不用for语句,用while语句改写该程序,实现同样的功能。 (1)#include void main() { int s,i; s=0; /* 第5行*/ for(i=1;i<=100;i++ ) s=s+i; printf("1+...+100=%d\n",s); printf("09 郑朝栋实验三第一题\n"); } 第5行不能去掉,其作用是给S赋初值。 运行结果: (2)#include void main()

{ int s,i; s=0;i=1; /* 第5行*/ while(i<=100 ) {s=s+i;i++;} printf("1+...+100=%d\n",s); printf("09 郑朝栋实验三第一题\n"); } 运行结果: 2.比较下列两个程序。(验证) /* 第一个程序*/ #include void main() { int i,n,sum=0; scanf("%d",&i); n=i; while(i<=10) { sum+=i; i++; } printf("%d+...+10=%d",n,sum); } /* 第二个程序*/ #include void main() { int i,n,sum=0; scanf("%d",&i); n=i; do { sum+=i; i++; } while(i<=10); printf("%d+...+10=%d",n,sum); } 分别运行这两题,若输入7,这两个程序的结果分别是多少?若输入12,这两个程序的结果又分别是多少?比较为什么会有这样的区别? /* 第一个程序*/ #include

循环结构程序设计典型例题

循环结构程序设计典型例题 例1有数列2/3、4/5、6/9、10/15……求此数列前30项的和。 算法分析: 对于数列的题,首先要找出通项公式,或前后项的计算关系公式,根据公式求所需。由于数列的题一般执行次数能确定,用for语句来编写比较方便。 此题,前后项的关系是:后一项的分子是前一项的分母加1,后一项的分母是前一 项的分子加分母。解题思路是用循环语句求各项,并把值累加,因为是求前30项的和,循环执行30次。 1.初值i=2,j=3,s=0; 2.用n从1到30循环 3.s=s+ i/j; 4.c=i; i=j+1; j=c+j; 5输出s; 程序: #in clude mai n() { int i=2,j=3, n,c; float s=0; for(n=1; n<=30 ;n++) { s=s+(float)i/j; c=i; i=j+1; j=c+j; } printf( "n%f” ,s); } 此题中的n与循环体中的执行语句没有数值上的联系,仅仅用做决定循环执行的次数。 例2:下面这个程序,想想它实现的是什么功能? #in clude mai n() { int i,s=0; for(i=1;i<=100;i++) {if(i%5==0) continue; s=s+i; } printf( n“d' ,s); } 在左边的程序中,i从1到100循环,当i是5的倍数时,直接进入下一个i,当i不是5的倍数时,把i累加到s,最后输出s。所以,这个程序实现的是求1~100中间所有非5的倍数的数之和。 例3:输出n~m中(0<*m)能被3整除,且至少有一个数字是5的所有数。 算法分析:

实验4循环控制一

《C语言程序设计》实验报告 ---------------------------------------------------------------------------------------------- 实验4循环控制(一) 一.实验目的 (1)掌握用while语句,do…While语句和for语句实现一重循环的方法。(2)掌握在程序设计中用循环的方法实现一些常用算法(例如求最大/最小值、求和、统计等)。 (3)进一步学习调试程序的技巧。 二.实验内容和步骤 1.填空题 (1)给定程序成c4-1.c功能是计算1到M之间的奇数之和及偶数之和。 #include #define M 100 int main() { int a,b,i; a=0;b=0; for(i=1;i<=99;i+=2) { a=a+i; b=b+i+1; } printf("sum of evens is %d\n",b); printf("sum of odds is %d\n",a); return 0; } (2)以下给定程序c4-2.c的功能是从键盘输入整数,分别计算所输入正整数的和、负整数的和。当输入0时,结束并输出计算结果。 #include int main() { int x,sum1,sum2; sum1=0;sum2=0; scanf("%d",&x); while(x!=0)

{ if(x>0) sum1+=x; else sum2+=x; scanf("%d",&x); } printf("sum of>0 in %d\n",sum1); printf("sum of<0 is %d\n",sum2); return 0; } (3)给定程序c4-3.c功能是计算正整数num的各位上数字之积。 #include int main() { int num,k; k=1; printf("please enter a number:"); scanf("%d",&num); do { k*=num%10; num=num/10; }while(num!=0); printf("\n%d\n",k); return 0; } 反思与总结:1.evens代表偶数,odds表示奇数;2.(3)中取末尾的方法值 得一看!3.通过这三个例子掌握for,while,do while语句的使用。 2.改错题 (1)以下程序c4-4.c的功能是从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入,请将程序补充完整。 #include int main() { float x,amax,amin; scanf("%f",&x); amax=0;amin=100; for(;x>=0;) { if(x>amax) amax=x; if(x

数字电路对三相异步电动机间隔循环运转控制实验报告

数字电路对三相异步电动机 间隔循环运转控制实验报告(研究性、创新性能力培养实验) 专业: 2010通信技术 班级:(一)班 姓名:高建磊 学号: 201004090104 2012年6月15日

实验名称:数字电路控制电机实验 实验时间: 2010.6.13 实验地点:惟实楼1506 抽签(计数器)数字: 49 一、实验目的: 1.熟悉集成计数器芯片的逻辑功能及各控制端的作用。 2.掌握计数器电路的设计,了解循环控制的原理。 3.掌握利用集成计数器芯片完成三相异步电动机的循环运转控制。 4. 本实验将数字电路与电工学、电机拖动、大规模集成电路的数字系统设计多 门课程结合在一起,具有一定的实用性。对学生有很好的启发性作用。 二、实验设备: 1)74LS90 二——五——十进制异步计数器 2片 2)74LS00 二输入端四个与非门 2片 3)74LS112 TTL双JK 触发器 1片 4)SSR模块三相固态继电器 1个 5)数字电路实验箱 1台 6)三相异步电动机 1台 三、实验原理: (一)部分实验器材介绍: 1、固态继电器(亦称固体继电器),简称SSR。它是用半导体器件代替传统电接 点作为切换装置的具有继电器特性的无触点开关器件,单相SSR为四端有源器 件,其中两个输入控制端,两个输出端,输入输出间为光隔离,输入端加上直流 或脉冲信号到一定电流值后,输出端就能从断态转变成通态。 固态继电器是一种两个接线端为输入端,另两个接线端为输出端的四端器件,中

间采用隔离器件实现输入输出的电隔离。固态继电器按负载电源类型可分为交流型和直流型。按开关型式可分为常开型和常闭型。按隔离型式可分为混合型、变压器隔离型和光电隔离型,以光电隔离型为最多。 固态继电器由三部分组成如图1-1:输入(控制)电路、驱动电路和输出电路 2、JK 触发器是数字电路触发器中的一种电路单元。JK 触发器具有置0、置1、保持和翻转功能,而且能灵活地转换其他类型的触发器,由JK 触发器可以构成D 触发器和T 触发器。 对JK 触发器归纳为以下几点:(1)JK 触发器具有置位、复位、保持(记忆)和计数功能;(2)JK 触发器属于脉冲触发方式,触发翻转只在时钟脉冲的负跳变沿发生;(3)由于接收输入信号的工作在CP 下降沿前完成,在下降沿触发翻转,在下降沿后触发器被封锁,所以不存在一次变化的现象,抗干扰性能好,工作速度快。 74LS112 TTL 芯片 (双 JK 触发器)介绍: 74LS112 为TTL 边沿 JK 触发器,是CP 下降沿触发,异步复位端 RD 、异步置位端 SD 均为低电平有效。主要特点: CP 的上升沿或下降沿触发;抗干扰能力极强,工作速度很高,在触发沿瞬间,按 n n n Q K Q J Q +=+1 的规定更新状态;功能齐全(保持、置 1、置 0、翻转),使用方便。在CP 作用下,J 、K 取值不同时, 具有保持、置0、置1、翻转功能的电路,都叫做JK 型时钟触发器。

循环结构程序设计课后习题及答案

循环结构程序设计习题及答案1、循环语句的三要素分别 是、、。 2、for语句括号内的3个表达式的作用分别 是、、。 3、在2层循环嵌套中,外层循环语句的每个执行周期中,内层循环语句都要完整地,只有当时,才结束整个循环。 4、在循环结构中,break语句的作用是;continue语句的作用是。 5、当循环条件一开始就为假时,对于while语句、do…while语句、for 语句,分别执行循环体次、次、 次。 6、下面程序段的执行次数: int a=0; while(a=0) { printf("good\n"); a--; } 7、下面程序段的执行次数: int a=0; while(a==0)

{ printf("good\n"); a--; } 8、下面程序段的执行次数: int a=1; while(a=1) { printf("good\n"); a++; } 9、下面程序段的执行次数: int a=1; while(a==1) { printf("good\n"); a++; } 10、下列程序段的运行结果是。 for(i=5;i>=0;i--) printf(“%d “,i); 11、下列程序段的运行结果是。 for(n=1;n<20;n=n+3) printf(“%d “,n); 12、下列程序段的运行结果是。

for( ch='a' ;ch<='e' ;ch++) printf(“%d“,ch-97); 13、下列程序段的运行结果是。 for(i=1,j=5 ; i

相关文档
最新文档