重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
当前位置: 首页 > 计算机类考试 > 软考中级
网友您好, 请在下方输入框内输入要搜索的题目:
搜题

题目

[主观题]

阅读以下说明和C语言代码,回答问题1至问题3,将解答填入对应栏内。 【说明】 在实时系统中,许多控制

阅读以下说明和C语言代码,回答问题1至问题3,将解答填入对应栏内。

【说明】

在实时系统中,许多控制软件需要将数据封装到一个数据结构中,以节省存储空间。对于位操作,使用汇编语言实现其访问比较容易,但会增加编程难度,因此现在普遍采用C语言实现。使用高级语言编程要特别注意结构的存储格式以及编译器的特性。本题所使用的编泽器对变量按声明顺序分配地址。分析图4—1所示的C语言代码,回答以下问题。

阅读以下说明和C语言代码,回答问题1至问题3,将解答填入对应栏内。 【说明】 在实时系统中,许多控制

如果处理机按16位以大端方式(big_endian)编址,请在图4-2所示的存储器图表中填入myRarData数据的存储内容(十六进制表示)。

阅读以下说明和C语言代码,回答问题1至问题3,将解答填入对应栏内。 【说明】 在实时系统中,许多控制

暂无答案
更多“阅读以下说明和C语言代码,回答问题1至问题3,将解答填入对应栏内。 【说明】 在实时系统中,许多控制”相关的问题

第1题

阅读以下说明和C语言代码,回答问题1至问题5,将解答填入答题纸的对应栏内。[说明] 在实模式存储管

阅读以下说明和C语言代码,回答问题1至问题5,将解答填入答题纸的对应栏内。

[说明]

在实模式存储管理方案下,嵌入式系统的内存地址空间的布局一般可以分为五个段:代码段(text)、数据段(data)、bss段(bss)、堆(heap)和栈(stack)。

图16-4为一段例程。

1: include

2: unsigned char gvCh;

3: unsigned short gvShort;

4: unsigned int gvInt = 0x12345678;

5: unsigned long gvLong = 0x87654321;

6: void main(void)

