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你选对了