深入理解do-while循环语句的用法?
1、do-while循环与while循环的不同在于:它先执行循环体中的语句,然后再判断条件是否为真。如果为真则继续循环,如果为假,则终止循环。因此,do-while循环至少要执行一次循环语句。同样当有许多语句参加循环时,要用“{”和“}”把它们括起来。do-while循环的一般语法是:do{语句;}while(条件)注意:在do-while语句的表达式后面必须加分号。示例1:编写一个猜数游戏,要求猜一个介于1—10之间的数字,根据用户猜测的数与标准值进行对比,并给出提示,以便下次猜测能接近标准值,直到猜中为止。在D盘Java目录下,新建“GuessSample.java”文件。用记事本打开“GuessSample.java”文件,输入以下代码:
2、代码结构分析程序功能主要是演示do-while循环语句的使用。程序内部设置一个标准值(答案)存储到变量number中,并声明一个guess变量接收用户猜测的数值。采用do-while结构可以确保用户至少能进行一次猜数操作,在循环体内,提示用户输入要猜的数,用户输入猜测的数值后,利用if-else语句和正确答案进行判断,如果用户猜测的数值大于答案,提示用户数太大;如果用户猜测的数值小于答案,提示用户数太小。while语句后面的表达式( guess != number )用于判断循环条件是否满足,如果用户输入的数值和答案不相等,该表达式返回的结果为真,继续执行循环体,要求用户根据提示继续猜数,否则,表达式返回的结果为假,循环条件不满足,程序不再执行循环体,直接执行循环体后面的语句。编译“GuessSample.java”文件,在命令行窗口输入“javac GuessSample.java”并执行命令,编译通过后,在命令行窗口输入“java GuessSample”运行Java程序,命令行窗口显示如下信息:
3、从上述结果可以看出,输入的数值与答案不相等时,程序给出相应提示,并继续执行循环。当用户输入的数值与答案相等时,程序不再执行循环,并输出猜中的答案。
C语言,以下程序运行的结果是什么,麻烦详细解释一下
- #includestdio.hstruct st{int num;char name[8];int age;}stu[3]={2031,&q迹害管轿攮计归袭害陋uot;Wang",18,2032,"Wu",19,2033,"Ma",20};void f(struct st *p){printf("%sn",(*p).name);}int main(){f(stu+1);return 0;}
- Wustu+1 就是stu[1].name
以下程序的运行结果是( )
- void main(){ int n=5; switch(n) { default: printf("error "); case 1: printf("a "); case 2: printf("b "); break; case 3: printf("c "); case 4: printf("d "); } } A. a b B. c C. c d D. error 大神帮帮忙啊 拜托
- 答案是 D
以下程序运行后的输出结果是____
- void fun(char *s,int p,int k) {int i; for(i=p;i} main() {char s[]="abcdefg"; fun(s,3,strlen(s));puts(s);}
- 编译错误,无法运行
以下程序的运行结果是
- 以下程序的运行结果是_____。#includestdio.hfun(inta,int b){ return a-b;}main(){ int x=5,y=2,z=1; printf("%dn", fun(fun(x,y),z++));}A. 1 B. 2 C. 3 D. 不合法
- 答案是 B.2
以下程序运行后的输出结果是
- main( ){ int a=0; a+=(a=8); printf (“%dn”,a) }
- 结果是 16
1、 编写程序,编译运行后要求输出以下结果和实现以下功能
- 1、编写程序,编译运行后要求输出以下结果。for(……){ printf(……); if(……)printf("n"); }2编写程序,实现以下功能:for(……) { for(……) printf(……); for(……) printf(……); printf("n"); }
- 第一题:for(i=A;i=Z;i++){printf("%c",i);if((i-A)%7==6)printf("n");}第二题:printf("please enter Num:");scanf("%d",&Num);for(i=0;iNum;i++){for(j=0;ji;j++) printf(" ");for(j=Num;j0;j–) printf("*");printf("n");}
以下程序的以下程序段的运行结果是(2 ). int x[3]={1,2,3}; int *p; p=x; for(p++;p&x[2];p++)
- 以下程序段的运行结果是( )。int x[3]={1,2,3};int *p;p=x;for(p++;p&x[2];p++) printf("%d ",*p);
- 2因为p++,则p最先指向x[1],输出2,执行完循环又p++,则p指向x[2],第2次循环时,条件不满足,退出循环
以下程序段的运行结果是( ). int x=5; if(x=0) printf("%3d",x++); else if(x0)答案为什么不是0而是3
- 以下程序段的运行结果是( )。int x=5;if(x=0) printf("%3d",x++);else if(x0) printf("%3d",x+2);else printf("%3d",x+3);
- 答:if(x=0) 中的 x=0 是赋值语句,那么就是 if(0),所以不执行 if 语句;else if(x0) 因为 x=0 也不能满足条件,所以转而执行 else 中的 printf("%3d",x+3); 语句,在该语句中 x+3 使得 x=3,所以最后结果就是打印 x 的值:3。
以下程序段的运行结果是( ). struct Person { int num,x,y; }a={101,15,19},b={10
- 以下程序段的运行结果是( 28 )。 struct Person { int num,x,y; }a={101,15,19},b={102,13,23}; int k; k=a.x+b.x; printf("%dn",k);求解析
- a.x = 15b.x = 13所以等于28
C语言 以下程序运行结果是( ) #include
- 以下程序运行结果是( )#include stdio.hvoid main(){u花鼎羔刮薏钙割水公惊nion{nt x; char y[2];}u;u.x=378;printf("%dn",u.y[0]+u.y[1]);}
- 共用体 x和y公用内存.u.x=378=0x17A于是 u.y[0] = 0x7A u.y[1]=0x01输出也就是122+1=123