选择语句+多重循环语句

选择语句+多重循环语句
选择语句+多重循环语句

选择语句+重循环语句作业

一、填空题

1.Java中有两种类型的选择结构的控制语句,分别是if语句和switch语句。

答:此题考点---选择结构语句

If判断语句和switch选择语句

2.在Java JDK1.7之前,switch只能支持byte、short、char、int或者其对应的封装类

以及Enum类型。在JDK1.7中又加入了String 类型。

答:此题考点----JDK1.7新增功能

Switch语句当中的数据类型,新增了String类型

3.for循环的语法格式是for (表达式1;表达式2;表达式3) {循环体},其中在整个循环

过程中只执行一次的部分是初始化表达式。

答:此题考点----for循环结构执行顺序

for(初始化表达式;循环条件表达式;步进){

循环体;

}

执行顺序:①初始化表达式②循环条件表达式③循环体④步进

执行一次只能是初始化表达式

4.在循环结构中,如果想跳出循环体,结束整个循环结构可以使用break语句。

答:此题考点------break关键字

break关键字------突破,返回

如果是多重循环,则它只能跳出当前循环语句。

5.____continue____语句用在循环语句体中,用于终止某次循环过程,即跳过循环体

中尚未执行的语句,接着进行下一次是否执行循环的判定。即只结束本次循环,而

不是终止整个循环的执行。

答:此题考点-----continue关键字

在循环语句当中,使用continue,结束本次循环,执行下一次循环。

6.使用Math.random( )返回带正号的double值,该值大于等于0.0且小于1.0。使用

该函数生成[30,60]之间的随机整数的语句是(int)( Math.random()*31+30) 。

答:此题考点----随机产生整数数[a,b]

格式如下:

(int)(Math.random()*((b-a)+1)+a)

[]30,60]----(int)(Math.random()*31+30)

二、选择题

1. 以下代码的执行结果是( B )。(选择一项)

boolean m = false;

if(m = false){

System.out.println("false");

}else{

System.out.println("true");

}

A. false

B. true

C. 编译错误

D. 无结果

解析:此题考点------if判断语句,赋值运算符

If判断语句,如果表达式结果为true,则执行if代码块中的代码;

反之,执行else代码块当中的代码。

赋值运算符:右边的值给左边

变量Boolean m = false;

If(m=false) 对变量m的值进行赋值---------if语句当中的条件是假

执行else部分

2. 分析如下Java代码,编译运行的输出结果是( A )。(选择一项)

public static void main(String[ ] args) {

boolean a=true;

boolean b=false;

if (!(a&&b)) {

System.out.print("!(a&&b)");

}else if (!(a||b)) {

System.out.println("!(a||b)");

}else {

System.out.println("ab");

}

}

A !(a&&b)

B. !(a||b)

C. ab

D. !(a||b)ab

解析:此题考点-----多重ifelse语句和逻辑运算符&& 取反!

多重ifelse语句----只要有一个if语句满足,则剩下的语句则不执行,反之

执行else语句。

短路与&& :只要表达式两边任意一边是false,则结果是false。

取反! : 此运算符只能适用于布尔值

If(!(a&&b)) ------ a&&b返回false ,然后再取反,则为true.

3. 下列选项中关于变量x的定义,(BD )可使以下switch语句编译通过。(选择二项)

switch(x) {

case 100 :

System.out.println("One hundred");

break;

case 200 :

System.out.println("Two hundred");

break;

case 300 :

System.out.println( "Three hundred");

break;

default :

System.out.println( "default");

}

A double x = 100;

B. char x = 100;

C. String x = "100";

D. int x = 100;

解析:此题考点----switch语句当中的表达式类型。

详细请看填空题第二题。

switch语句当中的表达式,只能是byte short int char

JDK1.7 新增String JDK1.5 新增enum(枚举)

根据题的要求选两项,A排除在外,C选项也不行

case 后面的值应该是字符串类型(例如case “100”)。

4. 阅读下列文件定入的Java代码,其执行结果是( D )。(选择一项)

public class Test {

public static void main(String[] args) {

char ch = 'c';

switch (ch) {

case 'a':

System.out.print("a"); break;

case 'b':

System.out.print("ab");

case 'c':

System.out.print("c");

default:

System.out.print("d");

}

}

}

A a

B. b

C. c

D. Cd

解析:此题考点------switch语句

Switch(表达式){

case 取值1:

执行语句;

break;

case 取值2:

执行语句;

break;

case 取值3:

执行语句;

break;

………………………

default:

执行语句;

break;

}

如果在某一个case取值之后,没有写break关键字,又恰逢语句

满足该case,后面case也没有写break,则一起执行。

5. 以下四个选项中和下面代码功能相同的是( B )。(选择一项)

int i = 1;

int sum = 0;

while (i <= 100) {

if (i % 2 == 0)

sum = sum + i;

i++;

}

A for (int x =1; x<=100;x++){ sum=sum+x;}

B. for (int x =0; x<=100;x+=2){ sum=sum+x;}

C. for (int x =1; x<=100;x+=2){ sum=sum+x;}

D. 上述全对

解析:此题考点-----for循环和+=扩展赋值运算符

While循环目的:1到100之间所有的偶数之和。

选项B的含义同上。

while循环与for循环之间的转换

特点:while循环如果条件满足,则无限执行,反之,不执行;

for循环根据三个条件进行限制,满足要求执行,反之,不执行

初始化表达式;循环条件表达式;循环后的条件表达式6. 以下do-while循环代码的执行结果是( A )。(选择一项)

int a=0;

int c=0;

do{

--c;

a=a-1;

}while(a>0);

System.out.println(a+" "+c);

A. -1 -1

B. 死循环

C. -1 -2

D. -1 0

解析:此题考点-----do while 循环

do while循环的要义:先执行后判断

int c =0 ; --c ; 此处--在前,先自减后赋值所得结果:-1

int a=0;a=a-1;此处a的值明显为-1

7. 以下Java程序编译运行后的输出结果是( B )。(选择一项)

public class Test {

public static void main(String[] args) {

int i = 0, sum = 0;

while (i <= 10) {

sum += i;

i++;

if (i % 2 == 0)

continue;

}

System.out.println(sum);

}

}

A 0

B. 55

C. 50

D. 36

解析:此题考点----continue关键字

Continue 结束本次循环,执行下一次循环

从本题中可知,此题的目的是:1—10中所有数之和是多少

在while循环中嵌套if判断语句,假如if判断语句在while循环语句的首行,如果判断语句表达式成立,则结束偶数之间相加,执行奇数之间相加。

不过此处if判断语句,是在while循环末尾,相当于continue没有任何作用,直接求出1-10中所有数之和

