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

    2022年上海市高等学校计算机等级考试试卷二级C语言程序设计 .pdf

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

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

    2022年上海市高等学校计算机等级考试试卷二级C语言程序设计 .pdf

    上海市高等学校计算机等级考试试卷二级 C 语言程序设计( B 卷)一、单选题1. 下列 C语言的标识符中,不合法的标识符为_A. star B. 1234 C. _a100 D. circuit9 2. 若已定义 : int x=10; 则表达式 x= (4*5,x*5,x+25) 的值是 _ 。A. 20 B. 45 C. 125 D. 35 3. 若 x 是 int类型变量,y 是 float类型变量,则为了将数据55 和 55.5 分别赋给x 和 y,则执行语句: scanf(“%d, %f ”,&x,&y,); 时,正确的键盘输入是 _ 。A. 55 ,55.5 B. x=55, y=55.5C. 55 55.5 D. x=55 y=55.5 4. 若有说明语句:int x=25,y=20,z=30; 则执行语句: if(xy) y=z; z=x; x=y; printf(“%d,%d,%d ”,x,y,z); 后,输出是_A. 25,20,30 B. 30,30,25 C. 25,30,30 D. 25,30,25 5. 程序段: int num=2; while(num) printf(“%d , ”,num-); 的运行结果是 _A. 2,1 ,B. 2,1 C. 2 ,1,0 D. 2 ,1,0,6. 若有说明: int a34,s;则对数组a 的元素引用正确的是_A. s=0; for(i=0;i=3;i+) for(j=0;j4;j+) s+=aij; B. s=0; for(j=0;j=4;j+) for(i=0;i3;i+) s+=aij; C. s=0; for(i=0;i4;i+) for(j=0;j=3;j+) s+=aji; D. s=0; for(i=0;i3;i+) for(j=0;jname0 C. per.name8 D. per.id 10. 若有以下语句:char x=5,y=9,z; z=(y|x ) 2; 则 z 的二进制值是_A. 00011011 B. 00001010 C. 00110100 D. 00001100 二、填空题1. 设有说明语句:int a=15, b=6; 则 a/b 的十进制数值为_2. 设有说明语句:int x=3, y=2; 则计算表达式(x=0)& (y=6*x) 后变量 y 的值是_3. 设 a,b,c,t为整型变量 , 初值为 a=3,b=4,c=5 ,执行完语句t=!(a+b)+c-1|b+c/2后,t的值是 _4. 定义函数时,将其类型定义为void 则表示所定义的函数返回值为_.5. 下列程序的输出结果是_ f(int a) int i=0; while (ai=10) printf(“%d ”, ai); i+; main() int a=8,4,10,11,9,20; f(a); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 8 页 - - - - - - - - - - 6. 下列程序的输出结果是_ long fib(int g) switch(g) case 0: return(0); case 1: case 2: return(2); return ( fib(g-1) + fib(g-2) ); main() long k; k = fib(5); printf(k=%ldn, k); 7. 假定建立了以下链表结构:struct node int id ; struct node *next; *head ,*p; 如图 6-11 所示:指针 p指向一个新结点,将新结点插入到链表中的两条C语言语句是【】图 6-11 新结点插入到链表三、程序填空题 ( 本大题 3 道小题,每空 3 分,共 30 分) 。1. 下列程序的功能是:计算机给出10 个不大于 31 的正整数让人猜,并根据猜中的情况统计总得分后输出。具体规则如下:(1) 计算机每给出一个要猜的数最多允许中5 次,第一次猜对得10 分,第二次猜对得8 分,第三次猜对得6 分,第四次猜对得4 分,最后一次猜对得2 分,否则不得分。(2) 若人猜的数太小,计算机给出提示“too small ! ” ;若人猜的数太大,计算机给出提示“ too large !” ;若人猜对这个数,计算机给出提示“right !” , 并给出下一个数继续让人猜;若一个数已经猜了5次都猜错,计算机给出提示“out of time ! ” ,也给出下一个数继续让人猜。直至猜完10 个数。下面是人猜一个数的过程,有下划线的部分是人猜的数:( 假设机器产生的随机数为9) 请输入你猜测的数y= 16 too large ! 请输入你猜测的数y= 4 too small ! 请输入你猜测的数y= 9 right ! (本题是第三次猜对,得6 分)#include #include void main() phea7 2 9 2 插入 P后的链表精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 8 页 - - - - - - - - - - int i, c, x, y, score, right; 1 ; /* 变量赋初值 */ for (i=1; i=10; i+) x=random(32); /* 随机产生一个不大于31 的要猜的数 */ c=0; do c+; printf(n 请输入你猜测的数y= ); scanf(%d, &y); right=(y=x); /* 猜对时 right为 1, 否则为 0 */ if (right=1) printf( 2 ); else printf(%sn, ( 3 )? too small ! :too large !); while(right=0& 4 ); if (right) score+= ( 5 ); /* 统计成绩 */ else printf(out of time !n); printf(nTotal score:%dn, score); 2. 以下程序输入10 行字符串,要求按字典顺序从小到大排序。#include #define N 10 int biggerthan( char *str1, char *str2 ) /*若字符串 str1大于 str2时,则返回1*/ for ( ; *str1 | *str2; 1 ) if ( *str1 *str2 ) return 2 ; else if (*str1*str2) return 0 ; return 0; /* 两个字符串相等 */ void main() char lsN100; char *psN, *t; int i, j; for ( i = 0; i N; i+ ) gets( lsi ); psi = lsi; for ( i = 0; i N-1; i+ ) /* 冒泡法排序 */ for ( j = 0; j N-i-1; j+ ) if ( biggerthan( 3 ) ) t = psj; 4 ; 5 ; for ( i = 0; i N; i+ ) printf( %s n,psi ); 3. 将两个文本文件中字符$ 之后的内容合并到一个文件中去,其中函数void sub(FILE*all, FILE*f1 ,FILE *f2 )的功能是将文件指针f1,f2所指向的文件中的内容写到文件指针all所指向的文件中; main 函数完成如下功能:先打开目标文件,再依次打开源文件,调用sub 函数完成文件内容的拷贝。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 8 页 - - - - - - - - - - 例如三个源文件 f1.txt ,f2.txt, 每个文件的内容分别如下文件名内容f1 aaa$aa f2 bbb$bb 则产生一个新的目标文件fall.txt,包括 f1,f2三个文件字符 $ 之前的内容, fall的内容为 aabb。#include #include main() FILE *f1, *f2,*fall; void sub(_1_ ); if (fall=fopen(_2_ )=NULL) printf(Cannot open file!n); exit(1); if (f1=fopen(f1.txt,r)=NULL | (f2=fopen(f2.txt,r)=NULL) printf(Cannot open file!n); exit(1); else sub(_3_ ); _4_ ; fclose (f1); fclose(f2); void sub(FILE *all, FILE *f1, FILE *f2) char c; while(fgetc(f1)!=$); while(c=fgetc(f1)!=EOF) fputc(c,all); while(fgetc(f2)!=$); while(c=fgetc(f2)!=EOF) fputc(c,all); 四、操作题三程序调试题1. 程序调试题 1( E_3_1.c )调试要求: 下列程序不能得到正确的结果,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*modified*/字样的注释) ,使其运行能得到正确的结果。将结果(包括E_3_1.c 文件和 E_3_1.exe 文件)保存到指定目录中。功能说明:统计一字符串中各个字母出现的次数,该字符串从键盘输入,统计时不区分大小写。对数字、空格及其他字符都不予统计。最后在屏幕上显示统计结果。例如字符串: “abcdefgh23 ABCDEF abc ”的统计结果与输出格式为:a b c d e f g h i j k l m n o p q r s t u v w x y z 出现的次数为:; 3 3 3 2 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 #include #include 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 8 页 - - - - - - - - - - void main( ) int i, a26; char ch,str80,*p=str; gets(&str); /* 获取字符串 */ for(i=0;i=A&ch=Z ?ch+a- A:ch; /* 大小写字符转换*/ if( a=ch=z) ach-a+; for(i=0;i26;i+) printf(“%2c ”, a+i); /*输出 26 个字母 */ printf(“出现的次数为:n ”); for(i=0;i26;i+) printf(“%2d ”, ai); /*输出各字母出现次数 */ printf(“n ”); 2.程序调试题 2( E_3_2.C)调试要求: 下列程序不能得到正确的结果,请按题中的功能要求,调试并修改该程序(在所修改语句后加 /*modified*/字样的注释), 使其运行能得到正确的结果。将结果 (包括 E_3_1.c文件和 E_3_1.exe 文件)保存到指定目录中。功能说明:递归算法求xn,即 xn=x*xn-1,其中 x为实数, n0。原程序(见E_3_2.c ) void main() float x, y; int n; scanf(%f%d,&x,&n); y=xn(x,n); printf(xn=%fn,y); float xn(float x, int n) fload z; if(n0) printf(n is a wrong number!n); exit(0); if(n!=0) z=1; else z=xn(x,n); return z; 五编程题1编程题 1(E_5_1.c) 编程要求 :请按题中的功能要求,编写程序并能得到正确结果。将结果 (包括 E_5_1.c 文件和E_5_1.exe 文件)保存到指定目录中。功能说明: 编写一个函数, 将数组 a 中的 n 个数每 5 个相邻的元素为一组分别求和(假设求精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 8 页 - - - - - - - - - - 和结果不溢出) ,结果放到数组b 中,最后一组如果不足5 个也进行求和。例如,若数字a 的元素为4,8,3,3,0, 5,2,9,7,8,4,3,2,1,8, 4,3,2,则数组 b 的元素为 18,31,18, 9。2编程题 2(E_5_2.c) 编程要求 :请按题中的功能要求,编写程序并能得到正确结果。将结果 (包括 E_5_2.c 文件和E_5_2.exe 文件)保存到指定目录中。功能说明:某中学要对新入学的10名学生根据考试成绩分到插入到两个班(class1,class2)中,插入的方法是成绩第1名在 class1 班,第 2名在 class2 班,第 3名在 class1 班,第 4名在class2 班,依次类推,原来class1,class2学生是按成绩由高分到低分排列的。请编写程序,输入这10个学生的编号和成绩,输出如下格式的分班情况:Class1 班:编号成绩;编号成绩;Class2 班:编号成绩;编号成绩;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 8 页 - - - - - - - - - - 文档编码:KDHSIBDSUFVBSUDHSIDHSIBF-SDSD587FCDCVDCJUH 欢迎下载 精美文档欢迎下载 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 8 页 - - - - - - - - - -

    注意事项

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

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




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

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

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

    收起
    展开