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;/*满足一组同余式的判别*/
周总理立下“为中华之崛起而读书”的志向得助于深刻的家风;三曹的建安风骨得助于睿智的家风;李清照的清新婉约的词锋亦得助于严格的家风。由此可知,家风不但有深刻的内涵,亦会对人产生巨大的影响。
家风是严格的,它能助人养成良好的习惯。“窦燕山,有义方,教五子,史俱扬。”想必大家对窦燕山的故事必是熟悉得不能再熟悉的了,他生活在战乱不断的五代,一般的人家可能认为能够在战乱中得以生存并衣食无忧便是谢天谢地了。可是他却不向命运低头,从小严格教育子女,最终成就五子登科的美谈,更被当时文学大家称之为“燕山窦十郎,教子以义方。灵椿一株老,仙桂五枝芳。”经上所述,我们可以知道,严格的家风,有助于人养成良好的习惯。
家风是睿智的,它有助于人取得最后的成功。诸葛亮这一著名人物,想必是妇孺皆知了吧。但大家可能只知道其风光的历史成就,却不知其也有着辛酸的发家史。诸葛亮在刘备还未发现他的时候,亦有着数载发奋苦读,想必一句“非淡泊无以明志,非宁静无以致远”便是对其家风的最好诠释了吧。但是我们可以这样想,要是诸葛亮在刘备还未找到其便放弃了自己的理想或是贪图快乐不在苦读,想必他非但不能成为千古名相,恐怕连衣食也有很大的问题了。到那时,真会应了他的那句“苟求性命于乱世不求闻达于诸候”了吧。也真的会是一条“卧龙”了。由此可知,睿智的家风,有助于人取得成功。
家风是深刻的,它有助于培养人的个性品质。一代词女李清照,想必也是大家也是耳熟能详了,可是大家可能只知道她风华绝代、才艺过人的外表,却不知其在小的时候也是一位天真可人的女孩子,只不过是受到良好的教育和深刻的家风的教导和熏陶罢了。相反,如果她没有以上两种东西的帮助,可能会还是一位只知道情爱的小女人而已。由此可知,深刻的家风,有助于培养人的.个性品质。
现在,换个角度说说自己的家风吧!我的家风没有上述名人的著名,亦没有他们的意义深刻,而且我也认为自己也不算很优秀。但是我仍然认为家风对我也有很大的影响,这可能就是家风的魅力之一吧。因为,我的家风很简单,就是努力为祖国、人民作出属于自己的贡献,堂堂正正的做一个大写的“人"字。虽然现在自己离这个目标还有很大的距离,但是我却在一步步的努力,我相信自己总能实现的,这就是自己对家风的全部理解了。
新年里,我认识了一个新词――“家风”。
最近,我在电视节目里看到了一个有趣的话题:家风是什么?让我也想认识自己家的家风是什么?
看到新闻上被采访的叔叔阿姨们说:“家风是一个家的全貌,家风是在自己家好家风的基础上去认识别人家中的优良美德。”通过观看这个节目,让我知道了什么是家风,也认识了不少优良的家风。家风就是做善事,不求回报;家风就是为人老实,不干坏事;家风就是小小举动创美德;家风就是常做好事,无怨无悔;家风就是心中有家,心中有国。
现在,我与大家聊聊我自己家的好家风:“做事勤勤恳恳,任劳任怨;要用积极向上的阳光心态去面对眼前的重重困难;待人有礼貌。”
首先,在勤勤恳恳方面,我的外公是一个好例子。我的外公是一个农民,他不管刮风下雨都要去田地里种菜收割,他勤勤恳恳从不叫苦叫累。接着,在待人有礼貌方面,我跟爷爷学。爷爷是做生意人,每次与同事打电话时总会叫上几声“你好”,新年里爷爷打电话时总会送几句新年。还有,在阳光心态方面,爸爸是我的榜样。虽然,爸爸工作繁忙,但是不管工作再忙,爸爸也不会愁眉苦脸,总会积极面对。
家风就是一个家族的面貌,我要好好牢记长辈告诉我的好家风。
说到家风,其实我不太明白家风是什么。所以我就去问了爸爸。爸爸说:“家风是传家宝。我们家的家风有四条:诚实,守信,健康,和睦。”而我,对这四条家风有自己的认识。
诚实就是不要说谎。记得那是一个阳光明媚的星期天,我和小伙伴在家里玩耍。我们正在玩捉迷藏,我怕被发现,以迅雷不及掩耳之势跑到另一个房间。就在这时,意外发生了。我把一个玻璃杯碰到了地上,玻璃杯一下就摔碎了。我一边说着碎碎平安,一边用手去捡碎片2016好家风好家训征文【汇总】。小伙伴闻声赶来,看见这一幕也惊呆了。正巧爸爸回来了,看见地下的玻璃杯碎片,问:“谁***?”我心里一下就出现了两个声音,小魔鬼说:“别承认,你会挨批的!”小天使说:“诚实最重要呀!”在一番纠结之后,最终小天使打败了小魔鬼,我说了实话。本以为要接受“狂风暴雨”,结果爸爸慈祥地对我说:“没关系,只要你承认就好。快去拿扫帚吧!”
而其余三条家风我是这样理解的:守信就是一言九鼎,遵守承诺;健康就是平平安安,没有疾病;和睦就是一家人幸福快乐地生活在一起。
有了这四条家风,我明白了做人的准则,我想成为一个对社会有用的人。
“孝悌、诚信、礼让、勤俭、崇学、敬业、友善、上进……”我校三至六年级学生家庭“家训家风”调查活动正如火如荼地进行中,上述词语是出现频率最高的,也完全吻合“务实、守信、崇学、向善”为内涵的当代浙江共同价值观。
有的同学说:“正直做人,认真做事,勇于担责,勤奋上进,是我家的家训。爸爸妈妈希望我的意志像磐石一样坚定,胸怀像大海一样宽广,做一个快乐、阳光、自信的男子汉!”他的同学说:“我家的家风是:孝为先,和为贵,勤为本。堂堂正正做人,踏踏实实做事,兢兢业业工作,勤勤恳恳治家。”五二班苏晴同学家的家训是“诚信做人”;五一班吕持斌同学家的家训是“孝顺、平静、诚实、豁达。”
有的同学家的家训是“孝顺为先,尊老爱幼;诚实守信,言行一致;有礼有节,无私奉献;勤学好问,强健体魄。”家长陈慧良认为:家风要真正落实到自己的生活、工作和学习当中,做到言必行,行必果,如此我们一定能受益终生,拥有一个幸福、安康、和谐、美满的家庭。王张洋同学和大家交流了“王氏家训”:“王氏子孙,谨记家训:诚实做人,勤奋好学;乐观向上、积极向善;勤俭朴实,忠孝仁义;邻里和睦,兄弟团结;人均有错,知错就改;富不忘本,穷不言弃;一生谨记,家和事兴。”“所谓国有国法,家有家规。每家每户都该有家训家规,不仅要让孩子去遵守执行,作为家长更应做好榜样。”家长包月红如是说。
我的家训是“尊老爱幼、团结互助、诚实守信、精益求精、勤俭节约。”姐姐家的家训是“学问浩如沧海,人生渺如沙粟,求知明理冶性情,贵在持之以恒。”哥哥家的家训是“仁爱、诚信、担当”;许多家长认为:百善孝为先,老实做人,言而有信,敢于承担责任,这些都是做人之根本。
在这次家训家风调查活动中,祖辈们也不甘落后,纷纷参与讨论。然而,我的.外婆说:“做人一要诚实,二要善良和勤劳。先成人后成才。做人最重要的莫过于养成‘勤俭、诚信和积极向上’的品质,这是我家的家训。正确的家训能形成良好的家风,有助于培养和教育好子女。”我的爷爷则认为:“家长的责任不在于给孩子铺路,而在于为其指明方向。家训就起到了这样的作用,培养孩子的良好习惯,刻苦学习,健康、快乐、幸福地生活。”
爸爸妈妈认为:家庭教育其实是一种家风熏陶,只有家庭具有良好的家风,才能给子女提供良好的成长环境。而家训正是家庭成员修身持家、自省自励的重要载体;培育好家风、好家训是弘扬优秀传统美德、凝聚正能量、培育社会主义核心价值观的重要载体。因为家训家风,不仅仅是道德教化的口号,还是家族精神的体现,通过代代家族成员具体的行为而践行和传承。学校倡导家风家训,努力使传承好家训、培育好家风转化为每个家庭的内在需求,充分发挥广大学生家庭实践“中国梦”的作用和力量。
醒广大家长家训家风不能搞模式化、程式化,要与时俱进,要善用家训警诫自己和子女的言行,如与別人有了矛盾,可告诫自己“海纳百川,怠时,有容乃大”;学习懈警示自己“业精于勤荒于嬉”;铺张浪费时,提醒自己“一粥一饭当思来之不易,半丝半缕恒念物力维艰”。
“忠厚传家远,诗书济世长。”浩然家风,伴我成长。
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.对象
© 2022 xuexicn.net,All Rights Reserved.