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

    四川省计算机二级C语言试题(集)-25页精选文档.doc

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

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

    四川省计算机二级C语言试题(集)-25页精选文档.doc

    如有侵权,请联系网站删除,仅供学习与交流四川省计算机二级C语言试题(集)【精品文档】第 24 页四川省普通高等学校计算机应用知识和能力第三十一次等级考试二级(C与C+语言) 笔 试 试 卷时间: 2009年10月 24 日 上午 9:0011:00第一部分软件技术基础(共15分)一、是非判断题(每小题1分,共10分)( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B )1. 数据在计算机内存中的表示是指数据的存储结构。( 1 )2. 作业与进程的主要区别是前者是由系统自动生成,后者是由用户提交。( 2 )3. 从逻辑上可以把数据结构分为线性结构和非线性结构。( 3 )4. 在设备管理中,通道是处理输入、输出的软件。( 4 )5. 链表可以随机访问任意一个结点,而顺序表则不能。( 5 )6. 栈顶的位置是随着进栈和退栈操作而变化的。( 6 )7. 处于等待状态的进程,若其等待的事件已发生,就立即转入运行状态。( 7 )8. 任何两个并发进程之间一定存在互斥关系。( 8 )9. 在面向过程方法的软件生存期内,能准确确定软件系统必须做什么和必须具备的功能阶段是需求分析。( 9 )10.在软件测试的基本方法中,静态测试不用测试用例。 ( 10 )二、选择题(每小题1分,共5分)1. 若进栈序列为1,2,3,4,且进栈过程中可以出栈,则不可能出栈的序列是( 11 ) 。 11 (A) 1,4,3,2(B) 2,3,4,1 (C) 3,1,4,2(D) 3,4,1,22. 操作系统本身是计算机系统软件的重要组成部分,而其物质基础是( 12 )。 12 (A) 系统硬件(B) 程序(C) 数据结构(D) 标准程序库3. 外部设备完成了预定的输入/输出操作所引起的中断是( 13 )。 13 (A) 外中断(B) I/O中断(C) 程序中断 (D) 标准程序库4. 以下的准则中哪个不是软件设计应遵循的( 14 )。 14 (A) 抽象准则(B) 模块化准则(C) 信息屏蔽准则(D) 综合性准则5. 在结构化设计方法中,设计功能模块算法属于软件开发中的 ( 15 )阶段。 15 (A) 详细设计 (B) 需求分析 (C) 总体设计 (D) 编程调试第二部分C与C+语言程序设计(共85分)一、单项选择题 ( 每小题1分,共10分 ) 1. 已知:char s="China",*p; (考点:字符指针) p=s;则下列叙述正确的是( 16 ) 。16 (A) s和p完全相同(B) *p与s0不等(C) *p与 s0相等(D) *s与p相等 2. 以下可以作为函数fopen中第一个参数的正确格式是(17)。(*考点:文件)17 (A) c:progfile1.dat(B) c:progfile1.dat(C) "c:progfile1.dat"(D) "c:progfile1.dat" 3. 若有定义:union data int i; float j; char s5;k;则在Turbo C 2.0环境中sizeof(k)的值是(18)。(考点:共用体类型)18 (A) 2(B) 5(C) 11(D) 0 4. 下面四个选项中,合法的用户自定义标识是( 19 )。(考点:标识符命名)19 (A) int(B) a_b3(C) 3_bc(D) #mm 5. 已知结构体:( 20 )。(考点:存储类型extern)struct student char name20; struct int year; int month; birth; char sex;stu;20 (A) stu.birth=2009;(B) stu.year=2009;(C) stucent.birth.year=2009;(D) stu.birth.year=2009; 6. 下面程序的输出结果是( 21 )。(考点:宏定义)# include <stdio.h># define M 4# define N 2*M+1# define K N/2-5void main() printf("%dn",K); 21 (A) 2(B) 1(C) 0(D) 3 7. 有以下结构体及其变量的定义:struct node int data; struct node *next;*p,*q,*r;pqrdata nextdata nextdata next如图所示,指针p、q、r分别指向此链表中的三个连续结点。若要将q所指结点从链表中删除,使p所指结点与r所指结点连接,不能完成指定操作的语句是( 22 )。(考点:链表)22 (A) p->next=q->next;(B) p->next=p->next->next;(C) p->next=r;(D) p=q->next; 8. 下列程序段中,不是无限循环的是( 23 )。(考点:循环语句)23 (A)(B) k=0; j=100; do while(1) +k; j=j%100+1; whiel(k->=0); if( j>100 ) break; (C) (D) s=3333; for( ; ; );while(s%2+s+%2); 9. 不能把字符串"Hello!"赋给字符数组b的选项是( 24 )。(考点:字符数组赋值)24 (A) char b10= 'H','e','l','l','o','!','0'(B) char b10; b="Hello!"(C) char b10; strcpy(b, "Hello!");(D) char b10= "Hello!" 10. 若变量已正确定义并赋值,以下符合C语言语法的表达式是 ( 25 ) 。(考点:表达式)25 (A) a:=b+1(B) a=b=c+2(C) int 18.5%3(D) a=a+7=c+b二、读程序回答问题 ( 每个选择3分,共45分 ) 1. 在下面程序中(考点:数组、函数(地址参数)、删除字符算法)# include <stdio.h>void fun(char *s) int i,j; for(i=0,j=0;si!='0'i+) if(si>='0' && si<='9') sj=si; j+; sj='0'void main() char s20="ab12cd34" fun(s); printf("%3d %3dn",sizeof(s),strlen(s); printf("%sn",s);(1) 第1个printf输出的结果为( 26 )。26 (A) 8 8 (B) 20 8(C) 20 20(D) 20 4(2) 第2个printf输出的结果为( 27 )。27 (A) abcd(B) ab12cd(C) 1234(D) ab12cd34 2. 下列程序的输出结果是( 28 )。(考点:函数(地址参数和普通参数)、指针运算)void fun(char *c,int d) *c=*c+1; d=d+1;void main() char a='A',b='a' fun(&b,a); printf("%c,%cn",a,b);28 (A) B,A(B) a,B(C) A,B(D) A,b 3. 下列程序的输出结果是( 29 )。(考点:带参数的宏定义)# include "stdio.h"# define GOOD(y) 2.84+y# define PR(a) printf("n%d",(int)(a)# define PRINT(a) PR(a);putchar('n')void main() int x=2; PRINT(GOOD(5)*x);29 (A) 11(B) 15(C) 13(D) 12 4. 下列程序运行后的输出结果是( 30 )。(考点:结构体类型、函数(普通参数)、全局变量和局部变量)# include "stdio.h"struct tree int x; char *s;t;func(struct tree t) t.x=10; t.s="computer" return(0);void main() t.x=1; t.s="minicomputer" fun(t); printf("%d,%sn",t.x,t.s);30 (A) 10,computer(B) 1,minicomputer(C) 1,computer(D) 10,minicomputer 5. 下列程序编译连接后生成可执行文件CAD.EXE,输入以下命令行:CAD FILE1 FILE2<CR> ( <CR>表示回车)程序的运行结果是( 31 )。(考点:命令行参数)# include "stdio.h"void main(int argc,char *argv) int i; printf("%dn",argc); for(i=0;i<=argc-1;i+) printf("%s",argvi); printf("n"); 31 (A) 2 (B) 3 cadfile1file2 cadfile1file2(C) 2(D) 3 CAD.EXEFILE1FILE2 CAD.EXEFILE1FILE2 6. 有下列程序:(考点:for循环嵌套、continue语句、break语句)# include "stdio.h"void main() int i,j,x=0; for(i=0;i<2;i+) x+; for(j=0;j<=3;j+) if(j%2) continue; x+; x+; printf("%dn",x);(1)该程序的运行结果是( 32 )32 (A) 6(B) 4(C) 8(D) 2(2)若将程序中的continue 改为break,则输出结果为( 33 )33 (A) 6(B) 4(C) 8(D) 2 7. 有如下程序:(考点:文件打开方式、文件操作函数、函数调用)# include "stdio.h"# include "string.h"void fun(char *fname,char *st) FILE *myf; int i; myf=fopen(fname,"w"); for(i=0;i<strlen(st);i+) fputc(sti,myf); fclose(myf);void main() fun("text","world"); fun("text","hello"); (1) 运行该程序后,文件text中的内容为( 34 )。34 (A) world (B) worldhello(C) hello(D) helloworld (2) 若将文件打开方式"w"改为"a",则运行程序后,文件text中的内容为( 35 )。35 (A) world (B) worldhello(C) hello(D) helloworld 8. 有如下程序:(考点:递归函数 )# include "stdio.h"int fun(int n) int y; if(n=1) y=1; else if(n=2) y=2; else y=n+fun(n-2); return y;void main() int x; scanf("%d",&x); printf("%d",fun(x);若输入x的值为8,则程序的输出结果为( 36 )。36 (A) 16(B) 36(C) 30(D) 20int fun(int n) int i,s=0; for(i=1;i<=n;i=i+2) s=s+i; return s;与函数fun等价的非递归程序为( 37 )。37 (A) int fun(int n) (B) int i,s=0; for(i=n;i>=1;i=i-2) s=s+i; return s;int fun(int n) int i,s=0; for(i=1;i<=n;i+) s=s+i; return s;(C) int fun(int n) (D) int i,s=0; for(i=n;i>=1;i-) s=s+i; return s; 9. 有如下程序:(考点:数组、函数、静态存储类型)# include <stdio.h>int fun(int *x,int n) static int s=0,i; for(i=0;i<n;i+) s=s+xi; return s;void main() int x5=1,2,3,4,5,y4=6,7,8,9,s; s=fun(x,5)+fun(y,4); printf("%dn",s); (1) 程序的运行结果为( 38 )。38 (A) 15(B) 30(C) 45(D) 60 (2) 若将fun函数中的static去掉,则程序的运行结果为( 39 )。39 (A) 15(B) 30(C) 45(D) 6010. 有如下程序:(考点:循环、switch语句)# include <stdio.h>void main() char ch; while(ch=getchar()!='n') switch(ch) case '1': case '2': putchar(ch+2); case '3': case '4': putchar(ch+2); break; default: putchar(ch+2); 若输入135<回车>,程序的运行结果为( 40 )。40 (A) 135(B) 357(C) 3357(D) 3333557 注意: 请把下面“程序填空”中各小题答案写在主观题答题纸上 每一个空只填一个语句或一个语句所缺的部分内容三、程序填空 ( 每空2分,共30分 ) 1. 函数fun的功能是:将n×n(1<n<=10)方阵的下三角(包括对角线元素)×m,例如:1 2 3 若m=2,则处理后的方阵为: 2 2 34 5 6 8 10 67 8 9 14 16 18在main函数中调用fun函数,并分行输出处理后的方阵。请填空。(考点:矩阵处理算法)# include <stdio.h>void fun(int a10,int n,int m) int i,j; for(i=0;i<n;i+) for(j=0;j<= ;j+) aij=aij*m;void main() int w1010=1,2,3,4,5,6,7,8,9,m,i,j; scanf("%d",&m); fun( ,3,m); for(i=0;i<3;i+) for(j=0;j<3;j+) printf("%4d",wij); printf( ); 2. 下面程序的功能是输出所有的5位4倍反序数。请填空。说明:当一个5位整数的4倍刚好是其反序数,则称其为5位4倍反序数。例如21978的反序数是87912,而87912=4*21978,所以21978就是一个5位4倍反序数。输出结果为:21978 87912(考点:循环、逆置整数算法)# include <stdio.h>void main() long n,k,t,m,j=0; for(n=10000;n<=99999;n+) m=0; t=n; for(k=1;k<= ;k+) if(m=4*n) j+; printf("%ld %ldn",n,m); 3. 下面程序的功能是:对一整型数组中下标是3的倍数的元素进行升序排序,其余元素保持不变。请填空。(考点:数组、排序算法)# include <stdio.h>void main() int a16=16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1; int i,j,t; for(i=0;i<16; ) for(j=i+3;j<16; ) if( ) t=ai; ai=aj; aj=t; for(i=0;i<16;i+) printf("%4d",ai); 4. 已知磁盘文件test.dat中有10个大于2的正整数,下列程序能判断和输出文件中10个数中的所有素数。请填空。(考点:文件、函数参数、判素数算法)# include <stdio.h>int prime( ,int n) int i,j,k=0,flag=0; for(i=0;i<n;i+) for(j=2;j<ai;j+) if( =0) flag=0; break; else flag=1; if(flag) =ai; k+; return k;void main() int n,i,a10; FILE *fp; if(fp=fopen("test.dat","r")=NULL) printf("Can not open the file!n"); exit(0); for(n=0;n<10;n+) fscanf(fp,"%d",&an); n=prime(a,n); for(i=0;i<n;i+) printf("%3d",ai); fclose(fp); 5. 程序的功能是计算:s=1-12+123-1234+12345的值,请填空。(考点:循环、序列处理算法)# include <stdio.h>void main() int i,s=0,t=0,k=1; for(i=1;i<=5;i+) t=t*10+ ; s=s+ ; k= ; printf("s=%dn",s);四川省普通高等学校计算机应用知识和能力第二十七次等级考试二级(C与C+语言) 笔 试 试 卷时间: 2007年10月 27 日 上午 9:0011:00第一部分软件技术基础(共15分)一、是非判断题(每小题1分,共10分)( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B )1. 数组也是一种数据结构,一维数组就是一种顺序表结构。( 1 )2. 递归算法的程序结构比迭代算法的程序结构更为精炼。( 2 )3. 进程调度按一定的调度算法,从就绪队列中挑选出合适的进程。( 3 )4. 在单处理器系统中,程序的并发执行,实质上是程序的交替执行。( 4 )5. 数据的基本单位是数据元素。( 5 )6. 分页存储管理中,页面可以映射到不连续的内存块中。( 6 )7. 通道方式能实现外设与CPU之间直接进行数据交换。( 7 )8. 软件测试和软件调试没有任何区别。( 8 )9. 白盒测试方法一般适合用于系统测试。 ( 9 )10.瀑布模型的突出缺点是不适应用户需求的变化。( 10 )二、选择题(每小题1分,共5分)1. 线性表不具有的特点是 ( 11 )。 11 (A) 随机访问(B) 无须事先估计所需存储空间大小 (C) 插入时不必移动元素(D) 所需空间与线性表长度成正比2. 以下 ( 12 )不是实时操作系统的特点。 12 (A) 高可靠性(B) 及时响应(C) 中断管理(D) 独立性3. 若当前进程因时间片用完而让出处理机时,该进程应转变为 ( 13 )状态。 13 (A) 运行 (B) 就绪(C) 等待 (D) 完成4. 以下( 14 ) 不是数据结构研究的主要问题。 14 (A) 数据元素之间的逻辑关系(B) 数据元素之间的存储结构(C) 软件开发方法 (D) 实现操作的算法5. 软件开发中,模块设计的原则是 ( 15 )。 15 (A) 低偶合、高内聚 (B) 高偶合、高内聚 (C) 高偶合、低内聚 (D) 低偶合、低内聚第二部分C与C+语言程序设计(共85分)一、单项选择题 ( 每小题1分,共10分 ) 1. 以下程序的输出结果是( 16 ) 。(考点:逻辑运算、自增自减运算)# include <stdio.h>void main() int a=-1,b=4,k; k=(+a<0)&&!(b-<=0); printf("%d %d %dn",k,a,b);16 (A)0 0 4(B) 1 0 3 (C) 0 0 3(D) 1 0 4 2. 以下对结构体变量stu1中成员age的不正确引用是( 17 )。(考点:结构体及指针)struct st int age; int num;stu1,*p;p=&stu1;17 (A) stu1.age (B) age (C) p->age(D) (*p).age 3. 在下列条件语句中,功能与其他语句不同的是 ( 18 )。(考点:条件语句)18 (A) if(a) printf("%dn",x); else printf("%dn",y);(B) if(a=0) printf("%dn",y); else printf("%dn",x); (C) if(a!=0) printf("%dn",x); else printf("%dn",y);(D) if(a=0) printf("%dn",x); else printf("%dn",y); 4. 以下叙述中完全正确的是( 19 )。(考点:文件)19 (A) C语言中的文件是流式文件,因此只能顺序存取文件(B) 对一个已存在的文件进行了写操作后,原有文件中的全部数据必定被覆盖(C) 在一个程序中当对文件进行了写操作后,必须先关闭该文件后再打开,才能读到第一个数据(D) 当对文件的读写操作完成之后,必须将它关闭,否则可能导致数据丢失 5. C+中,下列关键字中哪个不是类定义中使用的关键字 ( 20 )。(*考点:C+)20 (A) class (B) public(C) switch(D) private 6. 以下程序的输出结果是( 21 )。(考点:带参数的宏定义)# include <stdio.h># define f(x) (x*x)void main() int i1,i2; i1=f(8)/f(4); i2=f(4+4)/f(2+2); printf("%d,%dn",i1,i2);21 (A) 64,28(B) 4,4 (C) 4,3(D) 64,64 7. 有下面的说明和语句,则输出结果是( 22 )。(考点:位运算)char a=9,b=020;printf("%on",a&b<<1);22 (A) 0377 (B) 40 (C) 32 (D) 以上答案均不正确 8. 下列描述,错误的是 ( 23 )。(考点:数组)23 (A) n维数组可以用n级指针来表示(B) 数组下标从0开始(C) 一个二维数组可以用一维指针数组表示(D) 使用没有赋地址值的指针,只有当程序比较长时才可能造成系统崩溃 9. C语言中局部变量的存储类别默认值是 ( 24 )。 (考点:存储类型)24 (A) 自动(auto)(B) 静态(static)(C) 寄存器(register)(D) 外部(extern) 10. 下列关于C+重载函数的描述中,错误的是 ( 25 ) 。(*考点:C+)25 (A) 重载函数的参数个数和类型至少有一个不同(B) 重载函数的参数个数可以相同(C) 重载函数的参数个数不同但类型可以相同(D) 重载函数的返回值类型必须相同二、读程序回答问题 ( 每个选择3分,共45分 ) 1. 阅读下面程序,回答问题。(考点:二维数组求最值算法)# include <stdio.h>void main() int i,j,row,column,m; static int array33=100,200,300,28,72,-30,-850,2,6; m=array00; for(i=0;i<3;i+) for(j=0;j<3;j+) if(arrayij<m) m=arrayij; row=i; column=j; printf("%d,%d,%dn",m,row,column);该程序的功能是( 26 )。26 (A) 计算二维数组的元素和(B) 求二维数组的最小值及其下标(C) 对二维数组进行排序(D) 求二维数组的最大值及其下标 2. 阅读下面程序,回答问题。(考点:字符数组处理字符串中单词数算法)# include <stdio.h># include <string.h>void main() int i=0,n=0; char s80,*p; p=s; strcpy(p,"This is test!"); for(;*p!='0'p+) if(*p=' ') i=0; else if(i=0) n+; i=1; printf("n=%dn",n);该程序的功能是( 27 )。27 (A) 统计字符串中的单词个数(B) 统计字符串中的空格个数(C) 统计字符串中的字母个数(D) 统计字符串中全部字符个数 3. 读程序,回答问题。(考点:循环、switch语句)# include <stdio.h>void main() int i,m=0,n=0,k=0; for(i=9;i<=11;i+) switch(i%10) case 0: m+;n+;break; case 10:n+;break; default: k+,n+; printf("%4d%4d%4dn",m,n,k);28 (A) 1 3 2(B) 1 4 2(C) 0 1 1(D) 0 3 2 4. 读程序,回答问题。(考点:命令行参数)# include <stdio.h># include <string.h>void main(int argc,char *argv) int i=1,n=0; while(i<argc) n=n+strlen(argvi); i+; printf("%dn",n);若该程序生成的可招待文件名为2-4.exe,运行时输入命令行:2-4 123 45 67则程序的运行结果是( 29 )。29 (A) 3(B) 5(C) 7(D) 11 5. 读程序,回答问题。(考点:全局变量、静态局部变量、函数)# include <stdio.h>int a=2;int f(int n) static int a=3; int t=0; if(n%2) static int a=4; t+=a+; else static int a=5; t+=a+; return t+a+;void main() int s=a,i; for(i=0;i<3;i+) s+=f(i); printf("%dn",s);程序运行结果是( 30 )。30 (A)26(B) 28 (C) 29 (D) 25 6. 读程序,回答问题。(考点:结构体数组)# include <stdio.h>struct mod int a,b,c;void main() struct mod st3=1,2,3,4,5,6,7,8,9; int total; total=st0.a+st1.b; printf("total=%dn",total);程序的运行结果是( 31 )。31 (A) total=5(B) total=6(C) total=7(D) total=8 7. 读程序,回答问题。(考点:函数、循环处理图形输出)# include <stdio.h>pic(int len,char c) int k; for(k=1;k<=len;k+) putchar(c);void main() int i=4,j; pic(27,' '); j=i; pic(i+2*j-2,'*'); putchar('n'); for(j-=2;j>=0;j-) pic(30-j,' '); pic(i+2*j,'*'); putchar('n');程序的运行结果是( 32 )。32 (A)(B)(C) (D) 8. 以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请选择填空。(考点:结构体处理单链表建立算法)# include <stdio.h>struct node char data;

    注意事项

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

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




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

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

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

    收起
    展开