0.0591

五煦查题

快速找到你需要的那道考题与答案

中国大学程序设计基础_13答案(慕课2023完整答案)

77 min read

中国大学程序设计基础_13答案(慕课2023完整答案)

一、中国程序流程图

1、大学答案答案程序设计随堂测验

1、程序下面哪个不是设计算法的特征?
A、抽象性
B、基础确定性
C、慕课可行性
D、完整可行性

2、中国算法的大学答案答案有穷性是指?
A、算法必须包含输出
B、程序算法中每个操作步骤都是设计可执行的
C、算法的基础步骤必须有限
D、以上说法均不正确

3、慕课下面对算法描述正确的完整一项是?
A、算法只能用自然语言来描述
B、中国算法只能用图形方式来描述
C、同一问题的算法不同,结果必须不同
D、同一问题可以有不同的算法

2、程序流程图随堂测验

1、不能描述算法的是( )
A、流程图
B、伪代码
C、数据库
D、自然语言

2、流程图中表示判断框的是( )
A、矩形框
B、菱形框
C、平行四边形框
D、圆角矩形框

3、流程图中表示输入/输出的是( )
A、矩形框
B、菱形框
C、平行四边形框
D、圆角矩形框

4、流程图中表示开始/结束的是( )
A、矩形框
B、菱形框
C、平行四边形框
D、圆角矩形框

3、Java程序构建模块随堂测验

1、Java语言的各种分隔符中,非法的是( )
A、空白符
B、分号
C、逗号
D、问号

2、以下哪个选项是Java源代码的正确扩展名?( )
A、.jav
B、.java
C、.cla
D、.class

3、Java中的程序代码都必须在一个类中定义,类使用( )关键字来定义。
A、class
B、public
C、static
D、void

测验一(程序流程图 全部内容)

1、下面的四段话,其中不是解决问题的算法的是( )。
A、从济南到北京旅游,先坐火车,再坐飞机抵达
B、解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为 1
C、
D、求 1+2+3+4+5 的值,先计算 1+2=3,再由于 3+3=6,6+4=10,10+5=15,最终 结果为 15

2、算法的三种基本结构是( )。
A、顺序结构、选择结构、循环结构
B、顺序结构、流程结构、循环结构
C、顺序结构、分支结构、流程结构
D、流程结构、循环结构、分支结构

3、不能描述算法的是( )。
A、流程图
B、伪代码
C、数据库
D、自然语言

4、流程图中表示输入/输出的是( )。
A、矩形框
B、菱形框
C、平行四边形框
D、椭圆形框

5、( )是计算机能直接识别、理解和执行的语言。
A、汇编语言
B、Java 语言
C、C 语言
D、机器语言

6、人们利用计算机解决问题的基本过程一般有五个步骤,各步骤的先后顺序正确的 是( )。 ①调试运行程序 ②分析问题 ③设计算法 ④问题解决 ⑤编写程序
A、①②③④⑤
B、②④③⑤①
C、④②③⑤①
D、②③⑤①④

7、以下哪个选项是Java源代码的正确扩展名?( )
A、.jav
B、.java
C、.cla
D、.class

8、下述算法最后输出m表示( ) S1 m=a S2 若b<m,则m=b S3 若c<m,则m=c S4 若d<m,则m=d S5 输出m
A、a,b,c,d中最大值
B、a,b,c,d中最小值
C、将a,b,c,d由小到大排序
D、将a,b,c,d由大到小排序

9、键盘输入x应该是( ),在运行下面的算法之后得到输出是16。 输入 x 如果 x<0 则 y=(x+1)*(x+1) 否则 y=(x-1)*(x-1) 输出 y
A、3或-3
B、-5
C、5或-3
D、5或-5

10、Java语言的各种分隔符中,非法的是( )。
A、空白符
B、分号
C、逗号
D、问号

11、下面哪个不是算法的特征?( )
A、抽象性
B、确定性
C、有穷性
D、可行性

12、算法的有穷性是指?( )
A、算法必须包含输出
B、算法中每个操作步骤都是可执行的
C、算法的步骤必须有限
D、以上说法均不正确

