C语言下期考试题库

上传人:m**** 文档编号:487113209 上传时间:2024-01-09 格式:DOC 页数:24 大小:127KB
返回 下载 相关 举报
C语言下期考试题库_第1页
第1页 / 共24页
C语言下期考试题库_第2页
第2页 / 共24页
C语言下期考试题库_第3页
第3页 / 共24页
C语言下期考试题库_第4页
第4页 / 共24页
C语言下期考试题库_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《C语言下期考试题库》由会员分享,可在线阅读,更多相关《C语言下期考试题库(24页珍藏版)》请在金锄头文库上搜索。

1、改错. 1.【此部分在计算中心已公布的题库中,未标明正确答案,同学们自己做】#includeint main(void) FILE *fp; /*Found*/ char fileName = d:te.c; /*Found*/ fp = fopen(fileName, r); /*Found*/ if (fp = NULL) puts(File Open Error!); return 1; putchar(fgetc(fp); fclose(fp);return 0;2.程序D9.c的功能是申请100个字节的内存空间,显示其首地址,然后释放申请到的内存空间#include#includei

2、nt main(void) /*Found*/ char *pch2; /*Found*/ if (pch = (char *)malloc(100) = NULL) printf(malloc memory fail!n); return 1; printf(%pn, pch); /*Found*/ free(pch);return 0;#include/*Found*/#define START /*Found*/#define NEXT int main(void) const int i = 0; for (printf(n); str2i; ) START putchar(str2i

3、); /*Found*/ p+;NEXTreturn 0;4.程序D16.c的功能是worker2的信息使用结构体存储,从键盘读入其各项信息并显示。#includeint main(void) struct WKER long ID; long int num; char name20; char sex; /*Found*/ worker2 ; worker2.ID = 1L; /*Found*/ scanf(%ld%s %c, &worker2.num, worker2.name, &worker2.sex); /*Found*/ printf(workers info: num=%ld

4、name=%s sex=%cn, worker2.num, worker2.name, worker2.sex);return 0;程序D19.c的功能是将inBuf中字符串拆分成一个个的单词。程序说明:(1)单词之间的分隔符由串divChar,程序中定义为“;?!,./”。(2)函数getStrFromBuf的功能是从Buf的开始处寻找第一个单词,将找到的单词作为一个字符串复制到Str处,divStr指明单词间的分隔符。GetStrFromBuf的返回值指向已找到单词的下一个字符。(3)函数charInStr的功能是判断字符t是否出现在串Str中。(4)主程序的功能是将inBuf中的所有单词

5、在屏幕上显示出来。#include#define Yes 1#define No 0char *getStrFromBuf(char *Buf, char *Str, char *divStr);int charInStr(char *Str, char t);int main(void) char inBuf100 = how old are/ you?, *point, oneWord20; char divChar = ;?!,./; point = inBuf; while (*point) /*Found*/P=getStrFromBuf(point, oneWord, divCha

6、r); if (*oneWord) puts(oneWord); return 0;int charInStr(char *Str, char t) for (; *Str; Str+) /*Found*/ if (*Str = *t)(去掉*) /*Found*/ return Yes; /*Found*/ return No;char *getStrFromBuf(char *Buf, char *Str, char *divStr) for (; *Buf; Buf+) if (charInStr(divStr, *Buf) = No) break; for (; *Buf; Buf+)

7、 if (charInStr(divStr, *Buf) = Yes) break; /*Found*/ *Str = *Buf; Str+; /*Found*/ *Str = 0; /*Found*/ return Buf;填空题【附带正确答案】一:#define M 10 main() int sub_max(); int i,aM,*ptr=a; int max; for(i=0;i=9;i+) scanf(%d,a+i); max=sub_max(ptr,10); printf(max=%dn,max); int sub_max(int *b,int i) int temp,j; te

8、mp=*b; for(j=1;j=i-1;j+)if(temp*(b+j) temp=*(b+j); return temp; 二、 求数组中值最大的元素值及其位置main()int a34,*ptr,i,j,max,maxi,maxj; for(i=0;i3;i+) for(j=0;j4;j+) scanf(%d,&aij); ptr=a0; max_arr(ptr,&max,&maxi,12); maxj=maxi%4; maxi=maxi/4; printf(max=%d,maxi=%d,maxj=%d,max,maxi,maxj); int max_arr(b,p1,p2,n)int

9、*b,*p1,*p2,n; int i; *p1=b0; *p2=0; for(i=1;i*p1) *p1=bi; *p2=i; 三、求二维数组中每行元素的和 #define M 3#define N 4main() void fun(); float aMN; float score1=0,score2=0,score3=0, *pa=a0;int i,j; for(i=0;iM;i+) for(j=0;jN; j+)/*二维数组的数据输入*/ scanf(%f,&aij); fun(pa,&score1,&score2,&score3); printf(%.2f,%.2f,%.2fn,sc

10、ore1,score2,score3); void fun(b,p1,p2,p3)float b N,*p1,*p2,*p3;int i,j; *p1=*p2=*p3=0; for(i=0;i M;i+) for(j=0;j N;j+) if(i=0) *p1=*p1+bij;/*第0行的数据相加*/ if(i=1) *p2=*p2+bij;/*第1行的数据相加*/ if(i=2) *p3=*p3+bij;/*第2行的数据相加*/ 四、输出二维数组任意行任意列元素的值#include stdio.hmain() int a34=1,3,5,7,9,11,13,15,17,21,23,56; int (*p)4,i,j; p=a; scanf(%d%d,&i,&j); printf(a%d,%d=%dn,i,j,*(*(p+i)+j); / 或*(pi+j) 或Pij五、有一个班,3个学生,各学4门课,计算总平均分数,以及第n 个学生的成绩。mian()void average(float *p,int n); void serch(float (*p)4,int);float score34=65,67,70,60,80,87,90,81,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号