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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(专升本C语言程序设计模拟试卷.doc)为本站上传会员【a199****6536】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

专升本C语言程序设计模拟试卷.doc

1、完整版)专升本C语言程序设计模拟试卷 计算机科学与技术专业《基础知识》模拟试卷(考试时间150分钟,满分300分,共三部分) 第一部分 C语言程序设计(共100分) 一、 单项选择题(本大题共30小题,每小题2分,共60分) 1. 下列各选项中,均是合法有效的标识符的是【 】  A. 3day B。lower C。day_3 D.ab Sum _days abcde student_name _of lotu

2、s_1_2_3 default M.D。john 2. 若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是 A.A%2==1 B.!(A%2==0) C.!(A%2) D。A%2 3. 下列程序的输出结果是【        】 #include 〈stdio.h> void main( ) { int x=1,y=0,a=0,b=0; switch(x) { case 1

3、 switch(y) { case 0: a++; break; case 1: b++; break; } case 2: a++;b++; break; case 3: a++;b++; break; } printf(“%d,%d\n”,a,b); } A.1,1 B。2,1 C。1,0 D.2,2 4。 以下关于switch语句和break语句的描述中,只有正确的是【

4、 】 A.在switch语句中必须使用break语句 B.在switch语句中,可以根据需要使用或不使用break语句 C.break语句只能用于switch语句中 D.break语句是switch语句的一部分 5. 下面程序的输出是【 】. main() { int x=0x23; printf(“%d\n”,- —x); } A。18 B.19 C。34 D。35 6。 下列函数的输出结果是【    】 #include

5、return (xa * xb); } void main(void) { extern int xb; int xa=5; printf(“xa=%d,xb=%d,result=%d”,xa,xb,f1(xa)); return 0; } int xa=3,xb=4; A。 3,4,12 B. 5,4,20 C。 5,4,15 D. 3,4,15 7. c语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是 A. 地址传递 B. 由实参传给形参,再由形参传回给实参 C. 单向值传递 D。 由用户指定传递方式 8。 以下程序中调用

6、scanf函数给变量a输入数值的方法是错误的,其原因是【       】 void main() { int *p,a; p=&a; scanf(“%d",*p); …… } A。*p表示的是指针变量p的地址 B.*p表示的是变量a的值,而不是变量a的地址 C。*p表示的是指针变量p的值 D.*p只能用来说明p是一个指针变量 9。 下列程序段的输出结果是【 】。 int x=3; do  {   printf(“%2d\n”,x-=2);  }while (!(――x)) A。 1 B。 1 -2 C. 3 0 D。 是死循环

7、 10. 若有语句:int a=4, *p=&a;下面均代表地址的一组选项是【 】。 A。 a,p,&*a B. *&a,&a,*p C. &a,p,&*p D。 *&p,*p,&a 11。 下面程序输出的结果是   main()   { int i;   int a[3][3]={1,2,3,4,5,6,7,8,9};   for(i=0;i<3;i++)   printf(”%d ”,a[2—i][i]);   }   A)1 5 9   B)7 5 3   C)3 5 7   D)5 9 1 12。 下面函数的功能是   char *fun

