考题
●试题一阅读下列函数说明和C代码,把应填入其中n处的字句写在答卷的对应栏内。【函数1.1说明】函数strcpy(char*to,char*from)将字符串from复制到字符串to。【函数1.1】void strcpy(char*to,char*from){while( ( 1 ) );}【函数1.2说明】函数merge(int a[ ],int n,int b[ ],int m,int *c)是将两个从小到大有序数组a和b复制合并出一个有序整数序列c,其中形参n和m分别是数组a和b的元素个数。【函数1.2】void merge(int a[ ],int n,int b[ ],int m,int *c){ int i,j;for(i=j=0;i<n j<m;)*c++=a[i]<b[j]? a[i++]:b[j++];while( (2) )*c++=a[i++];while( (3) )*c++=b[j++];}【函数1.3说明】递归函数sum(int a[ ],int n)的返回值是数组a[ ]的前n个元素之和。【函数1.3】int sum(int a[ ],int n){ if(n>0)return (4) ;else (5) ;}
考题
阅读以下说明,回答问题1~4,将解答填入对应的解答栏内。[说明] 现有如下关系模式:R(A,B,C,DE),其中,A,B为组合键,R上存在的函数依赖有(A ,B) →E,B→C,C→D该关系模式满足2NF吗?为什么?
考题
●试题二阅读下列程序或函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。【函数2.1说明】函数strcmp()是比较两个字符串s和t的大小。若s<t函数返回负数;若s=t函数返回0;若s>t,函数返回正数。【函数2.1】int strcmp(char *s,char *t){ while(*s *t (1) ){s++;t++;}return (2) ;}【程序2.2说明】在n行n列的矩阵中,每行都有最大的数,本程序求这n个最大数中的最小一个。【程序2.2】#includestdio.h#define N 100int a[N][N];void main(){ int row ,col,max,min,n;/*输入合法n(<100),和输入n×n个整数到数组a的代码略*/for (row=0;row<n;row++){for(max=a[row][0],col=1;col<n;col++)if( (3) )max=a[row][col];if( (4) )min=max;else if( (5) )min=max;}printf ("The min of max numbers is %d\n",min);}
考题
函数的参数存放在什么地址空间中?说明其作用范围。将答案填入对应栏内。
考题
阅读下面的说明,回答问题1~问题4,将解答填入答题纸对应的解答栏内。[说明]阅读以下说明,回答问题1~问题4,将解答填入答题纸对应的解答栏内。windows Server 2003是一个多任务多用户的操作系统,能够以集中或分布的方式实现各种应用服务器角色,是目前应用比较广的操作系统之一。Windows内置许多应用服务功能,将下表中(1)~(5)处空缺的服务器名称填写在答题纸对应的解答栏内。(1)
考题
阅读以下说明和关系表,回答问题1~4,将解答对应的解答栏内。[说明]关系变量R{A,B,C,D,E,F}满足如下的函数依赖AD→E,AEB→D,B→CF,DE→B,DC→E,EC→FA,EF→DB,E→A求此模型的最小函数依赖集。
考题
阅读下列说明,回答问题1至问题2,将解答填入答题纸的对应栏内。[说明]如图10-4所示是电子商务系统平台结构示意图。请把空缺的地方填写完整。
考题
阅读下列说明,回答问题1至问题2,将解答填入答题纸的对应栏内。[说明]电子商务系统的外部社会环境如图10-5所示。请把空缺的地方填写完整。
考题
阅读下列说明和C函数,填补函数中的空缺,将解答填入答案纸的对应栏目内。 【说明】 函数isLegal(char*ipaddr)的功能是判断以点分十进制数表示的IPV4地址是否合法。参数ipadddr 给出表示IPV4地址的字符串的首地址,串中仅含数字字符和.。若IPV4地址合法则返回1,否则返回0。判定为合法的条件是:每个十进制数的值位于整数区间[0,255],两个相邻的树之间用.分隔,共4个数、3个.。例如,192.168.0.15、1.0.0.1是合法的,192.168.1.256、1.1..1是不合法的。【函数】 int isLegal (char*ipaddr) ﹛ int flag; int curVal; //curVal 表示分析出的一个十进制数 int decNum=0,dotNum=0; //decNum 用于记录十进制数的个数 //dotNum 用户记录点的个数 char*p=( 1 ); for(;*p;p++) ﹛ curVal=0;flag=0 while (isdigit(*p))﹛ //判断是否伟数字字符 curVal=( 2 )+*p-0; ( 3 ) flag=1; ﹜ if(curVal255)﹛ return 0; ﹜ if (flag)﹛ ( 4 ) ﹜if(*p=.﹛ dotNum++; ﹜ ﹜ if (( 5) )﹛ return 1; ﹜ return 0; ﹜
考题
阅读以下说明和C函数,填补代码中的空缺(1)~(5),将解答填入答题纸的对应栏内。【说明1】 函数isPrime(int n)的功能是判断n是否为素数。若是,则返回1,否则返回0。素数是只能被1和自己整除的正整数。例如,最小的5个素数是2,3,5,7,11。 【C函数】 int isPrime (int n) { int k, t; if (n==2) return 1; if(n2|| (1) ) return 0; /* 小于2的数或大于2的偶数不是素数 */ t=(int)sqrt(n)+1; for (k=3; kt; k+=2) if ( (2) ) return 0; return 1; } 【说明2】 函数int minOne(int arr[], int k)的功能是用递归方法求指定数组中前k个元素中的最小者,并作为函数值返回。 【C函数】 int minOne (int arr[], int k) { int t; assert (k0) ; if(k==1) return (3) ; t=minOne(arr+1, (4) ; if (arr[0]t) return arr[0]; return (5) ; }
考题
阅读以下说明和 C 函数,填补函数代码中的空缺,将解答填入答题纸的对应栏内。 【说明 1】 函数 f(double eps) 的功能是:利用公式计算并返回 的近似值。【说明 2】 函数fun(char *str)的功能是:自左至右顺序取出非空字符串 str中的数字字符,形成一个十进制整数(最多 8 位)。例如,若 str中的字符串为 iyt?67kp f3g8d5.j4ia2e3p12, 则函数返回值为 67385423。
考题
阅读以下说明和C函数,填补代码中的空缺(1)~(5),将解答填入答题纸的对应栏内。【说明】函数removeDuplicates(char *str)的功能是移除给定字符串中的重复字符,使每种字符仅保留一个,其方法是:对原字符串逐个字符进行扫描,遇到重复出现的字符时,设置标志,并将其后的非重复字符前移。例如,若str指向的字符串为“aaabbbbscbsss”,则函数运行后该字符串为“abse”。【c代码】void removeDuplicates (char *str)int i,len = strlen (str); /*求字符串长度*/If( (l) )return;/*空串或长度为1的字符串无需处理*lfor(i=0;i<len;i++) {Int flag =O; /*字符是否重复标志*/int m:for(m =( 2 ); m<len; m++){if(str[i]==str[m] ) {__(3)_;break;}}if (flag){Int n,idx = m;/*字符串第idx字符之后、与str [i]不同的字符向前移*/For( n=idx+l; nlen. n++)if ( str[n]!= str[i]) {str[idx]= str[n]; (4);}Str[(5)]=\0; /* 设置字符串结束标志*/}}}
考题
阅读下列说明、c++代码和运行结果,填补代码中的空缺(1)~(6),将解答填入答题纸的对应栏内。【说明】很多依托扑克牌进行的游戏都要先洗牌。下面的c++程序运行时先生成一副扑克牌,洗牌后再按顺序打印每张牌的点数和花色。【c++代码】inciude <iostream>4Finclude <stdlib. h>include <ctime>inciude <aigorithm>include <string>Using namespace stdConst string Rank[13]={”A”,”2”,”3”,”4“,“5”,”6,”’“7”8“,9”,”10,”J”,”Q”,”K”}j//扑克牌点数
考题
阅读以下说明和Java程序,填补代码中的空缺(1)~(6),将解答填入答题纸的对应栏内。【说明】很多依托扑克牌进行的游戏都要先洗牌。下面的Java代码运行时先生成一副扑克牌,洗牌后再按顺序打印每张牌的点数和花色。【Java代码】
考题
试题三(共 15 分)阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。
考题
阅读以下两个说明、c函数和问题,将解答写入答题纸的对应栏内。【说明1】函数main()的功能旨在对输入的一个正整数n,计算12+22+32+…+n2,但是对该函数进行测试后没有得到期望的结果。【c函数】1.输入5测试上述main函数时,显示结果如下所示。input an integer:5result:-5825989092.将行号为7的代码修改为:prinff(”n=%d\nresuh:%d\n”,n,sum);并再次输入5测试main函数,显示结果如下所示。input an interger:5n=2293632result:-582598909阅读以上两个说明、c函数和问题,将解答写入答题纸的对应栏内。【问题1】请给出上述main函数中需要修改的代码行号,并给出修改后的整行代码。【说明2】函数test_f2{}编译时系统报告有错,修改后得到函数12_B{}。对函数12_B{}进行编译时顺利通过,在某些C系统中执行时却由于发生异常而不能正确结束。【c函数2】【问题2】(1)请指出函数test_f2中不能通过编译的表达式;(2)请指出可能导致函数f2_B运行异常的表达式。
考题
()阅读下列说明和C语言程序,将应填入 (n)处的语句写在答题纸的对应栏内。[说明]下面程序是一个带参数的主函数,其功能是显示在命令行中输入的文本文件内容。[C语言函数]#include"stdio.h"main(argc,argv) int argc; char *argv[]; { (1) ; if((fp=fopen(argv[1],”r’’))== (2) ) { printf(”file not open!\n”);exit(0);} while( (3) ) putchar( (4) ); (5); }
考题
阅读以下说明和C函数,填充函数中的空缺,将解答填入答题纸的对应栏内。【说明】函数GetDateId(DATEdate)的功能是计算并返回指定合法日期date是其所在年份的第几天。例如,date表示2008年1月25日时,函数的返回值为25,date表示2008年3月3日时,函数返回值为63。函数Kday—Date(inttheyear,intk)的功能是计算并返回指定合法年份theyear(theyear≥1900)的第k天(1≤k≤365)所对应的日期。例如,2008年的第60天是2008年2月29日,2009年的第60天是2009年3月1日。函数isLeapYear(inty)的功能是判断y代表的年份是否为闰年,是则返回1,否则返回0。DATE类型定义如下:
考题
阅读下列说明和图,回答问题,将解答填入答题纸的对应栏内。
阅读以下说明和C函数,将应填入 (n) 处的语句或语句成分写在答题纸的对应栏内。
【说明1】
函数deldigit(char *s) 的功能是将字符串s中的数字字符去掉,使剩余字符按原次序构成一个新串,并保存在原串空间中。其思路是:先申请一个与s等长的临时字符串空间并令t指向它,将非数字字符按次序暂存入该空间,最后再拷贝给s。
【C函数】
char *t = (char *)malloc( (1) ); /*申请串空间*/ int i, k = 0; if (!t) return; for(i = 0; i =’0’ if ( (4) ) { ch = *s; *s = *(s+len-1); *(s+len-1) = ch; reverse( (5) ); }}
考题
阅读以下说明和C函数,填补代码中的空缺,将解答填入答题纸的对应栏内。
[说明]
函数removeDuplicates(chai *str)的功能是移除给定字符串中的重复字符,使每种字符仅保留一个,其方法是:对原字符串逐个字符进行扫描,遇到重复出现的字符时,设置标志,并将其后的非重复字符前移。例如,若str指向的字符串为"aaabbbbscbsss",则函数运行后该字符串为"absc"。
[C代码] voidremoveDuplicates(char *str) { inti,len=strlen(str); /*求字符串长度*/ if(______)return; /*空串或长度为1的字符串无需处理*/ for(i=0;i<len;i++){ int flag=0; /*字符是否重复标志*/ int m; for(m=______; m<len;m++){ if(Str[i]==str[m]){ ______; break; } } if (flag) { int n,idx=m; /*将字符串第idx字符之后、与str[i]不同的字符向前移*/ for(n=idx+1; n<len; n++) if(Str[n]!=str[i]){ str[idx]=str[n];______; } str[______]='\0'; /*设置字符串结束标志*/ } } }
考题
【试题三】阅读下列说明和 C 函数,填补 C 函数中的空缺,将解答填入答案纸的对应栏目内。【说明】字符串是程序中常见的一种处理对象,在字符串中进行子串的定位、插入和删除是常见的运算。设存储字符串时不设置结束标志,而是另行说明串的长度,因此串类型定义如下:Typedef struct ﹛char*str //字符串存储空间的起始地址int length //字符串长int capacity //存储空间的容量﹜SString;【函数 1 说明】函数 indexStr(S,T,pos)的功能是:在 S 所表示的字符串中,从下标 pos 开始查找 T 所表示字符串首次出现的位置。方法是:第一趟从 S 中下标为 pos、T 中下标伟 0 的字符开始,从左往右逐个对于来比较 S 和 T 的字符,直到遇到不同的字符或者到达 T 的末尾。若到达 T 的末尾,则本趟匹配的起始下标 pos 为 T 出现的位置,结束查找;若遇到了不同的字符,则本趟匹配失效。下一趟从 S 中下标 pos+1 处的字符开始,重复以上过程。若在 S 中找到 T,则返回其首次出现的位置,否则返回-1。例如,若 S 中的字符串伟″students ents″,T 中的字符串伟″ent″,pos=0,则 T 在 S 中首次出现的位置为 4。【C 函数 1】int indexStr(SString S ,SString T,int pos)﹛int i,j:if(S.lengthleghtlengthlength;i++) //通过覆盖来删除自串 TS->str[()]=S->str[i];S->length=(); //更新 S所表示串的长度﹜﹜
考题
第一题 阅读以下说明和流程图,填补流程图中的空缺,将解答填入答题纸的对应栏内。
【说明】
对于大于1的正整数n,(x+1)n可展开为
问题:1.1 【流程图】
注:循环开始框内应给出循环控制变量的初值和终值,默认递增值为1。
格式为:循环控制变量=初值,终值,递增值。
考题
阅读下列说明和 C 函数,填补函数中的空缺,将解答填入答案纸的对应栏目内。【说明】函数 isLegal(char*ipaddr)的功能是判断以点分十进制数表示的 iPV4 地址是否合法。参数 ipadddr 给出表示 iPV4 地址的字符串的首地址,串中仅含数字字符和“.”。若 iPV4 地址合法则返回1,否则反馈 0.判定伟合法的条件是:每个十进制数的值位于整数区间[0,25],两个相邻的树之间用“.”分隔,共 4 个数、3 个“.”。;例如,192.168.0.15、1.0.0.1 是合法的,192.168.1.256、1.1..1是不合法的。【函数】int isLegal (char*ipaddr)﹛int flag;int cur Val; //curVal 表示分析出的一个十进制数int decNum=0,dotNum=0; //decNum 用于记录十进制数的个数//dotNum 用户记录点的个数Char*p=()for(;*p;p++) ﹛curVal=0;flag=0While (isdigit(*p))﹛ //判断是否伟数字字符CurVal=()+*p-′0′;()flag=1;﹜if(curVal>255)﹛return 0;﹜if (flag)﹛()﹜if(*p==′.′)dotNum++;﹜﹜if ()﹛return 1;﹜return 0;﹜
考题
阅读下列说明,补充(1)-(9),将解答填入答题纸的对应栏内。
考题
阅读以下说明和C函数,填补函数代码中的空缺,将解答填入答题纸的对应栏内。
[说明1]
函数f(double eps)的功能是:利用公式
计算并返回π的近似值。
[C函数1] double f(doubleeps) { double n=1.0, s=1.0, term=1.0, pi=0.0; while ( fabs(term) >=eps ){ pi=pi+term; n= ______; s= ______; 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 ++i; } ______; } return num; }
考题
阅读以下说明和流程图,填写流程图中的空缺,将解答填入答题纸的对应栏内。【说明】设[a1b1],[a2b2],...[anbn]是数轴上从左到右排列的n个互不重叠的区间(a1
考题
阅读下列说明,回答问题1和问题2,将解答写在答题纸的对应栏内。
【说明】
Windows 系统的用户管理配置中,有多项安全设置,如图2-1 所示。
考题
阅读以下说明,回答问题1至问题4,将解答填入答题纸对应的解答栏内。
【说明】
某企业网络拓扑如图1-1所示,A~E是网络设备的编号。