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

    四川省计算机等级考试二级C语言笔试题(共21页).doc

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

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

    四川省计算机等级考试二级C语言笔试题(共21页).doc

    精选优质文档-倾情为你奉上四川省计算机等级考试二级C语言笔试题(第二十二次)一 2009-03-29 15:24:34 四川省普通高等学校计算机应用知识和能力第二十二次等级考试二级(C与C+语言) 笔 试 试 卷时间:  2005年4月16日     上午 9:0011:00第一部分软件技术基础(共15分)一、是非判断题(每小题1分,共10分)( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B  )1. C+语言中所定义的类实际上也是一种数据类型。                                                     (   1   )2. 数据结构的表示包括数据逻辑结构和存储结构两方面的表示。                                  (   2   )3. 冒泡排序算法是一种只能实现升序排序,而不能实现降序排序的排序算法。             (   3   )4. 线性表采用链式存储时,结点的存储地址必须是连续的。                                         (   4   )5. 栈顶的位置是随着进栈和退栈操作而变化的。                                                           (   5   )6. 在软件生存期内,软件必须进行维护,维护不会产生副作用。                                  (   6   )7. 采用动态重定位进行地址转换,允许程序在执行过程中在内在中移动。而静态重定位则不可以。                                                                                                                                 (   7   )8. 在软件的需要分析阶段,要直接面向用户,主要考虑用户的经济承受能力和费用的支付问题。                                                                                                                                           (   8   )9. 需求分析阶段的主要任务应由系统分析员主持完成。                                             (   9   )10.操作系统是最重要的系统软件。                                                                                (   10  )二、选择题( 每小题1分,共5分 )1. 以下特征中哪个不是算法的特征   (   11  )。   11  (A) 可行性         (B) 确定性      (C) 有穷性                (D) 唯一性2. 在多道程序设计系统中,处于后备状态的作业要经过 (   12  ) 调度后才能真正执行。   12  (A) 作业调度                                    (B) 作业调度和进程调度       (C) 进程调度                                    (D) 作业调度和设备调度3. 为解决CPU和I/O设备之间速度匹配问题,常采用“缓冲区”方法。“缓冲区”的结构多为 (  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 swap(int x,int y) x=y;y=x;x=y; main() int a=010,b=1; swap(a,b); printf("%d,%dn",a,b);   16  (A) 10,1                       (B) 8,1             (C) 1,8               (D) 1,10  2. 有以下程序 # include <malloc.h># include <stdio.h>main() char *p,*q; p=(char *)malloc(sizeof(char)*20); q=p; scanf("%s %s",p,q); printf("%s,%s",p,q);若输入:abc def <回车>,则输出为 (  17  ) 。   17  (A)def,def             (B) abc,def               (C) abc,d                   (D) d,d  3. 下列程序的输出是 (  18  )。# include <iostream.h>void main() int a=-1,b=4,k; k=(a+<=0)&&(!(b-<=0); cout<<k<<a<<b<<endl;   18  (A) 003             (B) 103                      (C)112                   (D) 012  4. 关于类概念的描述中,(  19  ) 是错误的。   19  (A) 类就是C语言中的结构体类型       (B) 类是创建对象的样板(C) 类是具有共同行为的若干对象的统一描述体(D) 类是抽象数据类型的实现  5.下列程序的运行结果是 (  20  ) 。 # include <stdio.h>main() void fu(); fu(); fu();void fu() static int a=0; printf("a=%d,",!a ? 1 : 8 );   20  (A) a=8,a=8,          (B) a=1,a=8                  (C) a=8,a=1,              (D) a=1,a=1,  6. 以下程序中,输出值是 (  21  ) 。# include <stdio.h># define M 3# define N M+1# define NN N*N/2main() printf("%dn",NN);   21  (A) 3              (B) 4                      (C) 6                   (D) 8  7. 若有语句:char s1="string1",s28,*s3,*s4="string2" 则 (  22  ) 是对库函数strcpy的错误调用。   22  (A) strcpy(s1,"string2");                      (B) strcpy(s4,"string1");(C) strcpy(s3,"string1");                      (D) strcpy("string2",s2);  8. 以下 (  23  ) 为不正确的if语句 。    23  (A) if (x>y);                         (B) if(x=y) x+=y;       (C) if(x!=y) x=x*x  else x+=1;           (D) if(x<y) x+;y+;  9. 关于C+函数参数的描述中,错误的是 (  24  ) 。     24  (A) 实参个数与形参个数可以不同       (B) 缺省参数必须放在形参表的最右端       (C) 用引用变量作形参可以实现地址传递       (D) 重载函数可以有缺省参数  10. 若有如下定义:struct node int data; struct node *next;46q且已建立下面的链表结构,指针p,q分别指向图中所示结点,则不能将q所指结点插入链表末尾的一组语句是(  25  )。p445  NULL    head     25 (A) q->next=NULL; p=p->next; p->next=q;              (B) p=p->next; q->next=p->next; p->next=q;(C) p=p->next; q->next=p; p->next=q;                     (D) p=(*p).next; (*q).next=(*p).next; (*p).next=q;二、读程序回答问题(每个选择3分,共45分)  1. 下列程序运行的结果为 (  26  )。# include <stdio.h># include <string.h>void fun(char *s,int m)  char t,*p1,*p2;  p1=s;  p2=s+m-1;  while(p1<p2)   t=*p1+; *p1=*p2-; *p2=t; main()  char a="ABCDEFG"  fun(a,strlen(a);  puts(a);    26  (A) GFEDCBA                                 (B) AGADAGA        (C) GAGGAGA                                (D) AGAAGAG  2. 读下列C程序,选择正确的输出结果。# include <stdio.h># include <string.h>void fun(char str10, int n)  char t20;  int i,j;  for(i=0;i<n-1;i+)    for(j=i+1;j<n;j+)      if( strlen(stri) < strlen(strj) )                  strcpy(t,stri);          strcpy(stri,strj);          strcpy(strj,t);        main()  char str10="abc","aabcd","abed","a","acdefg"  int i;  fun(str,5);  for(i=0;i<5;i+)    printf("%2d",strlen(stri);  printf("n");  for(i=0;i<5;i+)    puts(stri);   (1)  main函数中,第一个for循环的输出结果为: (  27  )。27  (A) 6 5 4 3 1                          (B) 1 3 4 5 6        (C) 7 6 5 4 2                         (D) 2 4 5 6 7(2)  main函数中,第二个for循环的输出结果为: (  28  )。  28  (A) abc              (B)a                 (C)acdefg                (D)a         aabcd          abc             aabcd              abc         abed           abed            abed               aabcd         a              aabcd           abc                abed         acdefg          acdefg          a                  aabcd  3. 以下是一个C+程序,读程序并回答问题。# include <iostream.h>int fun(int u,int v)  int temp;  while(v!=0)          temp=u%v;      u=v;      v=temp;      return u;void main()  int u,v;  int t;  cout<<"Input two integers:"  cin>>u>>v;  t=fun(u,v);  cout<<t<<endl;  cout<<u*v/t<<endl;  若从键盘中输入10 15;回答下列两个问题:(1) 第一条输出语句的输出结果为(  29  )。 29  (A) 5               (B) 10                 (C) 15                 (D) 30(2) 第二条输出语句的输出结果为(  30  )。30  (A) 5               (B) 10                 (C) 15                 (D) 30  4. 以下程序的运行结果是 (  31  )。# include <stdio.h>chang(char *c,int fg)  if(*c=' ')    return 1;  else if( fg && *c<='z' && *c>='a' )          *c+='A'-'a'  return 0;main()  int flag=1;  char ch;  do      ch=getchar();    flag=chang(&ch,flag);    putchar(ch);  while(ch!='n');  程序运行时,从第一列开始输入以下字符,<CR>代表换行符。      This is a book!<CR>   31  (A) tHIS IS A BOOK!                (B) this Is A Book!       (C) This Is A Book!                           (D) This Is a Book!  5. 以下程序的运行结果是(  32  ):# include <stdio.h>main()  int a=1,b=2,c=3;  a+;  c+=b;      int b=4,c;    c=2*b;    a+=c;    printf("%d,%d,%d,",a,b,c);    printf("%d,%d,%dn",a,b,c);   32  (A) 10,4,8,10,2,5     (B) 6,2,4,6,2,4              (C) 10,4,8,10,2,8          (D) 9,4,8,2,2,5  6. 以下程序的输出是(  33  )。# include <stdio.h>main()  int x=1,y=0,a=0,b=0;  switch(x)      case 1:      switch(y)              case 0: a+;break;        case 1: b+;break;                case 2:        a+; b+; break;    case 3:      a+;b+;    printf("a=%d,b=%dn",a,b);   33  (A) a=1,b=0         (B) a=2,b=1               (C) a=1,b=1               (D) a=2,b=2  7. 若有以下程序段:int a=4,0,2,3,1,k,j,t;for(j=1;j<5;j+)  t=aj;  k=j-1;  while( k>=0 && t>ak )    ak+1=ak; k-;   ak+1=t;   则该程序段的功能是(  34  )。   34     (A) 对数组a进行插入排序(升序)       (B) 对数组a进行插入排序(降序)(C) 对数组a进行选择排序(升序)    (D) 对数组a进行选择排序(降序)  8. 选择下面程序运行的结果。# include <stdio.h>int m33=1,2,3;int n33=1,2,3;main()  printf("%dn",m10+n00);  printf("%dn",m01+n10);   第1条printf语句行输出的结果是(  35  )。     35  (A) 0               (B) 1                     (C) 2                     (D) 3  第2条printf语句行输出的结果是(  36  )。     36  (A) 0               (B) 1                     (C) 2                     (D) 3  9. 选择下面程序运行的结果(设int占2个字节)# include <stdio.h>main()  struct date      int year,month,day;  today;  union      long i;    int k;    char c;  mix;  printf("date=%dn",sizeof(struct date);  printf("mix=%dn",sizeof(mix);      第1条printf语句行输出的结果为(  37  )。   37  (A) date=2        (B) date=4         (C) date=6        (D) 前3个答案都是错误的   第2条printf语句行输出的结果为(  38  )。   38  (A) mix=2        (B) mix=4         (C) mix=6         (D) 前3个答案都是错误的  10. 读下面程序,程序的命名为MyCopy.c 。/*-MyCopy.c-*/# include <stdio.h>main(int argc,char *argv)  if(argc!=3)    printf("nFormat:MyCopy <source_file> <desine_file>n");  else      FILE *source,*desine;    source=fopen(argv1,"rb");    desine=fopen(argv2,"wb");    if(source=NULL)      printf("ERROR:Can't open source file %s!n",argv1);    else if(desine=NULL)            printf("ERROR:Can't open source file %s!n",argv2);    else          while(!feof(source)        fputc(fgetc(source),desine);        fclose(source);    fclose(desine);    (1)程序的功能是(  39  )。   40  (A) 将磁盘文件的信息显示在屏幕上                       (B) 将一个磁盘文件复制到另一个磁盘文件中       (C) 将两个磁盘文件合并                   (D) 以上答案都不对  (2)当编译、连接后,在命令行键入:MyCopy FILE1 FILE2<回车>,则程序将实现(  40  )。   41  (A) 将FILE1的信息显示在屏幕上                       (B) 将FILE1和FILE2合并       (C) 将一个FILE2复制到FILE1中          (D) 将一个FILE1复制到FILE2中注意:  请把下面“程序填空”中各小题答案写在主观题答题纸上 每一个空只填一个语句或一个语句所缺的部分内容 三、程序填空 ( 每空2分,共30分 )  1. 以下程序的功能是将磁盘文件a.dat中的10个整数读入并进行升序排序。# include <stdio.h>void sort(int *p,int n)  int i,j,t;  for(i=0;i<n-1;i+)    for(j=i+1;j<n,j+)      if(                  )        t=pi; pi=pj; pj=t; main()  int a10,i;  FILE *fp;  fp=fopen("a.dat","r");  for(i=0;i<10;i+)                         ;  fclose(fp);  for(i=0;i<10;i+)    printf("%d ",ai);  printf("n");                      ;  for(i=0;i<10;i+)    printf("%d ",ai);  printf("n");  2. 下列程序用递归算法实现,输入任意一个整数,在各数位之间插入空格后输出。# include <stdio.h>main()  long int n;  void func(long);  scanf("%ld",&n);                       void func(                 )  if(m>=0)                            printf(" %d",m%10);   3. 程序功能:有10个数按升序放在一个数组中,输入一个数,要求用折半查找该数是数组中的第几个元素,如果该数不在数组中,打印出“NO”。折半查找法:设数组长度为n,则将输入的数m与an/2比较,若m<an/2,则将a0到an/2继续折半进行查找;若m=an/2,则表示找到该数的位置;若m>an/2,则将an/2到an的数继续折半进行查找。# include <stdio.h>main()  int a10=12,32,45,62,71,76,80,85,90,95;  int num,bott,top,mid;  printf("Input a number:n");  scanf("%d",&num);  bott=0;  top=9;  while(bott<=top)      mid=                            if(num=amid)      printf("%d is the %d numbern",num,mid+1); break;     else if(num<amid)                                   else bott=mid+1;          if(                   ) printf("Non");  4. 有两个字符串str1和str2,将str1和str2对应字符中ASCII码值较大者存入字符数组str3的对应位置,若str1和str2长度不一致,则将较长字符串中剩余字符直接连接到str3的末尾。例如:str1存放字符串"abaxef",str2存放字符串"bac",则str3中的字符串为"bbcxef"。# include <stdio.h># include <string.h>main()  int i;  char str80,str280,str380=" "  char *p1,*p2;  p1=str1;  p2=str2;  gets(str1); gets(str2);  for(i=0;                    i+)      if( *(p1+i) > *(p2+i) ) str3i = *(p1+i);    else str3i = *(p2+i);    if(               )  strcat(str3,p1+i);  else                         printf("Result:%sn",str3);  5. 下面程序的功能是计算100至1000之间有多少个数其各位数字之和是5。# include <stdio.h>void main()  int i,s,k,count=0;  for(i=100;i<=1000;i+)      s=0;    k=i;    while(              )          s=s+k%10;      k=                       if(s!=5)                        else count+;    printf("total=%dn",count);第二十二次等级考试第一部分 软件技术基础一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分)110:AABBABBBAA二、单项选择题:(每小题1分,共5分)15 :DCDCA第二部分 C与C+语言程序设计一、单项选择题 (每小题1分,共10分)1、B                     2、A                    3、B                     4、A                    5、D6、C                     7、D                    8、C                     9、D                    10、C二、读程序题(每个选择3分,共45分)1、D                            2、(1)A   (2)C                    3、(1)A   (2)D4、C                             5、A                                          6、B 7、B                                  8、(1)D   (2)A                   9、(1)C    (2)B 10、(1)B   (2)D 三、程序填空题(每空2分,共30分)   1、 pi>pj                    fscanf(fp,"%d",&ai )         sort(a,10)   2、 func(n)                      long m                     func(m/10)   3、 (bott+top)/2                  top=mid-1                  bott>top   4、 str1i!= '0'&&str2i!= '0'  strlen(str1)>strlen(str2)     strcat(str3,p2+i )   5、 k>0                        k/10                            continue专心-专注-专业

    注意事项

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

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




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

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

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

    收起
    展开