首页 > 全部 > 程序员下午应用技术考试 > 软件水平考试(初级)程序员下午(应用技术)模拟试卷52

软件水平考试(初级)程序员下午(应用技术)模拟试卷52

本单篇文档共4721字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类软考初级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
程序员下午应用技术考试 模拟试卷 3452人下载
价格: 1.10 原价:¥8.00
收藏

软件水平考试(初级)程序员下午(应用技术)模拟试卷52

流程图题

1.阅读以下说明和流程图,填写流程图中的空缺。

【说明】

下面流程图旨在对某次数学竞赛成绩进行统计,包括统计平均分、最高分、最低分和各分数段的人数。参赛选手共有n人,每人的百分制成绩已存储在数组C[1:n]中。将成绩从低到高分为m段(m>1),各段的最高分按顺序存储在数组d[1:m]中(d[m]=100),分数段区间依次为(0,d[1]),(d[1],d[2]),(d[2],d[3]),…,(d[m—1],d[m])。流程图中,变量S存放当前累计所得的成绩之和,变量H和L存放当前的最高分和最低分,各分数段人数的统计结果保存在数组R[1:m]中。

【流程图】

(1)C[i]+S 或 等效形式

(2)C[i]→H 或C[i]=H 或 等效形式

(3)C[i]→L 或 C[i]=L 或 等效形式

(4)d[j] 或 等效形式

(5)R[j]+1 或等效形式

解析:本题考查对算法流程图的理解和设计能力。

流程图开始时需要给变量S,H,L以及数组R赋初值。

变量S用于累计求和,因此开始时赋初值0,每处理一个成绩C[i],就需要执行一次累加C[i]+S→S,最后输出结果时再计算平均分S/n。因此,(1)处应填C[i]+S。

为计算最高分H,需要先给H赋最小的值0作为初值。每当一个成绩C[i]超过H时,应执行C[i]→H,最后得到的H就是最高分值。因此,(2)处应填C[i]→H。

为计算最低分L,需要先给L赋最大的值100作为初值。每当一个成绩C[i]低于L时,应执行C[i]→L,最后得到的L就是最低分值。因此,(3)处应填C[i]→L。

为按照分数段区间(0,d[1]),(d[1],d[2]),(d[2],d[3]),…,(d[m—1],d[m])统计各分数段的人数,对每个成绩C[i]应分别与d[1],d[2],…,d[j],…,d[m]进行比较。当C[i]首次小于某个d[j]时,就应执行R[j]+1→R[j]。因此,(5)处应填R[j]+1。

C语言题

阅读以下C代码,回答问题1至问题3。

【C代码1】

#include

int main() {

int m,n;

for(m=3;m>0;——m)

for(n=0; n<m;++n) {

print f (“%d%d\n”,m,n);

break;

}

return 0;

}

【C代码2】

#include

void foo(int n) {

print f(“%d”,n);

if(n>1)

foo(n—1);

print f(“%d”,n);

}

int main(){

foo(3);

return 0;

}

【C代码3】

#include

#include

int main() {

charP, str[] =”e=2.718aT9\tRf\n#”;

int ic=0 uc=O dc=0,oc=0;

for(p=str;P!=’#’;++p){

if(i slower(P))1c++;

else if(i supper(P))uc++;

else if(isdigit(P))dc++;

else oc++;

}

printf(”lc=%d uc=%d dc=%d oc=%d\n”,lc,uc,dc,oc);

return 0;

}

2.请写出【C代码1】运行时的输出结果。

3 0

2 0

1 0

解析:本问题考查基本的循环控制逻辑。break语句在循环语句中的作用是跳出循环,从而结束该break所在的循环结构。在嵌套的循环中,break只是跳出其所在的循环结构层次,外层的循环还要继续执行。【C代码1】for语句执行情况如下表所示。

3.

解析:

4.请写出【C代码3】运行时的输出结果。

1c=3 uc=2 dc=5 oc=4

解析:本问题考查字符数据的表示及字符指针的运算。

这里的关键是明确字符串”e=2.718aT9\tRf\n#”;中每个字符的类型,属于小写字母(islower)的字符有“e”“a”“f”大写字母(isupper)为“T”“R”,数字字符(isdigit)为“2”“7”“1”“8”“9”,其他字符为“=”“.”“\t“\n”“#”,循环条件为当前字符不等于“#”时进行循环,因此不对“#”计数。

5.阅读以下说明和C代码,填补C代码中的空缺

【说明】

一元二次方程ax2+bx+c=0(a≠0)的求根公式如下:

设△=b2—4ac,若△大于0,则方程有两个不相等的实数根;若△等于0,则方程有两个相等的实根(即只有一个实根):若△小于0,则方程有两个不相等的复数根,为

(1)—c/b或等效形式

(2)delta>0 或b*b—4*a*c>0或等效形式

(3)delta<0 或b*b—4*a*c<0或等效形式

(4)一b/(2*a) 或等效形式

(5)d/(2*a)

其中,d可替换为sqrt(fabs(delta))或sqa(—delta)或sqrt(4*a*c—b*b)

(6)—b/(2*a)或等效形式

解析:

6.阅读以下说明和C代码,填补C代码中的空缺

本文档预览:3600字符,共4721字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
软件水平考试(初级)程序员下午(应用技术)模拟试卷52

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号