试题一(共 15 分)
阅读以下说明和流程图,填补流程图中的空缺(1)~(9),将解答填入答题纸的对应栏内。
说明]假设数组 a 中的各元素 a(1),a(2) ,a(m)已经按从小到大排序(m≥1);数。
组 b 中的各元素 b(1),b(2),…b(n)也已经按从小到大排序(n≥1)。执行下面的流程图后,可以将数组 a 与数组 b 中所有的元素全都存入数组 c 中,且按从小到大排序(注意:序列中相同的数全部保留并不计排列顺序)。
例如,设数组 a 中有元素:2,5,6,7,9;数组 b 中有元素:2,3,4,7;则数组 c 中将有元素:
2,2,3,4,5,6,7,7,9。
流程图]试题二(共 15 分)
阅读以下说明和 c 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。
说明] 下面的程序按照以下规则输出给定名词的复数形式: a. 若名词以“y”结尾,则删除 y 并添加“ies”;
b. 若名词以“s”、“ch”或“sh”结尾,则添加“es”;
c. 其他所有情况,直接添加“s”。
c 程序]#include <>
#include <>
char *plural(char *word)
int n;
char *pstr;
n = strlen(word); 求给定单词的长度*/
pstr = char *)malloc(n+3); 申请给定单词的复数形式存储空间*/
if (!pstr ||n < 2)
return null;
strcpy(pstr,word); 复制给定单词*/
if ( 1) )
pstr[n-1] =i'; pstr[n] =e'; pstr[n+1] =s'; 2) ;
elseif(pstr[n-1]==s'||pstr[n-1]==h3) )
pstr[n] =e'; pstr[n+1] =s'; pstr[n+2] =0';
else pstr[n] =s'; pstr[n+1] =0';
main( )
int i; char *ps;
char wc[9][10] =
"chair","dairy","boss","circus","fly","dog","church","clue","dish"};
for(i = 0; i < 9; i++)
ps = 5) ;
printf("%s: %s",wc[i],ps); 输出单词及其复数形式*/
free(ps); 释放空间*/
system("pause");
试题三(共 15 分)
阅读以下说明和 c 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。
说明]下面的程序用 dole rob 算法生成 n 阶(n 为奇数)魔方阵(各行、列、对角线数字之和相等)。该算法的过程为:从 1 开始,按如下方法依次插入各自然数,直到 n2 为止:
a. 在第一行的正中插入 1;
b. 新位置应当处于最近插入位置的右上方,若该位置已超出方阵的上边界,则新位置取应选列的最下一个位置;若超出右边界,则新位置取应选行的最左一个位置;
c. 若最近插入的元素是 n 的整数倍,则选同列的下一行位置为新位置。 例如,3 阶魔方阵如下所示:
c 程序]#include <>
#include <>
#define size 50
main( )
int row, col, n, value;
int a[size+1][size+1]; 不使用下标为 0 的元素*/ printf("请输入要输出魔方阵的阶数 n(奇数, if (!n % 2)||n < 1 ||1) ) printf("输入数据有误!");exit(0); row = 1; col = n+1)/2; value = 1; while(value <=2 a[row][col] =value; *计算下一位置*/ if(value%n !=0){ row--;3) ;if(row < 1) row = n; if(col > n) (4) ; else row++; value = 5) ; printf("%d 阶魔方阵如下所示:",n); for(row = 1; row <=n; row++) for(col = 1; col <=n; col++) printf("%5d",a[row][col]); printf(""); 试题四(共 15 分) 阅读以下说明和 c 函数,将应填入 (n) 处的字句写在答题纸的对应栏内。 说明]计算机在处理算术表达式时 , 首先将其转换为后缀表达式 。 例如 , 表达式。 46+5*(120-37)”的后缀表达式形式为“46 5 120 37计算后缀表达式时,从左至右扫描后缀表达式:若遇到运算对象,则压入栈中;遇。 到运算符,则从栈中弹出相关运算对象进行计算,并将运算结果压入栈中,重复以上过程,直到后缀表达式扫描结束。例如,后缀表达式“46 5 120 37的计算过程为: a. 依次将 压入栈中; b. 遇到“-”取出,计算 120–37,得 83,将其压入栈中; c. 遇到“*”取出,计算 5*83,得 415,将其压入栈中; d. 遇到“+”取出,计算 46+415,得 461,将其压入栈中; e. 表达式结束,则计算过程完成。 函数 computing(char expr,int *result)的功能是基于栈计算后缀形式的表达式。 以串形式存入字符数组 expr)的值,并通过参数 result 返回该值。函数的返回值为。 1/0 分别表示表达式有/无错误。假设表达式中仅包含数字、空格和算术运算符号,其中所有项均以空格分隔,且运算符仅包含加(“+减(“-乘(“*除(“\ 函数 computing 中所用栈的基本操作的函数原型说明如下: void initstack(stack *s):初始化栈。 void push(stack *s, int e): 将一个整数压栈,栈中元素数目增 1。 void pop(stack *s):栈顶元素出栈,栈中元素数目减 1。 int top(stack s):返回非空栈的栈顶元素值,栈中元素数目不变。 int isempty(stack s):若 s 是空栈,则返回 1 否则返回 0。 c 函数]int computing(char expr,int *result) stack s; int tnum, a,b; char *ptr; initstack(&s); ptr = expr; /字符指针指向后缀表达式串的第一个字符*/ while (*ptr!='0') if (*ptr当前字符是空格*/ (1) ;字符指针指向下一字符*/ continue; elseif (isdigit(*ptr)) *当前字符是数字,则将该数字开始的数字串转换为数值*/ tnum = 2) ; while (*ptr>=’0’ &ptr <=9’) tnum = tnum * 10 + 3) ; ptr++; push( (4) ) else /*当前字符是运算符或其他符号*/ if (*ptr=='ptr=='ptrptr == if (!isempty(s)) a = top(s); pop(&s); 取运算符的第二个运算数*/ if (!isempty(s)) b = top(s); pop(&s); 取运算符的第一个运算数*/ else return -1; else return -1; switch (*ptr) { case '+push(&s,b+a); break; case '-push(&s,b-a); break; case '*push(&s,b*a); break; case '/push(&s,b/a); break; elsereturn -1; ptr++;字符指针指向下一字符*/ /*while */ if (isempty(s)) return -1; else { (5) =top(s); pop(&s); 取运算结果*/ if (!isempty(s)) return -1; return 0; 从下列 3 道试题(试题五至试题七)中任选 1 道解答。 如果解答的试题数超过 1 道,则题号小的 1 道解答有效。 试题五(共 15 分) 阅读下列说明、图和 c++**,将应填入 (n) 处的字句写在答题纸的对应栏内。 说明]已知对某载客车辆(car)进行类建模,如图 5-1 所示,其中类 engine 表示发动机引擎,类 wheel 表示车轮,类 body 表示车身,类 driver 表示司机,类 passenger 表示乘客。 图 5-1 类图。 程序员测试大纲。一 测试说明。1 测试要求 1 掌握数制及其转换 数据的机内表示 算术和逻辑运算,以及相关的使用数学基础知识 2 理解计算机的组成以及各主要部件的性能指标 3 掌握操作系统 程序设计语言的基础知识 4 熟练掌握计算机常用软件的基本操作 5 熟练掌握基本数据结构和常用算法 6 熟练掌握... 初级程序员与高级程序员的区别一般对于一个问题,初级程序员和高级程序员考虑这个问题的方法绝对是不同的。比如,在初级程序员阶段时,他会觉得vb也能做出应用来,且看起来也不错。但到了中级程序员时,他可能就不会选择vb了,可能会用mfc,这时,也能做出效果不错的程序。到高级程序员时,他绝对不是首先选择以上工... 张友生丛书主编 电子工业出版社出版的 程序员考试考点分析与真题详解 程序员教程全国计算机技术与软件专业技术资格 水平 考试指定用书程序员教程 第三版。初级程序员级考试大纲。一 考试说明。1.考试要求 1 熟练掌握dos windows95 word和上网软件的使用方法,以及有关基础知识 2 掌握程序...程序员考试大纲程序员考试大纲
初级程序员与高级程序员的区别
程序员大纲