河海大学工程硕士学位入学计算机技术考试专业课试卷new

上传人:痛*** 文档编号:63926160 上传时间:2022-03-20 格式:DOC 页数:6 大小:85.50KB
收藏 版权申诉 举报 下载
河海大学工程硕士学位入学计算机技术考试专业课试卷new_第1页
第1页 / 共6页
河海大学工程硕士学位入学计算机技术考试专业课试卷new_第2页
第2页 / 共6页
河海大学工程硕士学位入学计算机技术考试专业课试卷new_第3页
第3页 / 共6页
资源描述:

《河海大学工程硕士学位入学计算机技术考试专业课试卷new》由会员分享,可在线阅读,更多相关《河海大学工程硕士学位入学计算机技术考试专业课试卷new(6页珍藏版)》请在装配图网上搜索。

1、河海大学2009年工程硕士入学考试专业课试题考试科目名称: 高级语言程序设计 一、选择题(1分25=25分)1. 以下说法中正确的是 (1) 。AC语言程序总是从第一个的函数开始执行B在C语言程序中,要调用的函数必须在main( )函数中定义CC语言程序总是从main( )函数开始执行DC语言程序中的main( )函数必须放在程序的开始部分2. 在以下各组标识符中,均可以用作变量名的一组是 (2) 。Aa01, _nt Btable_1, a*.1 C0_a, W12 Dfor, point3. 若有说明:int a10;则对数组元素的正确引用是 (3) 。Aa10B. a3.5C. a(5)

2、D. a10-104. 有以下程序,执行后输出结果是 (4) 。main ( ) int n=9; while (n6)n- -; printf (”%d”, n); A. 987 B. 876 C. 8765 D. 98765. 若有以下定义,则对a数组元素地址的正确引用是 (5) 。int a5,*p=a;A&a0B. *a+1C. &a+1D. p+56. 若有以下调用语句,则不正确的fun函数定义的首部是 (6) 。main () int a50, n; fun(n, &a9); A. void fun (int m, int x) B. void fun (int s, int h5

3、0) C. void fun (int p, int *s) D. void fun (int n, int a) 7. 设有数组定义:char array=”China”; 则数组所占的空间是 (7) 。A4个字节 B5个字节 C6个字节 D7个字节8. 在下列C语言源程序的错误中,通常不能在编译时发现的是 (8) 。 A. 括号不匹配 B. 非法标识符 C. 数组元素下标值越界 D. 程序结构不完整9. 若有声明long a, b;且变量a和b都需要通过键盘输入获得初值,则下列语句中正确的是 (9) 。A. scanf(%ld%ld, &a, &b); B. scanf(%d%d, a,

4、b);C. scanf(%d%d, &a, &b); D. scanf(%ld%ld, &a, &b);10. 若有定义语句:int a23, *p3; 则以下语句中正确的是 (10) 。 Ap = a; B. p0 = a; C. p0 = &a12; D. p1 = &a;11. 已知:int x; int y10; int *p;下列 (11) 是合法的。Ap=&x; Bp=&(x+3); C p=&5; D p=&y;12以下叙述中错误的是 (12) 。A. 局部变量的定义可以在函数体和复合语句的内部B. 全局变量的定义可以在函数以外的任何部位C. 同一程序内局部变量和全局变量不允许同

5、名D. 函数的形参属于局部变量13. 设有说明double(*p1)N; 其中标识符p1是 (13) 。AN个指向double型变量的指针。B指向N个double型变量的函数指针。C一个指向由N个double型元素组成的一维数组的指针。D具有N个指针元素的一维指针数组,每个元素都只能指向double型量。14. 下列关于C语言数据文件的叙述中正确的是 (14) 。 A文件由ASCII码字符序列组成,C语言只能读写文本文件 B文件由二进制数据序列组成,C语言只能读写二进制文件 C文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件 D文件由数据流形式组成,可按数据的存放形式分为二进制文

6、件和文本文件15若有下面的程序段,则下列叙述正确的是 (15) 。 char s =china; char *p; p=s; A. s和p完全相同 B.数组s中的内容和指针变量p中的内容相等 C. s数组长度和p所指向的字符串长度相等 D.*p与s0相等16. 若有结构类型定义“typedef struct test int x, y2; TEST; ”,则以下声明中正确的是 (16) 。Astruct test x; Bstruct x; Ctest x; Dstruct TEST x;17若有声明“float f=123.45678;”,则执行语句“printf(%.3f,f );”后,输

7、出结果是(17) 。A. 1.23e+02 B. 123.457 C. 123.456780 D. 1.234e+02 18下列关于指针定义的描述, (18) 是错误的。A指针是一种变量,该变量用来存放某个变量的地址值的。B指针变量的类型与它所指向的变量类型一致。C指针变量的命名规则与标识符相同。D在定义指针时,标识符前的“*”号表示后面的指针变量所指向的内容。19已知A盘根目录下有文本文件“data.txt”且程序中已有声明“FILE *fp;”,若程序需要先从“data.txt”文件中读出数据,修改后再写入“data.txt”文件中,则调用fopen函数的正确形式是 (19) 。 A. f

