样输出:");Р c=getchar (); //通过getchar()来获得字符对应的ASCII码Р if (c<='Z'&&c>='A') //判断是否为大写字母Р c=c-('A'-'a'); //大写字母变小写Р printf ("处理结果是: %c",c); Р return 0;Р} Р测试:由于本题不涉及无效输入,所以我们只需分析程序的几种运行情况,其中可分为对大写字母进行转化为相对应的小写字符;而对于小写字母而言,程序不应该将其进行任何转化;此外,对于非字母输入我们也不应该转化,具体测试数据见表1-1,测试结果见图1-3~1-5。Р表1-1 编程题1的测试数据Р对应测试测试用例1的运行结果如图1-3所示。Р图1-3 编程题1的测试用例一的运行结果Р 对应测试测试用例2的运行结果如图1-4所示。Р图1-4 编程题1的测试用例二的运行结果Р对应测试测试用例3的运行结果如图1-5所示。Р图1-5 编程题1的测试用例三的运行结果Р?说明上述的运行结果与理论分析吻合,验证了程序的正确性。Р(2)编写一个程序,输入无符号短整数x,m,n(0 ≤m≤ 15, 1 ≤ n≤ 16-m),取出x从第m位开始向左的n位(m从右至左编号为0~15),并使其向左端(第15位)靠齐。Р解答:由于题目中明确要求输入无符号短整数,且目前我们缺少检查输入是否为整数的手段,所以本题并不检查输入的x是否合理;不过以我们目前的知识,我们可以根据题目要求对输入的m,n是否合理进行检查(仅检查它们是否在合理范围内,默认其为整数)。而在确认输入合理之后,我们着手开始对问题进行处理,由于这是一个涉及到计算机内部数据的二进制运算的问题,相应地,我们在解决这个问题时也要利用C语言提供的位运算来完成相应的操作,首先,由于我们只需要x从第m位开始向左的n位,所以我们需要去掉x的其余部分(第m位之前的内容),同时