西华大学c语言程序设计复习题

上传人:第*** 文档编号:34263322 上传时间:2018-02-22 格式:DOC 页数:10 大小:110KB
返回 下载 相关 举报
西华大学c语言程序设计复习题_第1页
第1页 / 共10页
西华大学c语言程序设计复习题_第2页
第2页 / 共10页
西华大学c语言程序设计复习题_第3页
第3页 / 共10页
西华大学c语言程序设计复习题_第4页
第4页 / 共10页
西华大学c语言程序设计复习题_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《西华大学c语言程序设计复习题》由会员分享,可在线阅读,更多相关《西华大学c语言程序设计复习题(10页珍藏版)》请在金锄头文库上搜索。

1、C 语言程序设计考试题型示例 & 复习例程一、单项选择题1以下四组变量标识符均为合法的是( B ) 。A)cosx_Value 、CASE、sin(x) B)Sum_Value、x01_value、xxxC) a_b_c_01、FILE、x_01_y D)Num# 、abc_01、X_value_A2设有二维数组定义:float a33 ; 假设&a00= =2001H,则&a22= =( C ) 。A)2010H B)2036H C)2021H D)2024H3设有整型变量 x 和 y,且 x=y=10;则计算表达式 x=(x+ , y+) , x+y;后 x 的值为( D)A)11 B)2

2、0 C)22 D)104如果要使用一维数组,其正确的定义是(D )A)int array ; B)const n=10, arrayn;C)int n, arrayn; cinn; D)int n=5, *array=new int n;5下述函数 myfun 的功能是( C ) int myfun(char s ,char t ) (A)将字符串 t 复制到字符串 s char *ps=s,*pt=t; (B )将串 s 连接到串 t 的尾部while(*ps)ps+; (C)将串 t 连接到串 s 的尾部whie(*pt)*ps+=*pt+; (D)将字符串 s 复制到字符串 t*ps=0

3、;6下面的程序运行后的输出结果是( A )void swap(int *x,int *y) main( ) int *t; int a=111,b=333;t=*x;*x=*y;*y=t; swap( cout=10)break ; if(x%2)continue ; sum=sum+x ; A)6,10 B)6,12 C)7,10 D)7,1215关于以下函数的功能,正确的描述是( C )void fun(int aC,int R) int i,j; A)输出矩阵全部元素for(i=0;ii)continue ; coutnum; B)(p+1)-score; C)(*p).num D)p=

4、&stu.score二、程序填空题1函数 DecTo2816(int d,int r)的功能是将十进制整数 d 转换为 r 进制数的形式,实现方法是辗转除取余,将每次取得的余数转换为字符存入字符数组 trans后反向输出。void DecTo2816(int d , int r) int res , i=0 ; char trans33=0;while(d) res=d%r; /取余数if(res=0) put char(transi-) 【3】; /反向输出trans中的字符2本程序功能是将两个递增整数表 LA=(3,5,8,11)和 LB=(2,6,8,9,11,15,20)归并到新的整数

5、表 LC=(2,3,5,6,8,8,9,11,11,15,20)。整数表均采用单向链表存储。#includetypedef struct elem /链表结点类型 intNode 的定义 int v; /数据域,存储整数struct elem *next; /指针域intNode;intNode *CreateList(intNode *Head , int n) /函数 :创建能存储 n 个整数的链表 intNode *pnew,*pend ; int i;/pnew 用于创建新结点,pend 为辅助指针for(i=1;ipnew-v;if(Head=NULL) Head=pnew 【4】;

