




免费预览已结束,剩余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)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 h50) 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, 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. 同一程序内局部变量和全局变量不允许同名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文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件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 );”后,输出结果是(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. fp=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. 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是 (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. 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 int 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; 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, 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 若自定义函数要求返回一个值,则应在该函数体中有一条 (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”, 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个数互不相同)中找出最大最小数,将其中最小的数与第一个数位置对换,把最大的数与最后一个数位置对换。#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+) pr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 应急安全工作培训课件
- 2025山东省莱州市中考数学经典例题含答案详解【能力提升】
- 婴幼儿秋季腹泻生理机制与高发原因解析
- 2024年自考专业(金融)自我提分评估含答案详解【典型题】
- 酒精消费与癌症风险
- 借贷双务合同(标准版)
- 补充协议补充合同(标准版)
- 做账实操-《民非会计制度》的核算内容
- 2024-2025学年中医助理医师每日一练试卷及参考答案详解(A卷)
- 2025年能源与资源行业:新能源储能系统性能优化与成本控制策略报告001
- 厂房分割租赁协议书
- 会计中级职称《财务管理》电子书
- GB/T 45345-2025金属及其他无机覆盖层工程用直流磁控溅射银镀层镀层附着力的测量
- 无人机教员聘用协议书
- 药物非临床研究质量管理规范
- 脑科生理病理图谱解读
- 足球教练员的职业素养与道德规范
- 产地证培训讲义
- 《南京理工大学化工》课件
- 养殖场远程视频监控解决方案
- 二手车转让免责协议书范本
评论
0/150
提交评论