中国地质大学(北京)2004年C程序设计考研试卷
- 格式:doc
- 大小:36.50 KB
- 文档页数:7
中国地质大学2004年研究生入学考试(A)一、名词解释(每小题3分,共24分)1交织结构2枕状构造3凝灰结构4嵌晶结构(连生结构)5鸟眼构造6长石砂岩7片状构造8P-T-t轨迹二、简答题(每小题10分,共30分)1.斑状结构与似斑状结构的特征对比2,混合水白云石化模式.3.榴辉岩的主要特征与类别.三、论述题(共46分)1辉长岩类的—般特征及主要岩石种属.(16分)2自生颗粒结构类型及其结构组分特征.(15分)3以P/T比类型划分的4个变质相系的主要特征及典型相系列(15分)(B)1鬣刺结构2流纹结构3凝灰结构4同生作用5蒸发岩6花岗变晶结构7片麻状构造8PTt轨迹二.简答题(每小题10分,1堆晶结构的特征.2蒸发泵白云岩化模式.3榴辉岩的主要特征及类型(10分)三、论述题(共46分)1玄武岩的主要岩石类型与矿产2.长石砂岩的主要特征及岩石成因类型;3.同A。
05年一.名词解释:1准同生白云石化作用 2长石砂岩3重力流 4递变层理5相标志 6榴辉岩7云英岩8角岩9片麻岩10混合岩11辉绿结构 12斑状结构13包含结构14岩浆16安山岩二.简述题。
1.显微镜下,如何区别碳酸盐岩中的亮晶胶结物与重结晶的泥晶基质?区别他们有何意义?2.试比较河流相与三角洲相在剖面结构上有何不同?3.简述编制作用的类型及特征。
4.斜长角闪岩可得源岩。
5.试述鲍文反应原理与鲍文反应序列。
6.举例说明火成岩形成深度与岩石结构的相互关系。
三.论述题:1.试论述砂岩与颗粒灰岩在成分、结构和成因上的异同。
2.麻粒岩相泥质变质岩多具片麻状构造而少见片状构造?3.试论述造成火山岩多样性的原因。
4.试论述超基性岩石类型及成矿专属性。
中国地质大学(北京)2006年硕士研究生入学考试试题(B)试题名称:岩石学试题代码: 411一、名词解释(共50分,每小题5分)12 3 45 67 相标志 8 同化混染作用9 混合岩化10 玄武岩二、简述题(共50分,每小题10分)1岩浆岩的分类及其各类岩石的主要特征。
中国地质大学<北京)2007年秋硕士研究生C++ 语言程序设计试卷<A卷)考试形式:闭卷考试考试时间:120分钟研究生学号姓名得分一、简答题<每小题3分,共30分)1、C++语言有那些主要特点?2、C++语言有哪些基本数据类型?3、什么叫声明语句?那些说明的变量为局部变量?又那些说明的变量为全局变量?4、什么叫内存单元的地址?什么叫指针变量?5、什么叫函数的实参?什么叫函数的形参?6、什么叫类?什么叫对象?7、c lass类类型中,构造函数应具有那些特征?8、类定义体中,有些函数之前有关键字friend的意义是什么?9、在类定义体中,说明成员的访问权限为public、private和protected三个关键字的作用是什么?请分别简述之。
10、C++语言里,有那些是静态联编实现多态性的?二、数据与运算<每小题2分,共20分)1.若int x=2,y=0。
则表达式<y = 0)? x/++y : x -2的运算结果是什么?2.若int x=3, y(0>, *p=&y 。
则经过 x += y=2, *p=++x+y的运算之后,cout<<x << “ ” << y<<endl。
的输出结果是什么?6 83.若unsigned char x=005, y =0xf0。
则x^~y。
的值是什么?000001011111000000001111000010100x0a 012 104.若int x(0>, y=1 。
则经过语句x = (y<<=2, ++y >。
的运算, 则x, y的结果值各是什么?5 55.若char x=’c’, y= 0x20 。
int z( 0 >。
z = x - = y -3。
x 0x630x46则cout<< x<<"ASCII code is"<< z <<endl。
中国地质大学(北京)2004年硕士研究生C++ 语言程序设计试题(A卷)考试形式:闭卷考试考试时间:120分钟研究生学号姓名得分一、简答题(每小题3分,30分)1、什么叫计算机软件?2、请枚举指针运算的几种基本形式。
3、在C++语言中,有那几种常量?请给出实例。
4、在C++语言中,对象有那些存储类型?这些存储类型的含义是什么?5、请说出函数参数中,引用与地址传递参数方式两者之间的异同点。
6、请给出class类类型定义的一般形式。
7、class类类型中,构造函数应具有那些特征?8、类定义体中,有些函数之前有关键字friend的意义是什么?9、请说明class类类型和struct结构体类类型两种数据类型的异同点。
10、C++语言里,重载有那几种方式?二、数据与运算(每小题2分,共20分)1.若int x=2,y=0;则表达式(y = = x>>2)? x/++y : ++x的运算结果是什么?22.若int x=5, y(0), *p=&y ; 则经过y+=1, *p=++x+(- -y)的运算之后,cout<<x << “ ” << y<<endl; 的输出结果是什么?6 63.若unsigned char x=016, y =0xf0; 则x^~y; 的值是什么?000011101111000000001111000000014.若int x(0), y=1 ;则经过语句y+=x+2, x+=++y, x+=y- -; 的运算, 则x, y的结果值各是什么?8 35.若char x=’1’, y= ‟=‟ ; int z; z = x + = 3;则cout<< x<<"的ASCII码"<< y << z <<endl; 的输出结果是什么?4的ASCII码= 526.若int x, data[8]={1,2 ,3,4,5,6,7,8};则x=*(data+1)+*(&data[5]-2)之后,x存放的数是什么?67.若说明int a[8]={10,9,8,7,6,5,4,3}, *p=&a[1]; 则经过表达式*(p-3) += (*++p+=1, *++p+=1, a[5]+a[6] ); 运算之后,则数组a各元素的值是什么?19 9 9 8 6 5 4 38.若struct MyData { int a; float b ; char c[3]}; MyData x ={ 10, 1.0f, “ab”;}, *y=&x;则经过x . c[1]++, (y->b) += 10+x.a++ ;运算,x的各分量结果是什么?11, 21.0, ”ac”9.若定义union MyUnion{char x[2]; int y;}; (设int占4个字节),说明MyUnion MyKey, *pKey=&MyKey; pK ey->y=0, pK ey->x[0]= ‟1‟ ;则表达式(Key) . y 的结果是什么?10.若说明int a= -1; d ouble b(4) ; 则表达式(a<<2) * sizeof(b)的值是什么?-32三、给出下列程序的运行输出结果(每小题6分,共24分)1、void t(int &x,int &y,int &cp,int dp){ cp= - -x + y++;dp= x – y ;}#include “stdio.h”void main(void){ int a=4,b=3,c=5,d=6;t(a,b,c,d);printf("%d ,%d ,%d ,%d \n",a, b, c,d);}答案: 3 4 6 6 ;2、int d=1;#includ e “stdio.h”int fun(int p){ static int d=10 ;d +=p;printf("%d ",d);return(d);}void main( void ){int a=2;printf("%d \n",fun( fun(a) - fun(d) ));}答案:12 13 12 12 ;3、#include “iostr eam.h”void main(void){ char s1[64]= “AhCharacterString?”;char s2[64]= { …T‟, …e‟, …s‟, …t‟, …Y‟, …o‟, …u‟, ….‟, …\0‟ };char s[256] , *ps; int k;for(k=2; k<=16;k++) s[k-2]=s1[k] ;ps=s2; k =k-2;while( *ps++ != …\0‟) { s[k]=*ps ; ps++; k++; }s[k] = …\0‟ ;cout<< s ;}答案:CharacterString TestY ou. ;4、#include "iostr eam.h"#include "stdio.h"class CPerson{public:CPerson(char *pName= "", int m_Age=0);~ CPer son() { cout<< "我归天哪。
中国地质大学(北京)01~04年考研试题中国地质大学(北京)2004年硕士研究生入学考试试题试题名称:地理信息系统试题代码:445中国地质大学(北京)2003年硕士研究生入学考试试题试题名称:地理信息系统试题代码:445一、名词解释(每题5分,共40分)1.栅格数据2.TIN3.泰森多边形4.DEM模型5.曼哈顿距离6.空间拓朴关系7.WebGIS 8.数字地球二、简述题(共50分)1.地理信息系统的基本构成(10分)2. GIS的主要数据源(10分)3.栅格数据与矢量数据的特征及主要优缺点(15分)4.在GIS中使用元数据的理由(15分)三、论述题(1必答:2、3任选一题;每题30分,共60分)1.空间数据分析的基本方法2.结合某种GIS软件,论述地理信息系统的主要功能。
3.结合你所熟悉的领域,论述地理信息系统的应用。
中国地质大学(北京)2002年硕士研究生入学考试试题试题名称:地理信息系统原理试题代码:433一、名词解释(每题4分,共20分)1.空间信息系统2.缓冲区分析3.矢量数据4.图层5.影像地图二、简述题(每题10分,共30分)1.地理信息系统的主要数据类型与数据结构2.空间信息分析的基本方法3.地图投影的方式三、论述题(1必选,2、3任选一题:每题25分,共50分)1.应用型地理信息系统设计的步骤和主要内容。
2.地理信息系统中空间数据的组织与管理方式。
3.结合你所熟悉的领域,试述地理信息系统的应用。
中国地质大学(北京)2001年硕士研究生入学考试试题试题名称:地理信息系统原理试题代码:512。
语言课程设计题目选题一(起评分分)高考招生录取程序已知文本文件中存放了某个省当年参加高考的个考生的数据(考号、姓名、性别和考试成绩),存放格式是每行存放一个考生的数据,每个数据之间用空格隔开。
假定当年该省的招生计划是:一类本科招生计划为%。
二类本科招生计划为%。
三类本科招生计划为%。
四类高职高专招生计划为%。
请编写程序,实现以下功能:()划定各批次录取分数线,结果可屏幕显示,也可存入文件。
()能够统计各批次中男生,女生的录取比例。
统计结果可屏幕显示,也可存入文件。
()确定每名学生的录取情况及录取批次。
()考生可以根据考号或姓名(支持重名)查询自己的成绩及录取情况。
说明:①系统程序要有界面②存入文件的数据,每行存一种数据,每行之间的不同信息用空格分隔。
选题二(起评分分)《语言课程设计与学习指导》第章题目或第章题目任选其一成绩评定方式平时考勤:考试(即程序考核及检查):实习报告:违规违纪处理出现以下种情况中的任何一种,整个课程设计的成绩直接认定为不及格:.考勤抽查出现次(含)不在的情况。
.上机从事玩游戏、看电影等活动被抓住次(含)的情况。
.程序检查被认定为抄袭的情况。
.实习报告被认定抄袭或雷同的情况。
.不参加考试(即程序考核及检查)的情况.不交实习报告的情况。
语言课程设计报告撰写要求内容要求整个报告由六个部分构成:①课设题目②题目分析③设计思路④实现结果⑤课设汇总报告⑥附录(源代码)篇幅要求①⑤合计不低于页,⑥不低于页。
篇幅没有上限要求,但原则上要求不超过页。
标题字体字号格式:宋体,三号,加黑,单倍行距。
正文字体字号格式:宋体或,五号,单倍行距。
撰写要求严谨出现抄袭。
严谨出现雷同。
报告出现抄袭或雷同的,整个课程设计成绩一律按不及格论处。
其它封面格式附后。
中国地质大学(武汉)语言课程设计报告书姓名:班级:班级学号:指导老师:程序代码<><>{;[];[];;};[];***************排序模块*************** (){;;(<){(<)([]<[]){[];[][];[];}}}***************主函数***************** (){;[];*,*,*,*,*,*,*,*,*,*;("","");(<)(,"\"[][][][]);();();("","");(<)(," \"[][][][]);();("一本","");(,"高考招生一本录取情况\\");(<)(," \"[][][][]);();("二本","");(,"高考招生二本录取情况\\");(<*)(," \"[][][][]);();("三本","");(,"高考招生三本录取情况\\");(*<*)(," \"[][][][]);();("高职","");(,"高考招生高职录取情况\\");(*<*)(," \"[][][][]);();("未被录取","");(,"高考招生未被录取录取情况\\");(*<)(," \"[][][][]);();*********大循环查询模块***********(){: (" ***********************************\");(" * *\");(" * 主菜单 *\");(" * *\");(" * 查询整体录取情况请输入 *\");(" * *\");(" * 查询考生我信息请输入 *\");(" * *\");(" * 显示具体名单请输入 *\");(" * *\");(" * 退出请输入 *\");(" * *\");(" ***********************************\");("");("","");(){:{(<){(([],"男")) ;;}(<*){(([],"男")) ;;}(*<*){(([],"男")) ;;}(*<*){(([],"男")) ;;}(){(" **********************************\");(" * *\");(" * 菜单 *\");(" * *\");(" * 查询录取线请输入 *\");(" * *\");(" * 查询男女比例请输入 *\");(" * *\");(" * 返回输入 *\");(" * *\");(" **********************************\");("");(){("\一本线 \二本线 \三本线 \高职录取线 \"[][*][*][*]);("\男,女\男,女\男,女\男 , 女\",(),(),(),(),(),(),(),());};;}}:{(){(" ***********************************\");(" * *\"); (" * 菜单 *\"); (" * *\"); (" * 按考号查询请输入 *\"); (" * *\"); (" * 按姓名查询请输入 *\"); (" * *\"); (" * 返回输入 *\"); (" * *\"); (" ***********************************\"); ("");(){:{("","");(<)(,"\"[][][][])读取();("\请输入考生考号:");("");(<){([]){([]>) ("\ 一本\"[][][][]);([]>) ("\ 二本\"[][][][]);([]>) ("\ 三本\"[][][][]);([]>) ("\ 高职\"[][][][]);("\抱歉!你未被录取!\");}}};:{("","");(<)(,"\"[][][][]);();("\请输入考生姓名:");("");(<){(([])){([]>) ("\ 一本\"[][][][]);([]>) ("\ 二本\"[][][][]);([]>) ("\ 三本\"[][][][]);([]>) ("\ 高职\"[][][][]);("\抱歉!你未被录取!\");}}};;("\输入错误!请重新输入!\");}}};;:{(){(" ************************************\");(" * *\");(" * 菜单 *\");(" * *\");(" * 查询一本请输入 *\");(" * *\");(" * 查询二本请输入 *\");(" * *\");(" * 查询三本请输入 *\");(" * *\");(" * 查询高职请输入 *\");(" * *\");(" * 查询未录取请输入 *\");(" * *\");(" * 返回输入 *\");(" * *\");(" ************************************\");("");(){:{("一本","");(" *********高考招生一本录取情况*********\");(<)(" \"[][][][]);(); ;}:{("二本","");(" *********高考招生二本录取情况*********\");(<*)(" \"[][][][]);(); ;}:{("三本","");(" *********高考招生三本录取情况*********\");(*<*)(" \"[][][][]);(); ;}:{("高职","");(" *********高考招生高职录取情况*********\");(*<*)(" \"[][][][]);(); ;}:{("未录取","");(" *********高考招生未录取情况*********\");(*<)(" \"[][][][]);(); ;};("\输入错误!请重新输入!\");}}}("\输入错误!请重新输入!\");}}("\\ 谢谢使用\");}。
地大《C++程序设计》作业一已知:int b[3][5]={0};下列数组元素值的表示中,错误的是( D )。
A:**(b+1)B:(*(b+1))[2]C:*(*(b+1)+1)D:*(b+2)参考选项:D下列关于设置函数默认的参数值的描述中,错误的是( C )。
A:可对函数的部分参数或全部参数设置默认值B:在有函数说明时,默认值应设置在函数说明时,而不是定义时C:设置函数默认参数值时,只可用常量不可用含有变量的表达式D:设置函数参数默认值应从右向左设置参考选项:C下列关于变量存储类的描述中,错误的是( C )。
A:任何变量定义后都具有一个确定的存储类B:变量的存储类确定了变量的作用域和寿命C:定义变量时没有存储类说明符者一律为自动类D:内部静态类变量和外部静态类变量的存储类说明符都是static参考选项:C下列关于定义一个指向double型变量的指针,正确的是( B )。
A:int a(5);double *pd=a;B:double d(2.5),*pd=C:a=7+b++=a+7;D:a=7+b,c=a+7;3E:a=7+b,b++,a+7参考选项:A,B,DC 语言规定,有关 main 函数参数的描述不正确的是()。
A:只能有 0 个B:只能有 0 个或一个C:只能有 0 个或 2 个D:可有任意个参考选项:A,B,C若有以下说明和语句,请选出哪个是对 c 数组元素的不正确引用()。
int c[4][5], (*cp)[5];cp=c;A:*(cp+1)+3B:cp+1C:*(cp+3)D:*(*cp+2)参考选项:A,B,C有以下语句:charstr[4][12]={"aaa","bbbb","ccccc","dddddd"},*strp[4];int i;for(i=0;i 4;i++) strp[i]=str[i];()是对字符串的正确引用,其中0≤ k 4。
课程号:SG04002 《VB程序设计》考试试卷(A)考试形式:闭卷考试考试时间:120分钟所有答案答在答题纸上院系学号姓名得分一.判断题(正确划√,错误划×)(10分)1.事件的编程可以在代码设计窗口中进行,系统为不同对象提供了不同的事件集。
事件是对象特有的,不能主观臆造×(事件不是对象特有的,方法是对象所特有的)2.即使单选按钮控件数组中的元素分属在多个容器中也只能从中选择一个控件×3.过程和函数的区别在于有无返回值√4.只要把Image控件的Stretch属性设置为True,控件会自动调整大小以适应所装载的图片的大小×(说反了,应该是图片适应控件的大小)5.Left(Val("1234ab"), 2)的结果是”12”√Val 返回的是数,把1234给left, 但是left 返回是串,取串里的两个字符12,所以结果是12这个串,要加双引号。
6.列表框控件的Style属性为1(Checkbox)时,MultiSelect属性必须为0(None)√Style 只有0和1,0是标准的,1是复选checkbox,组合框是三个值0,1,27.没有通用对话框控件文件就没办法读写×对话框不负责文件的读写,只负责传串,文件读写由读写语句进行。
读图形文件是函数完成的,load picture, 写图形文件是save picture.8.通过PaintPicture方法可以对图片进行缩放和裁剪等变换√还可以翻转9.Do~loop while和Do while ~loop 在循环条件为True时循环结果一样√当循环条件为false时不一样10.只有顶级菜单和二级菜单才能调用窗体的PopupMenu方法制作弹出式菜单×只有父菜单才能备调用二.单项选择填空题(共40分)1.有value属性的控件是【 D 】A.TextBox B.ListBox C.ComboBox D.ScrollBar有value属性的有三个控件:opptionbutton, checkbox, scrollbar2.下列属性中不属于组合框控件是【 B 】A.ListIndex B.Selected C.Text D.List3.能画横半轴为3,纵半轴为2的语句是【 C 】A.Me.Circle (0, 0), 3, , , 2 / 3 B.Me.Circle (0, 0), 3, , , , 3 /2C.Me.Circle (0, 0), 3, , , , 2 / 3 D.Me.Circle (0, 0), 3, , , 3/2[<对象名>.]Circle [Step](x, y),<半径>,[<颜色>], , ,<边比率> 纵比横中间缺3个参数,颜色,起和止幅度,用四个逗号分隔4.下列控件没有change事件是【B】A.TextBox B.ListBox C.ScrollBar D.ComboBox 5.命令按钮控件能响应用户的单击必须保证其【 C 】属性均为真A.Visible和Caption B.Enabled和ToolTipTextC. Enabled 和Visible D.Caption和ToolTipText6.下面标识符哪个可作为数组的名字【 B 】A.1abc B.abc1 C.ab(c1) D.a.bc1标识符命名规则:以字母和汉字开头,不能和已有函数重名,标识符由字母、数字和下划线组成。
中国地质⼤学C语⾔课程设计题⽬(附参考代码)C语⾔课程设计题⽬选题⼀(起评分100分)⾼考招⽣录取程序已知⽂本⽂件f1.txt中存放了某个省当年参加⾼考的1000个考⽣的数据(考号、姓名、性别和考试成绩),存放格式是每⾏存放⼀个考⽣的数据,每个数据之间⽤空格隔开。
假定当年该省的招⽣计划是:⼀类本科招⽣计划为10%;⼆类本科招⽣计划为15%;三类本科招⽣计划为20%;四类⾼职⾼专招⽣计划为25%。
请编写程序,实现以下功能:(1)划定各批次录取分数线,结果可屏幕显⽰,也可存⼊⽂件。
(2)能够统计各批次中男⽣,⼥⽣的录取⽐例。
统计结果可屏幕显⽰,也可存⼊⽂件。
(3)确定每名学⽣的录取情况及录取批次。
(4)考⽣可以根据考号或姓名(⽀持重名)查询⾃⼰的成绩及录取情况;说明:①系统程序要有界⾯②存⼊⽂件的数据,每⾏存⼀种数据,每⾏之间的不同信息⽤空格分隔。
选题⼆(起评分85分)《C语⾔课程设计与学习指导》第4章题⽬或第5章题⽬任选其⼀成绩评定⽅式平时考勤:20%考试(即程序考核及检查):40%实习报告:40%违规违纪处理出现以下6种情况中的任何⼀种,整个课程设计的成绩直接认定为不及格:1.考勤抽查出现3次(含)不在的情况;2.上机从事玩游戏、看电影等活动被抓住2次(含)的情况;3.程序检查被认定为抄袭的情况;4.实习报告被认定抄袭或雷同的情况;5.不参加考试(即程序考核及检查)的情况6.不交实习报告的情况。
C语⾔课程设计报告撰写要求1 内容要求整个报告由六个部分构成:①课设题⽬②题⽬分析④实现结果⑤课设总结⑥附录(源代码)2 篇幅要求①-⑤合计不低于8页,⑥不低于8页。
篇幅没有上限要求,但原则上要求不超过25页。
标题字体字号格式:宋体,三号,加⿊,单倍⾏距。
正⽂字体字号格式:宋体或Times New Roman,五号,单倍⾏距。
3 撰写要求严谨出现抄袭。
严谨出现雷同。
报告出现抄袭或雷同的,整个课程设计成绩⼀律按不及格论处。
2022年中国地质大学(北京)公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读程序段:int a=1,b=2;if(a&b)printf("***\n");else printf("$$ $\n");以上程序段的输出结果是_______。
2、结构化程序由________、________ 、________ 3种基本结构组成。
3、在C语言源程序中,一个变量代表【】。
4、把以下多项式写成只含7次乘法运算,其余皆为加、减运算的C语言表达式为_______。
5x7+3x6-4x5+2x1+x3-6x2+x+105、在C语言的赋值表达式中,赋值号左边必须是_______6、下面程序可求出图中方括号内的元素之积,请填空。
# include<stdio.h>int main(){ int x[3][3]={7,2,1,3,4,8,9,2,6};int s,*p;p=_______;s=*p*_______;printf("product=%d",s);return(0);}7、执行下面程序段后,k的值是_______。
k=1;n=263;do{k*=n%10;n/=10;} while(n);8、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。
9、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。
请填空。
a+=_______;b=a-_______;a-=_______;10、字符串"ab\n\\012\\\"”的长度是_______。
二、选择题11、下面4个选项中,是C语言关键字的选项是( )。
A.autoB. switchC. signedD. ifEnum typedef union structinclude continue scanf type12、设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为( )。
2004级信息与计算科学《C程序设计》试题B——答案一、选择题(下列各题A、B、C、D四个选项中,只有一个正确的,请在( )中填入正确选择,15X2=30分)1-5:ACBAB 6-10:BDCCD 11-15:BCCAC二、填空题:(15X2=30分)1. a[i][j]>max2. f=fac(n-1)*n;3. 7 8 94. 45. 116. 927. !feof(in)8. high=mid-1, low=mid+1, return mid9. a[k] a[k] a[k]10. a[i]或*(a+i) n三、编程题:(4X10=40分)注:以下答案只作为参考,可有多种解法,可根据实际情况给分1.用递归方法计算n的阶乘。
long f(int n){ long result;if (n==0 || n==1 )result=1;elseresult=n*f(n-1);return result;}void main(){ int n;scanf("%d",&n);printf("%ld\n",f(n));}2.用选择排序的方法对N个数从小到大排序。
#define N 5void sele(int a[],int n){ int i,j,f,t;for (i=0;i<n-1;i++){f=i;for (j=i;j<n;j++)if (a[j]<a[f])f=j;t=a[i];a[i]=a[f];a[f]=t;}}void main(){ int i,a[]={3,2,1,4,5};sele(a,N);for (i=0;i<N;i++)printf("%d ",a[i]);printf("\n");}3.编写一个函数,求字符串的长度,在main 函数中输入字符串,并输出其长度。
中国地质大学北京2004年硕士研究生入学考试C程序设计一、单选题(每题2分,共30 分)1. 以下正确的叙述是【】。
A)C程序中,每行只能写一条语句。
B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数。
C)C程序中,无论是整数还是实数,都能被准确无误地表示。
D)C程序中,%是只能用于整数运算的运算符。
2. 已知int x=10,y=20,z=30; 执行以下语句后x、y、z的值是【】。
if(x>y)z=x; x=y; y=z;A) x=10, y=20, z=30 B) x=20, y=30, z=30C) x=20, y=30, z=10 D) x=20, y=30, z=203. 有程序段int k=10;while(k=0) k=k-1;则下面描述中正确的是【】。
A) wihile循环执行10次。
B) 循环是无限循环C) 循环体语句一次也不执行D) 循环体语句执行一次4.对两个数组a和b进行如下初始化,char a[ ]="ABCDEF";char b[ ]={ 'A','B','C','D','E','F' };则以下叙述正确的是【】。
A) a与b数组完全相同B) a与b长度相同C) a和b中都存放字符串D) a数组比b数组长度长5. 已知函数原型:void sort(int *,int); 定义变量int data[10],*pa, p; 则引用正确的是【】。
A) sort(*data,10) B) sort(data,10)C) pa=&data; sort(pa,10) D) sort(p,10)6. 以下程序的运行结果是【】。
#define MAX(A,B) (A)>(B)? (A)B)#define PRINT(Y) printf(“Y=%d\t”, Y)main( ){ int a=1,b=2,c=3,d=4,t;t = MAX(a+b,c+d);PRINT(t);}A) Y=3 B) t=7 C)Y=7 D)Y=07. 语句int (*ptr)( );的含义是【】。
A) ptr是指向函数的指针,该函数返回一个int型数据B) ptr是指向int型数据的指针变量C) ptr是指向一维数组的指针变量D) ptr是一个函数名,该函数的返回值是指向int型数据的指针8. 设有以下语句:struct st{ int n;struct st *next;};static struct st a[3]={5,&a[1],7,&a[2],9,’\0’},*p;p=&a[0];则以下表达式的值为6的是【】。
A) p++->n B) p->n++ C) (*p).n++ D) ++p->n9. 设有以下语句:char x=3,y=6,z;z = x^y << 2;则z的二进制值是【】。
A)00010100 B)00011011 C)00011100 D)0001100010. 表达式(float)12/8及表达式12/8的值分别是【】。
A) 1.0 1 B)1.5 1.5 C) 1.5 1 D) 1.5 211. 若用数组名作为函数调用时的实参,则传递给形参的是【】。
A) 数组首地址B)数组的第一个元素值C) 数组中全部元素的值D) 数组元素的个数12. 若fp是指向某文件的指针,且文件已读到末尾,则库函数feof(fp)的返回值是:A)EOF B)-1 C)非零值D)NULL13. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符【】。
A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中任一种字符14. C语言共用体(联合)类型变量在其生命期内【】。
A) 所有成员一直驻留在内存中B) 只有一个成员驻留在内存中C) 部分成员驻留在内存中D) 没有成员驻留在内存中15. 若有说明语句:char c = '\72';则变量c【】。
A) 包含1个字符。
B) 包含2个字符。
C) 包含3个字符。
D) 说明不合法,c的值不确定。
二、写出下列程序的运行结果(每题3分,共15 分)1.#include<stdio.h>main( ){ int a=1,b=10;do{ b -= a;a++;} while( b-- < 0 );printf(“a=%d; b=%d\n”,a,b);}2.#include<stdio.h>f(int a[]){ int i=0;while(a<=10){ printf(“%d ”,a);i++;}}main( ){ int a[ ]={1,5,10,9,11,7};f(a+1);}3.#include<stdio.h>void delch(char *s){ int i,j;char *a;a=s;for(i=0,j=0;a!=’\0’;i++)if( a>=’0’&&a<=’9’){ s[j]=a;j++;}s[j]=’\0’;}main( ){ char *item=”a34bc”;delch(item);printf(“\n%s”,item);}4.main( ){ int i,sum=0;static int k=9;for(i=0;i<4;i++){ int k=8;sum+=k;++k;}printf(“sum=%d, k=%d\n”,sum,k);}5.struct ks{ int a;int *b;} s[4],*p;main( ){ int n=1,i;for(i=0;i<4;i++){ s.a = n;s.b = &s.a;n=n+2;}p=&s[0];p++;printf(“%d, %d\n”,(++p)->a,(p++)->a);}三、程序填空(每空3分,共45分,注意:不许修改程序)1. 以下程序是用梯形法求f(x)=sin(x)*cos(x)的定积分。
求定积分的公式为其中xi=a+ih, h=(b-a)/n设a,b为积分上下限,n为积分区间分割数。
请在【】内填入正确内容。
#include<stdio.h>#include<math.h>void main( ){ int i,n;double h,s,a,b;printf(“Input a,b:”);scanf(【1】);n=100; h=【2】;s=0.5*(sin(a)*cos(a)+sin(b)*cos(b));for(i=1;i<=n-1;i++)s += 【3】;s *= h;printf(“s=%f\n”,s);}2. 有以下main( )函数,经过编译、连接后得到的可执行文件名为file1.exe。
且已知在系统的命令状态下输入命令行file beijing shanghai<回车>后得到的输出是:beijingshanghai请在【】内填入正确内容。
void main(int argc, char *argv[] ){ while(【4】){ ++argv;printf(“%s\n”, 【5】);--argc;}}3. 程序从键盘上输入若干个整数,把它们依次连接成链表,直到输入的整数小于0时停止输入。
然后再输入一个整数,若链表中有这个数,则将它删除。
最后输出显示链表,显示的顺序和输入的顺序相反。
#include<stdio.h>#include<stdlib.h>struct data{ int x;struct data *link;} *p;char s;input() /* 从键盘读入数据并创建链表*/{ int num;struct data *q;printf("lease input integer:");scanf("%d",&num);while(num>=0){ q=【6】;【7】=num;q->link=p;【8】;scanf("%d",&num);}}delet(int i) /*删除值为i的链表结点*/{ struct data *q;if(p->x==i){ p=p->link;【9】;}else{ q=p;while(q->link!=NULL){ if(q->link->x==i){ q->link=【10】;break;}else q=【11】;}}}main(){ int k;printf("输入整数,小于0时结束:\n");p=【12】;input();scanf("%d",&k);delet(k);printf(" \n反序输出:");while(【13】){ printf("%d",【14】);p=【15】;}printf("\n");}四、编程题(每题20分,共60分)1.编写程序,把由数字组成的字符串转换成整数。
如字符串“1234”转换后结果为1234。
2. 编写程序,求1000以内所有素数之和。
要求专门编写一个独立的函数用以判断一个数是否是素数。
3. 已知一个数列的第一和第二项分别为2和3,其后各项的根据前两项的乘积按下列规则生成:(1)若乘积为一位数,则该乘积即为数列的后继项;(2)若乘积为二位数,则乘积的十位数字和个位数字分别为数列的两个后继项。
即:2,3,6,1,8,8,6,4,……。
要求编程求该数列的前n项之和,n从键盘输入。
命题组长:姚国清命题组成员:宋莉、辛晓辉。