8. 在Java中有如下代码,则编译运行该类的输出结果是( D )。(选择一项)

public static void main(String[ ] args) {

for(int i=0;i<10;i++){

if (i%2!=0)

return;

System.out.print(i);

}

}

A 13578

B. 02468

C. 0123456789

D. 0

解析:此题考点------return关键字

Return ---- 返回结束;如果执行return,则main方法结束

从for循环第一次循环开始,i的值0,0%2!=0 0!=0 返回假

不执行return,执行第一次系统输出语句,依次类推,当i是1的时候

1%2!=0 1!=0 返回true,执行return,main方法结束

9. 下面程序执行的结果是在屏幕上打印( B )次Java基础班。(选择一项)

int sum = 0;

for(int i=1;i<=10;i++){

if(i<5){

continue;

}

System.out.println("Java基础班");

}

A 5

B. 6

C. 7

D. 8

解析:此题考点----for循环和continue关键字

Continue 结束本次循环,执行下一次循环

当i的值是 5 6 7 8 9 10时,执行输出语句。

10. 下面程序执行的结果是( C )。(选择一项)

int sum = 0;

for(int i=1;i<=10;i++){

sum+=i;

}

System.out.println(sum +" "+ i);

A 55 11

B. 50 10

C. 编译错误

D. 运行错误

解析:此题考点-----for循环和+=扩展赋值运算符

当结束for循环时,i的值是11

但是,在for循环中,变量i属于局部变量,只在for循环内部有效,超出

范围,则JVM无法识别,故此此题选C

三、判断题(共20个题目,总计10分)

1.if语句的条件表达式的结果都必须是boolean值。( √)

解析:if语句格式如下:

If(条件表达式){ //条件表达式的结果必须是boolean值

执行语句A

}else{

执行语句B

}

2.如果if语句后面不写{},if的控制范围只限于第一句。(√)

解析:此题考点-----隐藏知识点

在之前的选择题中,出现了很多次,单独写if语句,而且不写大括号时

只限制与他下面的第一句。

3.switch选择语句是多分支选择语句,只能处理等值条件判断的情况,表达式可以是

int类型、char类型,但不能是double,float类型。( √)

解析:此题考点------switch语句

详细请看填空题第二题。

4.switch语句中default可以省略,但是如果存在必须放在最后位置。( ×)

解析:此题考点----switch语句格式

Switch(表达式){

case 1:

执行语句;

break;

case 2:

执行语句;

break;

………………….

default :

执行语句;

break;

}

以上都是固定模式,但是defualt语句可以放在switch语句的任何地方,

只是建议如果存在,则放到末尾。

5.while循环结构的特点是先循环再判断,循环体至少执行一次。(×)

解析:此题考点-----while循环和do while循环

while(循环条件表达式){

执行体;

}

特点:先判断再循环

do{

执行体;

}while(循环条件表达式);

特点:先执行循环体,再进行判断,至少执行一次。

6.for循环的语法格式是for (表达式1;表达式2;表达式3) {循环体},其中三个表达式

都可以省略。( √)

解析:此题考点-------for循环结构

如果for循环当中的三个表达式全部省略,则变为无限循环。

for(;;){ //两个分号不能省略

循环体;

}

7.break语句可以出现在switch语句和循环语句中。(√)

解析:此题考点-------break语句

Switch语句当中以及各种循环语句当中,都可以使用break;

Switch语句使用break,避免出现等值判断之后,输出多个结果。

循环语句当中,使用break,避免出现死循环。

8.continue语句可以出现在switch语句和循环语句中。(×)

解析:此题考点----continue关键字

Continue关键字----继续,可以在循环语句中使用,但是不能在switch语句

四、简答题

1.if多分支语句和switch语句的异同之处。

答:相同点:

1.都属于分支结构语句

2.两者之间可以互换

不同点:

1.if多分枝语句中,表达式的类型可以是任意类型,没有限制。

同时,即可以等值判断,也可以是区间判断

2.switch语句中,只能是byte short int char String 枚举类型等值判断

2.switch语句的功能是否完全可以使用if -else if -else多选择结构来代替?如果是,为

什么还需要switch结构?

答:可以的。

多重If else语句,可以进行等值判断,也可以进行区间判断

Switch语句,只能进行等值判断,在使用等值判断分支结构时,switch语句比

多重ifelse语句更方便,更简单。

3.while和do-while语句的异同之处

答:相同点:

1.功能相同,既可以表示有限循环,也可以表示无限循环。

2.同属于循环结构语句,如果条件满足,执行循环体

不同点:

1.While循环先判断再执行

2.Do while循环,先执行再判断

4.for循环相比while循环有什么优势?

答:对于循环语句,有的没有确定循环次数,此时建议使用while循环。

对于确定的循环次数,此时建议使用for循环,简单,快捷。

5.break和continue语句的作用

答:break关键字-----返回,跳出循环,分别用于switch语句和循环语句。

Continue关键字----继续,跳出本次循环,执行下一次循环。

五、编码题

1.输入一个数,判断是奇数还是偶数

2.根据成绩输出对应的等级,使用if多分支和switch语句分别实现。

a)A级[90,100]

b)B级[80,90)

c)C级[70,80)

d)D级[60,70)

e)E级[0,60)

3.从键盘输入一个班5个学生的分数,求和并输出。

4.生成0-100随机数,直到生成88为止,停止循环!

5.用while和for循环输出1-1000之间能被5整除的数,且每行输出3个。

6.从键盘输入某个十进制整数数,转换成对应的二进制整数并输出。

六、可选题

1.根据考试成绩输出对应的礼物,90分以上爸爸给买电脑,80分以上爸爸给买手机,

60分以上爸爸请吃一顿大餐,60分以下爸爸给买学习资料。

要求:该题使用多重if完成

2.根据月份,输出对应的季节,并输出至少两个描述该季节的成语和活动。

3.判断一个数是否是素数。

4.把100~150之间不能被3整除的数输出。

5.从键盘输入某个十进制小数,转换成对应的二进制小数并输出。(查询十进制小数

转换成二进制小数的算法,使用循环来实现。最多保留小数位后7位数字即可)

1.输入一个数,判断是奇数还是偶数

public class TestNum {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

//输入一个数

System.out.println("请输入你要判断的数据:");

int x = input.nextInt();

//判断一个数据是奇数还是偶数

if(x%2 == 0) {

System.out.println(x+"这个数据是偶数");

}else {

System.out.println(x+"这个数据是奇数");

}

}

}

2.根据成绩输出对应的等级,使用if多分支和switch语句分别实现。

