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

    上海2009年C二级考题(共16页).doc

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

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

    上海2009年C二级考题(共16页).doc

    精选优质文档-倾情为你奉上2009年C语言测试题1一、 选择题二、 填空题1、 表达式 sizeof(“C2009”) 的值是_2、 在C语言中,标识符只能由字母、数字和下划线字符组成,并且第一个字符不能是_ 字符。3、定义 int b=7; float a=5.2, c=6.9; 则表达式 b*(int)(a+c)/2 的值为_4、设x、y均为整型变量,完成以下语句,以实现不借助任何其它变量将x、y的值进行交换:x = x + y; y = x - _ ; x = x - _ ;5、设有如下定义,并且结构体数组student中的元素都已有值,若要将这些元素写到 fp 指向的文件中,请将函数调用语句 fwrite( student, sizeof(struct st), 50, _ ); 补充完整。struct st char name8; int num; float s3; student50; 6、写出下列程序的输出结果_ #include <stdio.h>long fac( int n ) if ( n=1 ) return 1; return n*fac(n-1);main() printf( "5!=%ldn", fac(5) );7、假定建立了以下链表结构,如图所示。指针p与q指向2个不同的结点,t为与data同类型的数据变量,则交换2结点数据的语句为:t=p->data; _;和_;三、 程序填空题1、以下程序按每行5个数的格式输出1至n范围内能被7或17 整除的整数,并求出其和。如输入:50则输出:7 14 17 21 2834 35 42 49Sum=247源程序:#include <stdio.h>void main()int i, n, ct=0, sum=0;scanf( "%d", &n );for ( i=1; i<=n; i+ )if ( _(1)_ )printf( "%dt", i );_(2)_;ct+;if ( _(3)_ )printf( "n" );printf( "nSum=%dn", sum );2、以下程序输入10个整数到a数组,找到并输出其中最大的整数及其下标。如输入:80 290 150 520 330 -160 -99 0 200 9则输出:a3=520源程序:#include <stdio.h>#define N 10int get_max_index( int a, int n )int i, k=0;for ( i=1; i<n; i+ )if ( _(1)_ )k = i;return _(2)_;void main()int i, k, aN;for ( i=0; i<N; i+ )scanf( "%d", &ai );k = _(3)_;printf( "a%d=%dn", k, ak );3、以下程序从文件“student.txt”读取学生的学号、姓名、平时成绩和考试成绩,从键盘上输入平时成绩在总成绩中所占比重,计算每个学生的总成绩(四舍五入为整数)后输出到屏幕上。文件的最后一行为0表示学生数据结束。设文件student.txt的内容为101 Zhao9558103 Qian7581105 Sun9991107 Li 80670运行时键盘输入:0.1则屏幕输出:101 Zhao 95 58 62103 Qian 75 81 80105 Sun 99 91 92107 Li 80 67 68源程序:#include <stdio.h>void calc( FILE *fp, float x )int num, score1, score2;float score3;char name20;while ( !feof(fp) ) /* 文件还有未读数据时 */num = 0;fscanf( fp, "%d%s%d%d", &num, name, &score1, &score2 );if ( num > 0 ) /* 学生数据有效时 */score3 = score1 * x + score2 * (1-x);/* 计算总成绩 */printf( "%3d %-7s %3d %3d %3dn", num, name, score1, score2, _(1)_ ); /* 总成绩四舍五入为整数 */void main()FILE *fp;float x;fp = fopen( "student.txt", "r" );if ( _(2)_ )/* 如果文件打开失败 */printf( "File Open Error!n" );return;scanf( "%f", &x );calc( _(3)_ );/* 调用calc函数 */fclose( _(4)_ );/* 关闭文件 */四、 操作题四、程序调试题(本大题2小题,第1题4分,第2题6分,共10分)1. 程序调试题1(B_3_1.C)调试要求:下列程序不能得到正确的结果,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*/字样的注释),使其运行能得到正确的结果。将结果(包括B_3_1.c文件和B_3_1.exe文件)保存到目录C:KS中。功能说明:程序计算并输出1! + 2! + + n!(1至n阶乘的累加和),其中函数fact(n)计算n!的值,返回类型为double。如输入:10则输出:1!+2!+10! = 原程序(见C:KSB_3_1.C):#include <stdio.h>double fact( int n ) int i; double result = 1; for ( i=1; i<n; i+ ) result = result * i; return result;void main() int i, n; double sum = 0; scanf( "%d", &n ); for ( i=1 ; i<=n; i+ ) sum += fact(int i); printf( "1!+2!+.+%d! = %.0lfn", n, sum );2. 程序调试题2(B_3_2.C)调试要求:下列程序有3处错误,请按题中的功能要求,在不改变程序结构(不增加、删除语句,不调整语句顺序)的情况下调试并修改该程序(在所修改语句后加/*/字样的注释),使其运行能得到正确的结果。将结果(包括B_3_2.c文件和B_3_2.exe文件)保存到目录C:KS中。功能说明:程序输入任意一行字符串(设字符数不大于20),提取该字符串中的数字字符并组成一个整数,输出该整数及其两倍的值。如输入:abc12e3fgh4i则输出:1234 2468原程序(见C:KSB_3_2.C):#include <stdio.h>void main() int i, n=0; char str80; gets(str80); for ( i=0; stri!='0' i+ ) if ( stri>=0 && stri<=9 ) n = n*10 + stri;printf("%d %dn", n, 2*n);五、编程题(本大题2小题,每题18分,共36分)1编程题1(B_5_1.C)编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括B_5_1.C文件和B_5_1.exe文件)保存到目录C:KS中。功能说明:输入5个整数,输出其中正整数的累加和与正整数的平均值,输入输出格式如以下示例。如输入:10 0 20 -5 31则输出:Sum=61, Average=20.32编程题2(B_5_2.C)编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括B_5_2.C文件和B_5_2.exe文件)保存到目录C:KS中。功能说明:输入正整数m和n(设100mn999),输出m到n之间满足下列条件的三位数:它的个位数的立方加十位数的平方再加上百位数等于该数的本身(例如13513*35*5*5)。如输入:135 555则输出:135 175 518答案:第1套 参考答案注:C语言场次从B场开始,共3场单选题1. D2. B3. C4. B5. A6. B7. B8. D9. B10. D填空题1. 【6】2. 【数字】3. 【42】4. 1)【y】2)【y】5. 【fp】6. 【5!=120】7. 1)【p->data=q->data】2)【q->data=t】程序填空题1. 1)【i%7=0|i%17=0】2)【sum+=i】3)【ct%5=0】2. 1)【ai>ak】【ai>=ak】2)【k】3)【get_max_index(a,N)】3. 1)【(int)(score3+0.5)】【(int)(10*score3+5)/10】2)【fp=NULL】3)【fp,x】4)【fp】三、程序调试题 第1题(B_3_1.C)参考答案#include <stdio.h>double fact( int n ) int i; double result = 1; for ( i=1; i<=n; i+ ) /*modified*/ result = result * i; return result;void main() int i, n; double sum = 0; scanf( "%d", &n ); for ( i=1 ; i<=n; i+ ) sum += fact(i); /*modified*/ printf( "1!+2!+.+%d! = %.0lfn", n, sum );第2题(B_3_2.C)参考答案#include <stdio.h>void main() int i, n=0; char str80; gets(str); /*modified*/ for ( i=0; stri!='0' i+ ) if (stri>='0'&&stri<='9') /*modified*/ n = n*10 + stri - '0' /*modified*/printf("%d %dn", n, 2*n);五、编程题第1题(B_5_1.C),参考程序#include <stdio.h>main() int i, x, n, sum; float ave; sum = 0; n = 0; for ( i=0; i<5; i+ ) scanf( "%d", &x ); if ( x>0 ) sum += x; n+; ave = (float)sum / n; printf( "Sum=%d, Average=%4.1fn", sum, ave );第2题(B_5_2.C),参考程序#include <stdio.h>main() int m,n,i,a,b,c; scanf( "%d%d", &m, &n ); for ( i=m; i<=n; i+ ) a = i%10; b = i/10%10; c = i/100%10; if ( i=c+b*b+a*a*a ) printf( "%d ", i ); 专心-专注-专业

    注意事项

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

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




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

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

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

    收起
    展开