软件开发考测验考试模拟题答案.docx
- 文档编号:12306912
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:25
- 大小:24.13KB
软件开发考测验考试模拟题答案.docx
《软件开发考测验考试模拟题答案.docx》由会员分享,可在线阅读,更多相关《软件开发考测验考试模拟题答案.docx(25页珍藏版)》请在冰豆网上搜索。
软件开发考测验考试模拟题答案
软件开发
考试试卷
(机密)
考试声明
本人已经认真阅读考试注意事项,承诺遵守考试纪律,自己不作弊、不协助他人作弊;考试后不向其他人泄漏考题内容,维护考试的机密性。
特此声明。
考生签名:
年月日
答题纸
考生信息
姓名
性别
学历
考试专业
单位
身份证号码
一、单选题
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
二、多选题
1
2
3
4
5
6
7
8
9
10
三、改错题
1.
2.
3.
4.
5.
四.编程题
注:
选择题请将答案填写在答题纸上,填写在其它位置无效。
软件开发考核试卷
考试说明:
1、本次考试类型为笔试,请考生用蓝色圆珠笔或钢笔答题,不得用铅笔,用铅笔者本试卷作废;
2、本次考试时间为60分钟,共计100分;
3、试卷表面必须保持清洁,不得在试卷上作记号,一经发现取消该考生卷面成绩;
4、请将答案写在答题纸上,填写在其他位置无效。
一.单项选择题(每题2分,共计60分)
1.软件工程研究的内容包括:
()技术和软件工程管理:
D
A.软件测试B.数据分析C.动态测试D.软件开发
2.在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为4;一个double型数据在内存中所占的字节数为:
C
B.6
3.下列描述正确的是:
A
A.C语言程序中各函数之间既允许直接递归调用也允许间接递归调用
B.C语言程序中不允许直接递归调用也不允许间接递归调用
C.C语言程序中允许直接递归调用不允许间接递归调用
D.C语言程序中不允许直接递归调用允许间接递归调用
4.下面关于完全二叉树的叙述中,错误的是:
B
A.除了最后一层外,每一层上的结点数均达到最大值
B.可能缺少若干个左右叶子结点
C.完全二叉树一般不是满二叉树
D.具有结点的完全二叉树的深度为[log2n]+1
5.在软件生命周期中,能准确完成程序的编码的阶段是:
C
A.概要设计B.详细设计C.软件实现D.需求分析
6.下面程序的输出结果是:
B
#include<>
sub(x,y,z)
intx,y,*z;
{*z=y–x;}
main(){
inta,b,c;
sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);
printf("%d,%d,%d\n",a,b,c);
}
2,3B.–5,–12,–7C.–5,–12,–17,–2,–7
7.程序流程图(PFD)中的箭头代表的是:
B
A.数据流B.控制流C.调用关系D.组成关系
8.下面程序的输出是:
C
main()
{enumem{em1=3,em2=1,em3};
char*aa[]={"AA","BB","CC","DD"};
printf("%s%s%s\n",aa[em1],aa[em2],aa[em3]);
}
9.符合C语言语法的赋值语句的是:
D
=7+b+c=a+7=a+7
=7+b,b++,a+7;=7+b,c=a+7;
10.若运行时给变量x输入12,则以下程序的运行结果是:
B
main(){
intx,y;
scanf(“%d”,&x);
y=x>12?
x+10:
x–12;
printf(“%d\n”,y);
}
B.0
11.在C语言中,要求运算数必须是整型的运算符是:
A
A.%B./C. 12.以下程序语句中 y=–1; if(x! =0) if(x>0)y=1;elsey=0; 所表示的数学函数关系是: C –1(x<0)1(x<0) A.y=0(x=0) B.y=–1(x=0) 1(x>0)0(x>0) 0(x<0)–1(x<0) C.y=–1(x=0) D.y=1(x=0) 1(x>0)0(x>0) 13.若有以下函数定义: C myfun(doublea,intn) {……} 则myfun函数值的类型是 A.void B.double C.int D.char 14.软件需求分析应确定用户对软件的: D A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求 15.C语言中main函数参数的非法表示形式是: D (char*argv[],intargc) (inta,char**b) (inty,char*x[]) (intargv,char*argc[]) 16.以下的for循环: C for(x=0,y=0;(y! =123)&&(x<4);x++) A.是无限循环 B.循环次数不定 C.执行4次 D.执行3次 17.C语言规定,函数返回值的类型由: A A.在定义时所指定的函数类型所决定 B.调用该函数时的主调函数类型所决定 语句中的表达式类型所决定 D.调用该函数时系统临时决定 18.下面描述中,不符合结构化程序设计风格的是: C A.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B.自顶向下 C.注重提高程序的执行效率 D.限制使用goto语句 19.以下程序中 main() {intx=3,y=0,z=0; if(x=y+z)printf("****"); elseprintf("####"); } D A.有语法错误不能通过编译 B.输出**** C.可以通过编译,但是不能通过连接,因而不能运行 D.输出#### 20.执行下面程序片段的结果是: B intx=123; do {printf("=\n",x--);} while(! x); A.打印出321 B.打印出123 C.不打印任何内容 D.陷入死循环 21.下述对C语言字符数组的描述中错误的是: C A.字符数组可以存放字符串 B.字符数组中的字符串可以整体输入、输出 C.可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值 D.不可以用关系运算符对字符数组中的字符串进行比较 22.已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是: D 23.C语言提供的合法的数据类型关键字是: B 24.以下程序的输出结果正确的是: B #include<> sub(int*s,inty) {staticintt=3; y=s[t];t––; } main() {inta[]={1,2,3,4},i,x=0; for(i=0;i<4;i++){ sub(a,x);printf("%d",x);} printf("\n"); } .0000C 25.C程序中的语句: char*func(intx,inty);它是: C A.对函数func的定义 B.对函数func的调用 C.对函数func的原型说明 D.不合法的 26.下列程序的运行结果是: A main() {unionEXAMPLE {struct {intx;inty;}in; inta; intb; }e; =1;=2; } A.4,8,6,16,16 27.下列选项中可用于C语言用户标识符的是: B 28.对下述程序,描述正确的是: A main() {inta,b; scanf("%d,%d",&a,&b); if(a>b)a=b;b=a; elsea++;b++; printf("%d,%d",a,b);} A.有语法错误不能通过编译 B.若输入4,5则输出5,6 C.若输入5,4则输出4,5 D.若输入5,4则输出5,5 29.下面程序的输出是: B main() {intarr[10],i,k=0; for(i=0;i<10;i++) arr[i]=i; for(i=1;i<4;i++) k+=arr[i]+i; printf("%d\n",k);} A.8B.6C.4 30.若有以下定义,则不移动指针p,且通过指针p引用值为98的数组元素的表达式是: BD intw[10]={23,54,10,33,47,98,72,80,61},*p=w; A.(p+5)*B.*(p+5)C.p%[5][5%] 二.多项选择题(每题2分,共计20分) 1.下列有关函数的说法中正确的是: ABC A.C语言中的函数只具有static和extern两种类型 B.C语言中允许函数的递归调用 C.调用函数时,C语言要求实参与形参的个数,类型完全一致 D.C语言函数的缺省数据类型是空类型(void型) 2.下面的变量说明中()是错误的: ABD : a,b,c; a;b;c; a,b,c; a,b,c 3.假如有以下调用语句,则正确的fun函数的首部是: ABC main() {… inta[50],n; … fun(n,&a[9]); … } fun(intm,intx[]) fun(ints,inth[41]) fun(intp,int*s) fun(intn,inta) 4.下列常量中哪些是合法的: BCD A. B. C.“basic” D.0x4b00 5.关于if后一对圆括号中的表达式,以下叙述中错误的是: ABC A.只能用逻辑表达式 B.只能用关系表达式 C.既可用逻辑表达式也可用关系表达式 D.可用任意表达式 6.下列叙述中错误的是: BCD A.线性表是线性结构B.栈与队列是非线性结构 C.线性链表是非线性结构D.二叉树是线性结构 7.若有以下程序 #include voidf(intn); main() {voidf(intn); f(5); } voidf(intn) {printf("%d\n",n);} 则以下叙述中正确的是: ABD A.若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f B.若在主函数前对函数f进行说明,则在主函数和其后的其他函数中都可以正确调用函数f C.对于以上程序,编译时系统会提示出错信息: 提示对f函数重复说明 D.函数f无返回值,所以可用void将其类型定义为无返回值型 8.根据C语言的语法规则,下列()是合法标识符: BCD B.NameC.R5D._exam 9.下列关于复合语句和空语句的说法正确的是: ABD A.复合语句是由“{”开头,由“}”结尾的 B.复合语句在语法上视为一条语句 C.复合语句内,可以有执行语句,不可以有定义语句部分 程序中的所有语句都必须由一个分号作为结束 10.下列说法中错误的是: ACD A.全局变量的作用域一定比局部变量的作用域大 B.静态(static)类型变量的生存期贯穿于整个程序的运行期间 C.函数的形参都属于全局变量 D.未在定义语句中赋初值的auto变量和static变量的初值都是随机值 三.改错题(每题2分,共计10分) 将下列程序中不正确的语句改正。 1.main() {intk; k=35555; printf(“%d“,k);} 答案: longintk;printf(“%ld“,k);} 2.main() {intn; floats=; for(n=10;n>1;n--) s=s+1/n; printf(“%6.1f\n”,s);} 答案: s=s+n 3.main() {intsum,k; sum=0; k=1; while(k<=100) sum=sum+k; k++; printf(“sum=%d\n”,sum);} 答案: while(k<=100) {sum=sum+k; k++;} 4.main() {intk,a(8); for(k=0;k<10;k++) scanf(“%d”,&a(k)); ......} 答案: intk,a[8]; scanf(“%d”,&a[k]); 5.main() {inta; scanf(“%d”,a); if(a=1)printf(“One\n”);} 答案: printf("%d,",&a);if(a==1) 四.编程题(共计10分) 编写一个函数intfun(int*s,intt,int*k),用来求出数组的最小元素在数组中的下标并存放在k所指的存储单元中。 如,输入如下整数: 234345753134436458100321135760 则输出结果为6,100。 注: 部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include<> #include<> intfun(int*s,intt,int*k) { } main() {inta[10]={234,345,753,134,436,458,100,321,135,760},k; clrscr(); fun(a,10,&k); printf("%d,%d\n",k,a[k]); } 答案 intfun(int*s,intt,int*k) {inti; *k=0;/*k所指的数是数组的下标值*/ for(i=0;i if(s[*k]>s[i]) *k=i;/*找到数组的最小元素,把该元素的下标赋给k所指的数*/ returns[*k];/*返回数组的最小元素*/} 模拟题: 一.单项选择题(每题2分,共计60分) 1.根据C语言的语法规则,下列()个是不合法标识符: A B.Name C.Rern5 D._exam 2.属于C语言的数据类型是: C A.复数型B.逻辑型C.双精度型D.集合型 3.假设变量a,i已正确定义,且i已正确赋值,合法的语句是: B ==1 B.++i; =a++=5; =int(i); 4.设有以下定义和语句,则*(*(p+2)+1)的值为: D int[3][2]={10,20,30,40,50,60},(*p)[2]; p=a; B.32 5.inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则值为6的表达式是: C A.*p+6B.*(p+6)C.*p+=5+5 6.有以下程序 #include main() {FILE*fp;inti=20,j=30,k,n; fp=fopen("","w"); fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j); fclose(fp); fp=fopen("","r"); fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n); fclose(fp); } 程序运行后的输出结果是: A 30 50 50 20 7.以下说法中正确的是: A A.C语言程序总是从main()函数开始执行 B.在C语言程序中,要调用函数必须在main()函数中定义 C.C语言程序总是从第一个函数开始执行 语言程序中的main()函数必须放在程序的开始部分 8.Break语句的正确的用法是: B A.无论在任何情况下,都中断程序的执行,退出到系统下一层 B.在多重循环中,只能退出最靠近的那一层循环语句 C.跳出多重循环 D.只能修改控制变量 9.在下列程序中,没有构成死循环的是: D i=100; while (1) {i=i0+1; if(i>100)break; } (;;); k=10000; do{k++;}while(k>10000); s=36; while(s)--s; 10.设有定义: longx=-123456L;则以下能够正确输出变量x值的语句是: B (“x=%d\n”,x) (“x=%ld\n”,x) (“x=? l\n”,x) (“x=%D\n”,x); 11.C语言中各种基本数据类型的存储空间长度排列为: C ≤long≤int≤float≤double ≤float≤long≤int≤char ≤int≤long≤float≤double ≤int≤long≤char≤double 12.以下选项中,定义s为合法的结构体变量的是: B A.typedefstructabc {doublea; charb[10]; }s; B.struct {doublea; charb[10]; }s; C.structABC {doublea; charb[10]; } ABCs; D.typedefABC {doublea; charb[10]; } ABCs; 13.下面程序的运行结果是: A #include“” main() {inta[]={8,2,9,4,1},*p; p=a; *(p+2)+=2; printf(“%d,%d”,*p,*(p+2));} 11,16C.2,11,10 14.字符串指针变量中存入的是: A A.字符串的首地址。 B.字符串 C.第一个字符 D.字符串变量。 15.C语言中以只读方式打开一个文件应选择()参数: A A.“r” B.“w” C.“rb” D.“a” 16.以下能正确表示x在-5到-1或5到1范围(含5和1)内,值为“真”的表达式是: A A.(x>=-5)||(x<=-1)&&(x<=5)&&(x>=1) B.! (x>=-5||x<=-1&&x<=5||x>=1) <-5&&x>-1||x<1&&x>5 D.(x<-5)||(x>-1&&x<1)||(x>5) 17.设有数组定义: chararray[]=”China”;则数组所占的存贮空间为: C 个字节 B.5个字节 C.6个字节 D.7个字节 18.已知函数的调用形式: fread(buf,size,count,fp),参数buf的含义是: C A.一个整型变量,代表要读入的数据项总数 B.一个文件指针,指向要读的文件 C.一个指针,指向要读入数据的存放地址 D.一个存储区,存放要读的数据项 19.为了避免嵌套的条件分支语句if—else的二义性,C语言规定: C程序中的else总是与()组成配对关系: C A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 20.在C语言中,int,char和short三种类型数据在内存中所占用的字节数: D A.由用户自己定义 B.均为2个字节 C.是任意的 D.由所用机器的机器字长决定 21.能正确表示a和b同时为正或同时为负的逻辑表达式是: D >=0||b>=0)&&(a<0||b<0) B.(a>=0&&b>=0)&&(a<0&&b<0) C.(a+b>0)&&(a+b<=0) D.a*b>0 22.假设整型变量a,b,c的值均为5,则表达式a+++b+++c++的值为: C 23.设整型变量a为5,使b不为2的表达式是: c A.b=a/2 B.b=6-(--a) C.b=a%2 =a>3? 2: 1 24.表达式“1? (0? 3: 2): (10? 1: 0)”的值为: B B.2 C.1 D.0 25.定义一个数组a是一个具有3个元素的指针数组,它的定义语句格式是: c A.<类型标识符>(*a)[3] B.<类型标识符>*a[2] C.<类型标识符>*a[3] D.以上写法都不对。 26.表达式y=(13>12? 15: 6>7? 8: 9)的值为: C D.1 27.以下定义中,标识符prtint(*prt)[3]: D A.定义不含法 B.是一个指针数组名,每个元素都是一个指向整数变量的指针 C.是一个指针,它指向一个具有三个元素的一维数组 D.是一个指向整型变量的指针 28.若fp是指向某文件的指针,且已读到此文件的末尾,则函数feof(fp)的返回值是: C B.0C.非零值 29.c语言中int型数-8在内存中的存储形式为: a C.0000000000001000 30.表示关系x≥y≥z,应使用C语言表达式: A A.(x>=y)&&(y>=z) B.(x>=y)AND(y>=z) C.(x>=y>=z) D.(x>=z)&(y>=z) 二.多项选择题(每题2分,共计20分) 1.下面叙述错误的是: ACD A.函数调用不可以出现在表达式中 B.函数调用可以作为一个函数的实参 C.函数调用可以作为一个函数的形参 D.函数不可以直接调用其本身 2.假设以下说明语句 structstu {inta; floatb; }stutype; 则下面的叙述正确的是: ABD 是结构体类型的关键字 stu是用户定义的结构体类型 是用户定义的结构体类型名 和b都是结构体成员名 3.下列关于字符串的说法中正确的是: ACD A.在C语言中,字符串是借助于字符型一维数组来存放的,并规定以字符′\0′作为字符串结束标志 B.′\0′作为标志占用存储空间,计入串的实际长度 C.在表示字符串常量的时候不需要人为在其末尾加入′\0′ D.在C语言中,字符串常量隐含处理成以′\0′结尾 4.下列对数组操作正确的语句是: abc A.inta[5]; b[]={‘h’,’e’,’l’,’l’,’o’}; C.inta[]={2,3,4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 开发 测验 考试 模拟 答案