ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:23.29KB ,
资源ID:11547262      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11547262.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(程序员试题.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

程序员试题.docx

1、程序员试题阅读以下程序说明和C程序,将应填入_(n)_ 处的字句,写在答卷的对应栏内。程序说明本程序中的函数factor( m,fac,cp )用来计算正整 m ( m 2 )的除自身以外的所有不同因子的和。该函数返回因子和,并把各因子从小到大依次存放在数组 fac 中,其因子个数存入在 cp 所指的变量中。例如 m=16,求得的因子为(1,2,4,8)提示:因子和为15,因子个数为4。程序假定正整数 m 的不同因子个数不会超过100个。程序# include# define N 100long factor (int m,int fac,int *cp)int c1, c2 , i, k;l

2、ong s;fac0 = 1;for(c1 = s = 1,c2 = N-1,_(1)_;)k = m/i;if (_(2)_)if (_(3)_) facc1+ = i;facc2- = k;s + = i+k;else facc1+ = i;s + = i;i+;if(i=k) brdak;for (c2+;c2 = N-1;c2+)_(4)_;*cp=c1;return _(5)_;答案:1)3分 i = 2,或 cl + 12)3分 m % i = 0 (或 !(m % i) 或 m = i * k )3)3分 i ! = k (或 i k )4)3分 fac cl + = fac c

3、2 答 cl + 给 1 分, = 左右只对一半给 1 分。5)3分 s1.以下不是c语言规定保留字的是( )。(1)float(2)integer(3)signed(4) unsigned2.设int型变量x有初始值3,则表达式x+*5/10的值是( )(1)0(2)1(3)2(4)33.下述程序执行后的输出结果是()#includemain()int x=f;printf(% %cn,a+(x-a+1);(1)G(2)H(3)I(4)J4.设有程序,整理!#includemain()int i,j;for (i=0,j=1;i100)break;(2)for (;);(3)int k=10

