c语言试题1 (5).doc_第1页
c语言试题1 (5).doc_第2页
c语言试题1 (5).doc_第3页
c语言试题1 (5).doc_第4页
c语言试题1 (5).doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

一、填空 共5题 (共计20分)第1题 (4.0分) 题号:601若有以下数组a,数组元素:a0a9,其值为 9 4 12 8 2 10 7 5 1 3该数组中下标最小的元素名字是【1】.答案:(答案1) a0第2题 (4.0分) 题号:327执行语句char str81=abcdef;后,字符串str结束标志存储在str【1】(在括号内填写下标值)中.答案: (答案1) 6第3题 (4.0分) 题号:1568设a=3,b=4,c=5,则表达式!(a+b)+c-1&b+c/2的值为【1】.答案: (答案1) 1第4题 (4.0分) 题号:294C语言的三种基本结构是【1】结构、选择结构、循环结构.答案: (答案1)顺序第5题 (4.0分) 题号:1555若所用变量都已正确定义,请填写以下程序段的输出结果【1】.for(i=1;ibc)a=b;else a=c;则a的值为()。A:3B:2C:1D:0答案:C第8题 (2.0分) 题号:675关于建立函数的目的,以下正确的说法是()。A:提高程序的执行效率B:提高程序的可读性C:减少程序的篇幅D:减少程序文件所占内存答案:B第9题 (2.0分) 题号:540指针变量p进行自加运算(即 执行p+;)后,地址偏移值为2,则其数据类型为()。A:intB:floatC:doubleD:char答案:A第10题 (2.0分) 题号:524与实际参数为实型数组名相对应的形式参数不可以定义为()。A:float a;B:float *a;C:float a;D:float (*a)3;答案:C第11题 (2.0分) 题号:721fseek函数的正确调用形式是()。A:fseek(文件类型指针,起始点,位移量)B:fseek(fp,位移量,起始点)C:fseek(位移量,起始点,fp)D:fseek(起始点,位移量,文件类型指针)答案:B第12题 (2.0分) 题号:177以下描述中,正确的是()。A:预处理是指完成宏替换和文件包含中指定的文件的调用B:预处理指令只能位于C源文件的开始C:C源程序中凡是行首以#标识的控制行都是预处理指令D:预处理就是完成C编译程序对C源程序第一遍扫描,为编译词法和语法分析作准备答案:C第13题 (2.0分) 题号:548char *match(char c)是()。A:函数定义的头部B:函数预说明C:函数调用D:指针变量说明答案:A第14题 (2.0分) 题号:515int i,j,a23;按照数组a的元素在内存的排列次序,不能将数1,2,3,4,5,6存入a数组的是()。A:for(i=0;i2;i+)for(j=0;j3;j+)aij=i*3+j+1;B:for(i=0;i3;i+)for(j=0;j2;j+)aji=j*3+i+1;C:for(i=0;i6;i+)ai/3i%3=i+1;D:for(i=1;i=6;i+)aii=i;答案:D第15题 (2.0分) 题号:732若执行fopen函数时发生错误,则函数的返回值是()。A:地址值B:0C:1D:EOF答案:B三、程序填空 共5题 (共计30分)第1题 (6.0分) 题号:394功能:用条件编译方法实现以下功能。输入一行电报文字,可以任 选两种方式输出,一种为原文输出;另一种将字母变成下 一个字母(如a变成b,C变成D,其他字符不变)输出。#include #define CHANGEmain() /*SPACE*/ char str80,【?】=str; printf(input string:); /*SPACE*/ gets【?】; printf(Output string:); #ifdef CHANGE for(;*s!=0;s+) if(*s=a&*s=A&*sZ&*sz) /*SPACE*/ *s=【?】; printf(%sn,str); #else printf(%sn,str); #endif答案: (答案1) *s (答案2) (str)或 (s) (答案3) *s=A (答案4) a第2题 (6.0分) 题号:461功能:从键盘输入一个字符串,将小写字母全部转换成大写字母, 然后输出到一个磁盘文件“test”中保存。输入的字符串 以!结束。#include #include #include main() FILE *fp; char str100; int i=0; if(fp=fopen(test,w)=NULL) printf(cannot open the filen); exit(0); printf(please input a string:n); gets(str); /*SPACE*/ while(【?】) if(stri=a&stri=z)/*SPACE*/ 【?】; fputc(stri,fp); i+; fclose(fp); /*SPACE*/ fp=fopen(test,【?】); fgets(str,strlen(str)+1,fp); printf(%sn,str); fclose(fp);答案: (答案1) stri != ! (答案2) stri=stri-32或stri= stri -32 (答案3) r或wr或wr+第3题 (6.0分) 题号:490功能:利用函数计算连续的数组元素累加和的最大值。如果最大 值是负数则返回0;#include /*SPACE*/int max_sum( 【?】, int n) int max_ending_here = 0; int max_so_far = 0; int i; for (i = 0; i n; i+) if (max_ending_here + xi max_so_far) max_so_far = max_ending_here; /*SPACE*/ 【?】; #include void main(void) int x = 2, -3, 1, -1, 3, -2, -3, 3; int n = sizeof(x)/sizeof(int); int i; printf(nMaximum Consecutive Elements Sum Program); printf(n=); printf(nnGiven Array :); for (i = 0; i n; i+) printf(%4d, xi); printf(nnMaximum Sum is %d, max_sum(x, n);答案: (答案1) int x (答案2) max_ending_here = 0 (答案3) return max_so_far第4题 (6.0分) 题号:474功能:读入一行字符(如:a、.y、z),按输入时的逆序建立一个 链接式的结点序列,即先输入的位于链表尾,然后再按输入 的相反顺序输出,并释放全部结点。#include #include main( ) struct node char info; struct node *link; *top,*p; char c; top=NULL;/*SPACE*/ while(c= 【?】) != n ) p=(struct node *)malloc(sizeof(struct node); p-info=c; p-link=top;/*SPACE*/ 【?】; while( top ) p=top; /*SPACE*/ 【?】; putchar(p-info); free(p); 答案: (答案1) getchar( ) (答案2) top=p (答案3) top=top-link第5题 (6.0分) 题号:31功能:用冒泡法对数组a 进行由小到大的排序。#include void fun(int a,int n) int i,j,t;/*SPACE*/ for (j=0; 【?】;j+) /*SPACE*/ for (i=0; 【?】;i+) /*SPACE*/ if(【?】) t=ai; ai=ai+1; ai+1=t; main() int i,a10=3,7,5,1,2,8,6,4,10,9; /*SPACE*/ 【?】; for(i=0;i10;i+) printf(%3d,ai);答案: (答案1) j=j或j=j或jj或jn-1 (答案2) ii或ii或i=n-j-2或ia i + 1 或a i + 1 ai (答案4) fun(a,10)四、程序设计 共2题 (共计20分)第1题 (10.0分) 题号:316功能:统计出若干个学生的平均成绩,最高分以及得最高 分的人数。例如:输入10名学生的成绩分别为92,87,68,56,92, 84,67,75,92,66,则输出平均成绩为77.9, 最高分为92,得最高分的人数为3人。#include void wwjt(); float Max=0;int J=0;float fun(float array,int n)/*Program*/ /* End */ main( ) float a10,ave; int i=0; for(i=0;i10;i+) scanf(%f,&ai); ave=fun(a,10); printf(ave=%fn,ave); printf(max=%fn,Max); printf(Total:%dn,J); wwjt();void wwjt() FILE *IN,*OUT; float iIN10,iOUT; int iCOUNT; IN=fopen(in.dat,r); if(IN=NULL) printf(Please Verify The Currernt Dir.it May Be Changed); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Please Verify The Current Dir. it May Be Changed); for(iCOUNT=0;iCOUNT10;iCOUNT+) fscanf(IN,%f,&iINiCOUNT); iOUT=fun(iIN,10); fprintf(OUT,%f %fn,iOUT,Max); fclose(IN); fclose(OUT);答案:-int i;float sum=0,ave; Max=array0;for(i=0;in;i+) if(Maxarray i) Max=array i; sum=sum+array i; ave=sum/n; for(i=0;in;i+) if(array i=Max) J+;return(ave);-第2题 (10.0分) 题号:363功能:求一个给定字符串中的字母的个数。#include void wwjt(); int fun(char s)/*Program*/ /* End */ main() char str=Best wishes for you!; int k; k=fun(str); printf(k=%dn,k); wwjt(); void wwjt() FILE *IN,*OUT;

温馨提示

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

评论

0/150

提交评论