8、char *str1,char*str2)   {while((*str1)&&(*str2++=*str1++));   return str2;   }   A)求字符串的长度   B)比较两个字符串的大小   C)将字符串str1复制到字符串str2中   D)将字符串str1接续到字符串str2中 13. 下面函数调用语句含有实参的个数为   func((exp1,exp2),(exp3,exp4,exp5));   A)1  B)2  C)4  D)5 13. 下面程序段的运行结果是   char *s="abcde";   s+=2;printf(”%d

9、s);   A)cde   B)字符′c′   C)字符′c′的地址   D)无确定的输出结果 14。 已有变量定义和函数调用语句:int a=25;print_value(&a);下面函数的正确输出结果是   void print_value(int *x)   {printf(”%d\n”,++*x);}   A)23   B)24   C)25   D)26 15. 当顺利执行了文件关闭操作时,fclose函数的返回值是   A)—1   B)TRUE   C)0   D)1 16。 设有如下定义   char *s[2]={ "abcd”,”AB

10、CD"};   则下列说法错误的是   A)s数组元素的值分别是”abcd”和"ABCD”两个字符串的首地址   B)s是指针数组名,它含有两个元素分别指向字符型一维数组   C)s数组的两个元素分别存放的是含有4个字符的一维字符数组中的元素   D)s数组的两个元素中分别存放了字符′a′和′A′的地址 17. 以下不能对二维数组a进行正确初始化的语句是   A)int a[2][3]={0};   B)int a[][3]={{1,2},{0}};   C)int a[2][3]={{1,2},{3,4},{5,6}};   D)int a[][3]={1,2,3,4,5

11、6}; 18。 有以下程序   struct STU   { char num[10]; float score[3]; };   main()   {struct STU s[3]={{”20021",90,95,85},   {"20022",95,80,75},   { ”20023”,100,95,90},   },*p=s;   int i; float sum=0;   for(i=0;i〈3;i++)   sum=sum+p—>score[i];   printf("%6。2f\n",sum);   }   程序运行后的输出结果是

12、  A)260。00   B)270.00   C)280.00   D)285.00 19. 若有说明:int a[10];则对a数组元素的正确引用是   A)a[10]   B)a[3,5]   C)a(5)   D)a[10-10] 20. 下面程序段中,输出*的个数是   char *s=”\ta\018bc”;   for(;*s!=′\0′;s++)printf(”*”);   A)9   B)5   C)6   D)7 21.设有如下函数   fun (float x)   {   printf("\n%d",x*x);}   则函数的类型

13、是   A)与参数x的类型相同   B)是void   C)是int型   D)无法确定 22. 有如下定义   #define D 2   int x=5;float y=3。83;   char c=′D′;   则下面选项中错误的是   A)x++;   B)y++;   C)c++;   D)D++; 23. 以下程序段的执行结果为   #define PLUS(X,Y)X+Y   main()   { int x=1,y=2,z=3,sum;   sum=PLUS(x+y,z)*PLUS(y,z);   printf(”SUM=%d",sum)

14、   }   A)SUM=9   B)SUM=12   C)SUM=18   D)SUM=28 24。 C语言规定,函数返回值的类型是由   A)return语句中的表达式类型所决定   B)调用该函数时的主调函数类型所决定   C)调用该函数时系统临时决定   D)在定义该函数时所指定的函数类型所决定 25. 下列程序的运行结果是   void fun(int *a,int *b)   { int *k;   k=a;a=b;b=k;   }   main()   { int a=2004, b=9,*x=&a,*y=&b;   fun(x,y);  

15、 printf("%d%d",a,b);   }   A)2004 9   B)9 2004   C)0 0   D)编译时出错 26. 下列程序是用来判断数组中特定元素的位置所在。如果输入如下整数:   876  675  896  101  301  401  980  431  451  777   #include   #include   int fun(int *s, int t, int *k)   { int i;   *k=0;   for(i=0;i  if(s[*k]  return s[*k];   }   main()   {  

16、 int a[10]={ 876,675,896,101,301,401,980,431,451,777},k;   clrscr();   fun(a, 10, &k);   printf("%d, %d\n ”, k, a[k]);   }   则输出结果为   A)7,431   B)6   C)980   D)6,980 27。下面程序应能对两个整型变量的值进行交换。以下正确的说法是   main()   {int a=10,b=20;   printf("(1)a=%d,b=%d\n",a,b);   swap(&a,&b);   printf("(2)

17、a=%d,b=%d\n”,a,b);   }   swap(int p,int q)   {int t;   t=p;p=q;q=t;   }   A)该程序完全正确   B)该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可   C)该程序有错,只要将swap()函数中的形参p和q以及t均定义为指针(执行语句不变)即可   D)以上说法都不对 28. 有以下程序   #include   main()   { char *p,*q;   p=(char *)malloc(sizeof(char)*20); q=p;   scanf("%s

18、 %s”,p,q); printf("%s %s\n",p,q);   }   若从键盘输入:abc def<回车>,则输出结果是   A)def def   B)abc def   C)abc d   D)d d 29。以下程序的输出结果是   int f()   { static int i=0;   int s=1;   s+=i; i++;   return s;   }   main()   { int i,a=0;   for(i=0;i〈5;i++)a+=f();   printf("%d\n",a);   }   A)20   B)24

