欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    C语言33次试题及答案.docx

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

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

    C语言33次试题及答案.docx

    1、C语言33次试题及答案四川省普通高等学校计算机应用知识和能力第三十三次等级考试二级(C与C+语言) 笔 试 试 卷时间: 2010年10月 23 日 上午 9:0011:00第一部分软件技术基础(共15分)一、是非判断题(每小题1分,共10分)( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B )1. 栈是一种先进先出的线性表,只能采用顺序存储结构。 ( 1 )2. 从循环链表中任意一个结点出发都能访问到整个链表。 ( 2 )3. 为了便于对单链表实现结点的插入、删除操作,通常增设一个表头结点。 ( 3 )4. 队列在操作系统的各种资源请求排队及数据缓冲区管理中广泛使用。

    2、( 4 )5. 死锁产生的根本原因是操作系统能够提供的资源比请求该资源的进程数少。 ( 5 )6. 虚拟设备技术能将独占设备转换为可共享的设备,提高资源利用率。 ( 6 )7. 进程控制块是进程存在的唯一标志。 ( 7 )8. 软件维护是长期的过程,交付使用的软件仍然需要排错、修改和扩充。 ( 8 )9. 墨盒测试要求测试人员根据程序内部逻辑结构设计或选择测试用例。 ( 9 )10.软件设计时,应力求增加模块的内聚,减少模块间的耦合。 ( 10 )二、选择题(每小题1分,共5分)1. 如果进栈序列为1、2、3、4,则可能的出栈序列是( 11 ) 。 11 (A) 3、1、4、2 (B) 2、4

    3、、3、1 (C) 3、4、1、2 (D) 任意顺序2. 已知某二叉树的后序遍历序列是dabec,中序遍历序列是debac,则它的前序遍历序列是( 12 )。 12 (A) acbed (B) decab (C) deabc (D) cedba3. 下列的进程状态变化中,( 13 )变化是不可能发生的。 13 (A) 运行就绪 (B) 运行等待 (C) 等待运行 (D) 等待就绪4. 很好地解决了碎片问题的存储管理方法是( 14 )。 14 (A) 页式存储管理 (B) 段式存储管理 (C) 可变分区管理 (D) 多重分区管理5. 在软件生命周期中,所花费用最多的阶段是( 15 )。 15 (A

    4、) 详细设计 (B) 软件编码 (C) 软件测试 (D) 软件维护第二部分C与C+语言程序设计(共85分)一、单项选择题 ( 每小题1分,共10分 ) 1. 已知int i=10; 表达式5=i=10的值是( 16 ) 。(考点:关系运算表达式)16 (A) 0 (B) 1 (C) 10 (D) 没有正确答案 2. 求取满足式12+22+32+n21000的n,正确的语句是( 17 )。(考点:循环结构)17 (A) for(i=1,s=0;(s=s+i*i)=1000;n=i+); (B) for(i=1,s=0;(s=s+i*i)=1000;n=+i);(C) for(i=1,s=0;(s

    5、=s+i*+i)=1000;n=i); (D) for(i=1,s=0;(s=s+i*i+)=1000;n=i); 3. 以下叙述中正确的是( 18 )。(考点:循环语法)18 (A) C语言中所有的循环语句都是先判断条件再执行循环体(B) break语句只能中断循环(C) continue 语句可以结束所有的循环(D)C语言中,任意表达式都可作为循环条件,只要能做出0和非0的判断即可 4. 设有以下定义:struct node int data; struct node *next;*p;则以下的语句中正确的是( 19 )。(考点:结构体指针、动态分配存储空间函数)19 (A) p=mall

    6、oc(sizeof(struct node) (B) p=(struct node *)malloc(sizeof(struct node)(C) *p=(struct node *)malloc(4) (D) p=(struct node )malloc(sizeof(struct node) 5. 运行以下程序的输出结果为( 20 )。(考点:枚举类型)# include void main() enum color Black=1,Red,Blue,Green; enum color c1,c2; c1=Red; c2=Blue; printf(%d,%dn,c1,c2);20 (A)

    7、2,3 (B) 1,2 (C) 1,1 (D) 0,-1 6. 若变量x和y都为int类型,x=100,y=200,下面程序段的输出结果是( 21 )。(考点:逗号运算)printf(%d,(x,y);21 (A) 200 (B) 100 (C) 100 200 (D) 输出不确定的值 7. 以下程序的输出结果是( 22 )。(考点:带参数的宏)# include # define f(x) x*xvoid main() int a=6,b=2,c; c=f(a+b)/f(a-b); printf(%dn,c);22 (A) -2.5 (B) -2 (C) 64 (D) 4 8. C语言中fs

    8、canf函数的正确调用形式是(考点:文件)23 (A) fscanf(文件指针,格式字符串,输出列表);(B) fscanf(格式字符串,输出列表,文件指针);(C) fscanf(格式字符串,文件指针,输入列表);(D) fscanf(文件指针,格式字符串,输入列表); 9. 设有定义:int a=1,b=2,c=3; ,以下语句中执行效果与其它三个不同的是( 24 )。(考点:if语句)24 (A) if(ab) c=a,a=b,b=c; (B) if(ab) c=a,a=b,b=c; (C) if(ab) c=a;a=b;b=c; (D) if(ab) c=a;a=b;b=c; 10.

    9、以下选项中与if(a=1)a=b; else a+; 语句功能不同的switch语句是 ( 25 ) 。(考点:switch语句)25 (A) switch(a) (B) switch(a=1) case 1: a=b;break; case 0: a=b;break; default:a+; case 1:a+; (C) switch(a) (D) switch(a=1) default:a+;break; case 1:a=b;break; case 1: a=b; case 0:a+; 二、读程序回答问题 ( 每个选择3分,共45分 ) 1. 有如下程序:(考点:函数、变量的作用域)#

    10、include int k=1;void fun(int m) m+=k; k+=m; char k=D; printf(n%d,k-C); /* */ void main() int i=4; fun(i); printf(n%d,%d,i,k); /* */ 处输出结果为( 26 )。26 (A) 2 (B) 1 (C) 3 (D) A、B、C参考答案都不对 处输出结果为( 27 )。27 (A) 4,1 (B) 5,6 (C) 4,6 (D) A、B、C参考答案都不对 2. 有如下程序(考点:函数、字符数组)# include void fun(char *s) int i;char c

    11、; c=s0; for(i=1;si!=0;i+) si-1=si; si-1=c;void main() char s10=abcdefg; int i; for(i=1;i=3;i+) fun(s); puts(s); 函数fun的功能是( 28 )。28 (A) 左移一个字符,并将第一个字符放到字符串末尾(B) 右移一个字符,并将最后一个字符放到字符串开头(C) 删除第一个字符 (D) 删除最后一个字符程序的运行结果是( 29 )。29 (A) bcdefga (B) defgabc (C) efgabcd (D) bcdefg 3. 有下列程序(考点:递归函数)# include vo

    12、id fun(int n) int m; m=n/10; if(m!=0) fun(m); putchar(n%10+0);void main() int n; scanf(%d,&n); if(n0) putchar(-); n=-n; fun(n);若输入整数-1234,请回答下面两个问题:函数fun的调用次数为( 30 )。30 (A) 5 (B) 4 (C) 3 (D) 2程序的输出结果为( 31 )。31 (A) 4321 (B) 1234 (C) -4321 (D) -1234 4. 有下列程序(考点:函数(地址参数)、指针运算)# include void fun1(int *x

    13、,int *y) int *z; z=x; x=y; y=z;void fun2(int *x,int *y) int z; z=*x; *x=*y; *y=z; (*x)+; (*y)+;void main() int a=5,b=9; fun1(&a,&b); printf(a=%d,b=%dn,a,b); fun2(&a,&b); printf(a=%d,b=%dn,a,b);main函数中第一个printf输出结果为( 32 )。32 (A) a=9,b=5 (B) a=5,b=9 (C) a=10,b=6 (D) a=6,b=10main函数中第二个printf输出结果为( 33 )

    14、。33 (A) a=9,b=5 (B) a=5,b=9 (C) a=10,b=6 (D) a=6,b=10 5. 有如下程序(设其文件名为2-5.c)(考点:命令行参数)# include void main(int argc,char *argv) int i; char *p; printf(%dn,argc); if(argc2) p=argv1; puts(p+1); 若运行该程序时,在命令提示符后输入(表示回车换行符):2-5 file1 file2 file3则执行printf(%dn,argc); 时,输出结果为( 34 )。34 (A) 1 (B) 2 (C) 3 (D) 4执

    15、行puts(p+1); 时,输出结果为( 35 )。35 (A) file1 (B) file2 (C) ile1 (D) ile2 6. 有下列程序(考点:字符数组、函数(地址参数))# include # include long fun(char str) int i; long s=0,t; for(i=0; stri!=0;i+) t=0; while(stri=0 & stri=9) t=t*10+stri-0; i+; s=s+t; return s;void main() char string=Welcome123To456Sichuan789; long len; len=

    16、fun(string); printf(%ldn,len);(1)程序运行的输出结果为( 36 )36 (A) 123456789 (B) 9 (C) 1368 (D) 450(2)该程序的功能是( 37 )37 (A) 取出字符串中的数字子串连接起来(B) 统计数字子串在字符串中出现的次数(C) 将数字了串转换为整数并累加(D) 将字符串中的数字字符转换为数字,结果加起来乘以10 7. 有如下程序:(考点:字符数组、循环、switch语句)# include void main() static char s=SSSWiL TECH111W1WALLMP1; int j; char ch;

    17、for(j=2;(ch=sj)!=0;j+) switch(ch) case A: putchar(a); continue; case 1: break; case 1: while( (ch=s+j)!=n & ch!=0); case 9: putchar(#); case E: case L: continue; default : putchar(ch); continue; putchar(*); printf(n); 程序的运行结果是( 38 )。38 (A) SWi TCH*# (B) SSSWi TCH*# (C) SWi TCH*#W# (D) SSSWi L TECHWW

    18、ALLMP 字符串SSSWiL TECH111W1WALLMP1中的 “1”是( 39 )。39 (A) 字符1 (B) 十制制数值1 (C) 两个字符 (D) 八进制数值1 8. 在下面程序中,若file.dat文件中原有内容为:abc,则运行程序后file.dat文件中的内容为( 40 )。(考点:文件打开方式)# include void main() FILE *fp; fp=fopen(file.dat,w); fprintf(fp,def); fclose(fp); 40 (A) abcdef (B) abc (C) def (D) NULL注意: 请把下面“程序填空”中各小题答案

    19、写在主观题答题纸上 每一个空只填一个语句或一个语句所缺的部分内容三、程序填空 ( 每空2分,共30分 ) 1. 下面程序的功能是按学生的姓名(假设没有重名)查询其成绩排名和平均成绩。查询可以连续进行,直到输入0时查询结束。请填空。(考点:结构体类型,顺序查找算法)# include # include # define NUM 4struct stud int code; char *name; float score; ;struct stud stu=2,liuying,85.5,3,wangyong,79.6, 4,ligang,92.5,1,tianling,88.2;void mai

    20、n() char str10; int i; do prnitf(Enter a name:); scanf(%s,str); for(i=0;iNUM;i+) if(strcmp( ,str)=0) printf(Name : %sn,stui.name); printf(Code: %3dn,stui.code); printf(Average: %5.1fn,suti.score); ; if( )printf(Not found.n); while(strcmp(str,0)!=0);2. 函数fun的功能是:求出无符号十进制数n中包含0的个数,及各位数字的最大值。最大值通过函数值返回

    21、,0的个数通过形参指针zero带回。在main函数中输入n的值,调用fun函数并输出结果。例如:n=300800,则0的个数为4,各位数字的最大值为8。请填空。(考点:求最值、整数的分解算法)# include int fun(unsigned int n,int *zero) int cnt=0,max=0,t; while(n!=0) t= ; if(t=0) cnt+; if(maxt) max=t; n=n/10; =cnt; return max;void main() unsigned int n; int zero,max; printf(Input n:); scanf(%u,

    22、&n); max=fun( ); printf(max=%d,zero=%dn,max,zero);3.以下程序的功能是把从键盘输入的字符依次存放在文件test.txt中,但是要过滤掉其中的数字字符,在输入字符%并回车作为结束标志。请填空。(考点:文件、字符串)#include void main() FILE *fp; char ch; char fname12=test.txt; if(fp=fopen(fname,w)= ) printf(File open error!n); else printf(Please enter characters:n); while(ch=getcha

    23、r()!=%) if(ch=0 & ch=9) ; else fputc(ch, ); fclose(fp); 4. 以下程序是建立一个带头结点的单向链表,并用随机函数为各个结点赋值。函数fun的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。请填空。(考点:单链表)# include # include typedef struct aa int data; struct aa *next;NODE;int fun(NODE *h) int sum=0; ; p= ; while(p) if(p-data%2=0) sum+=p-data; p= ; ret

    24、urn sum;NODE *creatlink(int n) NODE *h,*p,*s; int i; h=p=(NODE *)malloc(sizeof(NODE); for(i=1;idata=rand()%16; s-next=p-next; p-next=s; p=p-next; p-next=NULL; return h;outlink(NODE *h) NODE *p; p=h-next; while(p) printf(-%d ,p-data); p=p-next; void main() NODE *head; int even; head=creatlink(12); head-data=9000; outlink(head); even=fun(head); printf(nThe sum of even numbers: %dn,even); 5. 程序的功能是计算,其中,m与n为两个正整数。请在程序中编号处填写适当的表达式,使程序得出正确的结果。 (考点:循环、阶乘算法)# include int fun(int x) long s=1; int i; for(i=1;i=NULL 2、 n%10 *zero n,&zero 3、 NULL continue fp 4、 NODE *p h-next p-next 5、 s=s*i s fun(m-n)


    注意事项

    本文(C语言33次试题及答案.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开