6、/ 若当前头指针为空,应赋什么值else pend-next=pnew; /新结点接入当前尾部结点之后pend=pnew ; pend-next=NULL; /pend 更新,当前尾结点指针域赋空return(Head); /返回链表头指针/以下 MergeList( )函数,归并 LA、LB 到 LCintNode *MergeList(intNode *LA,intNode *LB,intNode *LC) intNode *pa=LA,*pb=LB,*pnew,*pend;while( pa&pb 【5】) /当 pa 与 pb 不为空时 pnew=(intNode*)malloc(si

7、zeof(intNode); /为 LC 创建新结点if(pa-vv) /若结点 pa 的 v 值小于或等于 pb 结点的 v 值 pnew-v=pa-v; /LC 的新结点的 v 赋值为 pa 结点的 v 值pa=pa-next; /当前结点处理完毕,pa 指针下移else pnew-v=pb-v 【6】 ; pb=pb-next 【7】 ; if(LC=NULL)LC=pnew; /当前 LC 链表还为空else pend-next=pnew;pend=pnew ; pend-next=NULL;while(pa!=NULL) /如果 LA 比 LB 长,将剩余部分接入 LC pnew=n

8、ew intNode;pnew-v=pa-v ; pa=pa-next;pend-next=pnew ; pend=pnew ; pend-next=NULL;while(pb!=NULL) /如果 LB 比 LA 长,将剩余部分接入 LC pnew=new intNode;Pnew-v=pb-v 【8】; pb=pb-next 【9】;pend-next=pnew ; pend=pnew ; pend-next=NULL;Return LC 【10】; /此函数应返回什么值void main(void) /以 LA=(3,5,8,11)和 LB=(2,6,8,9,11,15,20)为实例数据

9、intNode *LA=NULL,*LB=NULL,*LC=NULL;LA= CreateList(la 4) 【11】; /创建链表 LALB=CreateList(LB 7) 【12】; /创建链表 LBLC=MergeList(LA,LB,LC); /归并 LA 和 LB 到 LC3以下函数功能是使用对分法在递增排序的整型数组 a 中查找指定元素SearchNum,算法思想是:取数组的中点下标 c,若 ac=SearchNum 则找到,若 SearchNum ac,则查找范围缩小为右半,否则缩小为左半,依此循环直到查找范围不能再缩小为止。void BisectSearch(int a ,

10、 int n) /n 为数组长度,即元素个数 int s=0 , e=n-1 , c; /s 和 e 分别为查找范围的起点和终点下标,c 为中点int flag=0 , SearchNum; /flag 作为是否找到的标志,SearchNum 待查找cinSearchNum;if(a0=SearchNum) /判断数组首元素 coutnext;outfile.close();coutnext=NULL;infile.read(char*)pnew,sizeof(StuNode);if(infile.tellg()next=NULL;else paid-next=pnew;paid=pnew;p

11、aid-next=NULL;/while,读文件结束infile.close();coutnext=NULL;coutpnew-ID;if(pnew-IDname,15);coutpnew-score;if(Head=NULL) Head=pnew;pnew-next=NULL;paid=pnew;else if(pnew-IDID) pnew-next=Head;Head=pnew;else if(pnew-ID=paid-ID) paid-next=pnew;pnew-next=NULL;paid=pnew;else ps=Head;pe=ps-next;while(pnew-ID=pe-

12、ID) ps=ps-next;pe=pe-next;ps-next=pnew;pnew-next=pe;return Head;/输出链表的函数 void PrintList(StuNode *Head)(省略)/主函数void main( ) StuNode *Head=NULL;Head=CreateList(Head);SaveFile(Head);Head=ReadFile();PrintList(Head);system(pause);一、 选择题参考答案15: BCDDC 610: AABBC1115: BDADC 1620: AABAD二、 程序填空题参考答案【1 】 0+res 【2】 A+res%10【3 】 putchar(transi-) 【4】Head=pnew【5 】 pa&pb 【6】pnew-v=pb-v【7 】 pb=pb-next 【8】pnew-v=pb-v【9 】 pb=pb-next 【10】return LC【11 】CreateList(LA, 4) 【12】LB=CreateList(LB,7)【13 】e!=(s+1) 【14】flag=1【15 】break 【16】s=c【17 】e=c 【18】s+s_len-t_len【19 】pa+ 【20】pt+

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号