C语言模拟题及答案.docx
- 文档编号:28366149
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:20
- 大小:201.09KB
C语言模拟题及答案.docx
《C语言模拟题及答案.docx》由会员分享,可在线阅读,更多相关《C语言模拟题及答案.docx(20页珍藏版)》请在冰豆网上搜索。
C语言模拟题及答案
程序设计员(C语言)考试模拟题
一、单项选择题
1.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是()。
A.SQICB.SQMCC.SQRCD.SQDC
2.软件复杂性度量的参数包括()。
A.效率B.规模C.完整性D.容错性
3.对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。
A.结合B.隐藏C.封装D.抽象
4.软件调试技术包括()。
A.边界值分析B.演绎法C.循环覆盖D.集成测试
5、在下列工具与环境中()属于较早期的CASE。
A.基于信息工程CASEB.人工智能CASE
C.结构的基于图形CASED.集成的CASE环境
6、研究开发所需要的成本和资源是属于可行性研究中的()研究的一方面。
A.技术可行性B.经济可行性
C.社会可行性D.法律可行性
7、IDEF0图不反映出系统()
A、系统做什么B、系统功能如何实现
C、系统由谁来做D、系统实现的约束条件
8、定义int*swap();的确切含义是指()。
A、返回整型值的函数swap()
B、返回值是指向整型值的指针函数swap()
C、返回指向swap()的指针,函数返回一个整型值
D、以上说法均错
9、下面不正确的描述为()。
A、调用函数时,实参可以是表达式
B、调用函数时,实参与形参可以功用内存单元
C、调用函数时,将为形参分配内存单位
D、调用函数时,实参与形参的类型必须一致
10、以下选项中,两个基类型相同的指针变量不能进行运算的运算符是
()。
A、+B、--C、==D、=
11、模块的内聚性最高的是()
A、逻辑内聚B、时间内聚C、偶然内聚D、功能内聚
12、在SD方法中全面指导模块划分的最重要的原则是()
A、程序模块化B、模块高内聚C、块低耦合D、模块独立性
13、软件详细设计主要采用的方法是()
A、模块设计B、结构化设计
C、PDL语言D、结构化程序设计
14、Putnam成本估算模型是一个()模型。
A.静态单变量B.动态单变量C.静态多变量D.动态多变量
15、以下描述正确的是()。
A、C程序的执行是从main()函数开始,到本程序的最后一个函数结束
B、C程序的执行是从第一个函数开始,到本程序的最后一个函数结束
C、C程序的执行是从main()函数开始,到本程序的main()函数结束
D、C程序的执行是从第一个函数开始,到本程序的main()函数结束
16、以下叙述中正确的是()。
A、C语言比其它语言高级
B、C语言源程序可以不用编译就能被计算机识别执行
C、C语言以接近英国国家的自然语言和数字语言作为语言的表达方式
D、C语言出现得最晚,具有其它语言的一切优点
17、C程序目标文件的扩展名为()。
A.、cB、.hC、objD、exe
18、对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。
A.结合B.隐藏C.封装D.抽象
19、软件调试技术包括()。
A.边界值分析B.演绎法C.循环覆盖D.集成测试
20、瀑布模型的存在问题是()。
A.用户容易参与开发B.缺乏灵活性
C.用户与开发者易沟通D.适用可变需求
21、在详细设计阶段,经常采用的工具是()。
A.PADB.SAC.SCD.DFD
22、详细设计的结果基本决定了最终程序的()。
A.代码的规模B.运行速度C.质量D.可维护性
23、系统流程图是描绘()的传统工具。
A、逻辑系统B、数据结构C、状态变迁D、物理系统
24、下列模块独立性最强的是()
A、非直接耦合B、数据耦合C、公共耦合D、内容耦合
25、下列哪个阶段不属于软件生存周期的三大阶段()。
A、计划阶段B、开发阶段
C、编码阶段D、维护阶段
26、常见的软件概要设计方法有3大类,其中以数据流图为基础构造模块结构的是()
A、Jackson方法和LCP(Wanier)逻辑构造方法
B、结构化设计方法(SD)
C、面向对象设计方法(OOD)
D、快速原型法
27、使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准。
A、程序的内部逻辑B、程序的复杂程度
C、该软件的编辑人员D、程序的功能
28、需求分析中开发人员要从用户那里了解()。
A.软件做什么B.用户使用界面
C.输入的信息D.软件的规模
29、()阶段是软件工程的技术核心。
在该阶段中,把已确定了的各项需求转换成一个相应的体系结构。
A、问题定义B、设计C、软件测试D、运行/维护
30、黑箱测试是从_____观点的测试,白箱测试是从_____观点的测试。
( )
A、开发人员、管理人员B、用户、管理人员
C、用户、开发人员D、开发人员、用户
31、一般说来,投入运行的软件系统中有错误( )。
A、不是不可以理解的B、是不能容忍的
C、是要求退货的理由D、是必然的
32、进行需求分析可使用多种工具,但()是不适用的。
A、数据流图B、PAD图C、判定表D、数据词典
33、一个面向对象系统的体系结构通过它的()关系确定。
A、类与对象B、成分对象和对象
C、过程和对象D、模块与对象
34、以下程序的输出结果是()。
错题,
d+=p;
printf(“%d”,d);
return(d);
}
main()
{
inta=3;
printf(“%d\n”,fun(a+fun(d)))
intd=1;
fun(intp)
{
staticintd=5;
A.699B.669C.61515D.6615
35、需求分析阶段的任务是确定()。
A.软件开发方法B.软件开发工具
C.软件开发费D.软件系统的功能
36、下面程序段的输出结果是()。
charstrl[10]={‘s’,’t’,’u’,’d’,’e’,’n’,’t’};
printf(“%d\n”,strlen(strl)):
A.7B.8C.10D.存在语法错误
37、执行下列程序时,输入123〈空格〉456〈空格〉789〈空格〉,输出结果是()。
main()
{
chars[100];intc,i;
scanf(“%c”,&c);scanf(“%d”,&i);scanf(“%s”,s);
printf(“%c,%d,%s\n”,c,i,s);
}
A.123,456,789B.1,456,789C.1,23,456,789D.1,23,456
38、在CGA适配器中,对应的模式0,则分辨率为:
()
A、320*200B、200*100C、600*480D、1024*768
39、在画线函数中,想要对线型进行设置没,则下面的值中是对线宽进行设置是()。
A、NORM_WIDTHB、SOLID_LINE
C、UESRBIT_LINED、DOTTED_LINE
40、下列填充效果为用户自定义的值为()。
A、LISTASH_FILLB、LTBKSLASH_FILL
C、USER_FILLD、CLOSE_DOT_FILL
36、下列说法不正确的是()。
A.有参宏的参数不占用内存空间
B.宏定义可以嵌套定义
C.宏定义可以递归定义
D.宏展开时,只作替换,而不含计算过程
二、填空题
1.在软件开发过程中要产生大量的信息,要进行大量的修改,软件配置管理
能协调软件开发,并使混乱减到最低程度。
2.规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏
蔽能力,则称此软件是具有容错功能的软件。
3.McCall提出的软件质量模型包括11个软件质量特性。
4、指针变量的含义是指向变量的指针。
5、C语言规定预处理指令必须以#define开头。
6、用来定义符号常量的预处理指令是#define。
7、在C程序中,文件可以用顺序方式存取,也可以用随机存取。
8、假设使用代码行技术进行费用估计,某软件中共5000行程序,每行平均成本20元,则
该软件的成本是100000。
9、为把握软件各个环节的正确性和协调性,人们需要进行确认和验证工作。
确认的目的是
想证实在一给定的外部环境中软件的逻辑正确性,它包括_需求规格说明的确认__和
__程序的确认___。
验证则试图证明在软件生存期各个阶段,以及阶段间的逻辑
__协调性___、__完备性___和__正确性__。
10、C语言是一种结构化程序设计语言。
11、C程序中语句必须以分号作为结束标记。
12、若有语句“floatx=2.5;”,则表达式“(int)x,x+1”的值是3。
13、设a和b均为double型常量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是8.5。
14、执行语句组“intj=2,m=2;m+=(j++)+(++j)+(j++);”后,m的值是11。
10.若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P=。
16、CASE工具的平台集成指工具运行在相同的__硬件/操作系统______平台上。
17、在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和_数据存储对象_。
18、将开发项目与一个或多个已完成的类似项目进行比较,找出与某个相类似项目的若干不
同之处,并估算每个不同之处对成本的影响,得出开发项目的总成本。
这种成本估算方
法称为___差别估算_____。
19、为了便于对照检查,测试用例应由输入数据和预期的测试结果两部分组成。
20、按软件的功能进行划分,可以划分为应用软件、系统软件和支撑软件应用软件。
21、用户界面的可使用性是用户界面设计最重要的也是最基本的目标。
22、用户类型通常可以分为、、和专家型四种类型。
23、可行性研究主要集中在以下四个方面技术可行性、经济可行性、和抉择。
24、软件工程包括3个要素,即___方法__、_工具__和__过程__。
25、常见的软件概要设计方法有3大类:
以数据流图为基础构造模块结构的_结构化设计方法__,
以数据结构为基础构造模块的__jackson方法__,以对象、类、继承和通信为基础的
_面向对象设计方法___。
26、单元测试一般以____白盒__测试为主,___黑盒___测试为辅。
27、成本估计方法主要有__自底向上估计__、_自顶向下估计__和算法模型估计三种类型。
28、投资回收期是衡量一个开发工程价值的经济指标。
29、程序设计语言的心理特性主要表现在歧义性、简洁性、传统性、局部性和顺序性。
30、软件结构是以指令为基础而组成的一种控制层次结构。
三、名词解释题
1.软件生存周期模型:
是描述软件开发过程中各种活动如何执行的模型。
2.数据字典(DD):
是描述数据信息的集合,它对数据流图中的各个元素按规定格式进行详细的描述和确切的解释,是数据流图的补充工具。
3、信息隐蔽:
是指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。
4、集成测试:
也称组装测试或联合测试。
是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。
组装模块的方式有两种:
渐增式测试和非渐增式测试。
5、多态性:
指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。
不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。
6、CASE:
是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。
CASE把软件开发技术、软件工具和软件开发方法集成到一个统一而一致的框架中,并且吸收了CAD(计算机辅助设计)、软件工程、操作系统、数据库、网络和许多其他
计算机领域的原理和技术。
因而,CASE领域是一个应用、继承和综合的领域
7、内聚性:
是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量
四、简答题
1、简述软件工程目标和面临的主要问题。
软件工程是一门工程性的学科,其目标主要是成功地建造一个大型软件系统。
包括:
付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。
面临的主要问题是:
软件费用 软件可靠性 软件维护 软件生产率 软件重用。
2、简述结构化程序设计方法的基本要点。
(1)采用自顶向下,逐步求精的程序设计方法。
(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环
(3)采用主程序员组的组织形式。
3、什么是软件危机?
为什么会产生软件危机?
软件危机是指软件在开发和维护过程 遇到的一系统严重问题,主要包含二方面的问题,一是如何开发利用软件,三是如何维护数量不断膨胀的已有软件.产生软件危机的原因,一方面与软件本身的特点有关,另一方面和软件开发与维护的方法不正确有关。
4、什么是软件的生存周期?
包括哪几个部分?
软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。
软件生存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程。
它包括制定计划、需求分析、软件设计、程序编写、软件测试、运行维护等。
5、什么是黑盒测试?
黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据,产生正确地输出信息。
6、耦合性和内聚性有哪几种类型?
其耦合度、内聚强度的顺序如何
低:
非直接耦合->®数据耦合->®标记耦合->控制耦合->外部耦合->公共耦合->®内容耦合:
高
强:
功能内聚->信息内聚->通信内聚->过程内聚->时间内聚->逻辑内聚->巧合内聚:
弱
6、简述文档在软件工程中的作用。
(1)提高软件开发过程的能见度
(2)提高开发效率
(3)作为开发人员阶段工作成果和结束标志
(4)记录开发过程的有关信息便于使用与维护;
(5)提供软件运行、维护和培训有关资料;
(6)便于用户了解软件功能、性能。
7、简述需求分析工作可以分成哪四个方面?
软件需求分析的有哪三个基本原则?
需求分析阶段分成四个方面:
对问题的识别、分析与综合、制定规格说明和评审。
三个基本原则:
必须能够表达和理解问题的数据域和功能域;必须按自顶向下、逐步分解的方式对问题进行分解和不断细化;要给出系统的逻辑视图和物理视图。
8、就程序设计语言的工程特性而言,对程序编码有哪些要求?
(1)可移植性
(2)开发工具的可利用性
(3)软件的可重用性
(4)可维护性
9、模块的内聚性包括哪些类型?
(1)偶然内聚
(2)逻辑内聚(3)时间内聚(4)通信内聚(5)顺序内聚(6)功能内聚
10、简述提高可维护性的方法。
(1)建立明确的软件质量目标
(2)利用先进的软件开发技术和工具
(3)建立明确的质量保证工作
(4)选择可维护的程序设计语言
(5)改进程序文档
11.以G.J.Myers的观点,简述对软件测试的目的。
软件测试是
(1)为了发现错误而执行程序的过程;
(2)一个好的用例能够发现至今
尚未发现的错误的测试。
(3)一个成功的测试是发现至今尚未发现的错误的测试。
12.就程序设计语言的工程特性而言,对程序编码有哪些要求?
1)可移植性
2)开发工具的可利用性
(3)软件的可重用性
(4)可维护性
五、应用题
1、图书馆的预定图书子系统有如下功能:
①由供书部门提供书目给订购组;
②订书组从各单位取得要订的书目;
③根据供书目录和订书书目产生订书文档留底;
④将订书信息(包括数目,数量等)反馈给供书单位;
⑤将未订书目通知订书者;
⑥对于重复订购的书目由系统自动检查,并把结果反馈给订书者。
试根据要求画出该问题的数据流程图,并把其转换为软件结构图。
2、求一组数组中的最大数,数组表示为A(n),n=1,2……n的自然数。
1)请画出程序流程图
2)请画出该算法的N-S图
3)请用PAD图来表示该算法
10、下面程序执行后k的值为。
inta=1,b=2,c=3,d=4,k;
k=a>b?
a:
c>d?
c:
d
技能部分
一、程序填空题
1、当执行下面程序段后,变量i的值是______4______。
inta,b,c,d,i,j,k;
a=10;b=c=d=5;i=j=k=0;
for(;a>b;++b)i++;
while(a>++c)j++;
dok++;while(a>d++);
2、以下程序的功能是从键盘上输入若干个字符(以回车符作为结束)组成一
个字符串存入一个字符数组,然后输出该字符数组中的字符串。
请填空。
#include
#include
main()
{charstr[81],*sptr;
inti;
for(i=0;i<80;i++)
{str=getchar();if(str==’\n’)break;}
str=____'\0'________;
sptr=str;
while(*sptr)putchar(*sptr_++____);
}
3、下列程序的功能是输入一个整数,判断是不是素数,若为素数输出1,否则输出0,请为程序填空。
main()
{inti,X,y=1;
scanf(”%d”,&x);
for(i=2;i<=x/2;i++)
if__(x%i==0)______________{y=0;break;}
printf(”%d\n”,y);
}
4、以下程序可把输入的十进制数以十六进制数的形式输出,请填空。
main()
{charb[17]={"0123456789ABCDEF"};
intc[64],d,i=0,base=16;
longn;
printf("Enteranumber:
\n");.
scanf("%ld",&n):
do{c=___n%base____;i++;n=n/base;}
while(n!
=0);
printf("Transmitenewbase:
\n");
for(--i;i>=0;--i)
{d=c;printf("%c",b);}
printf("\n");
5、下面程序段的功能是输出大写字母对应的小写字母的ASCII码,请填空。
charch;
scanf("%c",&ch);
ch=(ch>=′A′&&ch<=′Z′)?
(ch+32):
ch
printf("ch\\n",ch);
程序分析题
1、阅读下面程序,写出运算结果。
unsignedfun6(unsignednum)
{unsignedk=l;
do{k*=num;num/=10;}
while(num);
returnk;
}
main()
{unsignedn=26;
printf("%d\n",fun6(n));
}
答案:
52
2、写出下面程序的运行结果。
#include
voidmain()
{
intx=15;
while(x<20)
{x++;
if(x/3!
=0){x++;break;}
elsecontinue;
}
printf("%d\n",x);
}
答案:
17
3、说明下列程序的功能。
(错题)
main()
{inti,j;
floata[3][3],b[3][3],x;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{scanf("%f",&x);a[j]=x;
}
for(i=0;i<3;i++)
for(j=0;j<3;j++)
b[j]=a[j];
for(i=0;i<3;i++)
{printf("\n");
for(j=0;j<3;j++)
printf("%f",b[j]);
}
printf("\n");
}
三、编程题
1、编程序,按下列公式计算e的值(精度为1e-6):
e=1+1/1!
+1/2!
+1/3!
+…+1/n!
+…
#include"stdio.h"
main()
{
doublee=0;
intn,i,t=1;
for(n=1;;n++)
{
for(i=1;i<=n;i++)
t=t*i;
e=e+1.0/t;
if(1.0/t<=1e-6)
break;
}
printf("%f\n",e);
}
2、计算并输出k以内最大的10个能被13或17整除的自然数之和。
k的值从
键盘传入,若k的值为500,则输出4622。
#include
voidmain()
{
intk,i=0,sum=0;
printf("PleaseInputk:
\n");
scanf("%d",&k);
while(k>=0&&i<10)
{
if(k%13==0&&k%17==0)
{
printf("thenumberis:
%d\n",k);
sum+=k;
i++;
}
k--;
}
printf("Thesumis%d\n",sum);
}
3、编程序按下列公式计算S的值(其中X1、X2、…、Xn由键盘输入):
s=∑(xi-x0)(xi-x0)(其中x0是X1、x2、…、Xn的平均值)
#include
#defineN100
main()
{
doublex[N+1],s;
inti,n;
do{
printf(“Entern(<100)”);
scanf(“%d”,&n);
}while(<=0||n>=100);
for(i=1;i<=n;i++)
{
scanf(“%lf”,&s);
x=s;
}
for(s=0.0,i=1;i<=n;i++)
s+=x;
x[0]=s/n;
for(s=0.0,i=1;i<=n;i++)
s+=(x-x[0])*(x-x[0]);
printf(“s=%f\n”,s);
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 模拟 答案