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;/*满足一组同余式的判别*/
《冰糖炖雪梨》是一部正在热播的励志青春剧,因为剧中演绎了一群有志青年追求梦想、享受青春的感人故事,因此也是引发了很多人的少年回忆和追梦情怀。而我看过这部佳作之后更是感触颇深,尤其是看到棠雪在那么努力的寻梦、造梦、追梦之后,我更是感到自惭形秽、自愧不如,因为与骄傲、励志、坚强、勇敢、执着的冰上少女相比,现实中的我是那样懦弱、软弱、胆怯和无能。
棠雪是个大大咧咧、心直口快、积极乐观的`女孩,尽管很多事情她都是一知半解,即便很多情境下她都是状况百出,但这都没有泯灭掉她和善、无私、忠厚的本性。相反,无论遇到什么样的苦难、挫折和考验,她都一直在笑对生活,然后坦然接受生活给予的一切,这让人觉得她勇敢到了极点,乐观到了极点,也智慧到了极点。
棠雪的勇敢很是让我心疼和震撼,因为她在短道速滑上遭受过严重的打击和病痛,所以对于滑冰她应该是抵触和害怕的才对,可是让我意想不到的是,她除了把那些消沉、阴暗、害怕的情绪都给过滤掉了不说,她还一如既往的热爱着滑冰、梦想着比赛,她这样的精神和品质让人觉得很是心神澎湃、激情盎然。此外,棠雪追梦的道路也是无人可挡的,尽管疼爱她的父亲也曾百般阻挠、一味劝阻过,可在理想和追求面前,那些苍白的言语完全发挥不了效用,所以最后棠雪还是凭着一股冲劲和干劲站在梦寐以求的赛场上了,而且还取得了很是令人瞩目的成绩,这让人觉得很是欣慰和满足。
是啊,梦想的力量是伟大的,青春的潜力是无限的,但愿我们每个人都可以和棠雪一样坚强勇敢,也希望我们可以向棠雪学习,然后做一个牢记使命、初心不改、青春无悔的铮铮少年。
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.