练习19
考试规则:点击你认为正确的选项
1.有以下程序
#include
void fun( char *a, char *b )
{
while( *a=='*’ )
a++;
while( *b=*a )
{
b++;
a++;
}
}
main()
{
char *s = “*****a*b**** “, t[80];
fun(s,t);
puts();
}
程序的运行结果是( )。
A.a*b****
回答正确 √
试题解析
函数fun0中第一个while循环的作用是查找字符指针a指向的字符串中第一个不为'*的元素的地址,第二个while循环是把当前位置起剩余的字符串复制给字符数组b,所以函数fun0的功能是将字符指针a指向的字符串第一个不为*的字符起至该字符串结束传给指针b,所以输出结果为选项A。
B.a*b
回答错误 ✕
C.****a*b
回答错误 ✕
D.ab
回答错误 ✕
点击答题丨点击选项查看对错丨展开动画
2.以下叙述中错误的是()。.
A.算法正确的程序可以有零个输入
回答错误 ✕
B.算法正确的程序最终一定会结束
回答错误 ✕
C.算法正确的程序可以有零个输出
回答正确 √
试题解析
算法的特征
:①有穷性: 一个算法(对任何合法的输入)在执行有穷步后能够结束,并且在有限的时间内完成。②确定性:算法中的每一步都有确切的含。③可行性:算法中的操作能够用已经实现的基本运算执行有限次来实现。④输入:一个算法有零个或者多个输入,零个输入就是算法本身确定了初始条件。⑤输出: -一个算法有一个或者多个输出,以反映出数据加工的结果。所以C选项错误。
D.算法正确的程序对于相同的输入一定有相同的结果
回答错误 ✕
点击答题丨点击选项查看对错丨展开动画
3.若有以下程序
#include
main()
{
int a=6, b=0, c=0;
for(;a;)
{
b+=a;
a-=++C;
}
print("%d,%d,%d\n", a,b,c);
}
则程序的输出结果是( )。
A.1,14,3
回答错误 ✕
B.0,14,3
回答正确 √
试题解析
本循环的条件判断时只要a为0就退出循环体,初始值a的值为6,满足条件执行完循环体,b的值为6,a-=++c即a=a-(++c),所以a的值为5,c的值为1。第二次循环后b的值为11,a的值为3,c的值为2。第三次也是最后循环后a的值为0,b的值14,c的值为3。
C.0,18,3
回答错误 ✕
D.0,14,6
回答错误 ✕
点击答题丨点击选项查看对错丨展开动画