中财研究生C语言程序设计01年初试真题讲课教案_第1页
中财研究生C语言程序设计01年初试真题讲课教案_第2页
中财研究生C语言程序设计01年初试真题讲课教案_第3页
中财研究生C语言程序设计01年初试真题讲课教案_第4页
中财研究生C语言程序设计01年初试真题讲课教案_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精品文档6.若有以下说明,则有()不是对strcpy库函数的 正确调用。中央财经大学二OO一年硕士研究生入学考试试题 招生专业:产业经济学 考试科目:C语言程序设计 注意:本试题所有答案应按试题顺序写在答 题纸上,只写试题顺序号,不必抄题,写在试题纸上不得分。一、选择题:下列每题选择一个合适的答案(每 题2分,共16分)1以下函数调用语句中含有()个实参。Sub1(f1,(f2,f3),f4,(f5,f6,f7)A)6 B)4 C)3 D)以上答案都不对。2已知:union int x;struct char c1,c2; b; a;执行语句:a.x=0 x3412之后,a,b,c1的值为()

2、A)0 x34B)0 x3412C)0 x12 D)以上答案都不对3.已知函数原形为:struct tree *f (x1,x2,x3,x4)int x1,int *x2;struct tree x3,*x4其中tree为已定义过的结构,且有下列变量 定义:strcut tree pt,*p; int i;请选择正确的函数调用语句( )。A) &pt=f(10,&i,pt,p);B) p=f(i+,(int *)p,pt,&pt);C) p=f(i+1,&(i+2),*p,p);D) f(i+1,&i,p,p);4.若有以下程序片段:char str=a

3、cb0 x560780;printf(%d, strler, (str);A) 3B) 6 C) 4 D) 85.若fp为文件指针,且文件已正确打开,以下 语句的输出结果为本( )fseek(fp,0,2);i=ftell(fp);printf(i=%d,i);A) fp所指文件的记录长度B) fp所指文件的当前位置,以字节为单位C) fp所指文件的当前位置,以字节为单位D) fp所指文件的长度,以字节为单位char * str1=abcd, str212char *str3=efghkl, *str4,*str5=mnopq;A) strcpy ( str2, str1 ); B)strcp

4、y (str3 , str1)C) strcpy (str4 , str1) D) strcpy(sir5 , str1 );7.若有如下说明,且0=k50) break;C) k=32760; do(k+%2)|(k%2) k+;k+=2;while(k0);二、度程序:给出程序执行后的输出结果。 (第1、2题各5分,第3、4、5、6题各6分,共34分)假设有可运行程序的各文件名为test.exa使 用命令行参数,运行该程序的 格 式 如下:test ynop azcb rwza请写出下面程序的输出结果。#include stdio.h#include string.hmain(argc,a

5、rgv)int argc;char *argv; char *p;sub1( argv+1; argc-1 );for (p=argv+1;-argc;p+) printf(%sn, *p);sub1 (char *s, int n) int k, j;char word20;for(k=0;kn;k+)精品文档for (j=k+1;j0) strcpy(word, sk); strcpy(sk, sj);精品文档A) p=aC) p=ak8.以下语句段中,A) k=50;D) k=32760;while精品文档strcpy(sj, word);2.写出以下程序运行后的输出结果。#includ

6、estdio.h #define N 6 #define M 21main() int aM,*pN,k,j,q; for(k=0;kN;k+)q=k*(k+1)/2; pk=&aq;for(k=0;kN;k+) *(*(p+k)=1;*(*(p+k)+k)=1;for (k=2;kN;k+ )for (j=1;jk;j+)*(*(p+k)+j)=*(*(p+k-1)+j-1)+*(*(p+k-1 )+j);for( k=0; kN; k+ )for(j=0;j=k;j+)printf(%4d,*(*(p+k)+j);printf (n);3.写出以下输出结果。#include std