public class TestGrade1 {

public static void main(String[] args) {

// 给出分数

Scanner input= new Scanner(System.in);

System.out.println("请输入一个分数");

double score = input.nextDouble();

// 根据分数,给出等级

String grade;

if (score >= 90) {

grade = "A";

} else if (score >= 80) {

grade = "B";

} else if (score >= 70) {

grade = "C";

} else if (score >= 60) {

grade = "D";

} else {

grade = "E";

}

// 输出等级

System.out.println("score=" + score + ",grade=" + grade);

}

}

public class TestGrade2 {

public static void main(String[] args) {

// 给出分数

Scanner input= new Scanner(System.in);

System.out.println("请输入一个分数");

int score = input.nextInt();

//根据分数,给出等级

String grade="E";

switch(score/10){

case 10:

case 9:grade="A";break;

case 8:grade="B";break;

case 7:grade="C";break;

case 6:grade="D";break;

default :grade="E";

}

//输出等级

System.out.println("score="+score+",grade="+grade);

}

}

3.从键盘输入一个班5个学生的分数,求和并输出。

public class TestSum {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

//输入总分并求和

double sum = 0;

for (int i = 0; i < 5; i++) {

System.out.println("请输入第"+(i+1)+"个学生的成绩");

double d = input.nextDouble();

sum += d;

}

//输出总分

System.out.println("总分是"+sum);

}

}

4.生成0-100随机数,直到生成88为止,停止循环!

public class TestRandom{

public static void main(String[] args) {

//生成1-100随机数;

int r=(int)(Math.random()*101);

while(r!=88){

System.out.println(r);

r=(int)(Math.random()*101);

}

System.out.println(r);

}

}

5.用while和for循环输出1-1000之间能被5整除的数,且每行输出3个。public class TestNum5 {

public static void main(String[] args) {

int i = 1; int count = 0;

while (i <= 1000) {

if (i % 5 == 0) {

System.out.print(i + "\t");

count++;

if (count % 3 == 0) {

System.out.println();

}

}

i++;

}

}

}

public class TestNum5 {

public static void main(String[] args) {

int i = 1;

int count = 0;

for (i = 1; i <= 1000; i++) {

if (i % 5 == 0) {

System.out.print(i + "\t");

count++;

if (count % 3 == 0) {

System.out.println();

}

}

}

}

}

6.从键盘输入某个十进制整数数,转换成对应的二进制整数并输出。

public class Test10to2_1 {

public static void main(String [] args){

//给出一个十进制数

int num2 =6;

//转换

int num = num2;

String str="";

do{

//除以2得到商

int div = num/2;

//得到余数作为二进制位

int mod = num%2;

str = mod + str;

//商作为被除数

num = div;

}while(num!=0);//被除数不是零

//输出二进制数

System.out.println(num2+"------>"+str);

}

}

可选题

1.根据考试成绩输出对应的礼物,90分以上爸爸给买电脑,80分以上爸爸给买手机,

60分以上爸爸请吃一顿大餐,60分以下爸爸给买学习资料。

要求:该题使用多重if完成

public class Test 1{

public static void main(String[] args) {

int score = 80;

if (score >= 90) {

System.out.println("电脑");

} else if (score >= 80) {

System.out.println("手机");

} else if (score >= 60) {

System.out.println("大餐");

} else {

System.out.println("学习资料");

}

}

}

2.根据月份,输出对应的季节,并输出至少两个描述该季节的成语和活动。

public class TestSeason {

public static void main(String[] args) {

// 输入月份

Scanner input= new Scanner(System.in);

System.out.println("请输入月份:");

int month = input.nextInt();

//根据月份输出季节

switch(month){

case 1:

case 2:

case 3: System.out.println("春天-春暖花开春意盎然-植树踏青");break;

case 4:

case 5:

case 6: System.out.println("夏天-夏日炎炎夏雨雨人-游泳吃雪糕");break;

case 7:

case 8:

case 9: System.out.println("秋天-秋高气爽秋风落叶- 秋收送秋波");break;

case 10:

case 11:

case 12: System.out.println("冬天-寒冬腊月白雪皑皑-滑雪溜冰");break;

default: System.out.println("您的输入有误");

}

}

}

3.判断一个数是否是素数。

public class TestPrime {

public static void main(String[] args) {

// 输入一个数

Scanner input = new Scanner(System.in);

System.out.println("请输入一个数:");

int n = input.nextInt();

// 判断是否是素数

boolean flag = true;

if (n == 1)

flag = false;

else {

for (int i = 2; i < n; i++) {

if (n % i== 0) {

flag = false;

break;

}

}

}

// 输出结果

if (flag) {

System.out.println(n + "是素数");

} else {

System.out.println(n + "不是素数");

}

}

}

4.把100~150之间不能被3整除的数输出。

public class Test4{

public static void main(String [] args){

System.out.println("方法1");

for(int i=100;i<=150;i++){

if(i%3!=0){

System.out.print(i+" ");

}

}

System.out.println("\n方法2");

for(int i=100;i<=150;i++){

if(i%3==0){

continue;

}

System.out.print(i+" ");

}

}

}

5.从键盘输入某个十进制小数,转换成对应的二进制小数并输出。

public class Test5{

public static void main(String [] args){

//给定一个十进制小数

double d = 0.666;

//转换

double mul = d;

String str = "0.";

//定义一个计数器

int count=0;

do{

//乘以2得到积

double result = mul*2;//1.250

//从积中取出整数部分作为二进制位

int i = (int)result;

str = str + i;

//计数

count++;

//判断是否够7位

if(count==7){

break;

}

//从积中取出小数部分作为下一次的乘数

mul= result-i;

}while(mul!=0); //判断乘数是否为0

//输出十进制小数和二进制小数

System.out.println(d+"---->"+str);

}

}

java_循环语句