13、下面对算法描述正确的一项是( )?
A、算法只能用自然语言来描述
B、算法只能用图形方式来描述
C、同一问题的算法不同,结果必须不同
D、同一问题可以有不同的算法

14、流程图中表示判断框的是( )
A、矩形框
B、菱形框
C、圆形框
D、椭圆形框

15、Java中的程序代码都必须在一个类中定义,类使用( )关键字来定义。
A、class
B、public
C、static
D、void

16、计算机程序就是指计算机如何去解决问题或完成一组可执行指令的过程。( )

17、求解某一类问题的算法是唯一的。( )

18、解决问题的过程就是实现算法的过程。( )

19、算法独立于任何具体的语言,但是 Java 算法只能用 Java 语言来实现。( )

20、程序设计语言的发展经历了机器语言、汇编语言、高级语言的过程。( )

21、算法的每一步操作必须是明确的,不能有歧义或语义模糊。( )

22、算法执行后一定产生确定的结果。( )

23、Java 语言不区分大小写。( )

24、同一问题不同的算法会得到不同的结果。( )

25、算法必须在有限步数的操作之后停止。( )

作业一 程序流程图

1、假设超市购物标价不超过100时按九折付款,如标价超过100元,则超过部分按七折付款,写出超市收款的算法,并画出相应流程图。

二、顺序结构

1、常量和变量随堂测验

1、下面正确的八进制常量是( )。
A、08
B、07
C、7
D、2

2、下面正确的十六进制常量是( )。
A、08
B、0xG
C、0xF
D、16

3、下面的数据类型( )是float型?
A、33.8
B、129a
C、89L
D、8.6F

4、下面变量声明正确的是( )。
A、int 1A;
B、int _A;
C、int public;
D、int #A;

2、数据类型随堂测验

1、下列Java语句中,不正确的一项是( )。
A、int i, j, k = 3;
B、char a, b ='a';
C、float d = 10.0d;
D、float c = 10.0f;

2、下面哪个是int型的取值范围?( )。
A、
B、
C、
D、

3、下面哪个不是Java中正确的字符串( )。
A、"\"\""
B、"Oxccc"
C、"\"\"
D、"\t\t\r\n"

3、类型转换随堂测验

1、下列语句片段中,a3的值为( )。 int a1 = 3; char a2 = '1'; char a3 = (char)(a1 + a2);
A、3
B、1
C、31
D、4

2、以下哪种情况不能实现自动转换( )。
A、byte转int
B、int转byte
C、int转long
D、float转double

3、下列关于自动类型转型的说法中,正确的是( )。
A、char类型数据可以自动转换为任何简单的数据类型的数据;
B、char类型数据只能自动转换为int类型数据;
C、char类型数据不能自动转换boolean类型数据;
D、char类型不能做自动类型转换;

4、运算符和表达式随堂测验

1、下面的代码段中,执行之后i和j的值是( )。 int i = 1; int j; j = i++;
A、1,1
B、1,2
C、2,1
D、2,2

2、设x = 5;则y = x--和y = --x的结果,y分别是( )。
A、5,5
B、4,5
C、5,4
D、4,4

3、下列运算符合法的是( )。
A、+=
B、<>
C、if
D、:=

5、顺序结构编程思想随堂测验

1、下列代码的执行结果是( )。 public class Beirun{ public static void main(String args[]){ System.out.println(5 / 2); } }
A、2.5
B、2.0
C、2.50
D、2

2、下列代码的执行结果是( )。 public class Beirun{ public static void main(String args[]){ float t=9.0f; int q=5; System.out.println((t++) * (--q)); } }
A、40
B、40.0
C、36
D、36.0

测验二(顺序结构 全部内容)

1、下列语句不正确的是( )。
A、float e = 1.1f;
B、char f = 1.1f;
C、double g = 1.1f;
D、byte h = 1;

2、用8位无符号二进制数能表示的最大十进制数为( )。
A、127 B.128 C.255 D.256
B、128
C、255
D、256

3、下列哪项不属于Java语言的基本数据类型( )。
A、int
B、String
C、double
D、boolean

