欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

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

    • 资源ID:56202534       资源大小:103KB        全文页数:21页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    C语言程序设计期末考试模拟题0 课程成绩组成与考试环境(1)课程成绩平时成绩(100分制)×0.3考试成绩(100分制)×0.7。(2)平时成绩中,教师应考虑30分以上的成绩为团队互助与协作能力考核。(3)考试成绩程序设计能力模块成绩×0.7编程规范与算法表示模块成绩×0.3注意:程序设计能力模块和编程规范与算法表示模块为必过(模块成绩60分)模块,若期末考试中有其中任一模块未通过,则课程成绩置为缓考,须在下学期开学时重考相应的模块,重考模块的成绩将打8折,即模块成绩考试卷面成绩×0.8。若经过下学期开学时重考后还有模块未通过,则课程成绩置为58分以下,学生应在以后学年重修本课程。考试在机房闭卷上机完成,即闭卷机考。程序调试环境为Microsoft VC 6.0。1 程序设计能力模块 100分、150分钟1.1 程序调试、修改 10小题、40分给出的程序可能存在语法或算法上的问题或需要补充完整,但需要修改的地方肯定在/*Found*/下的第一行上且每行仅有一个(类)错误,不能修改其它地方,不能修改或删除/*Found*/本身,遵循最少修改、保持一行一条语句及与单独一行的原则。由于是计算机自动阅卷,修改时不能增加行或删除行,哪怕是一个空行都不行,否则可能得0分。应当提醒考生的是:由于考生在考前作了大量练习,知道考题的大概考法实际考题与此公布的考题肯定会有所变化、程序需要修改调试的地方会有所不同,因此,请考生考试时务必仔细阅读实际考题的要求,严格按实际考题的要求做,避免先入为主,切记!以下需要调试、修改的程序供考生复习本题型的考点、考法使用,实际考题与此将有所区别,并且是以C语言源程序文件的形式提供非在Word中修改。(1)从键盘读入一个数并在屏幕上显示#include<stdio.h>void main() int i; /*Found*/ scanf("%d", i); /*Found*/ printf("i=%5fn", i);(2)调用函数,显示两个实数间最大的一个#include<stdio.h>float fmax(float x, float y);void main() /*Found*/ float i, 0; 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在屏幕上输出#include<stdio.h>void main() /*Found*/ char yy100 = "ok?n" /*Found*/ f0r (; *yy; yy+) putchar(*yy); (4)计算半径为2+3的圆的面积#include<stdio.h>#define PI 3.14/*Found*/#define S(r) PI*r*rvoid main() /*Found*/ int mianJi; mianJi = S(2+3); printf("mian ji=%5.2fn", mianJi);(5)将字符串yy显示在屏幕上#include<stdio.h>void main() /*Found*/ char yy100 = "ok?n" /*Found*/ print("%s", yy);(6)从键盘读入一行字符(包括空格、TAB等字符)并在屏幕上显示#include<stdio.h>void main() /*Found*/ char yy(128); /*Found*/ getchar(yy); /*Found*/ printf("%S", yy);(7)判断x和y是否相等,相等则显示x=y,不等则显示x<>y #include<stdio.h>void main() /*Found*/ char x, y; x = 39270; y = 41001; /*Found*/ if (x = y) printf("x=y"); /*Found*/ else; printf("x<>yn"); (8)打开文件d:te.c用于读并判断打开是否成功#include<stdio.h>void main() FILE *fp; /*Found*/ char fileName = "d:te.c" /*Found*/ fp = fopen(fileName, "w"); /*Found*/ if (fp = EOF) puts("File Open Error!"); exit(1); putchar(fgetc(fp); fclose(fp);(9)申请100个字节的内存空间,显示其首地址,然后释放申请到的内存空间#include<stdio.h>#include<alloc.h>void 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显示在屏幕上#include<stdio.h>/*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<stdio.h>#define N 10void main() /*Found*/ int sum = 0; int i; for (i = 1; i <= N; i+) /*Found*/ sum += 1 / i; printf("%8.6fn", sum);(12)从键盘读入a和b的值(输入格式为a,b),在屏幕上显示b行a#include<stdio.h>void 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中,然后在屏幕上显示#include<stdio.h>void main() char c, Buf11; int i; /*Found*/ for (i = 1; i <= 10; i+) /*Found*/ if (c = getchar() = 'n') break; Bufi = c; /*Found*/ _ printf("%sn", Buf);(14)调用函数swap,将a和b的值交换,最后在屏幕上显示交换后的a,b之值#include<stdio.h>/*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的值交换,最后在屏幕上显示交换后的a,b之值#include<stdio.h>void 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的信息使用结构体存储,从键盘读入其各项信息并显示#include<stdio.h>void main() struct WKER long ID; long int num; char name20; char sex; /*Found*/ ; worker.ID = 1L; /*Found*/ scanf("%d %s %s", &worker.num, worker.name, &worker.sex); /*Found*/ printf("worker's info: num=%d name=%s sex=%sn", worker.num, worker.name, worker.sex);(17)函数userLogin的功能主要是统计并返回登录的用户数,用户名最长30字节#include <stdio.h>long userLogin(char *userName) /*Found*/ long userCount = 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 <stdio.h>int 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 < 10; i+) scanf("%d", &oneNumber); if (oneNumber > maxNumber) maxNumber = oneNumber; /*Found*/ _ /*Found*/ _ dispMaxNum();(19)将inBuf中字符串拆分成一个个的单词/* 单词之间的分隔符由串divChar,程序中定义为“;?!,.>/”。 函数getStrFromBuf的功能是从Buf的开始处寻找第一个单词,将找到的单词作为一个字符串复制到Str处,divStr指明单词间的分隔符。GetStrFromBuf的返回值指向已找到单词的下一个字符。函数charInStr的功能是判断字符t是否出现在串Str中。主程序的功能是将inBuf中的所有单词在屏幕上显示出来。*/#include<stdio.h>#define Yes 1#define No 0char *getStrFromBuf(char *Buf, char *Str, char *divStr);int charInStr(char *Str, char t);void main() char inBuf100 = ">how old are/ you?", *p, oneWord20; char divChar = " ;?!,.>/" p = inBuf; while (*p) /*Found*/ getStrFromBuf(p, oneWord, divChar); if (*oneWord) puts(oneWord); int charInStr(char *Str, char t) for (; *Str; Str+) /*Found*/ if (*Str = *t) /*Found*/ return No; /*Found*/ return Yes;char *getStrFromBuf(char *Buf, char *Str, char *divStr) for (; *Buf; Buf+) if (charInStr(divStr, *Buf) = No) break; for (; *Buf; Buf+) if (charInStr(divStr, *Buf) = Yes) break; /*Found*/ Str = *Buf; Str+; /*Found*/ *Str = '0' /*Found*/ return ;1.2 程序设计 5小题、60分本部分给出了5个(类)程序设计题的主要内容,在部分给出的程序运行效果示例中,带下划线部分表示是从键盘输入的内容,考生的程序设计要严格实现题中给出的程序效果。程序设计题基本评分标准为:编译通过并且结果基本正确,边界条件未处理好则酌情扣分即评分时只看结果是否正确,原则上不检查程序内容。请考生注意:(1)实际考题将在此基础上适当变换并不限于其中已提示的可能变换。(2)虽然部分题中没有对输入/输出格式作详细规定,但实际考题都会对输入/输出格式作明确要求,考生练习时可以参考已给出的其它程序设计题的运行效果及输入/输出格式规定,答题时严格遵循题中的规定。(3)对于理工类考生,第15类题将各出2(a、b)、2(a、b)、1()、1()、1()道题(括号中为题的编号),每类题的分值分别为7×2、8×2、10、15、20。考生每小题的得分用f(x)表示、x为题号,则计算考生得分时,取Fa和Fb中最大者:Fa = f(a) + f(b) f(a) f(b) f()Fb = max(f(a), f(b) max(f(a),f(b) f() + f() + f()上述分值计算公式意味者:编程能力一般的考生,可选做a、b、a、b、题,最高可得40分;编程能力较强的考生,可选做a与b中任一题、a与b中任一题、题,最高可得60分。(4)对于文管类考生,不做第(5)题及拆分单词的(4)-2题,第14类题将各出2(a、b)、2(a、b)、1()、1()道题(括号中为题的编号),每类题的分值分别为7×2、9×2、15、20。考生每小题的得分用f(x)表示、x为题号,则计算考生得分时,取Fa和Fb中最大者:Fa = f(a) + f(b) f(a) f(b) f()Fb = max(f(a), f(b) f(a) + f(b) f() + f()上述分值计算公式意味者:编程能力一般的考生,可选做a、b、a、b、题,最高可得47分;编程能力较强的考生,可选做a与b中任一题、a、b、题,最高可得60分。由于考生在考前均作了大量练习,知道考题的大概实际考题与此公布的考题相似度很高但并不完全相同,因此,请考生考试时务必仔细阅读实际考题的要求,严格按实际考题的要求做,避免先入为主,切记!1.2.1 第1(类)题(1)编写一程序实现以下功能x(x只考虑整数int、但5x完全可能超过int的表示范围)通过键盘输入(输入前给出提示Please input x:),然后计算并在屏幕上输出如下函数值,输出格式举例为:若x为3,则输出为F(3)=24。编程时,可以不用其它的子函数实现,可直接在main函中完成所有代码。F(x)=-2x (x<0)0 (x=0)5x+9 (x>0)程序运行效果:Please input x: 3F(3)=24考查点:基本输入、基本输出、if语句的使用、数据类型的正确使用。(2)编写一程序实现以下功能设某企业2008年的产值为3000万,计划以后每年的增长率为x(x从键盘输入,例如输入8.75表示8.75%),计算该企业的产值在哪年实现翻番以及翻番时的产值,然后输出(输出时以万为单位,应考虑有小数)。考查点:基本输入、基本输出及简单格式控制、简单循环、数据类型的正确使用。(3)编写一程序实现以下功能已知某银行整存整取存款不同期限的年息利率分别为:3.85%期限一年,4.03%期限二年, 4.22%期限三年,4.59%期限五年,5.16%期限八年。从键盘上输入存钱的本金(以元为单位,int型)和存款期限(只考虑1,2,3,5,8),求到期时能从银行得到的利息(以元为单位,应考虑有小数,不计复利)。考查点:基本输入、基本输出及简单格式控制、简单循环、数据类型的正确使用。(4)编写一程序实现以下功能编写一个简单计算器程序,输入格式为:data1 op data2。其中data1和data2是参加运算的两个数(data1、data2为int,但二者相加可能超出int能表示的范围),op为运算符,它的取值只能是+、-、*、/、%。考查点:较复杂输入、基本输出,if或switch语句的使用,数据类型的正确使用。1.2.2 第2(类)题(1)编写一程序实现以下功能有n名学生参加某次考试,试分别统计60分以下(不含60分)、60-69分、70-79分、80-89分、90-99分、100分的人数及所占总人数的百分比(保留1位小数),输出计算结果。成绩从键盘输入(成绩没有小数),成绩之间使用逗号(,)或回车分隔,输入-1表示结束且-1不为有效成绩。程序输入与输出的效果应当如下例:Please input CJ(-1 to exit): 10,20,89,62,79,100,-1There have 6 students. 0-59:2, 33.3% 60-69:1, 16.7% 70-79:1, 16.7% 80-89:1, 16.7% 90-99:0, 0.0% 100:1, 16.7%考查点:多个数据的输入及输入格式控制,不同数据类型数据的运算,switch多分支语句的使用,输出及简单格式控制。(2)编写一程序实现以下功能根据输入的n(输入前给出提示Please input n:),在屏幕上显示如下图形(分别为n=1、n=2、n=3时的情况)。* * * * * * * * * * * * * * * * * * * * * * * * * * * * *考查点:基本输入与输出,较复杂循环,简单算法设计。注意,图形的形状和组成图形的字符在考试时可能发生变化,例如包括杨辉三角形以及如下所示的图形。(3)编写一程序实现以下功能从键盘输入日期(格式为yyyy-mm-dd,例如2009-5-15),计算出该日期是该年的第几天。提示:要注意闰年、月大月小的处理。程序输入与输出的效果应当如下例:Please input the Date(yyyy-mm-dd): 2009-5-7the Date 2009-05-07 is 127th day of year 2009.注意,输出的日期中,月和日各占2位,只有一位时,加0补足2位提示:可查printf的在线帮助,有相应的格式控制字符可实现此功能。考查点:输入及输入格式控制,较复杂if语句的使用,简单循环,输出及输出格式控制及使用在线帮助、查手册的能力。(4)编写一程序实现以下功能求S=1/1!+1/2!+1/3!+1/N!并输出结果(显示时小数部分占6位)。N为任意自然数(只考虑int型),从键盘读入。考查点:基本输入与输出,较复杂循环,简单算法设计。注意,要求计算的内容可能会变化,例如教材上类似习题6.3、6.4的要求。(5)编写一程序实现以下功能求任意的一个m×m矩阵的最大数及其所在的行列数(或求对角线上元素之和,或求周边元素之和等,或进行矩阵的转置),m(2<=m<=20)及矩阵元素从键盘输入(只考虑int型,但求和的结果可能超出int型能表示的范围)。考查点:多个数据的输入,基本输出,二维数组的使用,多重循环,if语句的使用。(6)编写一程序实现以下功能输出m和n之间的所有素数,m和n从键盘读入(只考虑int型)。考查点:基本输入与输出,较复杂循环,if语句的使用。另外,同档次的题还应考虑:求两个数m和n的最大公约数和最小公倍数并输出。(7)编写一程序实现以下功能从键盘读入一行字符(最多127个字符),将其中的数字字符以及这些数字字符的数量在屏幕上显示,注意:要求先显示这些数字字符的数量。考查点:字符串的输入,基本输出,字符的处理和if语句,简单循环,简单数组。另外,同档次的题还应考虑:从键盘读入一行字符,统计及输出其中的字母、数字、空格和其他符号的个数,或统计并输出其中单词的个数。(8)编写一程序实现以下功能从键盘上读入一行字符(最多127个字符),按以下方法将其加密变换:AàZ aàzBàY bàyCàX càx ZàA zàa即字母A变成Z、字母B变成Y.,非字母字符不变。最后在屏幕上先显示这一行字符的长度,再显示生成的密文。考查点:字符串输入,基本输出,简单循环与字符运算,简单数组。(9)编写一程序实现以下功能从键盘读入一个字符串(最多127个字符),检查该字符串是否是回文。所谓回文即正向与反向的拼写都一样,例如:adgda。考查点:字符串输入,基本输出,简单循环与字符运算,简单数组。(10)编写一程序实现以下功能用迭代法求x=并将结果在屏幕上输出,a从键盘输入(只考虑int型)。求平方根的迭代公式为: 要求前后两次求出的x的差的绝对值小于。考查点:基本输入与输出,简单循环,简单算法设计(从数学公式到计算机思维)。(11)编写一程序实现以下功能一个球从100m(可能变化)高度自由落下,每次落地后反跳回原高度的一半,再落下,再反弹。求它在第n(n从键盘输入)次落地时,共经过多少米?第n次反弹多高。考查点:基本输入与输出,简单循环,简单算法设计(观察数学上有规律的量的变化现象并使用计算机解决问题)(12)编写一程序实现以下功能猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第n(n从键盘输入)天早上想再吃时,就只剩下一个桃子了。求第一天共摘了多少个桃子(不考虑猴子是否真的能吃多少桃子)。考查点:基本输入与输出,简单循环,简单算法设计(观察数学上有规律的量的变化现象并使用计算机解决问题)1.2.3 第3(类)题(1)编写一程序实现以下功能从键盘上先后读入两个字符串,假定存储在字符数组s1和s2中。注意,这两个字符串最长均可达到127个字符、最短均可为0个字符。将字符串s2插入字符串s1中,插入方法为:s2的第i个字符插入到原s1的第i个字符后,如果s2比s1(假定s1的长度为L1)长,则s2的第L1个字符开始到s2结尾的所有字符按在s2中的顺序放在新生成的s1后。提示,合并时可使用中间数组。例如: s1输入为"12345",S2输入为"abcdefgh",则输出的s1为: 1a2b3c4d5efgh在屏幕上输出新生成的s1。考查点:字符串与数组操作,循环控制。(2)编写一程序实现以下功能根据输入的文本文件名(可能含路径),在屏幕上显示其内容。要求每显示完20行(以n为一行结束的标志)后,暂停并提示用户“Press any key to continue.”。考查点:存储文件名字符串的长度,文件打开正确与否的判断,文件内容的读出与显示,文件结束的准确判断,已显示行数的统计及特定行数(数)的判断,暂停功能的实现。(3)编写一程序实现以下功能有一存储很多商品数据(每件商品的属性先后包括:品名、规格、数量、单价,

    注意事项

    本文(C语言程序设计考试模拟题.doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开