上机实训八 循环结构答案
第6章循环结构程序设计习题及答案
第6章循环结构程序设计6-1.比较while语句、do–while语句和for语句的异同。
答:(1)while语句、do-while语句用于条件循环,for语句用于计数循环。
(2)while语句、for语句是先判断循环条件,后执行循环体,如果循环条件一开始就不成立,则循环体一次也不被执行;而do-while语句是是先执行循环体,后判断循环条件,所以循环体至少被执行一次。
(3)知道循环的次数可选用for语句实现循环,不知道循环的次数可选用while语句或do-while语句实现循环.(4)一般而言,三种循环语句可等价实现.6-2 仔细阅读下面的程序,指出程序的运行结果.#include<stdio.h>void main(){ int i;for(i=0;++i;i<5){ if(i==3){printf("%d\n",++i);break;}printf("%d\n",++i);}}答:24思考:语句“for(“i=0;++i;i<5”)在编译时为何会给出语法警告错误?当将其改为“for(i=0;i<5;++i)”时,运行结果又将如何?6-3 仔细阅读下面的语的程序,指出程序的运行结果。
#include"stdio.h"void main(){ int i, a=0;for(i=1;i<=5;i++){do{i++;a++;} while(i<3);}i++;printf("a=%d,i=%d",a,i);}答:a=3,i=7思考:在for循环中嵌套着do-while循环,那么do-while循环中对i的修改会对for循环产生影响吗?6-4编写程序,用1000个单词”computer”填充屏幕,每行60个 .解:#include<stdio.h>void main(){ int i;for(i=1;i<=1000;i++){ printf("computer.");if(i%60==0)printf("\n");}}思考:在for循环中,”if(i%60==0)printf(“\n”);”语句的作用是什么?没有此语句将会是什么状况?6-5输入一行字符(以$结束),统计其中的数字字符、空格字符出现的次数。
循环结构例题解析
开始 s=0 n=1 s= s + n
For循环 For n=1 to 99 step 2 S=s+n Next n
n=n+2 否 n<=99 是
输出s 结束
直到型循环 N=1 Do S=s+n N=n+2 Loop while n<=99
back
例题解析:
1、变量设置及初始值
变量名称 Max: max=0 d: s: s=0 c: c=0
循环结构
——例题解析
【例1】
设计一个算法,计算一批数据的算术平均值。 这批数据由使用者从键盘输入,可不必预先 指定数据的个数,并约定:输入0时表示本 次计算所需全部数据已输入完毕(即所有有 效数据,其值均不为0,这是为了对问题的 叙述方便起见而作的假定,实际上完全不必 如此限制).
例题解析:
1、变量设置及初始值
变量名称 d: sum: Sum=0 c: c=0
作用 用来存储用户从键盘输入的数据, 或表示输入结束的数学记号0。 累加器,用来计算有效数据和。 计数器,用来统计已经输入的有效 数据的个数。
循环条件的设定
约定当用户输入的数据为0时表示输入结束
y
d=0?
n
有效数据
输入结束,计算算 术平均值。
循环体
作用 用来记录最高分 用来存储用户输入的学生成绩 累加器,用来求学生的总成绩 计数器,用来统计学生的总人数
循环条件的设定
设定当用户输入的成绩为0时表示输入结 束(假定班级中没有成绩为0分的)
d=0?
n y
有效成绩
输入结束,输出最 高分,计算平均分
循环体
(1) (2)
y
s=s + d
循环结构习题有答案
第6章循环结构程序设计1.以下叙述正确的是()A、do-while语句构成的循环不能用其它语句构成的循环代替。
B、d o-while语句构成的循环只能用break语句退出。
C、用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D、用do-while语句构成的循环,在while后的表达式为零时结束循环。
答案:D2.以下程序的输出结果是( )A、10,1 9,2B、9,8 7,6C、10,9 9,0D、10,10 9,1main( ){int x=10,y=10,i;for(i=0;x>8;y=++i)printf("%d,%d",x--,y);}答案:D注解:循环执行2次,由x控制循环的执行次数;输出值为两次循环过程中x每次的自减值和y在for语句的第三个表达式中得到的i自增变化后的值。
3.以下程序的输出结果是( )A、2 0B、3 1C、3 2 1D、2 1 0main( ){ int n=4;while(n--) printf("%d ",--n);}答案:A4.以下程序的输出结果是( )A、#*#*#B、#####C、*****D、*#*#*main( ){ int i;for(i=1;i<6;i++){ if(i%2) {printf("#");continue;}printf("*");}printf("\n");}答案:A注解:循环控制变量i的值从1变化到5,i为1、3、5时,i%2为1,if语句的条件为真,则执行if后的子句,输出#,然后执行continue语句,终止本次循环的执行,进入下一轮循环,i为2、4时,i%2为0,if语句的条件为假,则if后的子句并不执行,直接输出*,所以最后的输出为#*#*#。
5.以下程序的输出结果是( )A、编译不通过,无输出B、acegC、acegiD、abcdefghimain( ){ int i;for(i='A';i<'I';i++,i++) printf("%c",i+32);printf(" \n");}答案:B注解:循环控制变量i的取值为A、C、E、G,将它们转化为小写字母的格式输出。
上机题参考答案
上机题参考答案C语言实验参考答案实验一5、输入并运行自已编写的程序(教材第一章P14 三编程题)。
实验二1、编写一个程序,从键盘接收3个实数(分别为10.0、20.0、5.0),输出这3个数的和s、乘积t和平均值a。
#includemain(){float x,y,z,s,t,a;printf(“x,y,z=”);scanf(“%f,%f,%f”,&x,&y,&z);s=x+y+z;t=x*y*z;a=s/3;printf(“s=%f,t=%f,a=%f\n”,s,t,a);}2、编程。
要求用户输入两个整数a、b(分别为20、10),读取用户从键盘输入的值,然后:1)用整数输出这两个数的和、差;2)用长整型输出这两个数的积,用float输出商;3)用整数输出这两个数的余数,用float输出平均值。
#includemain(){int a,b,he,cha,yu;long ji;float shang,aver;printf(“a,b=”);scanf(“%d,%d”,&a,&b);cha=a-b;ji=(long)a*b;shang=1.0*a/b;yu=a%b;aver=(a+b)/2.0;printf(“a+b=%d,a-b=%d,a*b=%ld\n”,he,cha,ji);printf(“a/b=%f,a%%b=%d,aver=%f\n”,shang,yu,aver);}3. 再次运行程序第2题中的程序,使整数a 、b 的值分别为10、20,分析程序运行结果,并给出说明。
程序同上。
实验三1、编写一个程序,从键盘接收一个一位的整型数,经转换,用字符函数putchar 输出。
例如,输入整数5,程序运行后输出字符5。
#includemain(){int a;char c;printf(“a=”);scanf(“%d ”,&a);c=a+48;putchar(c);}2、编程。
C语言-实验三、循环结构程序设计解答
实验三循环结构程序设计一、实验目的1.熟练掌握三种循环语句的应用。
2. 熟练掌握循环结构的嵌套。
3. 掌握break和continue语句的使用。
4. 练习调试与修改程序。
5. 掌握一组数据求和、求平均值、求最大值最小值的计算方法。
6.掌握循环次数已知、未知的处理方法(精度的控制、结束标志的使用等)7.掌握简单图形的打印输出处理。
二、实验内容1.[目的]掌握循环次数已知的循环控制处理方法。
[题目内容]编写一个程序,其功能为:计算并输出1~10的平方值。
[输入]无[输出]如下形式1 squared is 12 squared is 43 squared is 94 squared is 165 squared is 256 squared is 367 squared is 498 squared is 649 squared is 8110 squared is 100[提示]使用三种循环语句均可。
#include "stdio.h"void main( ){int i;for(i=1;i<=10;i++)printf("\n %d squared is %d\n",i,i*i);printf("\n");}2.[目的]掌握循环次数已知的循环控制处理方法。
[题目内容]编写一个程序,其功能为:计算并输出∑==10012n n x 。
[输入]键盘输入x 值[输出]计算结果[提示]使用三种循环语句均可。
#include "stdio.h"void main(){int n,x,sum=0;printf("请输入x :");scanf("%d",&x);for(n=1;n<=100;n++)sum=sum+x*x;printf("sum=%d\n",sum);}如果程序功能为:计算并输出∑n x12,要求从键盘输入n 、x 值,程序应如何修改?3.[目的]掌握循环次数已知的循环控制处理方法。
程序设计上机实验课后答案
第3章程序控制结构1.1 选择结构部分一、选择题二、填空题1.OK!NO!ERROR!2.x=1 y=0x=23.ch>=’A’&& c<=’Z’ ch=ch-324.-15.x=66.(1)2(2)3CCa=2,b=2,c=4 7.(1)a<b||a<c(2)a>c&&b>c(3)a<c||b<c(4)a%28.32339.0 1三、程序设计题1.#include <stdio.h>#define pi 3.14159main( ){int k;float r,c,a;printf(“input r,k\n”);scanf(“%f%d”,&r,&k);switch(k){case 1: a=pi*r*r; printf(“area=%f\n”,a);break;case 2: c=2*pi*r;printf(“circle=%f\n”,c);break;cese 3: a=pi*r*r;c=2*pi*r;printf(“area=%f circle=%f\n”,a,c);break;}}2.main( ){int year,leap;scanf(“%d”,&year);if(year%4==0){if(year%100==0){if(year%400==0)leap=1;else leap=0;}else leap=1;}else leap=0;if(leap)printf(“%d is ”,year);else printf(“%d is not ”,year);printf(“ a leap year\n”);}3.#include <math.h>main(){float x,y;scanf(“%f”,&x);if(x<0) y=x*x;else if(x>=0&&x<10) y=-0.5*x+10;else y=x-sqrt(x);printf(“y=%f”,y);}1.2 循环结构部分二、填空题1.(1)先判断条件是否成立(为真),若成立(为真)再执行循环语句(2)先执行循环语句,再判断条件是否成立(为真),若成立则继续执行循环,若不成立,则结束循环。
上机实训(实训四 循环结构程序设计)
实训四 循环结构程序设计一、实训目的1、理解C 语言循环结构。
2、熟练掌握while 、do …while 和for 的使用方法。
二、实训内容1、累加、累积题 ● 程序结果题(1)求出1-100之间的和,新建一个文件,输入以下程序代码,运行程序,查询运行结果。
如果将循环判断条件改为<100,再运行程序,看看程序的运行结果,分析以下原因。
(程序运行结果为4950,因为当i 为100时不符合循环条件,退出循环,因此最后只实现了1~99的累加)思考:怎么将这个程序转换为都do …while 和 for 形式。
● 程序编写题编程:参考上述程序,实现从键盘输入一个整数,实现1~n 之间数的累积。
即1*2*3*….n● 程序填空题2、请补充以下程序,该程序实现的功能是求1+2!+3!+…+N!的和,例如1+2!+3!+…+5!的和为153.2、整除、取余题型 ● 程序修改题修改以下程序,实现功能:输出1~100之间所有能被7整除的数。
#include "stdio.h"main(){int num;for(num=1,num<=100,num++); {if(num%7==0)continue;printf("%d ",num);}}思考:如果把continue 改为break ,结果又什么区别,你能说明continue 与break 之间的区别吗?参考分析:用continue 的结果为:7 14 21 28 35 42 49 56 63 70 77 82 91 98,用break 的结果为空。
可见,continue 语句只能用在循环结构当中,其作用时结束本次循环,而不是终止整个循环,而break 语句则是结束整个循环过程,不再判断循环条件是否成立。
● 程序编写题参考上述程序,实现从键盘输入一个整数,实现输出1~n 之间能被7整数,但不能被3整数的数。
3、求特殊数题型(以素数为例)解题思路:判断一个整数t是否为素数,通过for循环语句,比较2至t-1中数,结合if语句,如果能被其中的数整除,说明不是素数,用break语句,跳出循环。
实验(5)-循环结构-参考答案
C语言程序设计实验教学(5)【实验目的】通过程序设计实现,掌握while结构、do-while结构和for结构各种类型的循环结构,完成各种循环程序的设计和实现。
【实验要求】同一个题目尝试使用多种循环控制结构来实现,并分析其设计和实现的差别和难易程度。
【实验课时】6.0【实验内容】一、以下程序使用while结构实现。
1、完成课堂实例的实现。
计算s=1+2+…+100。
(累加型)main(){int i=1,sum=0;while(i<=100){sum+=i; i++;}printf("1+2+3+...+100=%d\n",sum);}main(){int i,sum=0;for(i=1;i<=100;i++)sum+=i;printf("1+2+3+...+100=%d\n",sum);}请输入数n,计算n!。
(连乘型)main(){int i=1,n; long fac=1;scanf("%d",&n);while(i<=n){fac*=i; i++;}printf("%d!=%ld\n",n,fac);}main(){int i,n; long fac=1;scanf("%d",&n);for(i=1;i<=n;i++)fac*=i;printf("%d!=%ld\n",n,fac);}输出所有的水仙花数。
(范围型)main(){int n=100,a,b,c;while(n<=999){a=n/100;b=n/10%10;c=n%10;if(a*a*a+b*b*b+c*c*c==n)printf("%6d",n);n++;}printf("\n");}main(){int n,a,b,c;for(n=100;n<=999;n++){a=n/100;b=n/10%10;c=n%10;if(a*a*a+b*b*b+c*c*c==n)printf("%6d",n);}printf("\n");}判断n是否为素数。
(完整word版)OFFICE2010综合上机(实训)操作题
一、WORD2010编辑打开“素材文档。
docx”,完成下列操作后以“结果文档.docx”保存到指定的考试文件夹下;完成后的效果如样图所示。
(1)将文章标题“美国正要加入反微软阵营”设置成隶书三号,居中对齐,字符间加宽1.6磅,设置段后间距0.5行。
(8分)(2)将文章正文中所有中文字符设置成楷体四号,西方字符设置成T ahoma四号。
(6分)(3)将正文设置成左对齐,悬挂缩进2字符,行间间距固定为24磅。
(10分)(4)将文章的最后三行加上红色的“点-点—短线下划线".(6分)(5)为文章标题设置“全映像,4pt偏移量”,使用“新闻纸”纹理页面背景。
(10分)(6)插入“新闻纸”页脚,作者处输入文字“时事文摘”,设置成隶书四号。
(10分)(7)在文章中相应位置处插入剪贴画“计算机"中相应的一张图片,设置成高4厘米宽4厘米,四周型文本环绕。
(10分)素材:美国政要加入反微软阵营前美国参议院多数党领袖、1996年共和党提名总统候选人bob dole与美国上诉法院前法官robert bork,4月20日宣布加入一个旨在针对微软公司反托拉斯法行为的组织,使得微软案进一步升温。
这个名为”数字化时代推进竞争和创新计划”(procomp)的组织包括了来自netscape、sun、oracle、corel以及软件出版商协会、计算机和通信业联合会等机构的代表,其他非技术行业的代表还包括美国航空公司、美国旅游机构联合会、knigh t ridder新媒体以及航空运输协会等.dole指出,internet在现今的经济生活中已经成为最新的市场,其控制权不能被任何一家公司独占。
微软公司目前控制了90%以上的桌面计算机,并正从中得到垄断的好处.bork补充说,微软公司的这种做法违反了传统的竞争规则.procomp发起这项活动是在微软公司和司法部摆好架势对薄公堂的前一天。
dole和bork参与此案意义重大,因为这二位都是知名的政要,享有反对政府介入干预市场的很高声誉.二、EXCEL 2010电子表格操作打开“素材文档。
c程序设计实验参考答案
c程序设计实验参考答案《C程序设计上机指导》答案实验一参考答案四.1、Hello, world !Welcome to the C language world! Everyone has been waiting for.2、a+b=579 579五.1、b=2;2、int a;3、area六.x=5,y=8, 改为x=5,y=8;七.写程序1、编写程序输出用6颗星构成的等边三角形。
main(){printf(" * \n");printf(" * * \n");printf("* * *\n");}2、编写程序求25和5两个整数的和与差。
main(){int a,b,c,d;a=10;b=20;c=35;d=(a+b+c)/3;printf("%d\n",d);}实验二参考答案:一.1、A , 65B, 662、x=1,y=1,z=53、a=%d,b=%d二.1、char a;int b;2、a,a,a3、a=865a,h,m4、u=2*sqrt(a)+b-10;“%f\n”三.1、第1行ch1=’a’; 改为char ch1=’a’;第2行ch2=98; 改为char ch2=98;2、第7行w=x%y; 改为w=x/y;3、int u=v=89; 改为int u,v; u=v=89;4、第3行改为scanf(“%d,%d”,&x,&y); //格式字符串有错。
第5行改为printf("The average is %d:"a); //格式字符串有错。
四.写程序1、编程求111234++的和(精确到小数点后两位)。
main( ){ float i;i=1.0/2+1.0/3+1.0/4;printf("%7.2f",i);}2、鸡兔同笼。
总头数head=60,总脚数feet=160。
循环结构实验参考答案
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
{ n=a*100+b*10+c;
if(n==a*a*a+b*b*b+c*c*c)
printf("%d\t",n);
}
(2)对于100-999间的每一个数,使用适当的表达式求出其百位、十位、个位并进行判断。
int a,bΒιβλιοθήκη c,n; printf("Narcissistic Numbers:\n");
[略]
6.求水仙花数。水仙花数是指满足下列条件的三位整数:各位数字的立方和正好等于这个数本身。
提示:此题可以思考两种思路:
(1)列出百位、十位、个位的各种取值,形成一个三重循环,再由三个数字组合成一个三位数并进行判断;
int a,b,c,n;
printf("Armstrong Numbers:\n");
printf("Min=%d\n",min);
4.上机输入、运行、调试例5.9的程序,字符串“加密”。并回答问题。
回答问题:while ((c=getchar( ))!=\n) 这个语句中的条件表示什么含义?
[略,理论课已做解释]
5.输入一行字符,分别统计出其中大写字母、小写字母、空格、数字和其它字符的个数。
2.上机调试例5.4的程序,掌握while语句的使用及累加算法。
请为程序中while至pi=pi*4的算法段落每一行写上注释。
#include <stdio.h>
《第8课 循环结构——for循环》作业设计方案-初中信息技术浙教版20八年级上册自编模拟
《循环结构——for循环》作业设计方案(第一课时)一、作业目标本次作业旨在帮助学生理解和掌握for循环结构,通过实际操作掌握for循环的基本语法和用法,提高编程能力。
二、作业内容1. 编写一个for循环程序,要求输入三个数字,并输出这三个数字的和。
2. 编写一个for循环程序,要求从1到100的范围内求和,并输出结果。
3. 编写一个for循环程序,要求统计一组数字中奇数的个数,并输出结果。
三、作业要求1. 独立完成作业,不得抄袭。
2. 程序代码要规范、简洁,注释清晰。
3. 提交作业时,请将程序代码和对应的问题写在同一个文件中,文件名以自己的名字命名。
4. 作业文件大小不超过2MB。
四、作业评价1. 评价标准:程序正确性、规范性、创新性。
2. 评价方式:教师评分。
3. 提交方式:学生将作业文件上传至指定的网络学习平台。
五、作业反馈在完成作业后,学生可以将遇到的问题和困惑反馈给教师。
教师将会对问题进行整理和分析,并在下次课堂上进行解答和指导。
同时,教师也会对优秀的作业进行展示和表扬,鼓励其他学生向优秀同学学习。
针对本次作业的反馈,学生需要重点关注以下几个方面:1. 作业完成情况:是否按照要求独立完成作业,是否存在抄袭现象。
2. 程序实现:程序代码是否规范、简洁,注释是否清晰。
3. 作业质量:提交的作业文件是否符合要求,程序是否正确。
对于在作业中表现优秀的学生,教师将会给予一定的奖励和表扬,以此鼓励他们继续保持优秀的表现。
同时,教师也会针对学生在作业中存在的问题和困难,提供指导和帮助,帮助他们更好地掌握for循环结构,提高编程能力。
最后,希望同学们认真对待本次作业,积极参与反馈,努力提高自己的编程水平。
在下次课堂上,期待看到大家的优秀作品和精彩表现!作业设计方案(第二课时)一、作业目标通过本次作业,学生应能够:1. 熟练掌握for循环的基本语法和用法;2. 能够根据实际问题,编写符合要求的for循环程序;3. 理解循环结构在编程中的重要性和应用。
《第8课循环结构——for循环》作业设计方案-初中信息技术浙教版20八年级上册自编模拟
《循环结构——for循环》作业设计方案(第一课时)一、作业目标本作业设计旨在通过实践操作,使学生能够理解并掌握for 循环的基本概念和用法,能够运用for循环解决简单的编程问题,提高学生的逻辑思维能力和编程实践能力。
二、作业内容1. 理论学习:学生需认真阅读教材中关于for循环的章节,理解for循环的基本语法和用法,掌握其执行流程和特点。
2. 编程实践:学生需完成以下编程任务:(1)编写一个for循环,输出1到10的整数;(2)利用for循环实现求1到100的整数和的功能,并输出结果;(3)设计一个程序,模拟计算火车票预定系统,当输入乘客人数后,通过for循环依次为乘客分配座位号并输出。
3. 代码分析:学生需分析三个示例程序的代码,理解for循环在程序中的作用和位置,分析其逻辑关系和执行流程。
4. 自主探索:学生可自行设计一个与for循环相关的程序,解决一个实际问题,如计算班级学生的平均分等。
三、作业要求1. 理论学习部分要求学生在教材上做好笔记,标记重点和难点;2. 编程实践部分要求学生独立完成,并确保代码的正确性和可读性;3. 代码分析部分要求学生结合理论学习和实践操作,深入理解for循环的用法和特点;4. 自主探索部分要求学生发挥想象力,设计出有创新性的程序;5. 所有作业需按时提交,且不得抄袭他人代码。
四、作业评价教师将对以下方面进行评价:1. 理论学习部分的笔记质量和理解程度;2. 编程实践部分的代码正确性和可读性;3. 代码分析部分的深度和准确性;4. 自主探索部分的创新性和实用性。
五、作业反馈教师将对每位学生的作业进行批改,并给出详细的反馈意见。
对于优秀的学生给予表扬和鼓励,对于存在问题的学生给予指导和帮助。
同时,教师将收集学生的共性问题,在课堂上进行讲解和答疑。
通过作业反馈,帮助学生更好地掌握for循环的相关知识和技能。
六、附加建议建议学生在完成作业过程中,多思考、多实践,注重理解而非死记硬背。
上机实验五- 循环结构程序设计 - 答案
上机实验五循环结构程序设计姓名:学号: 姓名:本次实验一共5个题目,4个必做,一个选做我建的浙师大c程序设计群,群号为:185106065,大家加入下,验证信息请写为班级+姓名。
我打算以后把每次实验的答案(我写的代码)都放到群共享里面,大家可以在群里讨论下不会的地方或者不同的实现方法。
!!!!!重要提醒:邮件主题和本word文件名统一用班级+学号+姓名+实验几命名(学号和姓名记得不能少),不然我在检查作业提交情况时可能会漏掉!!!!!一.目的要求1.掌握用for、while、do-while语句实现循环的基本技巧;2.掌握循环次数不确定的解题技巧;3.掌握break语句、continue语句在循环语句中的作用以及不同之处;4.掌握多重循环的编程技巧。
二.实验内容【实验题1】. 程序填空:分别用for、while、do-while语句编程,输出菲波那契数列的前20项,要求每行输出10项。
思考:line 5和line 8行中printf()函数的格式控制符均为”%6d”, 假如均改为”%d”, 输出结果有何不同?源程序2:用while语句实现#include <stdio.h>void main(){ int i,x1,x2,x;x1=x2=1;printf("%6d%6d",x1,x2); /*输出前2项*/i= 3 ;while(i <= 20 ){x=x1+x2;printf("%6d",x);if(i%10 == 0 ) printf("\n"); /*每行输出10项*/x1= x2 ; x2=x ;i++ ;}}【实验题2】(课本p141第10题)有一个分数序列2/1,3/2,5/3,8/5,13/8,21/13,…求出这个分数序列的前20项之和。
源代码粘贴处#include <stdio.h>void main(){int i;double x1,x2,x,sum = 0;x1=x2=1.0;//直接在上一题的程序上做简单修改for(i=1 ; i<=20; i++){x=x1+x2;sum = sum +x/x2;x1= x2 ; x2= x ;}printf("%f", sum);}【实验题3】(课本p141第11题)一个球从100米高度自由落下,每次落地后反跳回原来高度的一般,再落下,再反弹。
第四章循环结构习题及课后题答案
习题答案及教程答案习题答案第四章循环结构选择题:1.答案:B①N的值为10,n>7为真,执行循环体,n的值减1后为9,输出n的值9②N的值为9,n>7为真,执行循环体,n的值减1后为8,输出n的值8③N的值为8,n>7为真,执行循环体,n的值减1后为7,输出n的值7④N的值为7,n>7为假,结束循环。
2.答案:Ak的值为5,进入循环,(--k)表达式的值为4(真),同时k的值改变为4,输出表达式k-=3的值1,同时k的值为1。
k为1,表达式(—k)的值为0, 结束循环。
3.答案:A1.X=0,y=5,z=3,(z>0&&x<4)值为真,进入循环体,y值为4,z值为2, x值为12.(z>0&&x<4)值为真,进入循环体, y值为3,z值为1, x值为23.(z>0&&x<4)值为真,进入循环体, y值为2,z值为0, x值为34.(z>0&&x<4)值为假,结束循环。
5.输出x,y,z的值3,2,04.答案:D分析:当K的值为3时,只执行case 3后面的语句n+=k,n的值为3;当k的值为2时,先执行case 2后面的语句,但没有break,所以不会退出,继续执行case 3后面的语句n+=k,n的值为5;当k的值为1时,先执行case 1后面的语句n+=k,n的值为6,先执行case 2后面的语句(没有),继续执行case 3后面的语句n+=k,n的值为7。
输出n的值7。
5.答案:B在循环体中有“s+=1;”s的初始值为0,要让s的值等于2必须是循环体执行两遍。
当循环提执行两遍后a的值等于-3,所以在n=-3的时候循环体执行两遍后条件表达试(a!=0)为假,会退出循环。
6.答案:A分析:t值为1,s的值为0。
从键盘中输入-3后,n的值为-3.先执行循环体。
执行s=s+t;s的值为1,执行t=t-2;t的值为-1.再判断表达式的值t!=n为真,再次执行循环体。
循环结构程序设计练习题 内含答案
第三单元循环结构练习题选择题:1、有以下程序执行后的输出结果是( D )。
main( ){ int i,s=0;for(i=1;i<10;i+=2) s+=i+1;printf("%d\n",s);}A.自然数1~9的累加和 B.自然数1~10的累加和C.自然数1~9中的奇数之和 D.自然数1~10中的偶数之和2、以下关于for语句的说法不正确的是( A )。
A. for循环只能用于循环次数已经确定的情况B. for循环是先判断表达式,后执行循环体语句C. for循环中,可以用break跳出循环体D. for循环体语句中,可以保含多条语句,但要用花括号括起来3、若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++) printf("*****\n");下面关于语句执行情况的叙述中正确的是( d )。
A.循环体执行两次B.循环体执行一次C.循环体一次也不执行D.构成无限循环4、以下程序程序的执行后的输出结果是( c )。
main(){int i,t[][3]={9,8,7,6,5,4,3,2,1};for(i=0;i<3;i++) printf(“%d”,t[2-i][i]);}A.7 5 3B. 3 5 7C.3 6 9D.7 5 15、以下程序运行后的输出结果是( A )。
void fun(char*s){ while(*s){ if(*s%2==0) printf(“%c”,*s); s++;}}main(){ char a[]={“good”};fun(a);printf(“\n”);}注意:字母a的ASCⅡ码值为97A.dB.goC.godD.good6、已知 int t=0; while(t=1){...} 则以下叙述正确的是( B )。
A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对7、设有以下程序段 Bint x=0,s=0;while(!x!=0)s+=++x;printf("%d",s); 则A)运行程序段后输出0B)运行程序段后输出1C)程序段中的控制表达式是非法的D)程序段执行无限次8、设i,j,k均为int型变量,则执行完下面的for语句后,k的值为( C )。