2012-2012秋季学期计算机学院程序设计基础试题B 下载本文

内容发布更新时间 : 2024/9/28 22:18:27星期一 下面是文章的全部内容请认真阅读。

黑龙江大学2015-2016学年第一学期考试试卷

订 线

2015—2016学年第一学期程序设计基础试卷(B) 5. 函数调用语句:fseek(fp,-10L,2);的含义是( )。 A.将文件位置指针从文件末尾处向文件头的方向移动10个字节 B.将文件位置指针从当前位置向文件头的方向移动10个字节 C.将文件位置指针从当前位置向文件末尾方向移动10个字节 ( 院系:计算机科学技术学院、软件学院 专业:计算机科学与技术、物联网工程、软件工程 年级:2015 考核形式:闭卷 命题人:马天鑫、田元昊 校验、审核:郭兴凯) 题 号 一 二 三 四 总分 评卷人 复核人 院 系 年 级 专 业 姓 名 学 号 考试课程 D.将文件位置指针移到距离文件头10个字节处 分 数 20 10 30 40 100 6. 以下不能对二维数组x进行正确初始化的语句是( )。 得 分 A.int x[2][3]={{3,4},{5,6},{7,8}}; B.int x[ ][3]={{1,2,3},{3,4,5}}; C.int x[2][3]={10}; D.int x[ ][3]={1,2,3,4,5,6}; 得分 评卷人 一、选择题(在每个小题四个备选答案中选出一个正确答案,填在题末 括号里)(本大题共10小题,每小题1分,总计10分) 7. 已定义char ch; 下列赋值表达式中哪一个不正确( )。 A.ch=97 B.ch=?a? C.ch=?A? D.ch=?x?+?y 1.设变量定义为“int s[ ]=\”,则数组s的长度为( )。 A.12 B.13 C.14 D.15 8. 设有 int a[]={10,11,12},int *p=&a[0];则执行完串p++;*p+=1;后a[0],a[1],a[2]2.下列程序段的输出结果( )。 的值依次是( )。 void main(){ A.10,11,12 B.11,12,12 C.10,12,12 D.11,11,12 int *p,*q,m=5,n=20; p=&n; q = &m ; 9. 设有说明 int (*ptr)();其中标识符ptr是( )。 p=q; ++(*p); A.是一个指向整形变量的指针 printf(\ } B.是一个指针,它指向一个函数值是int的函数 A.5 B.6 C.20 D.21 C.是一个函数名 3. 以下程序的运行结果是 ( )。 D.定义不合法 main( ) 10.取下列字符中的哪一组,能使strcmp(字符串1,字符串2)的结果大于0( ) 。 { int m=5; A.“china “和 “China” B.“358” 和 “46” if(m++>5) printf(“%d\\n”,m); C.“compare” 和“computer” D.“36+54” 和 “s!$&#” else printf(“%d\\n”,m--); 得分 评卷人 二、填空题(填空题每空1分,总计10分) } A. 4 B. 5 C. 6 D. 7 1.一个指针变量存储的是__________________。 4.对于while语句,错误的说法是( ) 。 2.C语言函数分为系统提供的________________和_______________两大类。 A.用条件控制循环体的执行次数 3.若自定义函数要求返回一个值,则应在该函数体中有一条_______________语句,若B.循环体至少要执行一次 自定义函数要求不返回一个值,则应在该函数说明时加一个类型说明符装 _______________。 C.循环体有可能一次也不执行 4.在C语言程序中,对文件进行操作首先要_____________________;然后对文件进行订 D.循环体中可以包含若干条语句 操作,最后要对文件实行__________________操作,防止文件中信息的丢失。 线

5.在调用子函数时,实参应在 、 和 上和形参保持一致。 共 5 页 第 1 页

黑龙江大学2015-2016学年第一学期考试试卷

装 订 线

得分 评卷人 三、改错题,在错误处划线并说明错误原因(本大题共5小题,每小题2分,总计10分) 1.void main() { int i; 四、读程序,写出程序的结果或程序填空(本大题共6小题,每小题5分,总计30分) 1.给出下面程序的运行结果。 #include 得分 评卷人 院 系 年 级 专 业 姓 名 学 号 考试课程 i=1; void fun(int b[],int n) j=2*i; { int i; printf(”%d”,j); } for(i=0;i float z; void ReadInt(_________________) z=x-y; { return z; int k,n; } for(k=0;k<20;k++) 错误原因: { fread(__________________________,1,fp); printf(\ } } 4.void main() void main() { static int a[4]={1,3,5,7}; { printf(“%d%d%d%d”,a); FILE *fp; } if((fp=fopen(\rb”))==NULL){ 错误原因: printf(\ } ReadInt(fp); fclose(fp); 5.void main( ) } 共 5 页 第 2 页

院 系 年 级 专 业 姓 名 学 号 黑龙江大学2015-2016学年第一学期考试试卷

装 { static int a[10]={1,2,3,4,5,6,7,8,9,10}; int j; 订 for(j=1;j<=10;j++) printf(“%d ”,a[j]); } 线

错误原因: 装 3. 以下search函数的功能是利用顺序查找法从数组a的10个元素中对关键字m进行查找。6.下面函数的功能是计算单向链表中所有节点的数据的和,其中head为指向第一个节 若找到,返回此元素的下标;若仍未找到,则返回值-1。补全程序。 点的指针。请填空。 订 #include struct link int search int a[10],int m) { int data; 线 { int i; struct link *next; for(i=0;i<=9;i++) if(_____________) return(i); }; return (-1); int count(struct link *head) } { struct link *p; void main() int sum=0; { int a[10]={2,3,4,10,7,6,5,9,8,20},m,no; p=head; scanf(“%d”,&m); while(p!=NULL) no=search (_______ ___); { if (___________) printf(“\\nOK FOUND! %d”,no+1); sum=_________________; else printf(“\\nSorry Not Found!”); p=_________________; } } 4. 写出如下程序的运行结果。 return sum; #include } main ( ) { char a[80],b[80],*p=“LyouO2012VE”; int i=0,j=0; 得分 评卷人 五、编程题(本大题共4小题,第1小题10分,第2、3小题9分,while(*p!=?\\0?) 第4小题12分,总计40分) {if(*p>=?A?&& *p<=?Z?) {a[i]=*p; i++;} else{b[j]=*p; j++;} 1.输入某年某月某日,计算并输出它是这一年的第几天。要求考虑闰年问题(10分)。 p++; } a[i]=b[j]=?\\0?; puts(a);puts(b); } 运行结果:_______________________和 。 5. 给出下面程序的运行结果。 void fun(int x,int y,int *cp,int *dp) { *cp=x*y; 共 5 页 第 3 页