C语言while、do-while、for循环课程5
课程3中,提到C语言基本语句分为:数据定义语句,数据处理语句
数据处理语句又可分为:表达式语句,函数调用语句,空语句(;,复合语句,流程控制语句。
流程控制:指程序代码执行的顺序。流程的分类:顺序、选择、循环。
C语言的循环结构通过三种语句来实现,即while、do-while、forWhile语句的一般形式while(循环条件表达式循环体语句;
功能:当循环条件表达式为真,执行循环体语句,执行完了,再判断条件表达式是否为真,为真,则再执行,直到条件表达式为假时,退出while循环。
实例1:用while语句求1~100的累加和。
#include//C语言编译预处理命令,文件包含为stdio.h
voidmain(//至少有一个用main(命名的主函数,返回值为void无值类型{
inti=1,sum=0;/*初始化循环,定义变量i和累加器sum,定义和之前,累加器清零*/
while(i<=100
{
sum+=i;//sum+=i是一个复合赋值运算符,等价于sun=sun+i;i++;
}
printf("1+2+3+...+100=%d ",sum;//输出十进制数,1加到100累加器的和}
MicrosoftVisualC++6.0运行结果
使用while循环时,一定要对循环条件表达式中出现的变量提前赋值,并在循环体内修改有关变量的值,以使循环能趋于终止。
While循环为当型循环,do-while循环也叫直到型循环。
do-while语句的一般形式为:
do
{
循环体语句}while(
循环条件表达式
实例2:用do-while编制一个求n!的程序,n的值由键盘输入。
#include
voidmain(
{inti=1,n,p=1;
printf("请从键盘输入一个数,进行连乘积: ";
scanf("%d",&n;
do
{p=p*i;
i++;
}while(i<=n;
printf("连乘积的结果为p=n!:%d ",p;
}
分析:此程序,先定义三个变量i、n、p,p从p乘1开始执行,再i进行自增1,循环体中的语句执行完毕后,判断while的循环条件表达式,当i自增1为2时,看2是否<=输入的n值,若为真,则继续返回do循环,直到i自增的值比n大,则退出循环。
do-while主要用于人机交互,do-while循环是先执行后判断,do里面的循环体至少被执行一次。区别于while是先判断循环条件表达式,后执行。
for循环也叫步长型循环
一般格式:for(表达式1;表达式2;表达式3循环体语句;
功能:先执行表达式1,再执行表达式2,如果表达式2的值为真,就执行循环体语句,最后执行表达式3.完成一次循环后,从表达式2执行,直到表达式2为假,退出循环。
实例3:参考实例1,用while求1~100的累加和,现在用for语句求1~100的累
加和。
#include
intmain(void
{
inti;intsum=0;
/*初始化循环,定义变量i
和累加器sum,定义和之前,累加器清零*/
for(i=1;i<=100;i++
{
sum=sum+i;
}
printf("sum=%d ",sum;
return0;
}
实例4:爱因斯坦的`阶梯问题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。请问该阶梯至少有多少阶。编写一个C程序解决该问题。
#include
main(
{intx;
for(x=7;;x+=7
if(x%3==2&&x%5==4&&x%6==5
break;
printf("Thenumberoftheladdersis:%d ",x;
}
分析:发现x一定是7的整数倍,可以依次递增地求出7的整数倍的值(7*1、7*2、7*3……),每求出一值,就用该值与2、3、5、6进行取模运算,最先得到的满足上述5个方程式的x值即为本题的答案。
用while语句,简单快速实现爱因斯坦的阶梯问题
#include
intmain(
{
inti=1;/*i为所设的阶梯数*/
while(!((i%2==1&&(i%3==2&&(i%5==4&&(i%6==5&&(i%7==0
++i;/*满足一组同余式的判别*/
College education is indispensable to the future development of the young people, so it is of vital importance.
2.不能否认,很多没有上过大学的人也取得了事业上的成功,但是,如果问问他们,他们会说:如果当时有条件,他们也会选择上大学的`,因为上大学与成功是不矛盾的。
There is no denying that many people who did not go to college have achieved great success.
But if you ask them, they will say that if they had had the chance, they would also have chosen to go to college, for college education never contradicts success.
3.虽然有很多没有读过大学的人取得了事业上的巨大成功,但同样有很多人,不,是更多的、读过大学的人,取得了更大的成功。
While it is true that many people who did not go to college have achieved great success, it is also true that many people, no, more people who had received college education have made even greater success.
4.读大学不是成功的保障,但不读大学会成为一种遗憾。
Going to college can not guarantee success, but not going to college would be a big regret.
5.大学教育可以丰富我们的知识,但更重要的是它为我们将来走向社会、服务社会做好了初级的准备。
1.以下正确的说法是()。
A.用户调用标准库函数前,必须重新定义
B.用户可以重新定义标准库函数,若如此,该函数将失去原有含义
C.系统不允许用户重新定义标准库函数
D.用户调用标准库函数前,不必使用预编译命令将该函数所在文件包括到用户源文件中答案:B
2.do语句能够改写为()语句。
A.复合
B.if
C.switch
D.while
答案:D
3.循环语句“for(inti=0;i<n;i++cout<<i*i<<’’;”中循环体执行的次数为()。
A.1
B.n-1
C.n
D.n+1
答案:C
4.在下面循环语句中循环体执行的次数为()。for(inti=0;i<n;i++if(i>n/2break;
A.n/2
B.n/2+1
C.n/2-1
D.n-1
答案:B
5.下列适宜采用inline定义函数情况是()。
A.函数体含有循环语句
B.函数体含有递归语句
C.函数代码少、频繁调用
D.函数代码多、不常调用
答案:C
6.定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为()。
A.int*p=newint[30];
B.int*p=newint(30;
C.int*p=new[30];
D.*p=newint[30];
答案:A
7.将两个字符串连接起来组成一个字符串时,选用()函数。
A.strlen(
B.strcap(
C.strcat(
D.strcmp(
答案:C
8.switch语句能够改写为()语句。
A.for
B.if
C.do
D.while
答案:B
9.关于void指针,下列说法正确的是()。
A.void指针就是不能指向任何数据的指针
B.void指针就是已定义而未初始化的指针
C.指向任何类型数据的指针可直接赋值给一个void指针
D.void指针值可直接赋给一个非void指针
答案:C
10.循环while(inti=0i--;执行次数是()。
A.0
B.1
C.5
D.6
答案:A
11.预处理命令在程序中都是以()符号开头的。
A.*
B.#
C.&
D.@
答案:B
12.以下能正确地定义整型变量a,b和c,并为其赋初值5的语句是()。
A.inta=b=c=5;
B.inta,b,c=5;
C.a=5,b=5,c=5;
D.a=b=c=5;
答案:A
13.若有说明语句:charc='72'则变量c()。
A.包含1个字符
B.包含2个字符
C.包含3个字符
D.说明不合法,c的值不确定
答案:A
14.可用作C++语言用户标识符的一组标识符是()。
A.voiddefine+WORD
B.a3_b3_123YN
C.for-abcCase
D.2aDOsizeof
答案:B
15.以下标识符中不全是保留字的是()。
A.caseforint
B.defathenwhile
C.boolclasslong
D.gotoreturnchar
答案:B
16.下列变量名中,()是合法的。
A.Forest
B.byte-size
C.double
D.A+a
答案:A
17.函数调用func((exp1,exp2,(exp3,exp4,exp5中所含实参的个数为()个。
A.1
B.2
C.4
D.5
答案:B
18.this指针存在的目的是()。
A.保证基类私有成员在子类中可以被访问
B.保证基类保护成员在子类中可以被访问
C.保证每个对象拥有自己的数据成员,但共享处理这些数据成员的代码
D.保证基类公有成员在子类中可以被访问
答案:C
19.定义类的动态对象数组时,系统只能够自动调用该类的()对其进行初始化。
A.友员
B.析构函数
C.无参构造函数
D.类成员
答案:C
20.对两个数组a和b进行如下初始化:chara[]="ABCDEF";charb[]={‘A’,‘B’,‘C’,‘D’
A.a和b数组完全相同
B.a和b中都存放字符串
C.sizeof(a比sizeof(b大
D.sizeof(a与sizeof(b相同
答案:C
21.对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为()。
A.N+1
B.N
C.(N+1/2
D.N/2
答案:B
22.二维数组在内存中的存放顺序是()。
A.按行存放
B.按列存放
C.由用户自己定义
D.由编译器决定
答案:A
23.假如指针p已经指向某个整型变量x,则(*p++相当于()。
A.x++
B.p++
C.*(p++
D.&x++
答案:A
24.如有数组intnum[5]={12,13,14,15,16};则num[0]的值为()。
A.12
B.13
C.14
D.15
答案:A
25.若p1、p2都是指向整型的指针,p1已经指向变量x,要使p2也指向x,正确的是()。
A.p2=p1;
B.p2=**p1;
C.p2=&p1;
D.p2=*p1;
答案:A
26.有语句inta[10]={10,9,8,7,6,5,4,3,2,1},*p=a;则数值为2的表达式是()。
A.a[9]
B.*p[8]
C.*(a+8)
D.p+8
答案:C
27.在C++中,访问一个指针所指向的对象的成员所用的指向运算符是()。
A.*
B.<<
C.->
D.=
答案:C
28.在面向对象的程序设计中,将一组对象的共同特性抽象出来形成()。
A.对象
B.实例
C.类
D.数组
答案:C
29.在用C++进行程序设计时,最好用()代替malloc。
A.new
B.
C.指针
D.循环
答案:A
30.不同对象可以调用相同名称的函数,但执行完全不同行为的现象称为()。
A.继承
B.访问控制
C.派生
D.多态性
答案:D
31.若定义了函数double*function(,则函数function的返回值为()。
A.实数型
B.实数的地址
C.指向函数的指针
D.函数的地址
答案:B
32.所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就
A.类
B.对象
1,当四周很安静的时候,蟋蟀就像歌唱家一样高声鸣唱。(改成拟人句
改为:当四周很安静的时候,蟋蟀就唱起了欢乐的歌。
2,鹅毛般的雪花铺天盖地地飘落下来。(改成拟人句
改为:鹅毛般的雪花撑着小伞,扭着腰身铺天盖地地飘落下来。
3,蝴蝶在花丛中飞来飞去(改成拟人句
改为:蝴蝶在花丛中翩翩起舞
4,月亮挂在天空(改成拟人句
改为:眉毛似的月亮挂在天空。
5,小河哗啦啦地流。(改成拟人句
改为:小河快乐的游着,哗啦啦得响
6,鸟儿在树上叫(改成拟人句
改为:鸟儿在树上唱歌
7,星星在天上闪烁(改成拟人句
改为:星星在天空眨眼睛
8,雪松的树枝被厚厚的积雪压弯了。(改成拟人句
改为:调皮的雪娃娃飘到雪松爷爷的`身上,雪松爷爷被逗得笑弯了腰。
9,在枝头鸣叫。(改成拟人句
改为:鸟在枝头歌唱春天
10,海底的动物常常发出声音。(改成拟人句
改为:海底的动物常常在一起说话
11,小鹿在河边喝水。(改成拟人句
改为:小鹿站在河边喝水
12,海底的动物常常发出声音。(改成拟人句
改为:海底的动物常常聚在一起窃窃私语。
造句大全
13,小木船划走了(改成拟人句
改为:小木船高兴地游走了
14,儿随风摇摆(改成拟人句
改为:花儿在风中舞蹈
15,小溪哗啦啦地流(改成拟人句
改为:小溪唱着欢快的各儿往前跑去
16,雨水淋在树上,树叶沙沙作响(改成拟人句
改为:调皮的雨滴搔大树的痒痒,使大树乐得浑身颤抖
17,啄木鸟在啄树皮里的虫(改成拟人句
改为:啄木鸟医生在为大树看病
18,春天来了,花儿开了,小鸟唧唧喳喳叫着(改成拟人句
改为:春天来了,花儿张开了笑脸,尽情欢笑:小鸟放开歌喉,尽情歌唱。
19,蜜蜂在花间飞(改成拟人句
改为:蜜蜂在花的海洋中翩翩起舞
句子改写
基础试题
2009-06-181202
【学习目标】
1、了解长短句,整散句的特点。
2、选用、变换句式。
【学习重点】
变换句式(特别是长短句互换
【学习内容】
一、长句和短句:
(一)特点
句子使用的字数多,附加成分多,结构复杂的叫长句,反之,就可称为短句。
长句作用:表意严密、内容丰富、精确细致。长句一般用于书面语。短句作用:表意灵活、简洁明快、节奏感强。
(二)变换方法:
原则:
一、要审清题意;
二、要保留全部信息,内容不能省略;
三、是不改变原意。
四、可调整语序,可增删某些词语,注意不能有语病。
(一)长句变短句
【解题方法】
第一步:“提取主干”。即把长句中的基本结构抽取出来单独成句。第二步:剥离修饰、限制成份,使其单独成句。剥离的原则是:由大到小,先看一下有几层修饰、限制成份,然后找到每一层的动词谓语和其对应的主语,从而形成独立的单句。如果主语是省略的,可以用指代语,构成指代关系。
第三步:整合信息,调整句序,合理表达。即合理安排各内容要点的表述顺序,使语言连贯畅通。这时,为了表达的需要,可以适当补加必要的关联词或“这样”“他”(它)们”之类指示代词,还可灵活使用冒号以衔接下文。。
“调整句序”一般要遵循如下原则:如果修饰限制成份是由并列短语改为并列短句,因无先后主次之分,可依原长句中的顺序安排;如果改成的短句间存在着时空或事理上的关系,那么就应该按照时间顺序、空间顺序或事理顺序,调整短句间的关系。
例如:《西游记》是明代文学家吴承恩在民间文学的基础上经过加工整合再创作的一部故事情节曲折人物形象生动深受读者特别是广大青少年欢迎的古典长篇章回体小说。
【解析】这是一个结构复杂的单句,我们可以通过适当增删字数和标点符号,在不改变原意的情况下,把这个长句改成三个短句。对于此题,我们可以这样解答:
第一步:“提取主干”。
此题的句子主干是:《西游记》是一部古典长篇章回体小说。第二步:剥离修饰、限制成份,使其单独成句。
本例的修饰关系可分下列两层:第一层修饰成份:一部故事情节曲折人物形象生动深受读者特别是广大青少年欢迎的。第二层的修饰成份是:明代文学家吴承恩在民间文学的基础上经过加工整合再创作的。这两层的主语均为《西游记》,改后这两个单句可用“这部小说”或“这”代替。
第三步:整合信息,调整句序,合理表达。
本题的答案可表述为:《西游记》是一部古典长篇章回体小说。这部小说故事情节曲折、人物形象生动,深受读者特别是广大青少年的欢迎。这是明代文学家吴承恩在民间文学的基础上经过加工、整合,再创作的。
【典例解析】
【例1】将下面的长句改写成三个短句,保持语意不变,可适当增删个别字词。
以简练、朴素、通透、雅淡的风貌著称,在通风、隔热、防风、防雨、
防潮等方面都极具特色的岭南建筑在我国建筑之林中独树一帜。
【解析】这一句的主干是“岭南建筑在我国建筑之林中独树一帜”,这个句子之所以“长”的原因是主语前的修饰成份冗长。通过剥离修饰成份、调整语序,原句可以改成如下三个短句:①岭南建筑在我国建筑之林中独树一帜。②它以简炼、朴素、通透、雅淡的风貌著称。③它在解决通风、隔热、防风、防雨、防潮等方面都极具特色。
【例2】现在许多国家都已经能够生产可以独立操作机床,可以在病房细心照料病人,可以在危险区域进行作业的机器人。
答案:(1)现在许多国家都能够生产这样的机器人:它们可以独立操作机床,可以在病房细心照料病人,可以在危险区域进行作业。(运用复指突出句子主干;使用代词或冒号,构成一个总分结构或分总结构的复句)
(2)有的机器人可以独立操作机床,有的可以在病房细心照料病人,有的可以在危险区域进行作业。现在许多国家都已经能够生产这样的机器人了。(叠用表分项的词语和修饰语构成排比句式)
【例3】阅读下面一段不好的译文,然后回答①—②题。
地方法院今天推翻了那条严禁警方执行市长关于不允许在学校附近修建任何等级的剧场的指示的禁令。
①地方法院究竟允许不允许在学校附近修建剧场?
②把这段文字写成三个连贯的短句。要求:层次清楚,文意明白,内容不能删减,原意不能改动。
© 2022 xuexicn.net,All Rights Reserved.