C语言程序设计考试模拟题.doc





《C语言程序设计考试模拟题.doc》由会员分享,可在线阅读,更多相关《C语言程序设计考试模拟题.doc(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言程序设计期末考试模拟题0 课程成绩组成与考试环境(1)课程成绩平时成绩(100分制)0.3考试成绩(100分制)0.7。(2)平时成绩中,教师应考虑30分以上的成绩为团队互助与协作能力考核。(3)考试成绩程序设计能力模块成绩0.7编程规范与算法表示模块成绩0.3注意:程序设计能力模块和编程规范与算法表示模块为必过(模块成绩60分)模块,若期末考试中有其中任一模块未通过,则课程成绩置为缓考,须在下学期开学时重考相应的模块,重考模块的成绩将打8折,即模块成绩考试卷面成绩0.8。若经过下学期开学时重考后还有模块未通过,则课程成绩置为58分以下,学生应在以后学年重修本课程。考试在机房闭卷上机完成
2、,即闭卷机考。程序调试环境为Microsoft VC 6.0。1 程序设计能力模块 100分、150分钟1.1 程序调试、修改 10小题、40分给出的程序可能存在语法或算法上的问题或需要补充完整,但需要修改的地方肯定在/*Found*/下的第一行上且每行仅有一个(类)错误,不能修改其它地方,不能修改或删除/*Found*/本身,遵循最少修改、保持一行一条语句及与单独一行的原则。由于是计算机自动阅卷,修改时不能增加行或删除行,哪怕是一个空行都不行,否则可能得0分。应当提醒考生的是:由于考生在考前作了大量练习,知道考题的大概考法实际考题与此公布的考题肯定会有所变化、程序需要修改调试的地方会有所不同
3、,因此,请考生考试时务必仔细阅读实际考题的要求,严格按实际考题的要求做,避免先入为主,切记!以下需要调试、修改的程序供考生复习本题型的考点、考法使用,实际考题与此将有所区别,并且是以C语言源程序文件的形式提供非在Word中修改。(1)从键盘读入一个数并在屏幕上显示#includevoid main() int i; /*Found*/ scanf(%d, i); /*Found*/ printf(i=%5fn, i);(2)调用函数,显示两个实数间最大的一个#includefloat fmax(float x, float y);void main() /*Found*/ float i, 0
4、; O = 3.0; i = 5.6; /*Found*/ printf(fmax(%5.2f, %5.2f)=%5.2fn, i, O, fmaX(i, O);/*Found*/int fmax(float x, float y) if (x y) return y; else return x;(3)将字符串yy在屏幕上输出#includevoid main() /*Found*/ char yy100 = ok?n; /*Found*/ f0r (; *yy; yy+) putchar(*yy); (4)计算半径为2+3的圆的面积#include#define PI 3.14/*Foun
5、d*/#define S(r) PI*r*rvoid main() /*Found*/ int mianJi; mianJi = S(2+3); printf(mian ji=%5.2fn, mianJi);(5)将字符串yy显示在屏幕上#includevoid main() /*Found*/ char yy100 = ok?n /*Found*/ print(%s, yy);(6)从键盘读入一行字符(包括空格、TAB等字符)并在屏幕上显示#includevoid main() /*Found*/ char yy(128); /*Found*/ getchar(yy); /*Found*/
6、printf(%S, yy);(7)判断x和y是否相等,相等则显示x=y,不等则显示xy #includevoid main() /*Found*/ char x, y; x = 39270; y = 41001; /*Found*/ if (x = y) printf(x=y); /*Found*/ else; printf(xyn); (8)打开文件d:te.c用于读并判断打开是否成功#includevoid main() FILE *fp; /*Found*/ char fileName = d:te.c; /*Found*/ fp = fopen(fileName, w); /*Fou
7、nd*/ if (fp = EOF) puts(File Open Error!); exit(1); putchar(fgetc(fp); fclose(fp);(9)申请100个字节的内存空间,显示其首地址,然后释放申请到的内存空间#include#includevoid main() /*Found*/ char p100; /*Found*/ if (p = (char *)malloc(100) = NULL) printf(malloc memory fail!n); return ; printf(%pn, p); /*Found*/ fclose(p);(10)将字符串p显示在
8、屏幕上#include/*Found*/#define BEGIN/*Found*/#define ENDvoid main() char *p = ; const int i = 0; for (printf(n); pi; ) BEGIN putchar(pi); /*Found*/ i+; END(11)计算1/1 + 1/2 + + 1/N之和并显示#include#define N 10void main() /*Found*/ int sum = 0; int i; for (i = 1; i = N; i+) /*Found*/ sum += 1 / i; printf(%8.6
9、fn, sum);(12)从键盘读入a和b的值(输入格式为a,b),在屏幕上显示b行a#includevoid main() int a, b; /*Found*/ scanf(%d%d, &a, &b); while (b 0) /*Found*/ _ printf(%dn, a); b-; /*Found*/ _ printf(bye bye!n);(13)从键盘输入最多10个字符(遇换行则停止输入)到数组Buf中,然后在屏幕上显示#includevoid main() char c, Buf11; int i; /*Found*/ for (i = 1; i = 10; i+) /*Fo
10、und*/ if (c = getchar() = n) break; Bufi = c; /*Found*/ _ printf(%sn, Buf);(14)调用函数swap,将a和b的值交换,最后在屏幕上显示交换后的a,b之值#include/*Found*/void swap(int x, int y) int tmp; /*Found*/ _ *x = *y; /*Found*/ y = x;void main() int a = 3, b = 4; /*Found*/ swap(a, b); printf(a=%d b=%dn, a, b);(15)调用函数swap,将a和b的值交换,
11、最后在屏幕上显示交换后的a,b之值#includevoid swap(int *x, int *y) int *tmp, xy; /*Found*/ *tmp = x; *x = *y; /*Found*/ y = *tmp;void main() int a = 3, b = 4; /*Found*/ swap(*a, *b); /*Found*/ printf(a=%d b=%dn, &a, &b);(16)worker的信息使用结构体存储,从键盘读入其各项信息并显示#includevoid main() struct WKER long ID; long int num; char na
12、me20; char sex; /*Found*/ ; worker.ID = 1L; /*Found*/ scanf(%d %s %s, &worker.num, worker.name, &worker.sex); /*Found*/ printf(workers info: num=%d name=%s sex=%sn, worker.num, worker.name, worker.sex);(17)函数userLogin的功能主要是统计并返回登录的用户数,用户名最长30字节#include long userLogin(char *userName) /*Found*/ long u
13、serCount = 0; userCount+; printf(welcome user %s. There have %ld users in system.n, userName, userCount); /*Found*/ return ;void main( ) /*Found*/ char *userName; int i; while (1) printf(userName: ); scanf(%s, userName); i = userLogin(userName); (18)从键盘上读入10个大于0的数,调用函数dispMaxNum显示其中最大的一个#include int
14、 maxNum = 0;void dispMaxNum() /*Found*/ printf(maxNumber=%dn, maxNumber);void main( ) int i, oneNumber, maxNumber = 0; printf(Please input 10 int number:); int maxNumber = 0; /*Found*/ _ for (i = 0; i maxNumber) maxNumber = oneNumber; /*Found*/ _ /*Found*/ _ dispMaxNum();(19)将inBuf中字符串拆分成一个个的单词/* 单词
15、之间的分隔符由串divChar,程序中定义为“;?!,./”。 函数getStrFromBuf的功能是从Buf的开始处寻找第一个单词,将找到的单词作为一个字符串复制到Str处,divStr指明单词间的分隔符。GetStrFromBuf的返回值指向已找到单词的下一个字符。函数charInStr的功能是判断字符t是否出现在串Str中。主程序的功能是将inBuf中的所有单词在屏幕上显示出来。*/#include#define Yes 1#define No 0char *getStrFromBuf(char *Buf, char *Str, char *divStr);int charInStr(c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 考试 模拟

限制150内