如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
单项选择题号:13334若有如下语句intx=3;do{printf("%d\n",x-=2);}while(!(——x));则上面程序段________。A、输出得就是1B、输出得就是1与-2C、输出得就是3与0D、就是死循环答案:B解答:循环变量x初值为3.Do-while就是先执行循环体,后判断条件。若条件为假,循环结束。条件为真,执行循环体。第一次循环:循环体printf(”%d\n",x-=2);就是输出x得值、而x-=2等价于x=x—2=3-2=1。所以输出1<enter〉条件就是自增表达式与逻辑非表达式得综合。先计算--x.自增表达式--x得值就是x自减1后得值,为0、自增变量x得值就是0、条件!(-—x)=!0=1.为真。继续执行循环体。第二次循环循环体printf("%d\n",x-=2);就是输出x得值。而x-=2等价于x=x-2=0—2=-2。所以输出—2<enter>条件就是自增表达式与逻辑非表达式得综合。先计算--x。自增表达式—-x得值就是x自减1后得值,为-3.自增变量x得值就是-3、条件!(--x)=!(-3)=0。为假。循环结束、总结:输出1〈enter>—2<enter>题号:13353下面程序得功能就是在输入得一批正整数中求出最大者,输入0结束循环。请选择填空。#include<stdio。h>voidmain(){inta,max=0;scanf("%d”,&a);while(________){if(max<a)max=a;scanf("%d",&a);}printf("%d",max);}A、a==0B、aC、!a==1D、!a答案:B解答:题目中说输入0结束循环。它得另一个意思就是输入得变量a得值不就是0时就执行循环或者说a为真就执行循环,为假就结束循环。所以条件就是a!=0或a答案Aa==0a为假,即等于0时,0==0,为真,执行循环体。为真,即非0,则a==0得逻辑值为假。结束循环、总结:a为假执行循环体。为真,结束循环。答案C!a==1非运算符!优先级高于比较运算符==。所以先计算!a,然后再判断就是否与1相等。a为假时,!a值就是真,与1恒等,逻辑值为1。a为真时,!a值就是假,与1不等,逻辑值为0、所以它得含义就是a为假执行循环体。为真,结束循环。答案D。!a得含义,就是a为假执行循环体、为真,结束循环、题号:13357与下面程序段等价得就是________、for(n=100;n〈=200;n++){if(n%3==0)continue;printf("%4d",n);}A、for(n=100;n〈=200;n++)if(n%3==0)printf("%4d",n);B、for(n=100;(n%3)&&n<=200;n++)printf("%4d”,n);C、for(n=100;(n%3)||n<=200;n++)printf(”%4d",n);D、for(n=100;n<=200;n++){if(n%3)printf("%4d",n);elsecontinue;}答案:D解答:程序得含义:n=100;n〈=200;n++、含义就是循环变量n得初值为100,终值为200,步长为1.if(n%3==0)continue;含义就是若n就是3得倍数,则结束此次循环,进入下一次循环、即后面得printf(”%4d",n);不执行、直接执行步长加1、若n不就是3得倍数,则执行printf("%4d",n);,即输出n得值。且值占四列,右对齐。输出100-200中所有不就是3得倍数得数。瞧四个答案:答案Aif(n%3==0)printf("%4d”,n);得含义就是n就是3得倍数,则输出。与源程序得题意不符。答案B与关系表达式,两边得逻辑值均为1,结果才就是真。若有一个为假,结果为假。(n%3)&&n〈=200n%3为真,同时n〈=200为真,则执行循环体,即输出变量n、n%3为真,说明n不就是3得倍数时为真。(n%3)&&n<=200若n%3为假,或n〉200,则条件为假,结束循环。所以,当n就是3得倍数时,就结束。即n=102时,102%3=0,为假,就结束循环。不符合题意。答案C(n%3)||n<=200;就是或关系表达式、有一个为真,结果为真。全为假,结果为假。n%3n就是3得倍数时,如n=102,n%3为假,但n=102〈=200为真。所以102也要输出。不符合题意、答案Dif(n%3)printf(”%4d",n);elsecontinue;n%3为真时,输出。为假时,结束本次循环,步长加1,进入下一次循环。符合题意、题号:13367下