Matlab第三章程序流程控制课后题题

1、任何复杂的程序都是由顺序结构、选择结构和循环结构这三种基本结构组成的。

  • A.√

  • B.×

  • 正确答案:A你选对了

2、在MATLAB中,程序文件的扩展名为.m,所以程序文件也称为M文件。

  • A.对

  • B.×

  • 正确答案:A你选对了

3、在命令行窗口,既可以直接运行函数文件,也可以以函数调用的方式来调用它。

  • A.√

  • B.×

  • 正确答案:B你选对了

1、在if语句中,当条件为以下表示形式时,表示条件成立的是( )。

  • A.[1, 2; 0, 4]

  • B.[ ]

  • C.[1, 2; 3, 4]

  • D.0

  • 正确答案:C你选对了

2、下列程序的输出结果是(      )。

y=30;

if y==30

    y=y*2;

elseif y>0

    y=10

end

disp(y)

  • A.1

  • B.30

  • C.10

  • D.60

  • 正确答案:D你选对了

3、在多分支if语句中不管有几个分支,程序执行完一个分支后,其余分支将不会再执行,这时整个if语句结束。

  • A.

  • B.

  • 正确答案:A你选对了

1、case结果表为switch表达式的取值,当取值有多个时,用(      )表示。

  • A.结构数据 

  • B.数值数据

  • C.枚举数据  

  • D.单元数据

正确答案:D

2、下列程序的输出结果是(      )。
a=1;
switch a
     case 3|4
          disp('ok')
     case {1,2}
          disp('perfect')
     otherwise
          disp('no')
end

  • A.ok

  • B.perfect

  • C.no

  • D.2

  • 正确答案:A

3、在很多情况下,switch语句和多分支if语句可以相互等价使用。

  • A.√

  • B.×

正确答案:A你选对了

1、以下语句循环(      )次。
for k=2:-2:13
    k
end

  • A.0

  • B.6

  • C.13

  • D.1

  • 正确答案:A你选对了

2、有以下语句:

a=eye(6);
for n=a(3:end,:)
    n
end
for循环的循环次数是(      )。

  • A.3

  • B.4

  • C.5

  • D.6

  • 正确答案:D

3、退出循环之后,k的值为(      )。
for k=1:3:11
end
k

  • A.3

  • B.11

  • C.10

  • D.7

  • 正确答案:C

4、有以下程序:
x=reshape(1:12,3,4);
m=0;
n=0;
for k=1:4
    if x(:,k)<=6
        m=m+1;
    else
        n=n+1;
    end
end
则m和n的值分别是(      )。

  • A.6,6

  • B.2,1 

  • C.2,2

  • D.1,2

  • 正确答案:C

1、设有程序段:
k=10;
while k
    k=k-1
end
则下面描述中正确的是(      )。

  • A.while循环执行10次

  • B.循环是无限循环

  • C.循环体语句一次也不执行

  • D.循环体语句执行一次

  • 正确答案:A你选对了

2、下列程序的输出结果是(      )。
s=0;  
for i=1:10
    if rem(i,2)==0
        continue
    end
    if rem(i,7)==0
        break
    end
    s=s+i;
end
disp(s)

A.3

B.9

C.10

D.7

正确答案:B

3、break语句用来结束本次循环,continue语句用来结束整个循环。

  • A.√

  • B.×

  • 正确答案:B你选对了

1、执行下列命令,描述错误的是(      )。
>> clear
>> fcos=@cos;
>> a=fcos(pi);

A.a的值是 -1                 

B.a的值与cosd(180)的值相等

C.a的值与cos(pi)的值相等 

D.a的值不确定

正确答案:D

2、执行下列语句后,变量A的值是(      )。
>> f=@(x,y) 2*(x+y);
>> A=f(2,3);

A.2,3 

B.3

C.10 

D.5

正确答案:C你选对了

3、当函数文件名与函数名不相同时,MATLAB将忽略函数文件名,调用时使用函数名。

  • A.√

  • B.×、

  • 正确答案:B你选对

1、下列脚本文件运行后,输出结果是(      )。

函数文件fib.m:

function f=fib(n)

if n>2

    f=fib(n-1)+fib(n-2);

else

    f=1;

end

脚本文件:

F=[];

for k=1:6

    F=[F,fib(k)];

end

disp(F(k))

  • A.2

  • B.3

  • C.5

  • D.8

  • 正确答案:D

2、函数中递归调用有两种形式,一种是直接递归,另一种是间接递归。

  • A.√

  • B.×

  • 正确答案:A你选对了

3、递归调用也会降低存储空间和执行时间的开销,提高程序的执行效率。

  • A.√

  • B.×

正确答案:B你错选为A

1、定义了一个函数文件test.m:
function fout=test(a,b,c)
if nargin==1
    fout=2*a;
elseif nargin==2
    fout=2*(a+b);
elseif nargin==3
    fout=2*(a.*b.*c);
end
在命令行窗口调用test函数的结果为(      )。
>> test(1:3,[-1,0,3])

  • A.2     4    6

  • B.0     3    3

  • C.-2     6    12

  • D.0     4    12

  • 正确答案:D

2、在一个函数文件中定义的变量为全局变量。

  • A.√

  • B.×

  • 正确答案:B

3、MATLAB有两个预定义变量nargin和nargout可以记录调用这个函数时的输入实参的个数和输出实参的个数。

  • A.√

  • B.×