Java 的循环语句有for,while 和 do-while 。这些语句创造了我们通常所称的循环(loops)。你可能知道,一个循环重复执行同一套指令直到一个结束条件出现。你将看到,Java 有 Java 的循环语句有for,while 和 do-while 。这些语句创造了我们通常所称的循环(loops)。你可能知道,一个循环重复执行同一套指令直到一个结束条件出现。你将看到,Java 有适合任何编程所需要的循环结构。 5.2.1 while 语句 while 语句是Java 最基本的循环语句。当它的控制表达式是真时,while 语句重复执行一个语句或语句块。它的通用格式如下: while(condition) { // body of loop } 条件condition 可以是任何布尔表达式。只要条件表达式为真,循环体就被执行。当条件condition 为假时,程序控制就传递到循环后面紧跟的语句行。如果只有单个语句需要重复,大括号是不必要的。 下面的while 循环从10开始进行减计数,打印出10行“tick”。 // Demonstrate the while loop. class While { public static void main(String args[]) { int n = 10; while(n > 0) { System.out.println("tick " + n); n--; } } } 当你运行这个程序,它将“tick”10次: tick 10 tick 9 tick 8 tick 7 tick 6

tick 5 tick 4 tick 3 tick 2 tick 1 因为while 语句在循环一开始就计算条件表达式,若开始时条件为假,则循环体一次也不会执行。例如,下面的程序中,对println( ) 的调用从未被执行过: int a = 10, b = 20; while(a > b) System.out.println("This will not be displayed"); while 循环(或Java 的其他任何循环)的循环体可以为空。这是因为一个空语句(null statement) (仅由一个分号组成的语句)在Java 的语法上是合法的。例如,下面的程序: // The target of a loop can be empty. class NoBody { public static void main(String args[]) { int i, j; i = 100; j = 200; // find midpoint between i and j while(++i < --j) ; // no body in this loop System.out.println("Midpoint is " + i); } } 该程序找出变量i和变量j的中间点。它产生的输出如下: Midpoint is 150 该程序中的while 循环是这样执行的。值i自增,而值j自减,然后比较这两个值。如果新的值i仍比新的值j小,则进行循环。如果i等于或大于j,则循环停止。在退出循环前,i

c语言循环语句和循环控制例题解析

一、循环控制 (一)、break语句 break语句通常用在循环语句和开关语句中。当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则将成为一个死循环而无法退出。break在switch中的用法已在前面介绍开关语句时的例子中碰到,这里不再举例。 当break语句用于do-while、for、while循环语句中时,可使程序终止循环而执行循环后面的语句,通常break语句总是与if语句联在一起。即满足条件时便跳出循环。 例如: int main(int argc, char *argv[]) { int sn=0,i; for(i=1;i<=100;i++) { if(i==51) break; /*如果i等于51,则跳出循环*/ sn+=i; /*1+2+……+50*/ } printf(%d\n,sn); } 可以看出,最终的结果是1+2+……+50。因为在i等于51的时候,就跳出循环了。自己写写怎样在while和do--while循环中增加break语句。 注意: 1. break语句对if-else的条件语句不起作用。 2. 在多层循环中,一个break语句只向外跳一层。 例如: int main(int argc, char *argv[]) { int i,j; printf(i j\n); for(i=0;i<2;i++) for(j=0;j<3;j++) { if(j==2) break; printf(%d %d\n,i,j); } } 输出结果为: i j 0 0 0 1 1 0 1 1 当i==0,j==2时,执行break语句,跳出到外层的循环,i变为1。 (二)、continue语句

VB-条件语句-循环语句练习题

VB条件语句和循环语句 测试习题(满分100分) 班级姓名 一、根据程序写运行结果 1.写出下列程序的运行结果。(5分) Private sub command1_click X=VAL(text1.text) IF X<0 THEN Y=ABS(X) ELSE Y= -X END IF PRINT "Y=";Y End sub 运行结果: (1)在text1中输入99 输出 (2)在text1中输入-23 输出 2. 写出下列程序的运行结果。(5分) Private sub command1_click N=1 FOR X=3 TO 10 STEP 3 N=N*2 NEXT X PRINT "N=";N End sub 运行结果: 3.写出下列程序的运行结果。(5分) Private sub command1_click S=0 FOR X=10 TO 1 STEP 4 S=S+X NEXT X PRINT " S=";S End sub(5分) 运行结果: 4.写出下列程序运行结果。 (5分) Private sub command1_click FOR I= 1 TO 5 step 2 PRINT I, NEXT I End sub 运行结果: 5. 写出下列程序的运行结果。(5分) Private sub command1_click X=VAL(text1.text) IF X/2=Int(X/2) THEN S=X+1 ELSE S=X-1 END IF PRINT "S=";S End sub 若在text1中输入以下数字,运行结果: (1)99 (2)98 二、根据题意,完善下列程序。(每空5分) 1.请设计一个程序,将从键盘上任意输入的两个数中最大的那个选出来。 Private sub command1_click A=VAL(text1.text) B=VAL(text2.text) IF A>B THEN MAX=________ ELSE MAX= ENDIF PRINT "MAX=";MAX End sub 2.求和S=1+3+5+7+…+99 Private sub command1_click S=0 FOR I=1 TO 99 STEP S=________ NEXT I PRINT “S=”;S End sub 3.完善下列程序,使其能求出 2+4+6+……+100之和。 Private sub command1_click FOR I =____ TO 100 STEP _____ S= S+I ______ I PRINT S End sub

作业2-3:Java 语句控制

第3章控制语句 学习目标 ?能够使用if和if…else选择语句来选择各种动作 ?能够使用for循环结构来重复地执行程序中的语句 ?能够使用do…while循环和while循环语句重复地执行程序中的语句 ?能够使用break和continue程序控制语句 3.1 实验前检查 在学完《Java语言程序设计》的第3章后,请回答以下问题。这些问题旨在检验和巩固你对关键概念的理解。既可以在实验课程之前,也可以在实验课程期间完成。 3.1.1 选择题: 1.下列语句序列执行后,m 的值是( C )。 int a=10, b=3, m=5; if( a==b ) m+=a; else m=++a*m; A) 15 B) 50 C) 55 D) 5 2.下列语句序列执行后,k 的值是( B )。 int i=4,j=5,k=9,m=5; if(i>j||m0; i-=2 ) j*=i; A) 15 B) 1 C) 60 D) 0 6.以下for循环的执行次数是(B )。 for(int x=0;(x==0)&(x<4);x++); A)无限次B)一次C)执行4次D)执行3次 7.下列语句序列执行后,j 的值是( D )。 int j=2; for( int i=7; i>0; i-=2 ) j*=2;

5条件语句和循环语句

第二、三课时 1.2.2-1.2.3条件语句和循环语句 教学目标: 知识与技能 (1)正确理解条件语句和循环语句的概念,并掌握其结构的区别与联系。 (2)会应用条件语句和循环语句编写程序。 过程与方法 经历对现实生活情境的探究,认识到应用计算机解决数学问题方便简捷,促进发展学生逻辑思维能力 情感态度与价值观 了解条件语句在程序中起判断转折作用,在解决实际问题中起决定作用。深刻体会到循环语句在解决大量重复问题中起重要作用。减少大量繁琐的计算。通过本小节内容的学习,有益于我们养成严谨的数学思维以及正确处理问题的能力。 重点与难点 重点:条件语句和循环语句的步骤、结构及功能。 难点:会编写程序中的条件语句和循环语句。 学法与教学用具 计算机、图形计算器 教学设想