7、io.hcharstr=PPPQWLTECH1111Q1QALLMS1;main()int k; char ch;for ( k=2; (ch=strk)!=0; k+) switch( ch ) case A: putchar(a); continue; case 1:break;case1: while( ( ch=str+k)!=1&ch!=0);case 9: putchar(#);case E:case L: continue; default :putchar(ch); continue; putchar(*);printf(n);4.写出下列程序的输出结果。#includ

8、e stdio.h main()char*s6=BGCD,OFEH,IJKVALMN,QXYZ,PRST;char *p; int k;p=s; for(k=1;k4;k+) printf(%c, (*p)k);5.写出程序运行结果。#include stdio.h #includestring.h void fun( char *w, int m) char s,*p1, *p2;p1=w; p2=w+m-1; while(p1p2), ;s=p1+; p1=p2-; *p2=s; main() static char a=ABCDEFG; fun(a,strlen(a);puts(a)6.

9、下列程序由两个文件组成,请写出运行结果/*文件1*/ #include stdio.h int j=4;main() int,k,m,j; extern int n; extern int f2( );k=4;m=3;j=0;printf(p1=%dn, f1(n,m);printf(p2=%dn, f2(k,m);printf (p3=%dn, f1(n,j); printf(p4=%dn,f2(n,j); printf(n=%dn, n); printf(j=%dn,j); f1(int m, int k) int f;if (n) n=k*n;精品文档精品文档j=m+j; f=n%j;r

10、eturn(f);/*文件2*/int n=2;f2(int a, int b) static int m; extern int j; n=n*j+1; j=j+m+1;m=n+j+a+b; return(m);三、填空题(每空2分,共22分)1.以下程序功能:输入100本书的名称和单 价,按照单价进行排序后输出。#include stdio.h#define NUM 100struct book char name20;float price;main() struct book term,booksNUM;int count;for (count=0;countNUM; ) printf

11、(Input book name and pricen);scanf(%s%f, (1) );sortbook( term, books, count+);printf(- BOOKLIST- n);for(count=0;countNUM;count+)printbook( (2) );sortbook( term, pbook, count)struct book term;struct book *pbook;int count;int k;struct book *q, ( 3 ) ;for (k=0; kcount; k+,pend+);for ( ; pbookpriceterm.

12、price) break;for (q=pend-1; q=pbook; q-) (4) ; (5) ;printbook(pbook)struct book *pbook; printf(%-20s %6.2fn, pbook-name,pbook-price);2.以下程序显示指定文件, 在显示文件内容的同 时加上行号。#include stdio.h#include string.h main()char s20,filename20;int flag=1, ( 6 ) ;FILE *fp;printf(Enter filename); gets(filename);if(fp=fope

13、n(filename,r) (7) ) printf(File open error !n);exit(0);while ( (8) )while(fgets(s, 20, fp ) ( 9 ) ) if ( (10) ) printf(%3d : %s,+i,s); elseprintf(%s , s);if ( ( 11 ) ) flag=1;else flag=0; fclose(fp);四、编程序(第1题8分,第2题9分,第3题11分,共28分)1某人有10张3分的邮票和10张5分的邮票, 问使用这些邮票可以组合出多少种不同面值的邮资。(例如:1张3分邮票加1张5分邮票可以组成8分的邮

14、资;5张3分的邮票或3张5分的邮票都可以组成同样面值的邮资。)2已知某数列前两项为2和3,其后继项根据 前面最后两项的乘积,按下列规则生成:(1)若乘积为一位数, 则该乘积即为数列的后 继项;(2)若乘积为二位数, 则该乘积的十位数字和 个位数字依次作为数列的两个后继项。请编程序生成该数列的前N项,并求前N项精品文档精品文档的和。要求:生成该数列 后继项及求和过程用函数实现,在主函数中 调用该函数。3小刚假期同妈妈一起去书店, 他选中了N本 书,每本书的单价分别为:p1,p2,p3.,pn元(均为整数),不巧的是:妈妈只带了S(为整数)元钱,不够买这N本书(即:Sp1+p2+pn)。为了 让小

15、刚过一个愉快的假期,妈妈同意将这S元钱全部用来买书。也 就是小刚要从所选的N本书中选出M本,使得这M本的价格和刚好等 于S。即:pi1+pi2+pi3+pim=S,请你编程序将所有满足这一 条件的i1,i2,i3im依次打印出来。01年c真题参考答案1.d2.c3.b4.a5.d6.c7.a8.c1.azcbrwzaynop(这道题我没有调试出来,不知道怎么搞得,我的tc对这道题有意见,大家一起确认一下吧)2.11112113311 46411 5 10 10513.PQWTCH*#Q#4.GCDABCDEAG6.p1=0p2=51 p3=0p4=97n=1j=01.,&am

16、p;term.price2.&bookscount3.*pend=pbook4.*(q+1)=q5.*(q+1)=term6.i=07.=NULL8.!feof(fp)9.!=010.flag=111.strlen(s)19四最后一道题,没有搞定,大家帮忙!1.#define N 101*101main()int i,j,k,n,s,aN;n=1;a0=0;for(i=0;i=10;i+)for(j=0;j=10;j+)s=3*j+5*i;for(k=0;kn;k+) if(s=ak) break;if(k=n)ak=s;n+;printf(have %d typesn,n);2.#define N 10main()int i,s,aN+1;void creat(int a,int n);a0=2;a1=3;creat(a,N);s=sum(a,N);5.精品文档精品文档printf(the as primer part N :n);for(i=0;i

温馨提示

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

评论

0/150

提交评论