正确答案:A你选对了

单元测试题

1、case结果表为switch表达式的取值,当取值有多个时,用(      )表示。

  • A.结构数据

  • B.数值数据

  • C.枚举数据

  • D.单元数据

正确答案:D你选对了

2、‎下列程序的输出结果是(      )。
a=1;
switch a
    case 3|4
        disp('perfect')
    case {1,2}
        disp('ok')
    otherwise
        disp('no')
end

  • A.ok

  • B.perfect

  • C.no

  • D.2

正确答案:B

3、‏看下面两个for循环,描述正确的是(      )。
循环一:
for k=[12,3,1,0]

end
循环二:
for k=[12;3;1;0]

end

A.循环一循环4次,循环二循环1次

B.循环一循环1次,循环二循环4次

C.循环一和循环二均循环4次

D.循环一和循环二均循环1次

正确答案:A你选对了

4、设有程序如下:
k=10;
while k
    k=k-1;
end
k
程序执行后k的是(      )。

A.10

B.1

C.0

D.-1

正确答案:C你选对了

5、​定义了一个函数文件fun.m:
function f=fun(n)
f=sum(n.*(n+1));
在命令行窗口调用fun函数的结果为(      )。
>> fun(1:5)

A.30

B.50

C.65

D.70

正确答案:D你选对了

6、‎定义了一个函数文件fsum.m:
function s=fsum(n)
if n<=1
    s=1;
else
    s=fsum(n-1)+n;
end

​‎在命令行窗口调用fsum函数的结果为(      )。
>> fsum(10)

A.45

B.55

C.65

D.75

正确答案:B你选对了

7、​定义了一个函数文件test.m:
function fout=test(a,b,c)
if nargin==1
    fout=2*a;
elseif nargin==2
    fout=2*(a+b);
elseif nargin==3
    fout=2*(a.*b.*c);
end
在命令行窗口调用test函数的结果为(      )。
>> test(1:3,[-1,0,3])

A.2     4    6

B.0     3    3

C.-2     6    12

D.0     4    12

正确答案:D

8、求分段函数的值,正确的程序是(      )。

‎A.x=input('x=:');
y=(x+10)*(x>0)+(x-10)*(x<=0);
disp(y)

B.x=input('x=:');
y=x+10;
if x<=0
    y=x-10;
end
disp(y)

C.x=input('x=:');
if x>0
    y=x+10;
else
    y=x-10;
end
disp(y)

0.75/3.00

D.x=input('x=:');
if x>0
    y=x+10;
elseif x<=0
    y=x-10;
end
disp(y)

0.75/3.00

正确答案:A、B、C、D

9、‏执行下列语句,描述正确的是(      )。
>> clear
>> fcos=@cos;
>> a=fcos(pi);

A.a的值不确定

B.a的值是-1

C.a的值与cosd(180)的值相等

D.a的值与cos(pi)的值相等   

正确答案:B、C、D

10、‌在命令行窗口,既可以直接运行函数文件,也可以以函数调用的方式来调用它。

  • A.√

  • B.×

正确答案:B

11、‏disp函数不会显示变量的名字和空行。

  • A.√

  • B.×

正确答案:A你选对了

12、‎任何复杂的程序都是由顺序结构、选择结构和循环结构这三种基本结构组成的。

  • A.√

  • B.×

  • 正确答案:A你选对了

13、在很多情况下,for语句和while语句可以等价使用。

  • A.√

  • B.×

正确答案:A你选对了

14、如果在一个函数的定义中调用了该函数本身,这就是函数的嵌套调用。

  • A.√

  • B.×

正确答案:B你选对了

 

重做

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MATLAB程序设计与应用第三版第11章课后习题涉及了很多不同的主题,其答案也需要根据具体的问题而定。总体来说,这些习题可以分为几个大的类别,如向量和矩阵运算、程序循环和条件语句、文件I/O操作等等。 其中,向量和矩阵运算是MATLAB的基本操作之一。通过自定义函数或使用内置函数,可以实现向量和矩阵的各种运算操作,如向量加法、矢量积、矩阵转置等等。常见的习题包括求两个矩阵的点积、计算向量的范数以及矩阵相乘等问题。解决这些问题需要熟练掌握MATLAB操作符的使用和相关函数的调用。 程序循环和条件语句也是MATLAB中常用的操作。通过编写for循环或while循环,可以实现对向量和矩阵的各种操作,如求向量或矩阵的和、计算向量或矩阵的平均值等等。此外,使用if语句进行条件判断,可以对某些运算进行分支控制,进一步增强程序的可扩展性。在解决这些习题时,需要通过逻辑判断和循环嵌套来实现相关的运算。 文件I/O操作是MATLAB中常用的另一种操作。通过读写文件,可以将程序的输出保存到指定的文件中,或者从指定的文件中读取数据。常见的习题包括读取并解析文件中的数据、将程序的运行结果保存到文件中等等。这些习题需要熟悉MATLAB的文件I/O函数,如fopen、fprintf、fgetl等等,在实现时也需要注意文件的读写权限和格式要求等问题。 综合来说,MATLAB程序设计与应用第三版第11章课后习题的难度和深度较高,需要具备一定的数学和编程基础,才能较好地完成相关的问题。同时,这些习题也对于深入理解MATLAB编程的基本原理和技能具有积极的促进作用,对于提高编程水平具有一定的意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值