题目详情

阅读以下说明和 C 函数,填补函数代码中的空缺,将解答填入答题纸的对应栏内。

【说明 1】

函数 f(double eps) 的功能是:利用公式

初级程序员,章节练习,基础复习,案例分析

计算并返回 π 的近似值。

【C 函数 1】

double f(double eps)

{

double n = 1.0,s = 1.0,term = 1.0 ,pi = 0.0 ;

while ( fabs(term) >= eps ) {

pi = pi + term;

n = (1) ; s = (2) ;

term = s / n ;

}

return pi*4;

}

【说明 2】

函数fun(char *str)的功能是:自左至右顺序取出非空字符串 str中的数字字符,形成一个十进制整数(最多 8 位)。例如,若 str中的字符串为 "iyt?67kp f3g8d5.j4ia2e3p12", 则函数返回值为 67385423。

【C 函数 2】

long fun(char *str)

{

int i = 0;

long num = 0;

char *p = str;

while ( i<8 && (3) ) {

if ( *p >= '0' && *p <= '9' ) {

num = (4) +*p-‘0';

++i;

}

(5) ;

}

return num;

}

正确答案及解析

正确答案
解析

(1)n+2

(2)-s 或-1*s

(3) *p!= ' \ 0'或等价形式

(4) num*10 或等价形式

(5) p++或等价形式

本题考查 C 语言程序设计基本技能。考生需认真阅读题目中的说明,从而确定代码的运算逻辑,在阅读代码时,还需注意各变量的作用。

函数f(double eps) 的功能是计算 π 的近似值。观察题中给出的计算公式,可知在循环中n每次递增2,因此空(1)处应填入"n+2"。由于公式中的各项是正负交替的,因此结合表达式 "term = s / n"可知变量 s 就是起此作用的。空 (2) 处应填入" -s"或"-1*s"。

对于函数 fun(char *str),从字符序列中取出数字并组合为一个整数时,对于每个数字,只需将之前获取的部分乘以10再加上该数字的值即可。

以 67385423 为例。

67385423 = (((((((0+6)*10+7)*10+3)* 10+8)*10+5)*10+4)*10+2)*10+3

函数中的变量 i是用来计算位数的, num 用来计算所获得的整数值。显然,最多读取字符序列中的前 8 个数字,或者到达字符序列的末尾(*p!= ' \ 0')时,计算也需结束。因此,空(3)处应填入“ (*p!= ' \ 0')”。

根据 num 的作用,空 (4) 处应填入 "num*10"。

根据指针 p 的作用,空 (5) 处的代码应使得 p 指向下一个字符,因此应填入 "p++"。

你可能感兴趣的试题

单选题

一台主机的IP地址为202.123.25.36,掩码为255.255.254.0。如果该主机需要在该网络进行直接广播,那么它应该使用的目的地址为( )

  • A.202.123.25.0
  • B.202.123.25.255
  • C.202.123.24.0
  • D.202.123.24.255
查看答案
单选题

在计算机系统的日常维护工作中,应当注意硬盘工作时不能__(2)__。另外,需要防范病毒,而__(3)__是不会被病毒感觉的。

  • A.电子邮件
  • B.硬盘
  • C.U盘
  • D.ROM
查看答案
单选题

有 4 个 IP 地址:201.117.15.254、201.117.17.01、201.117.24.5 和 201.117.29.3,如果子网掩码为 255.255.248.0,则这 4 个地址分别属于3个子网;其中属于同一个子网的是()

  • A.201.117.15.254 和 201.117.17.01
  • B.201.117.17.01 和 201.117.24.5
  • C.201.117.15.254 和 201.117.29.3
  • D.201.117.24.5 和 201.117.29.3
查看答案
单选题

在异步通信中,每个字符包含1位起始位、7位数据位、1位奇偶位和1位终止位,每秒钟传送200个字符,采用4相位调制,则码元速率为()。

  • A.50波特
  • B.500波特
  • C.550波特
  • D.1000波特
查看答案
单选题

在 Windows 中,运行( )命令得到下图所示结果。以下关于该结果的叙述中,错误的是( )。

Pinging 59.74.111.8 with 32 bytes of data:

Reply from 59.74.111.8: bytes=32 time=3ms TTL=60

Reply from 59.74.111.8: bytes=32 time=5ms TTL=60

Reply from 59.74.111.8: bytes=32 time=3ms TTL=60

Reply from 59.74.111.8: bytes=32 time=5ms TTL=60

Ping statistics for 59.74.111.8:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 3ms, Maximum = 5ms, Average = 4ms

  • A.该命令使得本地主机向目标主机发送了 4 个数据包
  • B.本地主机成功收到了目标主机返回的 4 个数据包
  • C.本地主机与目标主机连接正常
  • D.该命令用于查看目标主机的 IP 地址
查看答案

相关题库更多 +