B007 数字字符转换

01-程序填空题 软件121, 唐鼎威 1211浏览

所属年份:2011.9

下列给定程序中,函数fun的功能是进行数字字符转换。若形参ch中是数字字符’0’~’9’,则将’0’转换成’9’,’1’转换成’8’,’2’转换成’7’,……,’9’转换成’0’;若是其它字符则保持不变;并将转换后的结果作为函数值返回。
请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

#include    <stdio.h>
/**********found**********/
___1___ fun(char  ch)
{
/**********found**********/
   if (ch>='0' && ___2___)
/**********found**********/
      return  '9'- (ch-___3___);
   return  ch ;
}

main()
{  char  c1, c2;
   printf("\nThe result  :\n");
   c1='2';   c2 = fun(c1);
   printf("c1=%c    c2=%c\n", c1, c2);
   c1='8';   c2 = fun(c1);
   printf("c1=%c    c2=%c\n", c1, c2);
   c1='a';   c2 = fun(c1);
   printf("c1=%c    c2=%c\n", c1, c2);
}

【参考答案】

(1) char
(2) ch<='9' 
(3) '0'

【考点分析】
本题考查:函数定义,注意函数定义的一般形式以及有参函数和无参函数的区别;if语句条件表达式,本题的条件表达式是判断数字字符;函数返回值,其一般形式为"return 表达式;"。

【解题思路】
填空1:函数定义时,类型标识符指明了本函数的类型,函数的类型实际上是函数返回值的类型,所以此处应该填入char。
填空2:通过if条件语句判断字符串中字符是否是数字字符,既大于等于字符'0',同时小于等于字符'9'。
填空3:return语句完成函数返回操作,要实现字符转换,应填入return '9'- (ch-'0')。

【解题宝典】

有参函数定义,其一般形式为:
类型标识符 函数名(形式参数表列)
{ 声明部分
   语句
}

在形参表中给出的参数称为形式参数,它们可以是各种类型的变量,各参数之间用逗号间隔。在进行函数调用时,主调函数将赋予这些形式参数实际的值。形参既然是变量,必须在形参列表中给出类型说明。