8、p=fopen(a:data.txt,rw); B. fp=fopen(a:data.txt,w+); C. fp=fopen(a:data.txt,r+); D. fp=fopen(a:data.txt,r); 20已知有结构定义和变量声明如下:以下选项中错误的是 (20) 。struct student char name20; int score; struct student *h; stu,*p; int *q;A. p=&stu; B. q=&stu.score; C. scanf(%s%d,&stu); D. stu.h = p; 21. 若已定义的函数有返回值,则以下关于该函数

9、调用的叙述中错误的是 (21) 。 A. 函数调用可以作为独立的语句存在 B. 函数调用可以作为一个函数的实参 C. 函数调用可以出现在表达式中 D. 函数调用可以作为一个函数的形参 22. 已知 int x=1, y=2, z=3; 则z+=xy?+x:+y;的值是 (22) 。A. 2 B. 4 C. 3 D. 623. 若有以下说明和定义语句:union uti int n; double g; char ch9; struct srtfloat xy; union uti uv; aa; 设在32位机器上,则变量aa所占内存的字节数是 (23) 。 A. 9 B. 8 C. 13 D.

10、 1724. “文件包含”预处理语句的使用形式中,当#include后面的文件名用“”括起时,寻找被包含的文件的方式为 (24) 。A直接按系统设定的标准方式搜索目录B先在源程序所在目录搜索,再按系统设定的标准方式搜索C仅仅搜索源程序所在的目录 D仅仅搜索当前目录25. 若程序中有宏定义行:#define N 100 则以下叙述中正确的是 (25) 。A. 宏定义行中定义了标识符N的值为整数100B. 在编译程序对C源程序进行预处理时用100替换标识符NC. 对C源程序进行编译时用100替换标识符ND. 在运行时用100替换标识符N二、读程序写运行结果(5分5=25分)1、#include i

11、nt main() int a, b, c, d; a=20; b=+a; c=a-; d=10*c+; printf (b, c, d: %d, %d, %d, b, c, d); return 0; 2、#includevoid main() int a, b;for (a=1,b=1;a=20) break;if(b%3 = 1) b+=3; printf(“%d, ”, b); continue;3、#include int f1( ) static int i=0,f=1; return f *= +i; int f2( ) int i=0,f=1; return f *= +i;

12、void main( ) printf(%dn,f1( )+f1( ); printf(%dn,f2( )+f2( ); 4、#include #include char *fun (char *t) char *p=t; return (p+strlen(t)/2); void main( ) char *str=abcdefgh; str = fun (str); puts(str); 5、#include struct s int x,*y; *p; int d5=10, 20, 30, 40, 50; struct s a5=100, &d0, 200, &d1, 300, &d2,

13、400, &d3, 500, &d4; void main( ) p=a; printf (%5d, p-x+); printf(%5dn, p-x); printf(%5d, *p-y); printf(%5dn, *+p-y); 三、填空题(1分11+2分725分,其中(1)-(11)每题1分,(12)-(18)每题2分)1 C语言源程序文件的扩展名是 (1) ,经过编译后,生成文件的扩展名是 (2) ,经过连接后,生成文件的扩展名是 (3) 。2 C语言提供的三种逻辑运算符是 (4) 、 (5) 、 (6) ;其中优先级最高的是 (7) 。3 若自定义函数要求返回一个值,则应在该函数体中

14、有一条 (8) 语句,若自定义函数要求不返回一个值,则应在该函数说明时加一个类型说明符 (9) 。4 C语言函数中的形参和调用时的实参若都是数组名时,传递方式为 (10) ,若都是变量时,传递方式为 (11) 。5 本程序的工程是判断制定的正整数是否为素数,若是,则输出该素数。 #include int f (int a) int tag, i; i=2; tag=1; while (ia/2 & (12) ) if( (13) ) tag=0; i+; return tag; void main() int m; scanf(“%d”, &m); if (f(m) printf(“%d”,

15、m); 6 程序功能是输入n个整数(n由键盘输入),统计其中正数、负数和零的个数。 #include void main( ) int x, n, k;int k1=0, k2=0, k3=0;printf(“ input n=:”); (14) ;for(k=0; kn; k+)scanf(”%d”, &x);if (x0)k1+; (15) ; else k3+;printf(”k1=%4d, k2=%4d, k3=%4dn”, k1, k2, k3)7 以下程序中函数f的功能是在数组x的n个数(假定n个数互不相同)中找出最大最小数,将其中最小的数与第一个数位置对换,把最大的数与最后一个数

16、位置对换。#include viod f (int x, int n) int p0, p1, i, j, t, m;i=j=x0; p0 = p1 = 0; for (m=0; mi) i=xm; p0=m; else if( (16) ) j=xm; p1=m; t=xp0; (17) ; xn-1= t; t=xp1;xp1= (18) ;x0 = t; void main() int a10, u; for (u=0; u10; u+) scanf(%d,&au); f (a, 10); for (u=0; u10; u+) printf(%d,au); printf(n); 7四、编程题(10+15=25分,第1题10分,第2题15分)1. 编写程序完成矩阵转置功能,即将矩阵的行和列对换:如将矩阵 9 7 5 1 倒置为 9 3 4 3 1 2 8 7 1 6 4 6 8 10 5 2 8 1 8 102. 编写程序完成对给定的一组整数由小到大的顺序排序,并将排序后的结果输出。具体实现为: 用函数create()根据已知整数数组构造一个线性链表;函数sort( )采用选择排序方法对已知链表进行排序。Page 6 of 6

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!