首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C代码,填充代码中的空缺,将解答填入答题纸的对应栏内。 【说明1】 下面的函数countCharq(char*text)统计字符串text中不同的英文字母数和每个英文字母出现的次数(英文字母不区分大小写)。 【C代码1】 in
阅读以下说明和C代码,填充代码中的空缺,将解答填入答题纸的对应栏内。 【说明1】 下面的函数countCharq(char*text)统计字符串text中不同的英文字母数和每个英文字母出现的次数(英文字母不区分大小写)。 【C代码1】 in
admin
2014-05-07
60
问题
阅读以下说明和C代码,填充代码中的空缺,将解答填入答题纸的对应栏内。
【说明1】
下面的函数countCharq(char*text)统计字符串text中不同的英文字母数和每个英文字母出现的次数(英文字母不区分大小写)。
【C代码1】
int countChar(char *text )
{
int i,sum=0;/*sum保存不同的英文字母数*/
char*ptr;
int c[2 6]={0};/*数组C保存每个英文字母出现的次数*/
/*c[0]记录字母A或a的次数,c[1]记录字母B或b的次数,依此类推*/
ptr= (1 );
/*ptr初始时指向字符串的首字符*/
while(*ptr){
if(isupper(*ptr))
c[*ptr-’A’]++;
else
if(islower(*ptr))
C[*ptr-’a’]++;
( 2);/*指向下一个字符*/
for(i=0;i<2 6;i++)
if((3))sum++;
return sum;
}
【说明2】
将下面C代码2中的空缺补全后运行,使其产生以下输出
f2:f2:f2:2
f3:f3:1
【C代码2】
#include
int fl(int(*f)(int));
int f2(int);
int f3(int);
int main()
{
printf("%d\n",fl((4)));
printf(”%d\n”,fl((5)));
return 0;
}
int fl(int(*f)(int))
{
int n=0;
/*通过函数指针实现函数调用,以返回值作为循环条件*/
while ( (6 ) ) n++;
retUrn n;
}
int f2(int n)
{
printf("f2: ");
return n*n-4;
}
int f3(int n)
{
printf("f3: ");
return n-1;
}
选项
答案
(1)text,或&text[0],或其等价形式 (2)ptr++,或++ptr,或ptr=tr+1,或ptr+=1 (3)c[i],或*(c+i) (4)f2 (5)f3 (6)f(n),或(*f)(n)
解析
本题考查数据指针、运算逻辑和函数指针的应用。
首先应认真分析题目中的说明,然后确定代码结构和各变量的作用。
在函数countChar(char*text]~中来统计字符串text中不同的英文字母数和每个英文字母出现的次数。用来表示计数值的数组元素c
需要与英文字母对应起来,方式为c[0]记录字母A或a的次数,c[1]记录字母B或b的次数,依此类推,因此i=英文字母‘A’ (英文字母为大写)或i=英文字母-‘a’(英文字母为小写)。
数据指针是指向数据的指针变量。数据指针ptr用来表示。text中的每一个字符,初始时ptr指向第一个字符,因此空(1)处应填入“text"或其等价方式,(2)处的作用是随循环控制逐个指出text中的后续字符,因此空(2)处应填入“ptr++”或其等价方式。
显然,若c
的值不为0则表示字符‘A’+i或‘a’+i出现了,反之,则表示字符‘A’+i或‘a’+i未出现,因此在计算字符种类时只要判断c
是否为0即可,因此空(3)处应填入“c
”或其等价形式。
函数指针是指向函数的指针变量。根据代码2的声明“int fl(int(*f)(int));”可知调用函数f1时,实参应该是函数名或函数指针,且函数名或函数指针指向的函数应有一个整型参数,返回值为整型,而f2和f3都是符合这种定义类型的函数。
C代码2中,在main函数中两次调用了函数f1,分析运行结果可知,是先以f2为实参调用f1,然后以f3为实参调用f1,因此空(4)和(5)分别填入“f2”或“f3”或它们的等价形式,在空(6)处应填入“f(n)”或其等价形式来实现最后对f2和f3的调用。
while ( (6 ) ) n++;
retUrn n;
}
int f2(int n)
{
printf("f2: ");
return n*n-4;
}
int f3(int n)
{
printf("f3: ");
return n-1;
}
转载请注明原文地址:https://www.kaotiyun.com/show/pnjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
西部某省考试机构工作人员统计了去年下半年三个地区四种资格的报考人数,将统计表抄录如下(其中有一个数据抄错了): 信息处理技术员小王很快就找出了错误的数据,并进行了纠正。错误的数据是(32),该数据应纠正为(33)。33.
某年级两个班举行了一次数学统考,一班(共30人)的平均成绩为70分,二班(共 20人)的平均成绩为75分,则该年级的平均成绩为(65)分。
关系代数运算是以集合操作为基础的运算,其5种基本运算是并、差、(57)、投影和选择。
某商场记录(统计)销售情况的数据库中,对每一种商品采用了国家统一的商品编码。这种做法的好处不包括(11)________________。
计算机使用一段时间后发现,系统启动时间变长,系统响应迟钝,应用程序运行缓慢,为此,需要进行系统优化。系统优化工作不包括___________。
小张为本企业录入一篇领导讲话文稿。文稿中引用了该企业2008年的销售额和各产品的利润等数据。小张考虑到目前是2010年,从信息的实效性出发,决定对文稿中的这部分内容进行处理,则______做法最为恰当。
编译程序的作用是将高级程序语言源程序翻译为(4)。
计算机在接通电源后,系统首先由(41)程序对内部每个设备进行测试。
()是移动互联网的组成部分。
随机试题
男,26岁,因患白血病住院治疗,为增加其机体抵抗力,可给予输入的血液制品是
A.舌体淡瘦B.舌质淡,有齿痕C.舌质红,起芒刺D.舌质暗,有瘀点E.舌质红,有裂纹气分热盛证的舌象是
根据《中华人民共和国进出口关税条例》,我国进口关税设置()等税率。
根据学习的定义,下列属于学习现象的是()。①会打球②个子越长越高③风沙吹进眼睛自然流泪④小孩看到穿白大褂的医生感到害怕⑤儿童理解了“地球是圆的,而不是平的”
—个班的学生排队,如果排成3人一排的队列,则比2人一排的队列少8排;如果排成4人一排的队列,则比3人一排的队列少5排。这个班的学生如果按5人一排来排队的话,队列有多少排?()
大数据是指规模极其巨大,以致很难通过一般软件工具加以获取、管理、处理并整理成为有用资讯的海量数据。其具有大量、高速、多样和价值四个特点,被认为是人类新世纪的“新财富”,价值“堪比石油”。发达国家纷纷将开发利用大数据作为夺取新一轮制高点的重要目标,就是个明证
某人批发了若干圆珠笔,如果将圆珠笔消费的资金用来买铅笔,则多买40支;如果用来买钢笔,则少买9支。已知每支铅笔l角5分钱,每支钢笔2元6角钱,每支圆珠笔的单价是()。
甲、乙、丙三人平均出资,自愿合伙成立了一个采石组,约定三人共同劳动、按劳取酬,并推举甲为采石组负责人,主要负责劳动安全。在一次爆破作业中,乙违章操作致左眼受伤,花去治疗费5000元。此损害应当()(2009年基础课单选第33题)
九寨沟(JiuzhaigouValley)的景色、梦幻的神话,像仙境一样、天然的纯净环境都是其他地方不能相提并论的。九寨沟位于南平县,在成都市以北450公里。它的名字是由于有9个藏族村寨(stockadevillagesofTibetanorig
A、TV.B、Radio.C、Telephone.D、Doorbell.D本则对话的练习主要集中在选项上,听音时要重点注意利用选项做笔记。答案集中在男士的第三句的介绍中,他没有提到D项。
最新回复
(
0
)