7: {

8: unsigned char array[lO],*p;

9: p = malloc(lO*sizeof(char));

10: while (1);

代码段、数据段和bss段的大小是在什么时候确定的?

点击查看答案

第2题

阅读以下技术说明和C语言代码,根据要求回答问题1至问题6。 【说明】 有两个进程(编号分别为0和1)需

阅读以下技术说明和C语言代码,根据要求回答问题1至问题6。

【说明】

有两个进程(编号分别为0和1)需要访问同一个共享资源。为了解决竞争条件(race condition)的问题,需要实现一种互斥机制,使得在任何时刻只能有一个进程访问该共享资源。以下【C代码1】给出了一种实现方法。

【C代码1】

int flag[2]; /+flag数组,初始化为FALSE*/

Enter_Critical_Section(int my_task_id, int other_task_id)

{ while (flag[other_task_id]==TRUE); /*空循环语句*/

flag[my_task_id]=TRUE;

}

Exit_Critical_Section(int my_task_id, int other_task_id)

{ flag[my_task_id]=FALSE;

}

当一个进程要访问临界资源时,就可以调用【C代码1】给出的这两个函数。【C代码2】给出了进程0的一个例子。

【C代码2】

Enter_Critical_Section(0,1);

……使用这个资源……

Exit_Critical_Section(0,1);

……做其他的事情……

什么是临界资源(critical resource)?请用100字以内的文字简要说明。

点击查看答案

第3题

阅读以下说明和C语言代码,回答问题1至问题4,将解答填入答题纸的对应栏内。[说明] 有两个任务(编号

阅读以下说明和C语言代码,回答问题1至问题4,将解答填入答题纸的对应栏内。

[说明]

有两个任务(编号分别为0和1)需要访问同一个共享资源,为了解决竞争条件(race condition)的问题,需要实现一种互斥机制,使得在任何时刻只能有一个任务访问该共享资源。代码一给出了一种实现方法。

[代码一]

1: int flag[2]; /* flag 数组,初始化为FALSE */

2: Enter_Critical_Section(int my_task_id, int other_task_id)

3: {

4: while (flag[other_task_id] == TRUE); /* 空循环语句 */

5: flag[my_task_id] = TRUE;

6: }

7: Exit_Critical_Section(int my_task_id, int other_task_id)

8: {

9: flag[my_task_id] = FALSE;

10: }

当一个任务要访问临界资源时,就可以调用代码一给出的这两个函数。代码二给出了任务0的一个例子。

[代码二]

Enter_Critical_Section(0,1);

…使用这个资源…

Exit_Critical_Section(0,1);

…做其他事情…

什么是临界资源(critical resource)?请用100字以内文字简要说明。

点击查看答案

第4题

阅读下列说明,回答问题1至问题3。【说明】 以下代码由C语言书写,能根据指定的年、月计算当月所含天数

阅读下列说明,回答问题1至问题3。

【说明】

以下代码由C语言书写,能根据指定的年、月计算当月所含天数。

int GetMaxDay(int year, int month )

{

int maxday = 0;

if (month >= 1 && month <= 12 )

{

if (month == 2 )

{

if (year % 4 == 0 )

{

if (year % 100 == 0 )

{

if (year % 400 == 0 )

maxday = 29;

else

maxday = 28;

}

else

maxday = 29;

}

else

maxday = 28;

}

else

{

if (month == 4 || month == 6 || month == 9 || month == || )

maxday = 30;

else

maxday = 31;

}

}

return maxday; }

请画出以上代码的控制流图。

请计算上述控制流图的环路复杂度V(G)。

假设year的取值范围是1000<year<2001,请使用基本路径测试法为变量year、 month设计测试用例(写出year取值、month取值、maxday预期结果),使之满足基本路径覆盖要求。

请帮忙给出每个问题的正确答案和分析,谢谢!

点击查看答案

第5题

阅读以下关于软件测试的说明,回答司题l至问题3,将解答填入答题纸的对应栏内。【说明】使用在汽车、飞

阅读以下关于软件测试的说明,回答司题l至问题3,将解答填入答题纸的对应

栏内。

【说明】

使用在汽车、飞机中的嵌入式软件, 日于直接影响人的生命及财产安全,测试要求

更为严格。语句覆盖、判定覆盖、条件覆盖和MC/DC覆盖是通常对这类软件的要求。

以下是一段C语言代码,请仔细阅读并回答相关问题:

阅读以下关于软件测试的说明,回答司题l至问题3,将解答填入答题纸的对应栏内。【说明】使用在汽车、飞阅

【问题1】(6分)

请根据测试要求,简要说明语句覆盖、判定覆盖、条件覆盖和MC/DC覆盖的含义。

将答案填写在答题纸的对应栏中。

【问题2】(5分)

画出以上代码的流程图,将答案填写在答题纸的对应栏中。

【问题3】(4分)

请根据【说明】中的C语言代码,计算满足MC/DC覆盖要求的用例数量及条件取

值范围,将答案填写在答题纸的对应栏中.

点击查看答案

第6题

阅读下列说明,回答问题1至问题3。【说明】 使用基本路径法设计出的测试用例能够保证程序的每一条可

阅读下列说明,回答问题1至问题3。

【说明】

使用基本路径法设计出的测试用例能够保证程序的每一条可执行语句在测试过程中至少执行一次。以下代码由C语言书写,请按要求回答问题。

int IsLeap(int year)

{

if(year% 4==0)

{

if((year % 100==0)

{

if(year % 400==0'

leap=1;

eIse

leap=0;

}

else

leap=1;

else

leap=0;

return leap;

}

请画出以上代码的控制流图。

请计算上述控制流图的V(G)。

假设的取值范围是1000<year<2001,请使用基本路径测试法为变量year设计测试用例,使之满足基本路径覆盖的要求。

请帮忙给出每个问题的正确答案和分析,谢谢!

点击查看答案

第7题

阅读下列说明,回答问题1至问题3。[说明] 基本路径法设计出的测试用例能够保证在测试中程序的每一

阅读下列说明,回答问题1至问题3。

[说明]

基本路径法设计出的测试用例能够保证在测试中程序的每一条可执行语句至少执行一次。以下代码由C++语言书写,请按要求回答问题。

void ReadPara(CString temp)

{

if(temp==">=")

m_oper.SetCurSel(0);

else

{

if(temp==">")

m_oper.SetCurSel(1);

else

{

if(temp=="==")

m_oper.SetCurSel(2);

else

{

if(temp=="<=")

m_oper.SetCurSel(3);

else

{

if(temp=="<")

m_oper.SetCurSel(4);

else

m_oper.SetCurSel(5);

}

}

}

}

return;

}

请画出以上代码的控制流图。

请计算上述控制流图的环路复杂度V(G)。

请使用基本路径测试法为变量temp设计测试用例,使之满足基本路径覆盖要求。

请帮忙给出每个问题的正确答案和分析,谢谢!

点击查看答案

第8题

试题一(15 分)阅读下列说明,回答问题1 至问题3,将解答填入答题纸的对应栏内。[说明]基本路径法设

试题一(15 分)

阅读下列说明,回答问题1 至问题3,将解答填入答题纸的对应栏内。

[说明]

基本路径法设计出的测试用例能够保证在测试中程序的每一条可执行语句至少执

行一次。以下代码由C++语言书写,请按要求回答问题。

void ReadPara(CString temp )

{

if (temp == ">=" )

m_oper.SetCurSel(0 );

else

{

if (temp == ">" )

m_oper.SetCurSel(1 );

else

{

if (temp == "==" )

m_oper.SetCurSel(2 );

else

{

if (temp == "<=" )

m_oper.SetCurSel(3 );

else

{

if (temp == "<" )

m_oper.SetCurSel(4 );

else

m_oper.SetCurSel(5 );

}

}

}

}

return;

}

[问题1](6 分)

请画出以上代码的控制流图。

[问题2](3 分)

请计算上述控制流图的环路复杂度 V(G)。

[问题3](6 分)

请使用基本路径测试法为变量 temp 设计测试用例,使之满足基本路径覆盖要求。

点击查看答案

第9题

试题四(共20 分) 阅读以下说明和 C 语言代码, 回答问题 1 至问题3, 将解答填入答题纸的对应栏内。

试题四(共20 分)

阅读以下说明和 C 语言代码, 回答问题 1 至问题3, 将解答填入答题纸的对应栏内。

【说明】

在实时系统中, 许多控制软件需要将数据封装到一个数据结构中, 以节省存储空间。对于位操作,使用汇编语言实现其访问比较容易,但会增加编程难度,因此现在普遍采用 C 语言实现。使用高级语言编程要特别注意结构的存储格式以及编译器的特性。本题所使用的编译器对变量按声明顺序分配地址。分析图 4-1所示的 C 语言代码,回答以下问题。

试题四(共20 分) 阅读以下说明和 C 语言代码, 回答问题 1 至问题3, 将解答填入答题纸的对

【问题 1】 (8 分)

如果处理机按 16 位以大端方式(big_endian)编址,请在图 4-2 所示的存储器图表中填入 myRadarData 数据的存储内容(十六进制表示)。

试题四(共20 分) 阅读以下说明和 C 语言代码, 回答问题 1 至问题3, 将解答填入答题纸的对

【问题 2】 (8分)

在图 4-1 所示的程序中,第 22 行的语句执行完成后,下列语句的结果是多少?请将应填入(n)处的内容写在答题纸的对应栏中。

q->X = (1)

q->Y = (2)

q->Z = (3)

q->U = (4)

若再执行一次q++,则下列语句的结果又是多少?请将应填入(n)处的内容写在答题纸的对应栏中。

q->X = (5)

q->Y = (6)

q->Z = (7)

q->U = (8)

【问题 3】 (4 分)

内存空间常划分为代码段(text) 、数据段(data) 、bss 段(bss) 、堆区(heap)和栈区(stack) ,那么图 4-1 中 myRadarData 数组的存储空间应分配在哪个段中?指针变量 p、q 应分配在哪个段中?

点击查看答案

第10题

阅读下列说明,回答问题1至问题3。 【说明】 以下代码由C语言书写,在输入3个整数后,能够输出最大数和

阅读下列说明,回答问题1至问题3。

【说明】

以下代码由C语言书写,在输入3个整数后,能够输出最大数和最小数。

int main(void)

{

int a, b, c, max, min;

printf("input three numbers: ");

scanf("%d%d%d", &a, &b, &c);

if(a>b) /*判断1*/

{

max=a;

min=b;

}

else

{

max=b;

min=a;

}

if(max<c) /*判断2*/

max=c;

else if(min>c) /*判断3*/

min=c;

printf("max=%d\nmin=%d", max, min);

return 0;

}

请画出该程序段的控制流图,并分析该控制流图中有多少条线性独立路径(V(G)的值)。

为了用分支(判定)覆盖方法测试该程序,需要设计测试用例,使其能对该程序中的每个判断语句的各种分支情况全部进行过测试。

对两组输入数据(1)a=3,b=5,c=7;(2)a=4,b=6,c=5,请分别写出程序中各个判断语句的执行结果(以T表示真,以F表示假),填入答题纸的相应栏中。

上述两组测试数据是否能实现该程序的分支(判定)覆盖?如果能,请说明理由。如果不能,请再增设一组输入数据,使其能实现分支(判定)覆盖。

请帮忙给出每个问题的正确答案和分析,谢谢!

点击查看答案
赏学吧APP
TOP
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)
订单号:
遇到问题请联系在线客服
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“赏学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注赏学吧 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反赏学吧购买须知被冻结。您可在“赏学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注赏学吧 -
请用微信扫码测试
温馨提示
每个试题只能免费做一次,如需多次做题,请购买搜题卡
立即购买
稍后再说
赏学吧