【创设情境】 试求自然数1+2+3+……+99+100的和。 显然大家都能准确地口算出它的答案:5050。而能不能将这项计算工作交给计算机来完成呢?而要编程,以我们前面所学的输入、输出语句和赋值语句还不能满足“我们日益增长的物质需要”,因此,还需要进一步学习基本算法语句中的另外两种:条件语句和循环语句(板出课题) 【探究新知】 (一)条件语句 算法中的条件结构是由条件语句来表达的,是处理条件分支逻辑结构的算法语句。它的一般格式是:(IF-THEN-ELSE 格式) 当计算机执行上述语句时,首先对IF 后的条件进行判断,如果条件符合,就执行THEN 后的语句1,否则执行ELSE 后的语句2。其对应的程序框图为:(如上右图)

在某些情况下,也可以只使用IF-THEN 语句:(即IF-THEN 格式) 计算机执行这种形式的条件语句时,也是首先对IF 后的条件进行判断,如果条件符合,就执行THEN 后的语句,如果条件不符合,则直接结束该条件语句,转而执行其他语句。其对应的程序框图为:(如上右图) 条件语句的作用:在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去。需要计算机按条件进行分析、比较、判断,并按判断后的不同情况进行不同的处理。 【例题精析】 〖例1〗:编写程序,输入一元二次方程20ax bx c ++=的系数,输出它的实数根。 分析:先把解决问题的思路用程序框图表示出来,然后再根据程序框图给 出的算法步骤,逐步把算法用对应的程序语句表达出来。 IF 条件 THEN 语句

条件语句、循环语句

1.2.2-1.2.3条件语句和循环语句(第二、三课时) 教学目标: 知识与技能 (1)正确理解条件语句和循环语句的概念,并掌握其结构的区别与联系。 (2)会应用条件语句和循环语句编写程序。 过程与方法 经历对现实生活情境的探究,认识到应用计算机解决数学问题方便简捷,促进发展学生逻辑思维能力 情感态度与价值观 了解条件语句在程序中起判断转折作用,在解决实际问题中起决定作用。深刻体会到循环语句在解决大量重复问题中起重要作用。减少大量繁琐的计算。通过本小节内容的学习,有益于我们养成严谨的数学思维以及正确处理问题的能力。 重点与难点 重点:条件语句和循环语句的步骤、结构及功能。 难点:会编写程序中的条件语句和循环语句。 学法与教学用具 计算机、图形计算器 教学设想 【创设情境】 试求自然数1+2+3+……+99+100的和。

显然大家都能准确地口算出它的答案:5050。而能不能将这项计算工作交给计算机来完成呢?而要编程,以我们前面所学的输入、输出语句和赋值语句还不能满足“我们日益增长的物质需要”,因此,还需要进一步学习基本算法语句中的另外两种:条件语句和循环语句。 【探究新知】 (一)条件语句 算法中的条件结构是由条件语句来表达的,是处理条件分支逻辑结构的算法语句。它的一般格式是:(IF -THEN -ELSE 格式) 当计算机执行上述语句时,首先对IF 后的条件进行判断,如果条件符合,就执行THEN 后的语句1,否则执行ELSE 后的

语句2。其对应的程序框图为:(如上右图) 在某些情况下,也可以只使用IF -THEN 语句:(即 IF -THEN 格式) 计算机执行这种形式的条件语句时,也是首先对IF 后的条件进行判断,如果条件符合,就执行THEN 后的语句,如果条件不符合,则直接结束该条件语句,转而执行其他语句。其对应的程序框图为:(如上右图) 条件语句的作用:在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去。需要计算机按条件进行分析、比较、判断,并按判断后的不同情况进行不同的处理。 【例题精析】 〖例1〗:编写程序,输入一元二次方程20ax bx c ++=的系数,输 IF 条件 THEN 语句 END IF

6、条件语句和循环语句

6、条件语句和循环语句 学习目标 1.正确理解条件语句和循环语句的概念,并掌握其结构的区别与联系。 2.会应用条件语句和循环语句编写程序。 3.培养学生形成严谨的数学思维以及正确处理问题的能力。 学习过程 一、课前准备 复习:回顾三种基本算法语句。 引入:顺序结构的框图可以用输入语句,输出语句,赋值语句来表示,条件结构、循环结构的语句要转化成计算机理解的语言,我们必须学习条件语句、循环语句. 二、新课导学 探究:条件语句和循环语句 (一)条件语句 条件语句的一般格式是: . 当计算机执行上述语句时,首先对IF 后的条件进行判断,如果条件符合,就执行THEN 后的语句1,否则执行ELSE 后的语句2。 在某些情况下,也可以只使用 IF-THEN 语句:(即 ) 计算机执行这种形式的条件语句时,也是首先对IF 后的条件进行判断,如果条件符合,就执行THEN 后的语句,如果条件不符合,则直接结束该条件语句,转而执行其他语句。 (二)循环语句 满足条件? 语句1 语句2 是 否 IF 条件 THEN 语句1 ELSE 语句2 END IF IF 条件 THEN 语句 END IF

算法中的循环结构是由循环语句来实现的。对应于程序框图中的两种循环结构,一般程序设计语言中也有 和 两种语句结构。即WHILE 语句和UNTIL 语句。 (1)WHILE 语句的一般格式是: (2)UNTIL 语句的一般格式是: 思考:你觉得WHILE 型语句与UNTIL 型语句之间有什么区别呢? 三、典型例题 例1 编写程序,输入一元二次方程2 0ax bx c ++=的系数,输出它的实数根。 例2 编写程序,计算自然数1+2+3+……+99+100的和。 WHILE 条件 循环体 WEND 满足条件? 循环体 是 否 DO 循环体 LOOP UNTIL 条件

java循环结构while基础入门