4、表达式:int k5=1-2/5+2,k5的结果是( )。
A、4
B、3
C、5
D、2

5、下列关于整型类型的说法中,正确的是( )。
A、short类型的数据存储顺序先低后高
B、Integer.MAX_VALUE表示整型最大值
C、Long.MIN_VALUE表示整型最大值
D、long类型表示数据范围和int类型一样

6、下列对于>>和>>>操作符描述正确的是( )。
A、当左面的操作数是正数时,>>和>>>结果相同。
B、(-1 >> 1)的结果是0。
C、(-1 >>> 1)的结果是-1。
D、只有在右面的操作数大于等于1时,>>>才会返回负数。

7、_bank能作为标识符的开始。

8、float f = 1.1的书写格式是正确的。

9、Java允许将一个十六进制值赋值给一个long型变量。

10、0xA可以表示一个十六进制数。

11、i++是先取i的值,i再+1。

12、在Java语句中,位运算操作数只能为整型或______数据。

13、main()方法的返回类型是______。

14、下面的代码段中,执行之后i的值是______,j 的值是6。 int i = 5; int j; j = ++i;

三、选择结构

2、条件运算符及运算符的优先级随堂测验

1、以下运算符中哪个优先级别最高( )。
A、算术运算符
B、关系运算符
C、逻辑运算符
D、赋值运算符

2、以下运算符优先级由低到高排序的是( )。
A、=、&&、>、++、*
B、=、&&、>、*、++
C、=、&&、*、>、++
D、=、>、&&、*、++

3、三元条件运算符ex1?ex2:ex3,相当于下面( )语句。
A、if (ex1) ex2; else ex3;
B、if (ex2) ex1; else ex3;
C、if (ex1) ex3; else ex2;
D、if (ex3) ex2; else ex1;

4、多分支if语句和if嵌套语句随堂测验

1、阅读下面代码 if (x == 0) { System.out.println("冠军");} else if (x > -3) { System.out .println("季军");} 若要求打印字符串“季军”,则变量x的取值范围是( )。
A、x<0
B、x==0
C、x>-3 && x!=0
D、x<=-3

2、关于选择结构下列哪个说法正确?( )
A、if语句和else语句必须成对出现
B、if语句可以没有else语句对应
C、一个if语句只能有一个else if语句与之对应
D、else if结构中必须有default语句

3、下面( )是正确的if语句(设int x=1,a=1,b=1;)
A、if (a=b) x++;
B、if (a<=b) x++;
C、if (a-b) x++;
D、if ( x ) x++;

5、switch语句随堂测验

1、下列哪个数据类型不能用于switch语句中( )。
A、char
B、long
C、byte
D、double

2、以下哪个值可以被switch语句接受( )。
A、布尔
B、浮点
C、双精
D、字符

3、若int i=10;执行下列程序后,变量i的正确结果是( )。 switch (i) { case 9: i+=1 ; case 10: i+=1 ; case 11: i+=1 ; default : i+=1 ; }
A、10
B、11
C、12
D、13

测验三(选择结构 全部内容)

1、下列表达式中,不满足“当x的值为偶数时值为真,为奇数时值为假”的要求的是( )。
A、x%2==0
B、!x%2!=0
C、(x/2*2-x)==0
D、!(x%2)

2、能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是( )。
A、(x>=1) && (x<=10) && (x>=200) && (x<=210)
B、(x>=1) | | (x<=10) | | (x>=200) | | (x<=210)
C、(x>=1) && (x<=10) | | (x>=200) && (x<=210)
D、(x>=1) | | (x<=10) && (x>=200) | | (x<=210)

3、Java语言对嵌套if语句的规定是:else总是与( )。
A、其之前最近的if配对
B、第一个if配对
C、缩进位置相同的if配对
D、其之前最近的且尚未配对的if配对

4、下述表达式中,( )可以正确表示x≤0或x≥1的关系。
A、(x>=1) | | (x<=0)
B、x>=1 | x<=0
C、x>=1 && x<=0
D、(x>=1) && (x<=0)

