安徽理工大学计算机科学技术系内容摘要:
二 .while循环语句执行过程:先计算表达式的值并判断,若表达式为真 (非 0),则执行循环体语句;然后再重复这种先计算后执行的过程,直到某次表达式的值 (等于 0)时结束循环 ,程序控制转向 while语句之后的第一条语句。 Chapter 3 2020年 11月 17日星期二 安徽理工大学计算机软件教研室 42 循环结构中的表达式一般是关系表达式或逻辑表达式,也可是赋值表达式,表达式的作用是确定是继续循环还是结束循环。 在循环体中应该控制循环的条件即表达式的值,使循环进行若干次后表达式的值为 0,从而退出循环;否则将造成“死循环”。 如不修改循环控制条件,也可在循环体中插入“ break”语句,强行退出循环。 如: while (1) { 语句序列。 if (条件表达式 ) break。 语句序列。 } Chapter 3 2020年 11月 17日星期二 安徽理工大学计算机软件教研室 43 如果循环结构中的表达式仅用来表示等于 0或不等于0,则表达式可简化。 如 while(a!=0)可写成 while(a),while(x==0)可写成 while(!x)。 使用 while语句应注意以下几点: ① while语句中的表达式一般是关系表达式或逻辑表达式, 只要表达式值为真 (非零 )即可继续执行循环体。 其特点是先判断崐表达式,后执行语句。 ②循环体如包括有一个以上语句,则必须用 {}括起来,组成复合语句。 如果不加花括号则 while语句的范围只到后面第一个分号处。 ③应注意选择适当的循环条件以避免死循环,即在循环体中应有使循环趋向于结束的语句。 ④允许 while语句的循环体仍是 while语句,从而形成双重循环或多重循环。 Chapter 3 2020年 11月 17日星期二 安徽理工大学计算机软件教研室 44 例:求 sum= 1+ 2+ … + 100 main() { int i,sum=0。 i=1。 while (i=100) { sum=sum+i。 i++。 } printf(%d,sum)。 } 注:循环中,语句的先后位置必须符合逻辑,否则会影响运算结果。 Chapter 3 2020年 11月 17日星期二 安徽理工大学计算机软件教研室 45 for语句 for语句是功能更强、使用更广泛的一种循环语句,不仅能用于循环次数已知的情况,还用于循环次数事先不能确定,只给出结束条件的情况,它完全可以代替while语句。 一 . for语句的一般形式为: for (表达式 1。 表达式 2。 表达式 3) 语句。 其中:表达式 1为循环变量初值;表达式 2为循环执行的条件;表达式 3为循环变量增值。 Chapter 3 2020年 11月 17日星期二 安徽理工大学计算机软件教研室 46 可以理解为: for(循环变量赋初值;循环条件;循环变量增值 ) 语句; 二 .for语句的执行过程: for循环是直到型循环,它的控制流程是:①先计算表达式 1的值;②接着计算表达式 2的值并判断,若表达式 2的值为真 (非 0)则执行循环体,然后执行第③步,若为假 (0)则结束循环,转到第⑤步;③再计算表达式 3的值,至此完成一次循环;④然后转回第②步继续执行;⑤执行 for语句下面的语句。 Chapter 3 2020年 11月 17日星期二 安徽理工大学计算机软件教研室 47 求表达式 1 表达式 2 循环体 求表达式 3 真 假 for语句的下一个语句 for语句的下一个语句 计算表达式 1 表达式 2的值为真 执行循环体 计算表达式 3 Chapter 3 2020年 11月 17日星期二 安徽理工大学计算机软件教研室 48 for循环结构中的表达式一般都包含一个能够控制循环次数的变量 ,称循环控制变量。 for语句中的三个表达式必须用分号隔开,作用分别为:表达式 1用于循环控制变量赋初值 ,通常为赋值语句;表达式 2是循环的控制条件,作用与 while语句中的表达式完全一样;表达式 3是循环控制变量的修改部分 ,通常也是语句,用于表示循环变量的增量或减量,常用自增或自减运算。 for语句中表达式 1和表达式 3一般为简单表达式,也可以是逗号表达式,当用逗号表达式时可一次完成对多个变量赋初值和修改多个变量值的功能。 在逗号表达式内按自左至右顺序求解,整个逗号表达式的值为其中最右边的表达式的值。 Chapter 3 2020年 11月 17日星期二 安徽理工大学计算机软件教研室 49 如: for(i=1。 i=100。 i++,i++)相当于 for(i=1。 i=100。 i=i+2) 表达式 2一般是关系表达式或逻辑表达式 ,但也可以是数值表达式或字符表达式,只要其值非零,就执行循环体。 如: for(i=0。 (c=getchar())!=“\n”。 i+=c)表示表达式 2从终端接收一个字符给 c,然后判断此赋值表达式的值是否不等于换行符,如不等于‘ \n’则执行循环体。 说明: for语句中的三个表达式均允许省略或部分省略,但两个分号不能省略,有以下几种活力表达式的情况: 1. for(。 表达式 2。 表达式 3) 语句。 省略表达式 1,常用于无需给循环变量赋初值的情况,此时应在 for语句前给循环变量赋初值。 Chapter 3 2020年 11月 17日星期二 安徽理工大学计算机软件教研室 50 2. for(表达式 1。 表达式 3) 语句。 省略表达式 2(即表达式 2的值始终为真 ),即不判断循环条件,这种格式将导致无限循环。 3. for(表达式 1。 表达式 2。 ) 语句。 省略表达式 3,这种格式要求在循环体内必须修改循环变量的值,否则将导致死循环。 4. for(。 表达式 2。 ) 语句。 省略表达式 1和表达式 3,此时完全等价于 while语句 ,需要事先赋初值,在循环体内修改循环变量的值,可见for语句比 while语句功能强,除给出循环条件外,还可赋初值,使循环变量自动增值等。 Chapter 3 2020年 11月 17日星期二 安徽理工大学计算机软件教研室 51 5. for(。 ) 语句。 相当于 while(1)语句,将导致无限循环。 for语句也可改写成 while语句,格式如下: 表达式 1。 while (表达式 2) { 语句 1。 … 语句 n。 表达式 3。 } 在实际应用 while还是 for循环,应视情况而定。 如不需赋初值或重赋初值,用 while比较方便;否则用 for较好。 Chapter 3 2020年 11月 17日星期二 安徽理工大学计算机软件教研室 52 注: 1. for循环语句可嵌套,嵌套层数不同的版本不同。 的操作也都作为表达式 1和表达式 3出现,使程序短小简洁,但可读性降低。 即表达式 1和表达式 3可以是设置循环变量初值的赋值表达式,也可以是与循环变量无关的其它表达式。 如: for (sum=0。 i=100。 i++) sum=sum+i。 Chapter 3 2020年 11月 17日星期二 安徽理工大学计算机软件教研室 53 例 1:在国际象棋第一格放一粒麦子,第二格放二粒,第三放四粒,一直放到 64格,求需要多少体积麦子,设1m3约有 108粒。 include void main() {float s=0,n=1,i。 for(i=2。 i=64。 i++) {n=n*2。 s=s+n。 } couts /()。 } Chapter 3 2020年 11月 17日星期二 安徽理工大学计算机软件教研室 54 dowhile语句 一 . dowhile循环语句的一般形式为: do 或: do 语句 { while (表达式 )。 语句 1。 语句 2。 … 语句 n。 } while (表达式 )。 其中语句 1… 语句 n是循环体,表达式是循环条件。 用大括号括起来的语句序列是循环体,它是一个复合语句,也可是单个语句,但即使循环体是单个语句,大括号不能省略,以避免与循环体为空的 while语句混淆。 Chapter 3 2020年 11月 17日星期二 安徽理工大学计算机软件教研室 55 二 .dowhile循环语句的执行过程:先执行循环体语句一次,再差别表达式的值,若为真 (非零 )则继续执行循环体,否则终止循环。 是用来实现“直到型”循环结构。 判断表达式 循环体 满足 不满足 Chapter 3 2020年 11月 17日星期二 安徽理工大学计算机软件教研室 56 dowhile语句中表达式的作用与 while语句表达式完全一样,是用于控制循环的。 dowhile与 while不同之处: dowhile是先执行后判断,因此循环体至少执行一次;而 while语句是先判断后执行,所以循环体有可能一次也不执行 (当第一次判断表达式的值就为零时 )。 注:当 while后面的表达式第一次为“真”时,则while与 dowhile循环得到的结果相同,否则结果不相同(指二者具有相同的循环体的情况 )。 Chapter 3 2020年 11月 17日星期二 安徽理工大学计算机软件教研室 57 例:求 Fibonacci数列: 1,1,2,3,5,8,…… 的前 40个数, 即: F1= 1 (n= 1) F2= 1 (n= 2) Fn=Fn1+Fn2 (n≥3) 算法见下图 Chapter 3 2020年 11月 17日星期二 安徽理工大学计算机软件教研室 58 程序如下: include void main() {long f1=1,f2=1,f3,i。 coutf1\tf2\n。 for(i=3。 i=30。 i++) {f3=f1+f2。 coutf3\t。 f1=f2。 f2=f3。 if(i%2==0) cout\n。 } } Chapter 3 2020年 11月 17日星期二 安徽理工大学计算机软件教研室 59 例:女儿今年 12岁,父亲比她大 20岁,计算几年后父亲比她年龄大一位,那时他们年龄各为多少。 include void main() {int i=12,j=32,k=0。 do {i=i+1。 j=j+1。 k=k+1。 }while(2*ij)。 coutyear=k,f=j,d=iendl。 } Chapter 3 2020年 11月 17日星期二 安徽理工大学计算机软件教研室 60 【 例 】 用上述三种循环语句求 while语句 : 1001nsn n = 1。 s = 0。 while (n=100) { s=s+n。 n=n+1。 } n = 1。 s = 0。 do {s = s+n。 n = n+1。 } while(n=100)。 dowhile语句 : for (n = 1,s = 0。 n=100。 n++) s=s+n。 for语句 : Chapter 3 2020年 11月 17日星期二 安徽理工大学计算机软件教研室 61 【 例 】 求下列级数的前 m项和 ,要求其误差小于。 分析 : 级数的通项为 xm/m!, 第 i项 ti与第 i。安徽理工大学计算机科学技术系
相关推荐
招工难、用工荒早已不在新鲜,传统养殖设施下的家禽企业从业者有老龄化趋势,想招到愿意从事这一行业的年轻人越来越难,最直接有效的措施之一是提高薪酬与福利待遇。 (3)设施设备投入增加 现在新建禽舍一般采用轻钢或砖混结构,彩钢泡沫夹心等保温隔热材料作为屋顶,三层或四层阶梯式笼养,风机湿帘控温通风,配套自动喂料机、自动光照控制、自动饮水、自动刮粪等系统,资金投入加大。 (4)环保成本上升
• 【 参考答案 】 ① 同意第一种说法。 诗中提到 “ 心犹壮 ”“ 病欲苏 ”“ 存老马 ”等 , 从中可以诗人不怕病 , 不服老 , 希望为国效力。 ② 同意第二种说法。 诗中写到 “ 思归客 ”“ 腐儒 ”“ 片云 ”“ 孤月 ”“ 落日 ” 等 , 特别是结尾两句:难道我这腐儒 , 连一匹老马都不如了吗。 表达了诗人医生漂泊的沧桑之感和报国无门的怨愤之情。 过香积寺 王维 不知香积寺
成及作用 • • ( 1)国家垄断资本主义:是国家政权与私人垄断资本相结合而形成的一种垄断资本主义,其实质是垄断资本利用国家政权的力量,以维护其垄断统治并保证获得稳定的高额垄断利润。 • ( 2)国家垄断资本主义形成的原因: • ( 3)国家垄断资本主义的四种主要形式: • ( 4)国家垄断资本主义的积极作用及历史局限性: • (二)垄断资本在世界范围的扩展 • : • ( 1)借贷资本输出 •
Authority的缩写。 它为电子商务环境中各个实体颁发数字证书,以证明各实体身份的真实性,并负责在交易中检验和管理证书;它是电子商务和网上银行交易的权威性、可信赖性及公正性的第三方机构。 CA证书的安装及使用 驱动程序安装(两个以上 CA证书,驱动程序安装一次的便可) CA介质棒即插即拔的使用方法 证书管理器中可以查看证书有效期、 进行CA密码的修改 整个报税过程中
,青春 做伴好还乡 阳光灿烂 美好的春 天 即从 巴峡 穿 巫峡 ,便下 襄阳 向 洛阳 巴峡是长江上的一段山峡,在四川省境内。 巫峡是长江三峡之一,在重庆市。 襄阳在河北,洛阳在河南四个地名间漫长的距离瞬间即至 ,瞬间即过 ,表达了诗人迫不及待 ,归心似箭的心境 剑外忽然间传扬着收复蓟北的消息, 刚刚听到这个喜讯,泪水就洒满了衣裳。 再看看老伴和孩子,哪里还有一丝的忧愁。 胡乱地卷起诗书