第4章控制语句练习题答案
- 格式:doc
- 大小:73.50 KB
- 文档页数:10
第4章控制结构习题(含答案及解析)第4章控制结构习题一、选择题。
1.关于程序设计所要求的基本结构,以下选项中描述错误的是( )A)循环结构B)分支结构C)goto 跳转D)顺序结构正确答案: C解析:为了表示更复杂的处理逻辑,在Python程序中存在三种基本结构,它们分别是:顺序结构;分支结构;循环结构。
2.下面代码的输出结果是for s in “HelloWorld”:if s==“W”:continueprint(s,end="")A)HelloB)WorldC)HelloWorldD)Helloorld正确答案: D解析:Python通过保留字for实现“遍历循环”,for语句的循环执行次数是由遍历结构体中元素的个数确定的。
遍历循环可以理解为从要遍历的结构中逐一提取元素,并赋值给循环变量,对于所提取的每个元素执行一次循环体。
Python 提供了两个保留字:break和continue,用来辅助控制循环执行。
continue语句只结束本次循环,而不终止整个循环的执行。
3.关于Python循环结构,以下选项中描述错误的是()A)遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数等。
B)break用来跳出最内层for或者while循环,脱离该循环后程序从循环代码后继续执行C)每个continue语句只有能力跳出当前层次的循环D)Python通过for、while等保留字提供遍历循环和无限循环结构正确答案: C解析:continue用来结束当前当次循环,但不跳出当前循环;每个break语句只有能力跳出当前层次的循环。
4.以下程序的输出结果是:()for i in "CHINA":for k in range(2):print(i, end="")if i == 'N':breakA)CCHHIINNAAB)CCHHIIAAC)CCHHIAAD)CCHHIINAA正确答案: D解析:每个break语句只有能力跳出当前层次的循环。
控制语句的翻译四元式例题及答案
1. 例题:if语句
高级语言代码:
python
if x > 5:
y = x + 10
else:
y = x - 10
翻译四元式:
1: if x > 5 goto 4
2: y = x + 10
3: goto 5
4: y = x - 10
5: (end if)
答案解析:
- 第1行表示条件判断,如果x大于5,则跳转到第4行执行。
- 第2行为if语句为真时的语句,将x加10赋值给y。
- 第3行为跳转到if语句结束位置的标记。
- 第4行为if语句为假时的语句,将x减10赋值给y。
- 第5行为if语句结束位置的标记。
2. 例题:while循环语句
高级语言代码:
python
while x > 0:
y = y + x
x = x - 1
翻译四元式:
1: (start while)
2: if x > 0 goto 4
3: goto 5
4: y = y + x
5: x = x - 1
6: goto 2
7: (end while)
答案解析:
- 第1行为while循环的起始位置。
- 第2行为条件判断,如果x大于0,则跳转到第4行执行循环体内的语句。
- 第3行为否则跳转到while循环结束位置的标记。
- 第4行为循环体内的语句,将y加上x的值。
- 第5行为循环体内的语句,将x减1。
- 第6行为跳转回while循环起始位置的标记。
- 第7行为while循环结束位置的标记。
一、选择题1.下列语句序列执行后,m 的值是int a=10, b=3, m=5;if( a==b ) m+=a; else m=++a*m;A) 15 B) 50 C) 55 D) 52.下列语句序列执行后,k 的值是。
int i=4,j=5,k=9,m=5;if(i>j||m<k) k++; else k--;A) 5 B) 10 C) 8 D) 93.下列语句序列执行后,k 的值是。
int i=10, j=18, k=30;switch( j - i ){ case 8 : k++;case 9 : k+=2;case 10: k+=3;default : k/=j;}A) 31 B) 32 C) 2 D) 334.若a和b均是整型变量并已正确赋值,正确的switch语句是A) switch(a+b); { ... } B) switch( a+b* ) { ...... }C) switch a { ...... } D) switch ( a%b ) { ...... }5.下列语句序列执行后,r 的值是。
char ch='8'; int r=10;switch( ch+1 ){case '7': r=r+3;case '8': r=r+5;case '9': r=r+6; break;default: r=r+8;}A) 13 B) 15 C) 16 D) 186.设int 型变量 a、b,float 型变量 x、y,char 型变量 ch 均已正确定义并赋值,正确的switch语句是。
A) switch (x + y) { . B) switch ( ch + 1 ) { ...... }C) switch ch { ...... } D) switch ( a + b ); { ...... }7.下列语句序列执行后,k 的值是。
第4章C#控制语句一.选择题1.在C#语言中,if语句后面的表达式应该是【】。
A) 逻辑表达式B) 条件表达式C) 关系表达式D) 布尔类型的表达式2.在C#语言中,if语句后面的表达式,不能是【】。
A) 逻辑表达式B) 算数表达式C) 关系表达式D) 布尔类型的表达式3.在C#语言中,switch语句用【】来处理不匹配case语句的值。
A) default B) anyelse C) break D) goto4.下列程序的输出结果是【】。
public static void Main(string[] args){ int x=1,a=0,b=0;switch(x){ case 0: b++; break;case 1: a++; break;case 2: a++; b++; break;}Console.WriteLine(“a={0},b={1}”,a,b);}A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=25.以下叙述正确的是【】。
A) do……while语句构成的循环不能用其他语句构成的循环来代替B) do……while语句构成的循环只能用break语句结束循环C) 用do……while语句构成的循环,在while后的表达式为true时结束循环D) 用do……while语句构成的循环,在while后的表达式应为关系表达式或逻辑表达式6.以下关于for循环的说法不正确的是【】。
A) for循环只能用于循环次数已经确定的情况B) for循环是先判定表达式,后执行循环体C) 在for循环中,可以用break语句跳出循环体D) for循环体语句中,可以包含多条语句,但要用花括号括起来7.以下关于if语句和switch语句的说法,正确的【】。
A) 如果在if语句和switch语句中嵌入break语句,则在程序执行过程中,一旦执行到break语句,就会结束相应的执行,转向执行其后面的语句B) 凡是能够使用if语句的地方就可以使用switch语句,反之亦然C) if语句有3种基本形式:if…、if…else…和if…else if…else…D) if语句是实现“单判断二分支”的选择结构,switch语句是实现“单判断多分支”的选择结构。
一、选择题1.下列语句序列执行后,m 的值是int a=10, b=3, m=5;if( a==b ) m+=a; else m=++a*m;A) 15 B) 50 C) 55 D) 52.下列语句序列执行后,k 的值是。
int i=4,j=5,k=9,m=5;if(i>j||m<k) k++; else k--;A) 5 B) 10 C) 8 D) 93.下列语句序列执行后,k 的值是。
int i=10, j=18, k=30;switch( j - i ){ case 8 : k++;case 9 : k+=2;case 10: k+=3;default : k/=j;}A) 31 B) 32 C) 2 D) 334.若a和b均是整型变量并已正确赋值,正确的switch语句是A) switch(a+b); { ... } B) switch( a+b* ) { ...... }C) switch a { ...... } D) switch ( a%b ) { ...... }5.下列语句序列执行后,r 的值是。
char ch='8'; int r=10;switch( ch+1 ){case '7': r=r+3;case '8': r=r+5;case '9': r=r+6; break;default: r=r+8;}A) 13 B) 15 C) 16 D) 186.设int 型变量 a、b,float 型变量 x、y,char 型变量 ch 均已正确定义并赋值,正确的switch语句是。
A) switch (x + y) { . B) switch ( ch + 1 ) { ...... }C) switch ch { ...... } D) switch ( a + b ); { ...... }7.下列语句序列执行后,k 的值是。
第4章程序的控制结构4.1 程序的基本结构[4.1]: 正确。
[4.2]: 错误。
[4.3]: A[4.4]: B4.2 程序的分支结构[4.5]: 错误。
[4.7]: 错误。
[4.8]: B[4.9]: 输出Grade为D,不符合逻辑。
因为输入满足多分支第一个条件,执行后跳出了整个多分支。
应该将成绩从高到低作为判断条件。
4.3 实例5:身体质量指数BMI[4.10]: 因为没必要,上一个条件的上限恰好是下一个条件的下限,各个区间是相连的。
不存在冲突。
[4.11]: 正确。
这个语句的运算顺序是24<=(28<25), 其中28<25的运算结果为False,然后计算24<=False,相当于计算24<=0,输出False。
[4.12]: 语句换行,表示下一行与上一行是同一行语句。
4.4 程序的循环结构[4.13]: 正确。
[4.14]: 错误。
[4.15]: 错误,死循环在维持系统运行方面有很重要的作用。
[4.16]: D[4.17]: B4.5 模块2:random库的使用[4.18]:(1) for i in range(10):print(randint(0,100) )(2) randrange(1,100,2)(3) s ='abcdefghij'for i in range(4):print(s[randint(0,len(s)-1)])(4) print(['apple', 'pear', 'peach', 'orange'][randint(0, 3)])4.6 实例6:π的计算[4.19]: DARTS = 10000000时,准确率比较高,结果是3.1420104。
[4.20]: 将第11句改为dist <= 2.0,这样无论xy怎样变化,它们的平方和始终小于2,结果也是一样的,虽然是错的。
-数据库原理及应用第二版-第1-4章习题答案-课后习题数据库原理及应用第二版第1-4章习题答案课后习题---1. 第一章习题答案1.1 什么是数据库管理系统(DBMS)?提供三个具体例子。
DBMS是一种软件系统,用于管理和组织大量数据的存储和访问。
具体例子包括MySQL,Oracle和Microsoft SQL Server。
1.2 数据库系统由哪些基本组成部分构成?简要描述每个组成部分的功能。
数据库系统由以下组成部分构成:- 数据库:用于存储和组织数据的集合。
- 数据库管理系统(DBMS):负责管理和操作数据库的软件系统。
- 应用程序:使用数据库中的数据进行特定任务的软件程序。
- 用户:通过应用程序和DBMS与数据库进行交互的人。
1.3 什么是数据库模式(schema)?它包括哪些内容?数据库模式是数据库的逻辑结构和特征的描述。
它包括实体(Entity)、属性(Attribute)、关系(Relationship)以及约束条件等内容。
1.4 什么是数据库实例(instance)?它包括哪些内容?数据库实例是指在内存中运行的数据库系统。
它包括当前数据库中的数据以及与之相关的缓冲区、连接信息和其他控制结构等内容。
1.5 简述数据库管理系统的主要功能。
- 数据定义功能:定义和描述数据库模式。
- 数据操作功能:实现对数据库的增、删、改、查等操作。
- 数据控制功能:管理用户访问权限,并确保数据的完整性和安全性。
- 数据库恢复功能:通过备份和恢复机制保护数据的持久性。
- 并发控制功能:维护多个用户同时访问数据库的一致性和隔离性。
2. 第二章习题答案2.1 数据库系统中的数据模型是什么?它的目的是什么?数据模型是数据库中数据的逻辑表示方式。
它的目的是描述数据之间的关系以及数据的特性和约束条件。
2.2 列举并简要描述常见的数据模型。
- 层次模型:将数据组织成树状结构,通过父节点和子节点之间的关系表示数据之间的层次关系。
第4章 MATLAB程序流程控制习题4一、选择题1.下列关于脚本文件和函数文件的描述中不正确的是()。
AA.函数文件可以在命令行窗口直接运行B.去掉函数文件第一行的定义行可转变成脚本文件C.脚本文件可以调用函数文件D.函数文件中的第一行必须以function开始2.下列程序的输出结果是()。
Dy=10;if y==10y=20;elseif y>0y=30enddisp(y)A.1 B.30 C.10 D.203.有以下语句:a=eye(5);for n=a(2:end,:)for循环的循环次数是()。
CA.3 B.4 C.5 D.104.设有程序段k=10;while kk=k-1end则下面描述中正确的是()。
AA.while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次5.有以下程序段:x=reshape(1:12,3,4);m=0;n=0;for k=1:4if x(:,k)<=6m=m+1;elsen=n+1;endend则m和n的值分别是()。
CA.6 6 B.2 1 C.2 2 D.1 26.调用函数时,如果函数文件名与函数名不一致,则使用()。
A A.函数文件名B.函数名C.函数文件名或函数名均可D.@函数名7.如果有函数声明行为“function [x,y,z]=f1(a,b,c)”,则下述函数调用格式中错误的是()。
BA.x=f1(a,b,c) B.[x,y,z,w]=f1(a,b,c)C.[x,b,z]=f1(a,y,c) D.[a,b]=f1(x,y,z)8.执行语句“fn=@(x) 10*x;”,则fn是()。
AA.匿名函数B.函数句柄C.字符串D.普通函数9.执行下列语句后,变量A的值是()。
D>> f=@(x,y) log(exp(x+y));>> A=f(22,3);A.22,3B.22 C.3 D.2510.程序调试时用于设置断点的函数是()。
《C语言程序设计》课后习题答案高等教育出版社《C语言程序设计》课后习题答案高等教育出版社第一章:C语言概述1. C语言的特点C语言是一种以处理底层任务和系统编程为目标的高级编程语言。
其特点包括语法简洁、执行效率高、可移植性强等。
第二章:C语言基本数据类型1. C语言中的基本数据类型C语言中的基本数据类型包括整型、字符型、浮点型等。
整型可以进一步细分为有符号整型和无符号整型。
第三章:C语言运算符1. C语言中的运算符C语言中常见的运算符包括算术运算符、赋值运算符、关系运算符、逻辑运算符等。
这些运算符用于执行各种数学和逻辑操作。
第四章:C语言控制语句1. C语言中的条件语句C语言提供了if语句和switch语句来实现条件判断。
if语句用于执行基于布尔表达式的条件分支,而switch语句用于根据不同的值执行不同的代码块。
第五章:C语言函数1. C语言中的函数定义和调用函数是C语言中的基本模块,用于封装可重用的代码。
函数定义包括函数返回类型、函数名、参数列表和函数体等部分。
第六章:C语言数组1. C语言中的数组定义和使用数组是一组相同类型的数据元素的集合。
C语言中可以使用数组来存储和操作大量数据。
第七章:C语言指针1. C语言中的指针概念指针是一种变量,它存储了内存地址。
通过指针,可以直接访问和修改对应内存地址中的数据。
第八章:C语言字符串1. C语言中的字符串操作字符串是由一系列字符组成的数据类型。
C语言通过字符数组来表示和操作字符串。
第九章:C语言结构体1. C语言中的结构体定义和使用结构体是一种自定义的复合数据类型,它可以包含多个不同类型的成员变量。
第十章:C语言文件操作1. C语言中的文件读写操作文件操作是一种重要的数据输入和输出方式。
C语言提供了一系列函数来实现文件的读写操作。
总结:通过解答以上习题,我们可以更好地掌握C语言的各个方面,提升我们的编程能力和解决问题的能力。
希望本文对读者有所帮助。
一、选择题1.下列语句序列执行后,m 的值是int a=10, b=3, m=5;if( a==b ) m+=a; else m=++a*m;A) 15 B) 50 C) 55 D) 52.下列语句序列执行后,k 的值是。
int i=4,j=5,k=9,m=5;if(i>j||m<k) k++; else k--;A) 5 B) 10 C) 8 D) 93.下列语句序列执行后,k 的值是。
int i=10, j=18, k=30;switch( j - i ){ case 8 : k++;case 9 : k+=2;case 10: k+=3;default : k/=j;}A) 31 B) 32 C) 2 D) 334.若a和b均是整型变量并已正确赋值,正确的switch 语句是A) switch(a+b); { ... } B) switch( a+b*3.0 ) { ...... }C) switch a { ...... } D) switch ( a%b ) { ...... }5.下列语句序列执行后,r 的值是。
char ch='8'; int r=10;switch( ch+1 ){case '7': r=r+3;case '8': r=r+5;case '9': r=r+6; break;default: r=r+8;}A) 13 B) 15 C) 16 D) 186.设int 型变量a、b,float 型变量x、y,char 型变量ch 均已正确定义并赋值,正确的switch语句是。
A) switch (x + y) { . B) switch ( ch + 1 ) { ...... }C) switch ch { ...... } D) switch ( a + b ); { ...... }7.下列语句序列执行后,k 的值是。
int x=6, y=10, k=5;switch( x%y ){case 0: k=x*y;case 6: k=x/y;case 12: k=x-y;default: k=x*y-x;}A) 60 B) 5 C) 0 D) 548.下列语句序列执行后,r 的值是。
char ch='A'; int r=6;switch( ch+5 ){case 'A': r=r+3;case 'B': r=r+5;case 'C': r-=6; break;default : r/=2;}A) 11 B) 3 C) 2 D) 99.以下for循环的执行次数是。
for(int x=0;(x==0)&(x>4);x++);A)无限次B)一次也不执行C)执行4次D)执行3次10.下列语句序列执行后,j 的值是。
int j=1;for( int i=5; i>0; i-=2 ) j*=i;A) 15 B) 1 C) 60 D) 011.以下for循环的执行次数是。
for(int x=0;(x==0)&(x<4);x++);A)无限次B)一次C)执行4次D)执行3次12.下列语句序列执行后,j 的值是。
int j=2;for( int i=7; i>0; i-=2 ) j*=2;A) 15 B) 1 C) 60 D) 3213.以下由for 语句构成的循环执行的次数是。
for ( int i = 0; true ; i++) ;A)有语法错,不能执行B)无限次C)执行1次D)一次也不执行14.下列语句序列执行后,i 的值是。
int s=1,i=1;while( i<=4 ) {s*=i;i++;}A) 6 B) 4 C) 24 D) 515.下列语句序列执行后,j 的值是。
int j=8, i=6;while( i >4 ) i-=2;- -j;A) 5 B) 6 C) 7 D) 816. 若有循环:int x=5,y=20;do { y-=x; x+=2; }while(x<y);则循环体将被执行。
A) 2次B) 1次C) 0次D) 3次17.以下由do-while语句构成的循环执行的次数是。
int m = 8;do { ++m; } while ( m < 8 );A)一次也不执行B)执行1次C)8次D)有语法错,不能执行18.下列语句序列执行后,i的值是。
int i=10;do { i/=2; } while( i>1 );A) 1 B) 5 C) 2 D) 019.下列语句序列执行后,i的值是。
int i=10;do { i/=2; } while( i--> 1 );A) 1 B) 5 C) 2 D) -1二、程序填空1、下面是一个java应用程序(Application),它的功能是在屏幕上输出26个小写英文字母,其中每个字母相隔一个制表符,请完成程序填空。
public __class___ Class1{public static void main( String args[] ){char c='a';for (int i=1;i<=26;i++){ System.out.print(_c+++_”\t”____); } }}2、下面是一个java应用程序(Application),它的功能是计算s=1+2+3+...+10 ,请完成程序填空。
public __class___ Class1{ public static void main( String args[] ){ int s=0;for (int i=1;i<=10;i++){s+=_i__;}System.out.println("s="+s); }}3、下面是一个java Application 的主类的定义,其功能是输出乘法口诀表第一列,请完成程序填空。
import java.io.*;public class MyClass{public static void main(String[] args){int j=1;for(int i=1; ___i<10____; i++){ System.out.println(i+"*"+j+"="+__i _);}}}三、写程序结果下面的程序的输出结果是什么?public class Mystery {public static void main (String [] args ){ int y=0, x = 1 , total = 0 ;while (x<=10){ y = x*x;System.out.println( y );total += y;System.out.println( “Total is ”+total );x++;}}}1Total is 14Total is 59Total is 14 16Total is 30 25Total is 55 36Total is 91 49Total is 140 64Total is 204 81Total is 285 100Total is 385四、编程题:1、编写一个Java应用程序,用循环结构打印如下的数值列表:N 10*N 100*N 1000*N1 10 100 10002 20 200 20003 30 300 30004 40 400 40005 50 500 5000答案:public class Xiti1 {public static void main(String[] args) {System.out.println("N\t10*N\t100*N\t1000*N");for (int i = 1; i <= 5; i++)System.out.println(i + "\t" + i * 10 + "\t" + i * 100 + "\t" + i * 1000);}}2、用while循环求n2大于12000的最小数n。
答案:public class Xiti2 {public static void main(String[] args){ int n=1;while(n*n<=12000)n++;System.out.println("n2大于12000的最小数为"+n); }}3、打印2到10000的所有素数,每行显示8个素数。
答案:public class Xiti3 {public static void main(String[] args) {int k = 0;int m=0;for (int n = 2; n <= 10000; n++) {m=0;for(int j=1;j<=n;j++)if(n%j==0)m++;if(m==2){System.out.print(n + "\t");k++;if (k%6 == 0)System.out.println();}}}}。