5、下述程序的输出结果是( )。 public static void main(String[] args) { int a = 0, b = 0, c = 0; if (++a > 0 || ++b > 0) ++c; System.out.printf("%d,%d,%d", a, b, c); }
A、0,0,0
B、1,1,1
C、1,0,1
D、0,1,1

6、当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是( )。 if (a < b) if (c < d) x = 1; else if (a < c) if (b < d) x = 2; else x = 3; else x = 6; else x = 7;
A、1
B、2
C、3
D、4

7、在下面的条件语句中(其中S1和S2表示语句),只有一个在功能上与其他三个语句不等价( )。
A、if (a) S1; else S2;
B、if (a==0) S2; else S1;
C、if (a!=0) S1; else S2;
D、if (a==0) S1; else S2;

8、代码:System.out.println((7>5)?6:8); 其运行结果是( )。
A、7
B、5
C、6
D、8

9、if语句中的表达式不限于逻辑表达式,可以是任意的数值类型。

10、switch语句可以用if语句完全代替。

11、switch语句的case表达式必须是常量表达式。

12、if语句,switch语句可以嵌套,而且嵌套的层数没有限制。

13、条件表达式可以取代if语句,或者用if语句取代条件表达式。

14、switch语句的各个case和default的出现次序不影响执行结果。

15、多个case可以执行相同的程序段。

16、switch语句的case分支可以使用{ }复合语句,多个语句序列。

17、Java语言提供三种逻辑运算符,按优先级高低它们分别是&&,||,______。

18、设a=3,b=4,c=5,逻辑表达式 a+b>c && b==c 的值是______。

19、已知A=7.5,B=2,C=3.6,表达式A>B && C>A || A<B && !(C>B)的值是______。

20、若有x=1,y=2,z=3,则表达式(x<y?x:y)==z++的值是______。

四、循环结构

1、while和do…while循环随堂测验

1、下列语句序列执行后,j的值是( )。 int j = 9, i = 6; while(i-- > 3) --j;
A、5
B、6
C、7
D、8

2、下列语句序列执行后,i的值是( )。 int i = 10; do { i /= 2; } while(i > 1);
A、1
B、5
C、2
D、0

3、下面程序运行后输出的结果是( )。 int i = 0, j = 9; do { if(i++ > --j) break; } while(i < 4); System.out.println("i = " + i + " and j = " + j);
A、i = 4 and j = 4
B、i = 5 and j = 5
C、i = 5 and j = 4
D、i = 4 and j = 5

2、for循环随堂测验

1、以下由for语句构成的循环执行的次数是( )。 for(int i = 0; true ; i++);
A、有语法错,不能执行
B、无限次
C、执行1次
D、一次也不执行

2、以下程序运行后输出的结果是( )。 String s = new String("abcdefg"); for(int i = 0; i < s.length(); i += 2){ System.out.print(s.charAt(i)); }
A、aceg
B、ACEG
C、abcdefg
D、abcd

3、以下程序运行后输出的结果是( )。 int count = 1; for(int i = 1; i <= 5; i++){ count += i; } System.out.println(count);
A、5
B、1
C、15
D、16

3、跳转语句随堂测验

1、能从循环语句的循环体中跳出的语句是( )。
A、for语句
B、break语句
C、continue语句
D、while语句

2、以下程序运行后输出的结果是( )。 int i=5; do{ if(i%3==1) if(i%5==2) { System.out.printf("*%d", i); break; } i++; }while(i!=0); System.out.println();
A、*7
B、*3*5
C、*5
D、*2*6

3、在循环执行过程中,希望当某个条件满足时退出循环,使用( )语句。

4、continue语句的作用是( )。

测验四(循环结构 全部内容)

1、以下代码中的循环体将被执行( )。 int x = 5,y = 20; do { y -= x; x += 2; }while(x < y);
A、2次
B、1次
C、0次
D、3次

2、下面哪个for循环是正确的?( )
A、for (i <= 5; i++)
B、for (i = 0; i <= 5; i++)
C、for (i = 0; i <= 5)
D、for i = 1 to 5

3、以下语句中不能构成循环的语句是( )。
A、for语句
B、while语句
C、switch语句
D、do - while语句

