一、单项选择题10. 为使以下程序段不陷入死循环,从键盘输入的数据应该是______。
int n, i=1, s=0;
scanf("%d",&n);
do{
s=s++;
i=i-2;
}while(i!=n);
- A.任意正偶数
- B.任意负奇数
- C.任意负偶数
- D.任意自然数
A B C D
B
[解析] 这段程序代码的功能是通过scanf函数给变量n赋值,在do-while循环中,变量s每次加1,变量i每次减2,i的初值为1,循环执行一次后i的值变成-1,然后依次是-3、-5、…,直至i的值和n的值相等则循环结束。由i的值的变化规律可知,i是一个变化的负奇数,若输入的数据为负奇数,则循环能退出,否则会陷入死循环。
三、简答题1. 简述软件生存周期的概念,并说明软件生存周期所划分的主要阶段。
软件生存周期是指从开始研发软件到软件停止使用的整个过程,即软件产品从用户提出开发需求开始,经过开发、使用和维护,直至最后淘汰的整个周期。
软件生存周期分为如下阶段:软件策划、需求分析、总体设计、详细设计、编码、测试、运行维护。
2. 简述软件测试的原则。
在软件测试过程中,应坚持的原则如下:
①在软件开发过程中,应尽早地并且不断地进行软件测试。
②测试用例应包括测试输入数据和对应的预期输出结果。
③设计测试用例时,不仅要设计合理的输入条件,还要设计不合理的输入条件。
④充分注意测试中的群集现象。
⑤测试计划应严格执行。
⑥全面检查每一个测试结果。
⑦测试计划、测试文档、出错统计和最终分析报告应妥善保存。
3. 简述文件传送协议FTP的主要工作过程。
FTP使用客户/服务器模型,一个FTP服务器进程可同时为多个客户进程提供服务。FTP的服务器进程由两部分组成:一个主进程,负责接受新的请求;若干个从属进程,负责处理单个请求。
FTP的主要工作过程如下:
①服务器主进程打开控制端口(端口号为21),使客户进程能够连接上。
②等待客户进程发出连接请求。
③客户进程使用临时端口号发出连接请求。
④服务器主进程收到来自客户进程的请求后,启动从属进程来处理客户进程发来的请求。从属进程中的“控制进程”在接收到客户进程发来的文件传送请求后,便在客户端与服务器端的“数据传送进程”之间建立起“数据连接”。“数据传送进程”在完成文件传送后,即关闭“数据连接”并结束运行。从属进程对客户进程的请求处理完毕后立即终止,但从属进程在运行期间可能会根据需要创建其他一些子进程。
⑤服务器主进程重新回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理并发进行。
四、程序设计题1. 下面程序的功能是输入10个整数(假设输入无误),统计偶数的个数,并计算奇数的和。请补充下列C语言程序中的空格部分的代码。
#include<stdio.h>
void main(){
int a[10];
int i,count=0,sum=0;
printf("请输入10个整数,用空格隔开:\n");
for(i=0;i<10;i++){
scanf("%d",&a[i]);
}
for(i=0;i<10;i++){
if(______)
count++;
}
for(______){
if(a[i]%2==1)
______
}
printf("偶数的个数:%d\n",______);
printf("奇数的和:%d\n",______);
}
a[i]%2==0
i=0;i<10;i++
sum+=a[i];
count
sum