耀华杯2007竞赛试卷带答案(C语言).doc_第1页
耀华杯2007竞赛试卷带答案(C语言).doc_第2页
耀华杯2007竞赛试卷带答案(C语言).doc_第3页
耀华杯2007竞赛试卷带答案(C语言).doc_第4页
耀华杯2007竞赛试卷带答案(C语言).doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

2007耀华杯程序设计竞赛(C语言) 学号 班级 姓名 成绩 说明:请将选择题正确答案涂写考试答题卡,将填空等文字题按【 】中的序号写入文字答题卡,否则不得分。文字答题卡:三、阅读程序题 文字答题卡:(每空2分,共20分)1题【51】2题【52】3题【53】4题【54】5题【55】6题【56】7题【57】8题【58】9题【59】10题【60】四、完善程序填空题 文字答题卡:(每空2分,共24分)1 题【61】【62】【63】3题【64】【65】【66】4题【67】【68】二、C语言单项选择题(每空1分,共20分)请将正确选择答案按【】中的序号涂写答题卡,否则不得分。1. 字符串“”022a,0n”的长度是_【31】 。A) 9 B) 8 C) 7 D) 62. 已知char c=A; int i=1,j; 执行语句 j= !c&i+, 则i,j的值为_【32】 。A) 1,1B) 1,0C) 2,1D) 2,03. 设有以下语句,则c 的二进制值是_【33】 。 char a=4,b=5,c; c=ab3;A) 00101100B) 00001000C) 00101110D) 001100004. 当用const int A=9;定义后,下列叙述正确的是 【34】 。A) A是整型常量 B) A是整型变量 C) A是字符型常量 D) A是不定类型常量5. 已知下列说明,不能将x11赋给变量i的语句是_【35】 。A)i=*(*(x+1)+1)B)i=x11 C)i=*x1+1D)i=*(x1+1)6. 说明语句“int (*p)()”的含义是_【36】 。 A)p是一个指向具有4行的二维数组的指针变量 B)p是指针变量,指向一个具有4列的二维数组指针 C)p是一个指向函数的指针,该函数的返回值为整型 D)以上答案都不对7. 下面哪一项是不正确的字符串赋值或赋初值的方式_【37】 。 A) char *str; str=string; B) char str7=s,t,r,i,n,g; C) char str110;str1=string; D) char str1=string,str2=12345678;8下列函数的功能是 _【38】 。int fun1(char *x) char *y=x; while(*y+); return(y-x-1);A)求字符串的长度B)比较两个字符串的大小C)将字符串X复制到字符串Y D)将字符串X连接到字符串Y后面9不合法的main函数命令行参数表示形式是 _【39】 。A) main(int a,char *c)B)main(int arc,char *arv)C) main(int argc,char *argv)D)main(int argv,char *argc)10. 设有以下宏定义: #define N 3 #define Y(n) (N+1)*n) 则执行语句:z=2 * (N+Y(5+1);后,z的值为 【40】 。A) 出错 B) 42 C) 48 D)54 11. 在下列结论中,只有一个是正确的,它是 _【41】 。A) 递归中的形式参数是自动变量B) 递归中的形式参数是外部变量C) 递归中的形式参数是静态变量D) 递归中的形式参数可以根据需要自己定义存储类型12. 若定义enum color red, green, blue, purple, yellow, black, orange c1;,执行语句c1=green+blue;后,以下选项中c1的结果正确的是 _【42】 。A)greenblueB)purpleC)yellowD)编译出错13. 若要利用下面的程序片段使指针变量p指向一个存储整型变量的存储单元,则【43】中应填入的内容是_【43】 。int *p;p=【43】 malloc(sizeof(int);A)intB)int *C)(*int)D)(int *)14. 以下程序段运行的结果是 【44】 。 char c5 =a,b,0,c,0; printf ( % s , c );A)a b B)ab c C) abc D) ab15. 设有如下定义: int arr=6,7,8,9,10; int * ptr; 则下列程序段的输出结果为 【45】 。 ptr=arr; *(ptr+2)+=2; printf (%d,%dn,*ptr,*(ptr+2); A)8,10 B)6,8 C)7,9 D)6,10 16. 设有以下说明和定义: typedef union long i; int k5; char c; DATE; struct date int cat; DATE cow; double dog; too; DATE max; 则下列语句的执行结果是 【46】 。 printf (%d,sizeof(struct date)+sizeof(max); A) 26 B) 30 C) 18 D) 8 17. 有以下程序,输出结果是 【47】 。 void fun (int a,int b,int c) a=456; b=567; c=678; main() int x=10, y=20,z=30; fun (x,y,z); printf(%d,%d,%dn,z,y,x); A) 30,20,10 B) 10,20,30 C) 456,567,678 D) 678,567,456 18. 有以下程序,输出结果是 【48】 。#include main()int j; union int a;long b;unsigned char c;m; m.b=0x12345678; printf(“%xn”,m.a); A)1234B)5678C)12345678D)019. 以下程序将从终端上读入10个整数,以二进制方式写入一个名为”testdat”,的新文件中。请选择正确的语句。#include FILE *fp;main() int i,j; fp=fopen(testdat,wb); for(i=0;i10;i+) scanf(“%d”,&j);fwrite( 【49】 ,sizeof(int),1, 【50】 ); fclose(fp);【49】A) j B) &j C) *j D) fp【50】A) j B) testdat C) *fp D) fp三、阅读下列程序,将的运行结果按【 】序号写入文字答题卡,否则不得分。 (每空2分,共20 分) 1. 下列程序的输出结果是_【51】 。#include main() int i=3,k; k=(i+)+(i+)+i+; printf(%d,%dn,k,i); 【答案】9,62下面程序的输出是 【52】 。 main( ) enum en1 my,your=4,his,her=his+10; printf(“%d,%d,%d,%dn”,my,your,his,her);【答案】0,4,5,15 3. 下列程序的输出结果是_【53】 。main() union unsigned char c; unsigned int i4; z; z.c=A; z.i0=0x39; z.i1=0x36; printf(%ct%dn,z.c,sizeof(z);【答案】9 84. 下列程序的输出结果是_【54】 。 #include int fun(int x,int y) static int m=0,i=2; i+=m+1; m=i+x+y; return m; main() int j=4,m=1,k; k=fun(j,m); printf(%d,k); k=fun(j,m); printf(%dn,k); 【答案】8,175下面程序运行结果是 【55】 。#includemain() int m=1,n=0;switch (m) case 1: switch (n) case 0: printf (It is a dog. ); break; case 1: printf (It is a cat.); break; case 2: printf (No meaning.n); 【答案】It is a dog. No meaning.6下列程序的输出结果是_ 【56】 。 #define MAX 3 int aMAX; main ( ) funl( ); fun2(a); printf(n); funl( ) int k,t=0; for (k=0;kMAX;k+,t+)ak=t+t; fun2(int b) int k; for (k=0;kMAX;k+)printf(“%d”,*(b+k);【答案】0247下列程序的输出结果是_ 【57】 。 #include main() int a,b,c,l=4,m=6,n=8; int *p1=&l,*p2=&m,*p3; a=p1=&l; b=3*(-*p1)/(*p2)+7; c=*(p3=&n)=*p1*(*p2); printf(%d,%d,%d,a,b,c); 【答案】1,5,248以下程序的输出结果是 【58】 。 main( ) int i, j, row, col, m; int arr33=100,200,300,28,72,-30,-850,2,6; m=arr00; for( i=0; i3; i+) for( j=0; j3; j+) if(arrijm) m= arrij; row=i; col=j; printf(%d,%d,%dn, m, row, col);【答案】-850,2,09写出以下程序的输出结果 【59】 。int a=0;fun3(int x) static int a=3; a=a+x; return a; main() int k=2, m=1; a+=fun3(k); printf(%d, , a); a+=fun3(m); printf(%dn, a); 【答案】5,1110以下程序的运行结果是 【60】 。struct ks int a, *b; s4, *p;main() int n=1, i; for(i=0;ia, (p+)-a); 【答案】7,3四、完善程序填空题(每空2分,共24分) 请将正确答案按【】中的序号写入文字答题卡,否则不得分。1打印菲波拉契数列:1,1,2,3,5,8,13,21其递推项公式为:U1=U2=1,Un=Un-1+Un-2 (n为正整数,且n=3 )完成下列程序。# includemain( ) int n,i,un1,un2,un; do printf(Input n=?); scanf(%d,&n); while (n3); un1=un2=1; 【61】 ; printf ( %d,%d,un1,un2); for (i=3;in;i+) 【62】 ; 【63】 ;un=un1+un2; printf (%d,un); printf(b n);【答案】【61】un=1 【62】un1=un2 【63】un2=un2 以下程序可以把键盘上输入的十进制正整数(long型)以二到十六进制形式输出,请填空。#include main()char b16=0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F; int c64, d, i=0, base; unsigned long n; printf(enter an integer:n); scanf(%ld,&n); printf(enter new base:n); scanf(%d,&base); do ci= 【64】 ; i+; n=n/base; while(n!=0); printf(transmite new base:n); for( 【65】;i=0;-i) printf(%c, 【66】 );答案 【64】 n%base 【65】 -i 【66】 bci 3以下程序的功能是将两个字符串str1和str2连接成为str3,请将其补充完整。 main() int i,j; char str110,str210,str321; gets(str1); gets(str2); for(i=0;str1i!=0;i+) str3i=str1i; for(j=0; 【67】 ;j+) str3j+i= 【68】 ; str3j+i=0; printf(%sn%sn%sn,str1,str2,str3); getch();答案 【67】 str2j !=0 【68】 str2j四、编程题(分段记分,共14分)编写学生信息处理程序,要求如下:(1)建立学生信息结构类型struct STUDENT_TYPE,成员包括:姓名(Name)(用拼音表示,如:zhangsan)、学号(No)(9位数字字符串)、C语言程序设计考试成绩(Score)(0100)。(2)通过键盘依次输入10个学生的信息,将信息存储于结构数组struct STUDENT_TYPE student10 中。(3)编写一个排序函数,用于对数组student中的信息按成绩降序排序,排序函数为:void SortByScore(struct STUDENT_TYPE a, int number);(4)在主程序中调用排序函数对学生信息进行排序,并将排序后的学生信息显示在屏幕上,每行显示一个学生的信息。答案:/* 学生信息处理程序 */#include Stdio.h#include Conio.h/* 定义学生信息结构 */struct STUDENT_TYPE char Name20; char No10; int Score;#define STUDENT_NUMBER 3/* 学生信息数组降序排序函数 */void SortByScore(struct STUDENT_TYPE a, int number) int i,j; struct STUDENT_TYPE tmpS; for(i=0; inumber-1; i+)

温馨提示

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

评论

0/150

提交评论