1 while循环的基本格式 /* while循环的基本格式: while(判断条件语句) { 循环体语句; } 扩展格式: 初始化语句; while(判断条件语句) { 循环体语句; 控制条件语句; } 通过这个格式,我们就可以看到其实和for循环是差不多的。 for(初始化语句;判断条件语句;控制条件语句) { 循环体语句; } */ class WhileDemo { public static void main(String[] args) { //输出10次"HelloWorld" //for语句版 for(int x=0; x<10; x++) {

System.out.println("HelloWorld"); } System.out.println("--------------"); //while语句版 int x=0; while(x<10) { System.out.println("HelloWorld"); x++; } } } 2 while循环的实现 /* 练习:用while循环实现 左边:求出1-100之和 右边:统计水仙花数有多少个 初始化语句; while(判断条件语句) { 循环体语句; 控制条件语句; } for(初始化语句;判断条件语句;控制条件语句) {

循环体语句; } */ class WhileDemo2 { public static void main(String[] args) { //求出1-100之和 //for语句版本 int sum = 0; for(int x=1; x<=100; x++) { sum+=x; } System.out.println("sum:"+sum); System.out.println("--------"); //while语句版本 int sum2 = 0; int y=1; while(y<=100) { sum2+=y; y++; } System.out.println("sum2:"+sum2); System.out.println("--------"); } }

C语言练习2(选择和循环结构)

C语言(分支和循环结构) 一、选择题 1.以下程序输出结果是( ) main() { int m=5; if(m++>5) printf("%d\n",m); else printf("%d\n",m--);} A)7 B)6 C)5 D)4 2以下程序的输出结果为( ) # include main ( ) { int i=0, j=0, a=6; if ((++i>0)&&(++j>0)) a++; printf ("i=%d, j=%d, a=%d\n", i,j,a);} A) i=0, j=0, a=6 B) i=1, j=1, a=7 C) i=1, j=0, a=7 D) i=0, j=1, a=7 3有如下程序 main() { int a=2,b=-1,c=2; if(a

4若i为int型,且有程序如下,则输出结果是( ) i=111; if(i%3==0) printf("####"); printf("****"); A) #### B) **** C) ####**** D) 无输出结果 5若运行时x=12,则运行结果为( ) {int x, y; scanf("%d", &x); y=x>12 ? x+10:x-12; printf("%d\n", y);} A) 0 B) 22 C) 12 D) 10 6以下程序的输出结果是( ) main() { int i=0, j=0, k=6; if ((++i>0)||(++j>0)) k++; printf("%d, %d, %d\n", i, j, k); } A) 0, 0, 6 B) 1, 0, 7 C) 1, 1, 7 D) 0, 1, 7 7若变量都已正确说明,则以下程序段输出为( ) int a=1,b=2,c=3; if(a>b) a=b; b=c; c=a; printf("a=%d b=%d c=%d\n",a,b,c);

实验一 Java基本数据类型与控制语句

实验一 Java基本数据类型与控制语句 【目的】 ①掌握char型数据和int型数据之间的相互转换,同时了解unicode字符表; ②掌握使用if…else if多分支语句; ③使用if…else分支和while循环语句解决问题。 【内容】 1.猜数字游戏。 ?实验要求: 编写一个Java应用程序,实现下列功能: 1)程序随机分配给客户一个1—100之间的整数 2)用户在输入对话框中输入自己的猜测 3)程序返回提示信息,提示信息分别是:“猜大了”、“猜小了”和“猜对 了”。 4)用户可根据提示信息再次输入猜测,直到提示信息是“猜对了”。 ?程序运行效果 ? ? ?程序模板: GuessNumber.java import javax.swing.JOptionPane; public class GuessNumber