19、   C)25   D)15 30。有以下程序   #include   struct NODE   { int num; struct NODE *next; };   main()   { struct NODE *p,*q,*r;   p=(struct NODE*)malloc(sizeof(struct NODE));   q=(struct NODE*)malloc(sizeof(struct NODE));   r=(struct NODE*)malloc(sizeof(struct NODE));   p-〉num=10; q-〉num=20; r—〉

20、num=30;   p—〉next=q;q-〉next=r;   printf(”%d\n ”,p-〉num+q—>next->num);   }   程序运行后的输出结果是   A)10   B)20   C)30   D)40 二、程序阅读题(本大题共4小题,每小题5分,共20分) 阅读下列程序,将输出结果写到答题纸的相应位置。 31.下列程序的输出结果为 。 main () {int x=3,y=5; printf (”%d”,x=(x—-)*(-—y)); } 32.以下程序的输出结果是 。 fun (i

21、nt x,int y,int z) { z =x*x+y*y;} main () {int a=31; fun (6,3,a) printf (”%d”, a) } 33。执行下面程序段后,k值是 。 k=1; n=1234; do { k+=n%10; n/=10 ; } while(n); 34。下列程序的输出的结果是 , , 。 main() {int i,j row,colum,m; static int array[3][3]={{1

22、00,200,300},{28,72,—30}{—850,2,6}}; m=array[0][0];for(i=0;i<3;i++) for(j=0;j<3;j++) if(array[i][j]<m) {m=array[i][j];colum=j;row=i;} printf("%d,%d,%d\n",m,row,colum); 三、完善下列程序(本大题共3小题,每空2分,共20分) 请在答题纸相应的位置填上正确答案。 35。 打印所有的“水仙花数”.所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。比如153=1*1*1+5*5*5+3*3*3。(注:变量i,j

23、k分别代表三位数的各个位数。)   main( ) { int i,j,k,n; printf(“水仙花数是:”); for(n=100;n<1000;n++) { i=n/100; 【1 】; k=n%10; if(【2 】)/*如果是水仙花数,则输出*/ printf(“%4d",n); } printf(“\n"); } 36. 以下程序段的功能:从键盘输入的字符,用变量n来统计数

24、字字符的个数,用换行符(‘\n’)作为循环结束的条件。 #include

25、clude #include void fun (int x, int pp[], int *n) { int i,j=0; 【1 】 if(x%i==0)pp【2 】=i; 【3 】; } main () { int  x,aa[1000], n, i ; clrscr(); printf(”\nPlease enter an integer number : \n ”); scanf (”%d ", &x); fun (x, 【4 】, &n); for (i=0 ; 【5 】

26、 printf ("%d ", aa [i]); printf (”\n ”); } 第二部分 数据结构(共100分) 一、 单项选择题(本大题共12小题,每小题2分,共24分) 1、向顺序栈中压入新元素时,应当( )。 A.先移动栈顶指针,再存入元素 B.先存入元素,再移动栈顶指针 C.先后次序无关紧要 D.同时进行 2、用某种排序方法对关键字序列(25,84,21,47,15,27,68,35,20)进行排序时,序列的变化情况如下:         20,15,21,25,47,27,68,35,84        

27、 15,20,21,25,35,27,47,68,84         15,20,21,25,27,35,47,68,84     则所采用的排序方法是(   )      A.选择排序    B.希尔排序     C.归并排序    D.快速排序 3、在一个长度为n的顺序表的表尾插入一个新元素的渐进时间复杂度为( ) A.O (n) B.O (1) C.O (n2 ) D.O (log2 n) 4、设单链表中结点的结构为(data , link)。已知指针q所指结点是指针p所指结事业的直接前驱,若在*q与*p之间插入结点*s,

28、则应执行下列哪一个操作?( ) A.s —〉link= p-〉link ; p->link=s B.q—>link=s ;s-〉link=p C。p—〉link=s—>link;s-〉link=p D.p—>link=s ;s->link=q 5、若让元素1,2,3依次进栈,则出栈次序不可能出现( )种情况。 A.3,2,1 B.2,1,3 C.3,1,2 D.1,3,2 6、一个递归的定义可以用递归过程求解,也可以用非递归过程求解,但单从运行时间来看,通常递归过程比非递归过程(

29、 ) A.较快 B.较慢 C.相同 7、树中所有结点的度等于所有结点数加( ) A.0 B.1 C.-1 D.2 8、在一棵具有n个结点的二叉树中,所有结点的空子树个数等于( ) A.n B.n—1 C.n+1 D.2*n 9、对长度为n的有序单链表,若搜索每个元素的概率相等,则顺序搜索到表中任一元素的平均搜索长度为( ) A.n/2 B.(n+1

30、)/2 C.(n –1)/2 D.n/4 10、在无向图中定义顶点V i与Vj之间的路径为从V i到达Vj的一个( ) A.顶点序列 B.边序列 C.权值总和 D.边的条数 11、如果只想得到1024个元素组成的序列中的前5个最小元素,那么用( )方法最快. A.起泡排序 B.快速排序 C.堆排序 D.直接选择排序 12、设有一个含200个表项的散列表,用线性探查法解决冲突,按关键码查询时找到一个表项的平均探查次数不超过1.5,则散列表项应能够至少容纳( )个

31、表项。(设搜索成功的平均搜索长度为Snl={1+1/(1—α)}/2其中α为装填因子) A.400 B.526 C.624 D.676 二、填空题(每空2分,共22分,其中第17,19,20每空1分) 13.数据的逻辑结构是从逻辑关系上描述数据,它与数据的           无关,是独立于计算机的。 14.在一个带头结点的单循环链表中,p指向尾结点的直接前驱,则指向头结点的指针head可用p表示为head=           . 15.栈顶的位置是随着            操作而变化的。 16.已知一棵

32、完全二叉树中共有768结点,则该树中共有 个叶子结点。 17.在单链表上难以实现的排序方法有 和  .    18.在有序表(12,24,36,48,60,72,84)中二分查找关键字72时所需进行的关键字比较次数为 。 19.在用于表示有向图的邻接矩阵中, 对第i行的元素进行累加,可得到第i个顶点的 度,   而对第j列的元素进行累加, 可得到第j个顶点的 度。    20.一个连通图的生成树是该图的 连通子图。若这个连通图有n个顶点, 

33、  则它的生成树有 条边。    21。 在进行直接插入排序时,   其数据比较次数与数据的初始排列 关;而在进行直接选择排序时,其数据比较次数与数据的初始排列 关。    22.利用关键码分别为10,   20,   30,   40的四个结点,能构造出  种不同的二叉搜索树。 三、应用题(每小题8分,共32分) 23、以知一组元素为(46,25,78,62,12,37,70,29),试画出按元素排列次序插入生成的一棵二叉搜索树。 24、已知一棵树二叉如下,请分别写出按箭序、中序、后序和层次遍历时得到

34、的结点序列。 A B C D E F G H 前序: 中序: 后序: 层次: 25、设散列表的长度为13,散列函数为H(k)=k%13,给定的关键码序列为19,14,23,01,68,20,84,27。试画出用线性探查法解决冲突时所构成的散列表。 0 1 2 3 4 5 6 7 8 9 10 11 12 26、已知一个有序表 (

35、15, 26, 34, 39, 45, 56, 58, 63, 74, 76, 83, 94 ) 顺序存储于一维数组a[12]中,根据折半搜索过程填写成功搜索下表中所给元素34, 56, 58, 63, 94时的比较次数。   元素值 比较次数 四、算法设计题 26、说明下面递归过程的功能(10分) int unknown(BinTreNode * t){ //指针T是二叉树的根指针。 if(t==NULL)return—1; elseif(unknown(t-leftChild)〉=unknown(t-rightChild)

36、) return 1+unknown(t—leftChild)); elsereturn 1+unkuown(t—rightChild); } 27、本题给出一个施加于链表的选择排序的算法。算法中用到一个临时的表头结点head,作为结果链表的表头结点,每次从first链上摘下的值最大的结点current链入head之后。算法结束前,将head删除。 Template

37、 * pre , p , q ; Int I=0 ; While( 1 ){ P=current=first ; q=NULL ; While ( p!=NULL){ If (pàdataà 2 ) {pre=q ; current=p;} q=p ; p=pàlink ; } if (current==first) 3 ; else preàlink=currentàlink; if (! I ) last=current ; I++; currentàlink=headàlink; 4 ; } first=headàlink ; delete head; } (1)请将缺失语句部分补上:(8分)  1、  2、  3、  4、 (2)设待排序的记录数n=7,当前各记录关键码的初始顺序为40,20,60,30,70,50,80,试根据上述算法,画出每一趟排序时各结点指针的变化。(4分)

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服