阅读以下代码,回答问题1至问题3,将解答填入答题纸的对应栏内。 【代码1】 #include Void swap(int x, int y) { int tmp=x; x=y; y=tmp; } int main() { int a=3,

admin2017-11-28  38

问题 阅读以下代码,回答问题1至问题3,将解答填入答题纸的对应栏内。
【代码1】
#include
Void swap(int x,  int y)
{
int tmp=x;    x=y;    y=tmp;
}
int main()
{
int a=3,  b=7;
printf(“a1=%d  b1=%d\n”,  a,  b);
swap(a,b);
printf(“a2=%d  b2=%d\n”,  a,  b);
return 0;
}
【代码2】
#include
#define SPACE ’’ //空格字符
int main()
{
char str[128]=“Nothing is impossible!  ”;
int i,num=0,wordMark=0;
for(i=0;str;i++)
if(str:=SPACE)
wordMark=0;
else
if(wordMark==0){
wordMark=1;
num++;
}
printf(“%d\n”,num);
return 0;
}
【代码3】
#include
#define SPACE  ’’  //空格字符
int countStrs(char*);
int main()
{
char str[128]=“Nothing is impossible!  ”;
printf(“%d\n”,(1)(str));
return 0;
}
int countStrs(char*p)
{
int num=0,wordMark=0;
for(;(2);p++)  {
if(  (3)  ==SPACE)
wordMark=0;
else
if(!wordMark)(
WordMark=1;
++num
}
}
return  (4);
}
代码3的功能与代码2完全相同,请补充代码3中的空缺,将解答写入答题纸的对应栏内。

选项

答案(1)countStrs (2)*p 或p[0] 或*(p+0)或*p!=0或*p!=‘\0’或等效形式 (3)*p或p[0]或*(p+0)或等效形式 (4)num

解析 本问题考查程序的基本结构、运算逻辑和函数调用规范。
在代码3中,将对字符串中的单词计数用一个函数来实现,需要在理解代码2的基础上来完善代码3。
空(1)处的要求很明确,就是要通过函数调用来完成单词计数,为防止考生误解,该函数调用的实参已给出,因此填入函数名“countStrs”即可。
空(2)处的for循环用来遍历字符串中的字符,显然,p是指向串中字符的指针,循环条件应为是否遇到串结束标志字符,因此空(2)处应填入“*p!=0”或者等效方式。
空(3)处所在表达式是串中的字符与空格字符进行相等比较,应填入“*p”或者等效方式。
根据函数countStrs的首部定义及函数体内的代码逻辑,空(4)处是返回字符串中的单词数目,应填入“num”。
转载请注明原文地址:https://jikaoti.com/ti/7HW7FFFM
0

最新回复(0)