{ public static void main (String args[ ]) { System.out.println("给你一个1至100之间的整数,请猜测这个数"); int realNumber=(int)(Math.random()*100)+1; int yourGuess=0; String str=JOptionPane.showInputDialog("输入您的猜测:"); yourGuess=Integer.parseInt(str); while(【代码1】) //循环条件 { if(【代码2】) //条件代码 { str=JOptionPane.showInputDialog("猜大了,再输入你的猜测:"); yourGuess=Integer.parseInt(str); } else if(【代码3】) //条件代码 { str=JOptionPane.showInputDialog("猜小了,再输入你的猜测:"); yourGuess=Integer.parseInt(str); } } System.out.println("猜对了!"); } } 添加代码后的程序: import javax.swing.JOptionPane; public class GuessNumber { public static void main (String args[ ]) { System.out.println("给你一个1至100之间的整数,请猜测这个数"); int realNumber=(int)(Math.random()*100)+1; int yourGuess=0; String str=JOptionPane.showInputDialog("输入您的猜测:"); yourGuess=Integer.parseInt(str); while(yourGuess<=100) //循环条件 { if(yourGuess> realNumber) //条件代码 { str=JOptionPane.showInputDialog("猜大了,再输入你的猜测:"); yourGuess=Integer.parseInt(str); } else if(yourGuess< realNumber) //条件代码

循环语句习题选

循环语句习题选 1. 一个自然数与3的和是5的倍数,与3的差是6的倍数,这个自然数最小是几? [ 27 ] 2. 在400--500之间求一个数,它被2除余1,被5除余3,被9除余1,这个数是多少? [ 433 ] 3. 一些四位数,百位数字都是3,十位数字都是6,并且它们既能被2整除,又能被3整除,求这样的四位数中最大的和最小的两数各是几? [ 9366, 1362 ] 4. 编程求一个四位自然数ABCD,它乘以A后变成DCBA. [ 共10个] 5. 编程求出满足以下条件的三位数:它除以11所得的商等于它各位数字之和. [ 198 ] 6. 由计算机产生五个互不相同的19到87之间的随机整数(包括19,不包括87),从中找出所有的三个数之和能被3整除的数组,并按如下格式打印出来. 例如: 42 24 34 51 52 42 + 24 + 51 = 117 = 3 * 39 [ 87年北京市小学组初赛] 7. 某数被80除所得的商,不但是7的倍数,而且用2,3,4,5,6去除余数都是1,求这个自然数. [ 24080 ] 8. 有一种最简真分数,它们的分子与分母的乘积都是140,把所有这样的真分数从小到大打印出来. [ 1/140 ; 4/35 ; 5/28 ; 7/20 ] 9. 求把2/7化为小数后,小数点后面1001位数字总和是多少? [ 4505 ] 10. 一个五位数,若在它的后面写上一个7,得到一个六位数A,若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此五位数. [ 14285 ] 11. 有一个六位数,其个位数字是7,现将个位数字移到首位,而其余各位数字不变,均后退一位,得到一个新的六位数,如果新的六位数是原六位数的四倍,求原来的六位数. [179487 ] 12.一个自然数的个位数字是6,如果把这个位数字移到首位,所得到的数是原数的4倍,求这个自然数. [ 153846 ] 13. 某数的末位数字是2,将2移到首位,所得到的新数正好是原数的2倍,求满足条件的最小数. [ 105263157894736842 ] 14. 有一个六位数,第一位是1,如果把它移到个位,新的六位数正好是原数的三倍,求原来的六位数. [ 142857 ] 15. 已知一个正整数的个位数字是7,将7移到该数字的首位,其他数字顺序不变, 则所得到的新数恰好是原数的7倍,编程找出满足上述要求的最小的自然数. [ 1014492753623188405797 ] 16. 一辆以固定速度行驶得汽车,司机从里程表上看到的数字是一个回文数

简单的C语言选择与循环结构10个编程练习题.

简单的C语言选择与循环结构10个编程练习题 1、以下程序的输出结果是___________________: # include void main(){ int k; for (k=2;k<6;k++,k++) printf(“##%d”,k); } 2、以下程序的输出结果是___________________: # include void main(){ int y=9; for( ; y>4 ; y- -) if (y % 3 == 0) printf(“%d”,- -y); } 3、以下程序的输出结果是___________________: #include main( ) { char c1, c2; for(c1=’0’,c2=’9’;c1

1,(x>0) 6.用if语句编程,从键盘输入一个x,计算y值 y= 0,(x=0)。 -1,(x<0) 7、求sum=52+72+92+……+152 8、求sum=1/5+1/6+1/7+1/8+…+1/15 9、编写程序(提示字符变量ch从’C’到字符’N’),输出CDEFGHIJKLMN 10、打印九九表(提示:用双重循环,关键代码:printf("%d*%d=%-d",i,j,i*j);/*-3d表示左对齐,占3位*/): 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 …… 9*1=9 9*2=18 ………………9*9=81

实验 2 Java基本数据类型与控制语句

实验 2 Java基本数据类型与控制语句 一、实验目的 1.了解Java 的数据类型 2.掌握各种变量的声明方式。 3.理解运算符的优先级。 4.掌握Java 基本数据类型、运算符与表达式。 5.理解Java 程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。 6.通过以上内容,掌握Java 语言的编程规则。 二、实验要求 1. 编写一个声明Java 不同数据类型变量的程序。 2. 编写一个使用运算符、表达式、变量的程序。 3. 编写一个使用Java 数组的的程序。 4. 编写表达式语句、复合语句的程序。 5. 编写使用不同选择结构的程序。 6. 编写使用不同循环结构结构的程序。 三、实验内容 (一)声明不同数据类型的变量 1.编写声明不同数据类型变量的程序文件KY2_1.java,源代码如下。 public class KY2_1 { public static void main(String args[]) { byte b=0x55; short s=0x55ff; int i=1000000; long l=0xffffL; char c='a'; float f=0.23F; double d=0.7E-3; boolean B=true; String S="这是字符串类数据类型"; System.out.println("字节型变量b = "+b); System.out.println("短整型变量s = "+s);

System.out.println(" 整型变量i = "+i); System.out.println("长整型变量l = "+l); System.out.println("字符型变量c = "+c); System.out.println("浮点型变量f = "+f); System.out.println("双精度变量d = "+d); System.out.println("布尔型变量B = "+B); System.out.println("字符串类对象S = "+S); } } 2.编译并运行该程序 (二)了解变量的使用范围 1.建立KY2_2.java 文件,通过本程序了解变量的使用范围,源代码如下。 public class KY2_2 { static int i=10; public static void main(String args[]) { { int k=10; System.out.println("i="+i); System.out.println("k="+k); } System.out.println("i="+i); System.out.println("k="+k); //编译时将出错,已出k 的使用范围 } } 2.编译KY2_2.java 此时会出现错误提示。因为变量k 在方法块中声明,在方法块之外它是不存在的,所以编译时会出错。 3.修改上面的程序。 4.成功运行该程序。 思考:KY2_2.java 程序说明了什么问题? (三)使用关系运算符和逻辑运算符 1.建立使用关系运算符和逻辑运算符的程序文件,源代码如下。 class KY2_3 { public static void main(String args[]) { int a=25, b=20, e=3, f=0; boolean d=a

C语言习题:顺序、选择、循环

顺序结构程序设计 2.3.1 要点导读 () 与scanf()语句。 printf() 与scanf()语句是最通用的输入输出函数,它们可以在程序设计者的控制下以各种格式分别实现数据的输出和输入操作。它们位于库文件中。 2.字符数据的输入输出。 最简单的字符输入输出函数是getchar()和putchar()。两者分别从键盘读一个字符或向显示屏写一个字符。 2.3.2 经典例题分析 1.下列程序运行后输出的结果是。 #include <> void main() 、 { int a=0,b=0; a=10; b=20; printf(“a+b=%d”,a+b); } 分析:printf( )是输出函数,它的括号内由两部分组成: 1)控制字符串,是用双引号括起来的字符串,它包括两种信息: (1) 格式说明。由”%”和格式字符组成,如:%d、%f、%c等。它的作用是将输出 的数据转换成指定的格式输出。 (2) 普通字符。需要原样输出的字符。 - 2)”输出表列”是需要输出的一些数据,可以是表达式。 题目中a的值是10,b的值是20,在 printf(“a+b=%d”,a+b); 格式说明输出表列 中,”a+b= “是普通字符,需原样输出。输出表列是一个表达式,它的结果以整型输出。 答案:a+b=30。 2.下列程序运行后输出的结果是。

#include <> void main() { int a=732; ) printf(“%d\n”,a); printf(“%2d\n”,a); printf(“%10d\n”,a); printf(“%-10d\n”,a); } 分析:d格式符,用来输出十进制整数。其中%d,按整型数据的实际长度输出。%md,m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。 printf(“%d\n”,a);把a的值按原样输出:732。printf(“%2d\n”,a);结果占2列,但732占3列大于2列,所以按实际位数输出:732。printf(%10d\n”,a);结果占10列,但732占3列小于10列,所以左端补7个空格。printf(“%-10d\n”,a); 结果占10列,“-”表示把数值放到左端,732占3列小于10列,所以右端补7个空格。 答案:732 732 □□□□□□□732 /*□表示空格*/ , 732□□□□□□□ 3.已知char a=‘\103’;则语句printf(“%3d”,a);执行后的输出结果为(□表示空格)。 A)□67B)’c’C)67□D)103 分析:’\103’是一个转义字符,表示一个八进制数所代表的字符,转换为十进制为67。printf(“%3d”,a);把’\103’转换为十进制数输出,结果占3列。但67占2列,小于要求的3列,所以左补空格,即□67。 答案:C。 4.下列程序运行后结果是。 #include <> #define a void main() { printf(“%f\n”,a); @ printf(“%e\n”,a); printf(“%4.2f\n”,a); printf(“%3.1f\n”,a); printf(“%10.3f\n”,a); printf(“%-10.3f\n”,a); } 分析:f格式符,用来输出实数,以小数形式输出,小数点后输出6位。所以printf(“%f\n”,a);输出结果为。 %是指,要输出的数占m列,同时小数点保留n位(四舍五入),如果输出的数大于m,

FOR循环语句的翻译程序设计(简单优先法、三地址码)JAVA资料

学号:0121210340527 课内实践报告 课程名称编译原理 题目FOR循环语句的翻译程序设计(简 单优先法、输出三地址码) 学院计算机科学与技术 专业计算机科学与技术 班级1201 姓名李潇颖 指导教师林泓 2014 年12 月9 日

课内实践任务书 学生姓名:李潇颖专业班级:计算机1201班 指导教师:林泓工作单位:计算机科学与技术学院 题目: FOR循环语句的翻译程序设计(简单优先法、输出三地址码)初始条件: 理论:学完编译课程,掌握一种计算机高级语言的使用。 实践:计算机实验室提供计算机及软件环境。如果自己有计算机可以在其上进行设计。 要求完成的主要任务:(包括课内实践工作量及其技术要求,以及说明书撰写等具体 要求) (1)写出符合给定的语法分析方法的文法及属性文法。 (2)完成题目要求的中间代码三地址码的描述。 (3)写出给定的语法分析方法的思想,完成语法分析和语义分析程序设计。 (4)编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。 (5)设计报告格式按附件要求书写。课内实践报告书正文的内容应包括: 1 系统描述(问题域描述); 2 文法及属性文法的描述; 3 语法分析方法描述及语法分析表设计; 4 按给定的题目给出中间代码形式的描述及中间代码序列的结构设计; 5 编译系统的概要设计; 6 详细的算法描述(流程图或伪代码); 7 软件的测试方法和测试结果; 8 研制报告(研制过程,本设计的评价、特点、不足、收获与体会等); 9 参考文献(按公开发表的规范书写)。 时间安排: 设计安排一周:周1、周2:完成系统分析及设计。 周3、周4:完成程序调试及测试。 周5:撰写课内实践报告。 设计验收安排:设计周的星期五第1节课开始到实验室进行上机验收。 设计报告书收取时间:设计周的次周星期一上午10点。 指导教师签名:年月日 系主任(或责任教师)签名:

选择语句+多重循环语句

选择语句+重循环语句作业 一、填空题 1.Java中有两种类型的选择结构的控制语句,分别是if语句和switch语句。 答:此题考点---选择结构语句 If判断语句和switch选择语句 2.在Java JDK1.7之前,switch只能支持byte、short、char、int或者其对应的封装类 以及Enum类型。在JDK1.7中又加入了String 类型。 答:此题考点----JDK1.7新增功能 Switch语句当中的数据类型,新增了String类型 3.for循环的语法格式是for (表达式1;表达式2;表达式3) {循环体},其中在整个循环 过程中只执行一次的部分是初始化表达式。 答:此题考点----for循环结构执行顺序 for(初始化表达式;循环条件表达式;步进){ 循环体; } 执行顺序:①初始化表达式②循环条件表达式③循环体④步进 执行一次只能是初始化表达式 4.在循环结构中,如果想跳出循环体,结束整个循环结构可以使用break语句。 答:此题考点------break关键字 break关键字------突破,返回 如果是多重循环,则它只能跳出当前循环语句。 5.____continue____语句用在循环语句体中,用于终止某次循环过程,即跳过循环体 中尚未执行的语句,接着进行下一次是否执行循环的判定。即只结束本次循环,而 不是终止整个循环的执行。 答:此题考点-----continue关键字 在循环语句当中,使用continue,结束本次循环,执行下一次循环。 6.使用Math.random( )返回带正号的double值,该值大于等于0.0且小于1.0。使用 该函数生成[30,60]之间的随机整数的语句是(int)( Math.random()*31+30) 。 答:此题考点----随机产生整数数[a,b] 格式如下: (int)(Math.random()*((b-a)+1)+a) []30,60]----(int)(Math.random()*31+30) 二、选择题 1. 以下代码的执行结果是( B )。(选择一项) boolean m = false; if(m = false){ System.out.println("false"); }else{ System.out.println("true"); } A. false B. true C. 编译错误

Java流程控制语句

实验二 Java流程控制语句 一、实验时间和地点 时间:2010年10月18日 地点:电信北楼320判断某年是否为闰年 二、实验内容 1、判断某年月是否为闰年; 2、判断某年月有多少天; 3、有if~else结构对五个数排序; 4、求100~1000内的所有非素数。 三、实验步骤、源程序及实验结果 1、判断某年月是否为闰年 源程序: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class LeapYear { public static void main(String[] args) throws NumberFormatException, IOException { int year; InputStreamReader reader=new InputStreamReader(System.in); BufferedReader input=new BufferedReader(reader); System.out.println("请输入年份:"); year=Integer.parseInt(input.readLine()); if((year%4==0)&&(year%100==0)||(year%400==0)) System.out.println("是闰年!"); else System.out.println("不是闰年!"); } } 运行结果: 2、判断某年月有多少天 源程序: import java.io.BufferedReader; import java.io.IOException;

循环结构程序设计:三种循环语句

一、循环结构(Iteration Structure)的概述 1.目的 为了解决含有重复处理内容的问题,必须采用循环语句(Loop Statement)来编程实现。 2.类型 (1)当型循环结构 (2)直到型循环结构 二、循环语句 1.while语句 ①功能:实现当型循环结构。 ②形式 while(表达式){ 循环体 } ③特点:先判断后执行。 ④举例:(累加和问题)编程计算整数1~100的和。 int i ; //循环变量 int sum = 0 ; //累加和清0 i = 1 ; //循环变量i赋初值 while( i <= 100){ sum = sum + i ; //循环变量累加到sum中 i = i + 1; //改变循环变量i的值 } 2.do-while语句 ①功能:实现直到型循环结构。 ②形式 do{ 循环体

}while(表达式); //注意最后的分号 ③特点:先执行后判断。 ④举例:修改上例。 /*利用do-while语句编程实现整数1~100的和。*/ int i ; //循环变量 int sum = 0 ; //累加和清0 i = 1 ; //循环变量i赋初值 do{ sum = sum + i ; //循环变量累加到sum中 i = i + 1; //改变循环变量i的值 }while(i<=100);//注意最后的分号 3.for语句 ①功能:实现当型循环结构。 ②形式 for(表达式1;表达式2;表达式3){ 循环体 } ③特点:先判断后执行;使用频率最高。 ④举例:修改上例。 /*使用for语句编程计算整数1~100的和。*/ int i ; //循环变量 int sum = 0 ; //累加和清0 for( i = 1 ; i <=100 ; i++ ){//第一个表达式完成循环变量i赋初值;第三个表达式实现改变循环变量i的值 sum = sum + i ; //循环变量累加到sum中 } 4.几种循环语句的比较 ①由于while语句和for语句均实现当型循环结构,两者是完全等价的。 for(表达式1;表达式2;表达式3){

相关文档
最新文档