4、以下程序运行后输出的结果是( )。 int i=1,sum=0; while(i<=4){ sum=sum+i; i=i+1; } System.out.println(sum);
A、4
B、5
C、10
D、死循环

5、以下程序运行后输出的结果是( )。 int i=1,sum=0; while(i<=4) sum=sum+i; i=i+1; System.out.println(sum);
A、4
B、5
C、10
D、死循环

6、以下程序运行后输出的结果是( )。 int n=9; while(n>6){ n--; System.out.print(n); }
A、987
B、876
C、8765
D、9876

7、若i为整型变量,则以下循环体执行的次数是( )。 for(int i=2;i==0;) System.out.printf("%d",i--);
A、无限次
B、0
C、1
D、2

8、执行语句for(i=1;i++<4;)后,变量i的值是( )。
A、3
B、4
C、5
D、不确定

9、下列语句序列执行后,j 的值是( )。 int j = 1; for( int i = 5; i > 0; i -= 2 ) j *= i;
A、15
B、1
C、60
D、0

10、以下程序运行后输出的结果是( )。 int i=5; do{ if(i%3==1) if(i%5==2) { System.out.printf("*%d", i); break; } i++; }while(i!=0); System.out.println();
A、*7
B、*3*5
C、*5
D、*2*6

11、无论判断条件是否成立,while语句都要执行一次循环体。

12、while语句的执行效率比do...while语句高。

13、for语句可以省略其中某个或者多个表达式,但不能同时省略全部3个表达式。

14、在循环体内使用break语句和continue语句的作用相同。

15、continue语句的作用是:使程序的执行流程跳出包含它的所有循环。

16、在Java中,break语句只能用在循环体内和switch语句体内。

17、while循环和do...while循环除了格式不同外,功能完全相同。

18、do…while语句是先执行循环体,后判断条件表达式是否成立。

19、在省略for语句某个表达式时,如果该表达式后面有分号,分号必须保留。

20、do…while语句构成的循环不能用其他语句构成的循环来代替。

21、在do…while循环中,在while后的表达式应为( )表达式或逻辑表达式。

22、for循环是先判定表达式,后执行( )。

23、do...while循环中,条件表达式为( ),循环结束。

五、数组

2、一维数组的引用随堂测验

1、下面正确的初始化语句是( )。
A、char str[]="hello";
B、char str[100]="hello";
C、char str[]={ 'hello'};
D、char str[]={ 'h','e','l','l','o'};

2、定义了一维int型数组a[10]后,下面错误的引用是( )。
A、a[0]=1;
B、a[10]=2;
C、a[0]=5*2;
D、a[1]=a[2]*a[0];

3、引用数组元素时,数组下标可以是( )。
A、整型常量
B、整型变量
C、整型表达式
D、以上均可

4、下列初始化字符数组的语句中,正确的是( )。
A、char str[5]="hello";
B、char str[]={ 'h','e','l','l','o',''};
C、char str[5]={ "hi"};
D、char str[100]="";

5、二维数组的引用及编程实例随堂测验

1、下面的二维数组初始化语句中,正确的是( )。
A、float b[2][2]={ 0.1,0.2,0.3,0.4};
B、int a[][]={ { 1,2},{ 3,4}};
C、int a[2][]= { { 1,2},{ 3,4}};
D、float a[2][2]=;

2、定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为( )。
A、24
B、25
C、18
D、17

3、下面( )不是创建数组的正确语句。
A、float f[][]=new float[6][6];
B、float f[]=new float[6];
C、float f[][]=new float[][6];
D、float[][] f=new float[6][];

4、下面程序的运行结果是( )。 public static void main(){ int a[][] = { { 1,2,3},{ 4,5,6}} System.out.printf(“%d”,a[1][1]); }
A、3
B、4
C、5
D、6

测验五(数组 全部内容)

1、下面程序的运行结果是( )。 public static void main(String[] args) { int x=30; int[] numbers=new int[x]; x=60; System.out.println(numbers.length); }
A、60
B、20
C、30
D、50

2、关于数组默认值,错误的是( )。
A、char--'\u0000'
B、boolean--true
C、float--0.0f
D、int-- 0