4、00;do+k;while (k=10000);(4) int s=36;while (s);-s;答案:1.(2) 2.(2) 3.(1) 4.(3) 5.(3)1.假定a和b为int型变量,则执行下述语句组后,b的值为( )。a=1;b=10;dob-=a;a+; while (b-0);(1)9 (2)-2 (3)-1 (4)82.设有变量说明语句int a=1,b=0;则执行以下程序段的输出结果为( )。switch (a)case 1:switch (b)case 0:printf(*0*);break;case 1:printf(*1*);break;case 2:printf(*

5、2*);break;printf(n);(1)*0* (2)*0*2* (3)*0*1*2* (4)有语法错误3.以下合法的数组说明是( )。(1)char a6=string;(2)int a5=0,1,2,3,4,5;(3)char a=string;(4)INT a=0,12,3,4,5;4.下述程序代码中有语法错误的行是( )。int i,ia10,ib10; /*第一行*/for (i=0;i=xxi)while(!isalpha(*p1)&p1!=xxi)p1-;p2=p1;while( (1) )p1-;if(p1=xxi)if(isalpha(*p1)p1-;else if(!

6、isalpha(*(p1+1)break;p2+;(2) ;strcat(t,p1+1);strcat(t, );strcpy(xxi,t);void main()if( (3) )printf(数据文件in.dat不能打开!n007);return;StrOL();writeDat();getch();int ReadDat(void)FILE*fp;int i=0;char*p;if(fp=fopen(e:ain.dat,r)=NULL)return 1;while(fgets(xxi,80,fp)!=NULL)p=strchr(xxi,n);if(p)*p=0;i+;maxline= (

7、4)fclose(fp);return 0;void WriteDat(void)FILE*fp;int i;fp=fopen(e:aout6.dat,w);for(i=0;idata(4) ;小于查找左子树else if(tree-data(5) ;大于查找左子树else return tree;return tree;【答案】(1)p=p-left(2)p=p-right(3)return P(4)return SearchSortTree(tree-left)(5)return SearchSortTree(tree-right)试题三假设以带头结点的单循环链表作非递减有序线性表的存储结

8、构。函数deleteklist(LinkList head)的功能是删除表中所有数值相同的多余元素,并释放结点空间。例如:链表初始元素为:(7,10,10,21,30,42,42,42,51,70)经算法操作后变为:(7,10,21,30,42,51,70)【函数1】void deleteklist(LinkList head)LinkNode*p,*q;p=head-next;while(p!=head)q=p-next;while( (1) )(2) ;free(q);q=p-next;p=p-next;【说明2】已知一棵完全二叉树存放于一个一维数组Tn中,Tn中存放的是各结点的值。下面的

9、程序的功能是:从T0开始顺序读出各结点的值,建立该二叉树的二叉链表表示。【函数2】#includetypedef struct node int data;stuct node leftChild,rightchild;BintreeNode;typedef BintreeNode*BinaryTree;void ConstrncTree(int T,int n,int i,BintreeNode*&ptr)if(i=n) (3) ;置根指针为空elseptr=-(BTNode*)malloc(sizeof(BTNode)ptr-data=Ti;ConstrucTree(T,n,2*i+1,

10、(4) );ConstrucTree(T,n, (5) ,ptr-rightchild);main(void)/*根据顺序存储结构建立二叉链表*/Binarytree bitree;int n;printf(please enter the number of node:n%s;n);int*A=(int*)malloc(n*sizeof(int);for(int i=0;i for(int i=0;iN;I+)PRINTF(%D,AI); ConstructTree(A,n,0,bitree);答案:(1)q!=head &q-data=p-data(2)p-next=q-next(3)pt

11、r=NULL(4)ptr-leftchild(5)2*i+2试题四阅读下列函数说明和C函数,将应填入 n 处的字句写在答题纸的对应栏内。函数2.1说明函数strcat(char s, char t)的功能是:将字符串t复制连接字符串s的尾部,并返回新字符串的首地址作为函数值。例如:若s=“abcd”,t=“efg”,则新字符串应该是“abcdefg”。函数2.1char *strcat(char s, char t) char *p;p = s + strlen(s)-1while( (1) ) (2) ;*p = 0;return s;函数2.2说明函数f(char *str, char d

12、el)的功能是:将非空字符串str中的指定字符del删除,形成一个新字符串仍存放在str所指内存单元中。例如若str的值为“33123333435”,del的值为3,调用此函数后,新字符串为:“1245”。函数2.2void f(char *str, char del)int i, j, len;len=strlen(str);i=j=0;while(iif ( (3) )(4) = stri;i+;(5) ;试题五阅读以下说明和C代码,将应填入 n 处的字句写在答题纸的对应栏内。说明下面程序中函数fun的功能是:在含有10 个元素的s数组中查找最大数,及最大数所在位置 (即,下标值),最大数

13、可能不止一个。最大数作为函数值返回,最大数的个数通过指针变量n传回,所在位置由数组pos传回。例如:若输入 2 8 5 7 8 4 5 3 2 8则应输出:The max: 8Total: 3 /最大数出现次数The positions: 1 4 9#include#define M 10int fun(int *a, int *n, int pos) int i, k, max=-32767;(1)for(i=0; iif( (2) ) max=ai;for(i=0; iif( (3) ) posk+=i;*n=k;return max;main() int aM, posM, i=0, j

14、, n;printf(Enter 10 number :);for(i=0; ij=fun( (5) );printf(The max: %dn, j);printf(Total: %d,n);printf(The position:);for(i=0; iprintf(n);阅读以下程序说明和C程序,将应填入_(n)_ 处的字句,写在答卷的对应栏内。程序说明本程序中的函数factor( m,fac,cp )用来计算正整 m ( m 2 )的除自身以外的所有不同因子的和。该函数返回因子和,并把各因子从小到大依次存放在数组 fac 中,其因子个数存入在 cp 所指的变量中。例如 m=16,求得的

15、因子为(1,2,4,8)提示:因子和为15,因子个数为4。程序假定正整数 m 的不同因子个数不会超过100个。程序# include# define N 100long factor (int m,int fac,int *cp)int c1, c2 , i, k;long s;fac0 = 1;for(c1 = s = 1,c2 = N-1,_(1)_;)k = m/i;if (_(2)_)if (_(3)_) facc1+ = i;facc2- = k;s + = i+k;else facc1+ = i;s + = i;i+;if(i=k) brdak;for (c2+;c2 = N-1;

16、c2+)_(4)_;*cp=c1;return _(5)_;答案:1)3分 i = 2,或 cl + 12)3分 m % i = 0 (或 !(m % i) 或 m = i * k )3)3分 i ! = k (或 i k )4)3分 fac cl + = fac c2 答 cl + 给 1 分, = 左右只对一半给 1 分。5)3分 s1.以下不是c语言规定保留字的是( )。(1)float(2)integer(3)signed(4) unsigned2.设int型变量x有初始值3,则表达式x+*5/10的值是( )(1)0(2)1(3)2(4)33.下述程序执行后的输出结果是()#incl

17、udemain()int x=f;printf(% %cn,a+(x-a+1);(1)G(2)H(3)I(4)J4.设有程序,整理!#includemain()int i,j;for (i=0,j=1;i100)break;(2)for (;);(3)int k=1000;do+k;while (k=10000);(4) int s=36;while (s);-s;答案:1.(2) 2.(2) 3.(1) 4.(3) 5.(3)1.假定a和b为int型变量,则执行下述语句组后,b的值为( )。a=1;b=10;dob-=a;a+; while (b-0);(1)9 (2)-2 (3)-1 (4

18、)82.设有变量说明语句int a=1,b=0;则执行以下程序段的输出结果为( )。switch (a)case 1:switch (b)case 0:printf(*0*);break;case 1:printf(*1*);break;case 2:printf(*2*);break;printf(n);(1)*0* (2)*0*2* (3)*0*1*2* (4)有语法错误3.以下合法的数组说明是( )。(1)char a6=string;(2)int a5=0,1,2,3,4,5;(3)char a=string;(4)INT a=0,12,3,4,5;4.下述程序代码中有语法错误的行是(

19、 )。int i,ia10,ib10; /*第一行*/for (i=0;i=9;i+) /*第2行*/ia=0; /*第3行*/ib=ia; /第4行*/(1)第1行 (2)第2行 (3)第3行 (4)第4行5.若已定义int a9,*p=a;提示:在以后的语句中未改变p的值,则不能表示a1地址的表达式是( )。(1)p+1 (2)a+1 (3)a+ (4)+p答案:1.(4) 2.(2) 3.(4) 4.(4) 5.(3)1.假定a和b为int型变量,则执行下述语句组后,b的值为( )。a=1;b=10;dob-=a;a+; while (b-0);(1)9 (2)-2 (3)-1 (4)82设有变量说明语句int a=1,b=0;则执行以下程序段的输出结果为( )。switch (a)case 1:switch (b)case 0:printf(*0*);break;case 1:printf(*1*);break;case 2:printf(*2*);break;printf(n);(1)*0* (2)*0*2* (3)*0*1*2* (4

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1