2011年吉林大学计算机学院硕士研究生复试上机考试题目解析

5星 · 超过95%的资源 需积分: 9 6 下载量 51 浏览量 更新于2024-09-17 2 收藏 127KB PDF 举报
吉林大学计算机科学与技术学院在2011年的硕士研究生入学复试上机考试中,考察了两个主要的编程知识点。以下是详细的解释: 1. **字符串的反码计算** (总分15分) 这部分题目要求考生编写程序,计算给定字符串的反码。根据题目描述,字符串的反码规则是:对于小写字母,其反码与字符'a'的距离等于该字符与字符'z'的距离;对于大写字母,反码与字符'A'的距离等于与字符'Z'的距离。非字母字符保持不变。例如,'a'的反码是'z','c'的反码是'x',而特殊字符如'$'的反码仍为'$',因为它们不属于字母范围。考生需要读取输入字符串,逐个字符处理并输出其反码。提供的提示代码框架展示了如何通过`scanf`读取字符串,并使用`printf`输出结果。 ```markdown - 输入:字符串,长度不超过80个字符,不含空白字符 - 输出:每个字符串的反码,每行一个 示例: 输入:Hello 输出:Svool 提示的C语言程序结构: ```cpp #include<stdio.h> int main(){ char str[100]; while(1){ scanf("%s", str); if(str[0] == '!' && str[1] == 0) break; // 在这里计算反码并存储 printf("%s\n",反码计算后的字符串); } return 0; } ``` 2. **数字之和及其平方的数字和计算** (总分15分) 此题考察的是对整数处理的基本算法,包括两部分:首先计算正整数n的所有位数字之和,然后计算n的平方的每位数字之和。输入是一个0到40000之间的正整数,若n为0则表示输入结束。输出应包含这两个和,以空格分隔,但行尾无空格。示例给出了输入和对应的输出。 ```markdown - 输入:正整数n(0 < n < 40000),n=0表示结束 - 输出:n的数字之和与n的平方的数字之和,空格分隔 示例: 输入:4 12 97 39999 0 输出:47 39 16 ``` 考生需要设计一个程序来分别计算每个输入数值的这两个属性,并正确格式化输出。这部分可能需要使用循环和条件判断来实现。 本次上机考试主要考察了字符串处理和基本数学运算在编程中的应用,以及考生对C语言等基础编程语言的理解和操作能力。
2009-04-10 上传
第一章 习题解答 1解:源程序是指以某种程序设计语言所编写的程序。目标程序是指编译程序(或解释程序)将源程序处理加工而得的另一种语言(目标语言)的程序。翻译程序是将某种语言翻译成另一种语言的程序的统称。编译程序与解释程序均为翻译程序,但二者工作方法不同。解释程序的特点是并不先将高级语言程序全部翻译成机器代码,而是每读入一条高级语言程序语句,就用解释程序将其翻译成一段机器指令并执行之,然后再读入下一条语句继续进行解释、执行,如此反复。即边解释边执行,翻译所得的指令序列并不保存。编译程序的特点是先将高级语言程序翻译成机器语言程序,将其保存到指定的空间中,在用户需要时再执行之。即先翻译、后执行。 2解:一般说来,编译程序主要由词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、代码优化程序、目标代码生成程序、信息表管理程序、错误检查处理程序组成。 3解:C语言的关键字有:auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while。上述关键字在C语言中均为保留字。 4解:C语言中括号有三种:{},[],()。其中,{}用于语句括号;[]用于数组;()用于函数(定义与调用)及表达式运算(改变运算顺序)。C语言中无END关键字。逗号在C语言中被视为分隔符和运算符,作为优先级最低的运算符,运算结果为逗号表达式最右侧子表达式的值(如:(a,b,c,d)的值为d)。 5略