3、下列语句会造成数组new int[10]越界是( )。
A、a[0] += 9;
B、a[9]=10;
C、—a[9]
D、for(int i=0;i<=10;i++) a[i]++;

4、执行完代码"int[] x=new int[25];"后以下( )说明是正确的。
A、x[24]为0
B、x[24]未定义
C、x[25]为0
D、x[0]为空

5、关于char类型的数组,说法正确的是( )。
A、其数组的默认值是'A'
B、可以仅通过数组名来访问数组
C、数组不能转换为字符串
D、可以存储整型数值

6、对于数组a[10],下列表示错误的是( )。
A、a[0]
B、a(0)
C、a[9]
D、a[1]

7、下列数组声明中表示错误的是( )。
A、int[] a;
B、int a[];
C、int[][] a;
D、int[] a[];

8、下面程序的运行结果是( )。 public static void main(String[] args) { char s1[]="ABCDEF".toCharArray(); int i=0; while(s1[i++]!='\0') System.out.println(s1[i++]); }
A、ABCDEF
B、BDF,然后报下标越界错误
C、ABCDE
D、BCDE

9、下标是用于指出数组中某个元素位置的数字。( )

10、一个数组可以存放许多不同类型的数值。( )

11、数组的下标通常是float型。( )

12、数组可以声明为任何数据类型。( )

13、数组由具有一名字和相同类型的一组连续内存单元构成。( )

14、在数组声明中可以用等号及一个逗号分隔的初始值表初始化数组元素,该数组大小只能由用户来决定。( )

15、Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。( )

16、下面这条语句正确吗?( ) double[] myList; myList = { 1.9, 2.9, 3.5, 4.6};

17、Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。( )

18、数组中有length()这个方法,如array.length()表示数组array中元素的个数( )

19、数组的元素通过____来访问。

20、数组复制时,"="将一个数组的____传递给另一个数组。

21、如果把二维数组看成一维数组,那么数组的元素是____数组。

22、数组最小的下标是____。

六、函数

1、函数的声明随堂测验

1、声明一个函数时,需要用到以下哪一个关键字( )。
A、function
B、procedure
C、method
D、以上都不对

2、函数签名是指的( )。
A、函数参数的类型、个数、顺序
B、函数名、函数返回值、函数参数
C、函数参数及返回值
D、函数名及函数参数

3、有如下一段代码: public class ReturnIt{ returnType methodA(byte x, double y){ return x/y*2; } } 在第2行中,方法methodA的有效返回类型returnType应该是( )。
A、int
B、byte
C、short
D、double

4、函数返回值随堂测验

1、Java中main()函数的返回值是什么( )。
A、String
B、int
C、char
D、void

2、Java方法的参数传递对于基本数据类型如int, byte等,参数传递是( )。
A、reference
B、pointer
C、value
D、address

3、函数返回值的类型是由( )决定的。
A、函数定义时指定的类型
B、return语句中的表达式类型
C、调用该函数时的实参的数据类型
D、形参的数据类型

4、return语句( )。
A、只能让函数返回数值
B、函数都必须合有
C、函数中可以有多句return
D、不能用来返回对象

5、递归调用随堂测验

1、一个递归算法必须包括( )。
A、递归部分
B、终止条件和递归部分
C、循环部分
D、终止条件和循环部分

2、递归函数f(n) = f(n - 1) + n(n > 1)的递归出口是( )。
A、f(1)=0
B、f(1)=1
C、f(0)=1
D、f(n)=n

3、递归函数f(n) = f(n - 1) + n(n > 1)的递归体是( )。
A、f(1)=0
B、f(0)=1
C、f(n)=f(n-1)
D、f(n)=n

测验六(函数 全部内容)

1、在调用方法时,若要使方法改变实参的值,可以( )。
A、用基本数据类型作为参数
B、用对象作为参数
C、值传递
D、以上都不对

2、以下代码的输出结果是( )。 public static void main(String[] args) { int a; a = 3; e(a); } static void e(int n) { if (n > 0) { e(--n); System.out.printf("%2d", n); e(--n); } }
A、0 1 2 0
B、0 1 2 1
C、1 2 0 1
D、0 2 1 1

3、下列说法正确的是( )。
A、JAVA程序的main函数必须写在类里面
B、JAVA程序中可以有多个main函数
C、JAVA程序中类名必须与文件名一样
D、JAVA程序的main函数中如果只有一条语句,可以不用{ }括起来

4、下列方法method执行,返回值为( )。 int method() { int num = 10; if (num > 20) return num; num = 30; }
A、10
B、20
C、30
D、编译出错

5、请阅读下面的程序 public class Test { public static void main(String[] args) { for (int x = 0; x < 5; x++) { if (x % 2 == 0) break; System.out.print(x + ""); } } } 下列选项中,( )是程序的运行结果。
A、1 2 3 4 5
B、0 2 4
C、1 3
D、不输出任何内容

6、下面哪个是main()函数的合法参数?( )
A、char args[]
B、char args[][]
C、String args[]
D、String args

7、void的含义( )。
A、方法没有返回值
B、方法体为空
C、没有意义
D、定义方法时必须使用

8、下列说法中错误的是( )。
A、主函数可以分为两部分:主函数首部和主函数体
B、任何非主函数可以调用其他任何非主函数
C、主函数可以调用任何非主函数
D、程序可以从任何非主函数开始执行

9、函数返回值的数据类型取决于主调函数传递过来的实参的数据类型。

10、函数的返回值类型可以定义也可以不定义。

11、当函数中的返回值类型是void时,可以不写return语句。

12、定义一个函数时,其访问修饰符、返回值类型、函数名的顺序可以互换。

13、函数的参数列表中必须定义参数。

14、在函数的定义中,若函数没有参数,则可以省略函数名后的括号。

15、求n!既可以用递归的方式,也可以用循环的方式。

16、函数调用只能出现在表达式语句中。

17、静态成员函数是使用关键字 _____说明的成员函数。

18、下列程序运行的结果是_____。 public class function { public static void main(String[] args) { fun(48); } static void fun(int n) { if(n>10) System.out.print(n); if(n>20) System.out.print(n); if(n>15) System.out.print(n); } }

19、下列程序运行的结果是 _____。 public class function { public static void main(String[] args) { System.out.println(fun(3)); } static int fun(int n) { if(n>2) { return (fun(n-1)+fun(n-2)); }else { return 2; } } }

八、初识面向对象

1、类和对象(1)随堂测验

1、符合对象和类关系的是( )
A、人和老虎
B、书和汽车
C、楼和土地
D、汽车和交通工具

2、关于封装下面介绍错误的是( )
A、封装将变化隔离
B、封装提高重用性
C、封装提高安全性
D、只有被private修饰才叫做封装

2、类和对象(2)随堂测验

1、下面描述函数重写错误的是( )
A、要有子类继承或实现
B、子类方法的权限必须大于等于父类的权限
C、父类中被private权限修饰的方法可以被子类重写
D、子类重写接口中的抽象方法,子类的方法权限必须是public的

2、下列选项中关于Java中super关键字的说法错误的是( )
A、当子父类中成员变量重名的时候,在子类方法中想输出父类成员变量的值,可以用super区分子父类成员变量
B、super语句可以放在构造函数的任意一行
C、子类可以通过super关键字调用父类的方法
D、子类可以通过super关键字调用父类的属性

3、下面对this的作用描述错误的是( )
A、this()语句必须放在构造函数的第一行,根据this后面括号中的参数调用本类其他的构造函数
B、this可以调用本类的一般函数
C、当成员变量和局部变量重名的时候可以用this区分
D、this可以调用父类的一般函数

3、类的继承随堂测验

1、下面描述函数重写错误的是( )
A、要有子类继承或实现
B、子类方法的权限必须大于等于父类的权限
C、父类中被private权限修饰的方法可以被子类重写
D、子类重写接口中的抽象方法,子类的方法权限必须是public的

2、在Java语言中,下列关于类的继承的描述,正确的是( )
A、一个类可以继承多个父类
B、一个类可以具有多个子类
C、子类可以使用父类的所有方法
D、子类一定比父类有更多的成员方法

3、下列选项中关于Java中super关键字的说法错误的是( )
A、当子父类中成员变量重名的时候,在子类方法中想输出父类成员变量的值,可以用super区分子父类成员变量
B、super语句可以放在构造函数的任意一行
C、子类可以通过super关键字调用父类的方法
D、子类可以通过super关键字调用父类的属性

4、抽象类与接口随堂测验

1、在Java中,如果父类中的某些方法不包含任何逻辑,并且需要有子类重写,应该使用( )关键字来声明父类的这些方法。
A、final
B、static
C、abstract
D、void

2、在Java中,已定义了两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的是( )
A、interface A extends B, C
B、interface A implements B, C
C、class A implements B, C
D、class A implements B, implements C

3、在Java中,在定义类时加上修饰符( )可以实现该类不能被实例化。
A、final
B、public
C、private
D、abstract

5、多态随堂测验

1、下面哪个不是面向对象程序设计的主要特征( )。
A、封装
B、继承
C、多态
D、结构

2、在Java中,多态的实现不仅能减少编码的工作量,还能大大提高程序的可维护性及可扩展性,下面( )选项不属于多态的条件。
A、子类重写父类的方法
B、子类重载同一个方法
C、要有继承或实现
D、父类引用指向子类对象

测验八(初识面向对象 全部内容)

1、关于构造函数以下说法错误的是( )。
A、使用new + 构造方法,创建一个新的对象
B、构造方法可以具有返回值
C、构造方法是定义在Java类中的一个用来初始化对象的方法
D、构造方法与类同名

2、在Java中,下面对于构造函数的描述正确的是( )
A、类必须显式定义构造函数
B、构造函数的返回类型是void
C、构造函数和类有相同的名称且不能带任何参数
D、一个类可以定义多个构造函数

3、在Java中,下面关于抽象类的描述不正确的是( )
A、抽象类不可以被实例化
B、如果一个类中有一个方法被声明为抽象的,那么这个类必须是抽象类
C、抽象类中的方法必须都是抽象的
D、声明抽象类必须带有关键字abstract

4、在Java中,下面( )的陈述是正确的。
A、私有方法不能被重写
B、公有方法被重写后的访问修饰符可以变成private
C、静态方法不能被重写
D、一个被重写的方法不能抛出一个基类中不被检查的异常

5、在Java接口中,下列选项里有效的方法声明是( )
A、public void aMethod();
B、private void aMethod();
C、static void aMethod();
D、protected void aMethod();

6、以下关于继承的叙述正确的是( )。
A、类只允许单一继承
B、一个类只能实现一个接口
C、一个类不能同时继承一个类和实现一个接口
D、接口只允许单一继承

7、Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正确的是( )
A、C可以继承B中的公有成员,同样也可以继承A中的公有成员
B、C只继承了B中的成员
C、C只继承了A中的成员
D、C不能继承A或B中的成员

8、以下关于Object类说法错误的是( )
A、一切类都直接或间接继承自Object类
B、接口也继承Object类
C、Object类中定义了toString()方法
D、Object类在java.lang包中

9、下面对static的描述不正确的是( )
A、静态修饰的成员变量和成员方法随着类的加载而加载
B、静态修饰的成员方法可以访问非静态成员变量
C、静态修饰的成员可以被整个类对象所共享
D、静态修饰的成员变量和成员方法随着类的消失而消失

10、下面关于Java接口的说法不正确的是( )。
A、接口中定义的是扩展功能
B、Java接口中可以声明私有成员
C、Java接口不能被实例化
D、接口中可以被多个子类实现,一个类也可以同时实现多个接口

11、Java中一个类只能有一个父类,使用接口可以实现多继承的逻辑。( )

12、拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。( )

13、在定义成员变量时可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化,那么引用类型默认的初始化值为null。( )

14、在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。( )

15、在面向对象概念中,每个对象都是由成员属性和方法两个最基本的部分组成的。( )

16、构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。( )

17、实现一个接口必须实现接口的所有方法。( )

18、重写只有发生在父类与子类之间,而重载可以发生在同一个类中。( )

19、子类将继承父类所有的属性和方法。( )

20、关键字this和super不能用在main()方法中。( )