二级C语言模拟652.docx

上传人:b****5 文档编号:11674115 上传时间:2023-03-30 格式:DOCX 页数:21 大小:27.28KB
下载 相关 举报
二级C语言模拟652.docx_第1页
第1页 / 共21页
二级C语言模拟652.docx_第2页
第2页 / 共21页
二级C语言模拟652.docx_第3页
第3页 / 共21页
二级C语言模拟652.docx_第4页
第4页 / 共21页
二级C语言模拟652.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

二级C语言模拟652.docx

《二级C语言模拟652.docx》由会员分享,可在线阅读,更多相关《二级C语言模拟652.docx(21页珍藏版)》请在冰豆网上搜索。

二级C语言模拟652.docx

二级C语言模拟652

二级C语言模拟652

一、选择题

1、设变量x为longint型并已正确赋值,以下表达式中能将x的百位上的数字提取出的是______。

  A.x/10%100  B.x%10/100

  C.x%100/10 D.x/100%10

2、有以下程序:

  #include<stdio.h>

  main()

  {unsignedchara=2,b=4,c=5,d;

  d=a|b;d&=c;printf("%d\n",d);}

  程序运行后的输出结果是______。

  A.3  B.4  C.5  D.6

3、有以下程序:

  #include<stdio.h>

  main()

  {

  structSTU

  {

  charname[9];

  charsex;

  doublescore[2];

  };

  structSTUa={"Zhao",'m',85.0,90.0},b={"Qian",'f',95.0,92.0};

  b=a;

  printf("%s,%c,%2.0f,%2.0f\n",b.name,b.sex,b.score[0],b.score[1]);

  }

  程序的运行结果是______。

  A.Qian,m,85,90  B.Zhao,m,85,90  C.Zhao,f,95,92  D.Qian,f,95,92

4、有以下程序:

  #include<stdio.h>

  main()

  {inti=0,a=0;

  while(i<20)

  {for(;;)

  {if((i%10)==0)break;

  elsei--;}

  i+=11;a+=i;}

  pfintf("%d\n",a);}

  程序的输出结果是______。

  A.62  B.63  C.33  D.32

5、有以下程序:

  #include<stdio.h>

  main()

  {intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;

  for(i=0;i<3;i++)

  for(j=1;j<=i;j++)t+=b[i][b[j][i]];

  printf("%d\n",t);

  }

  程序运行后的输出结果是______。

  A.1  B.3

  C.4  D.0

6、以下关于C语言的叙述中正确的是______。

  A.C语言的数值常量中夹带空格不影响常量值的正确表示

  B.C语言中的变量可以在使用之前的任何位置进行定义

  C.在C语言算术表达式的书写中、运算符两侧的运算数类型必须一致

  D.C语言中的注释不可以夹在变量名或关键字的中间

7、在软件设计中不使用的工具是______。

  A.系统结构图  B.PAD图  C.数据流图(DFD图)  D.程序流程图

8、有以下程序:

  #include<stdio.h>

  main()

  {intk=5;

  while(--k)printf("%d",k-=3);

  printf("\n");

  }

  程序执行后的输出结果是______。

  A.1  B.2  C.4  D.死循环

9、下列叙述中正确的是______。

  A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的

  B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构

  C.顺序存储结构能存储有序表,链式存储结构不能存储有序表

  D.链式存储结构比顺序存储结构节省存储空间

10、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为  (  )

  A.a<>0  B.!

a  C.a=0  D.a

11、以下叙述中,正确的是______。

  A.局部变量说明为static的存储类,其生存期将得到延长

  B.全局变量说明为static的存储类,其作用域将被扩大

  C.任何存储类的变量在未赋初值时,其值都是不确定的

  D.形参可以使用的存储类说明符与局部变量完全相同

12、以下结构体说明和变量定义中,正确的是______。

  A.typedefstructabc{intn;doublem;}ABC;

  ABCx,y;

  B.structabc{intn;doublem};

  structabcx,y;

  C.structABC{intn;doublem;}

  structABCx,y;

  D.structabc{intn;doublem;};

  abcx,y;

13、在软件开发过程中,软件结构设计是描述______。

   A.数据存储结构 B.软件体系结构 C.软件结构测试 D.软件控制过程

14、设有定义:

  char*c;

  以下选项中能够使c正确指向一个字符串的是______。

  A.charstr[]="string";c=str;  B.scanf("%s",c);

  C.c=getchar();  D.*c="string";

15、以下四个程序中不能对两个整型值进行交换的是______。

  A.#include<stdio.h>

  voidswap(int*p,int*q)

  { int*t,a;

  t=&a;*t=*p;*p=*q;*q=*t;

  }

  main()

  { inta=10,b=20;

  swap(&a,&b);printf("%d%d\n",a,b);

  }

  B.#include<stdio.h>

  voidswap(int*p,int*q)

  { intt;

  t=*p;*p=*q;*q=t;

  }

  main()

  { inta=10,b=20;

  swap(&a,&b);printf("%d%d\n",a,b);

  }

  C.#include<stdio.h>

  voidswap(int*p,int*q)

  { intt;

  t=*p;*p=*q;*q=t;

  }

  main()

  { int*a,*b;

  *a=10,*b=20;

  swap(a,b);printf("%d%d\n",*a,*b);

  }

  D.#include<stdio.h>

  voidswap(int*p,int*q)

  { intt;

  t=*p;*p=*q;*q=t;

  }

  main()

  {inta=10,b=20,*x=&a,*y=&h;

  swap(x,y);printf("%d%d\n",a,b);

  }

16、若有以下程序:

  #include<stdio.h>

  main()

  {int a=0,b=0,c=0

  c=(a+=++b,b+=4);

  printf("%d,%d,%d\n",a,b,c);

  }

  则程序的输出结果是______。

  A.1,5,1  B.1,5,5  C.-1,4,4 D.-1,4,-1

17、以下有4组用户标识符,其中合法的一组是______。

  A.For 

  -sub

  Case

  B.4d

  DO

  Size

  C.f2_G3

  IF

  abc

  D.WORD

  void

  define

18、以下选项中,不能对主函数中变量i和j的值进行交换的程序是______。

  A.#include<stdio.h>

   voidswap(int*p,int*q)

   {int*t;

      *t=*p;*p=*q;*q=*t;

   }

   main()

   {

      inti=10,j=20,*a=&i,*b=&j;

      swap(a,b);printf("i=%dj=%d\n",i,j);

  }

  B.#include<stdio.h>

   voidswap(int*p,int*q)

   {intt;

      t=*p;*p=*q;*q=t;

   }

   main()

   {

     inti=10,j=20,*a=&i,*b=&j;

     swap(a,b);printf("i=%dj=%d\n",i,j);

   }

  C.#include<stdio.h>

   #include<stdlib.h>

   voidswap(int*p,int*q)

   {int*t;

      t=(int*)malloc(sizeof(int));

      *t=*p;*p=*q;*q=*t;

      free(t);

   }

   main()

   {

     inti=10,j=20;

     swap(&i,&j);printf("i=%dj=%d\n",i,j);

   }

  D.#include<stdio.h>

   voidswap(int*p,int*q)

   {intt;

      t=*p;*p=*q;*q=t;

   }

   main()

   {

     inti=10,j=20,*x=&i,*y=&j;

     swap(x,y);printf("i=%dj=%d\n",i,j);

   }

19、有以下程序:

  #include<stdio.h>

  structS{inta;intb;};

  main()

  { structSa,*p=&a;

  a.a=99;

  printf("%d\n",______);

  }

  程序要求输出结构体中成员a的数据,以下不能填入横线处的内容是______。

  A.a.a  B.*p.a  C.p->a  D.(*p).a

20、以下叙述中正确的是______。

  A.a是实型变量,C允许进行赋值a=10,但不可以这样说:

实型变量中允许存放整型值

  B.在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式

  C.执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0

  D.已有a=3,b=5,当执行了表达式a=b,b=a之后,使a中的值为5,b中的值为3

21、有以下程序:

  #include<stdio.h>

  main()

  {chars1[]="programe",s2[]="Language";

  char*p1=s1,*p2=s2;

  intk;

  for(k=0;k<8;k++)

  if(*(p1+k)==*(p2+k))

  printf("%s\n",*(p1+k));

  }

  程序的运行结果是______。

  A.grameamee  B.gae  C.programe  D.无输出字符

22、循环队列的存储空间为Q(1:

50),初始状态为front=rear=50。

经过一系列正常的入队与退队操作后,front=rear=25,此后又正常地插入了一个元素,则循环队列中的元素个数为______。

  A.51  B.50  C.49  D.1

23、有以下程序

  #include<stdio.h>

  main()

  {

  inta=1,b=2,c=3,x;

  x=(a^b)&c;

  printf("%d\n",x);

  }

  程序的运行结果是______。

  A.2  B.1  C.3 D.0

24、在软件开发中,需求分析阶段产生的主要文档是______。

  A.软件集成测试计划  B.软件详细设计说明书

  C.用户手册  D.软件需求规格说明书

25、设a、b和c都是int型变量,且a=3,b=4,c=5,则以下的表达式中值为0的表达式是

  A.a&&b  B.a<=b  C.a‖b+c&&b-c  D.!

((a<b)&&!

c‖1)

26、以下叙述错误的是______。

  A.C语言区分大小写

  B.C程序中的一个变量,代表内存中一个相应的存储单元,变量的值可以根据需要随时修改

  C.整数和实数都能用C语言准确无误地表示出来

  D.在C程序中,正整数可以用十进制、八进制和十六进制的形式来表示

27、有下列程序:

  main()

  { inty=10

  do{y--;}while(--y);

  printf("%d\n",--y);

  }

  当执行程序时,输m的结果是______。

  A.-1  B.1

  C.4  D.0

28、若有以下定义和语句:

  chars[10]="abcd!

",*s2="\n123\\";

  printf("%d%d\n",strlen(s1),strlen(s2));

  则输出结果是______。

  A.55  B.105

  C.107  D.58

29、在软件开发中,需求分析阶段产生的主要文档是______。

  A.软件集成测试计划  B.软件详细设计说明书

  C.用户手册  D.软件需求规格说明书

30、有如下嵌套的if语句

  if(a<b)

   if(a<c)k=a;

   elsek=c;

  else

   if(b<c)k=b;

   elsek=c;

  以下选项中与上述if语句等价的语句是______。

  A.k=(a<b)?

((a<c)?

a:

c):

((b<c)?

h:

c);  B.k=(a<b)?

((b<c)?

a:

b):

((h>c)?

b:

c);

  C.k=(a<b)?

a:

b;k=(b<c)?

b:

c;  D.k=(a<b)?

a:

h:

k=(a<c)?

a:

c;

31、有以下程序

  #include<stdio.h>

  main()

  {inti;

  for(i=1;i<=40;i++)

  { if(i++%5==0)

  if(++i%8==0)printf("%d",i);

  }

  printf("\n");

  }

  执行后的输出结果是______。

  A.32  B.24  C.5  D.40

32、下列程序的运行结果是______。

  main()

  {intx=1,y=3,a=0;

  while(x++!

=(y-=1))

  { a+=1;

  if(y<x) break;

  }

  printf("%d,%d,%d\n",x,y,a);

  }

  A.2,3,2  B.2,3,1

  C.1,3,3  D.3,1,2

33、数据库系统的三级模式不包括______。

  A.概念模式  B.内模式  C.外模式  D.数据模式

34、下面不能作为结构化方法软件需求分析工具的是______。

  A.系统结构图  B.数据字典(DD.  C.数据流程图(DFD图) D.判定表

35、有以下程序段:

  intk=0;

  while(k=)k++;

  while循环执行的次数是______。

  A.无限次  B.有语法错,不能执行  C.一次也不执行  D.执行一次

36、有以下程序

  #include<stdio.h>

  main()

  {inta=1,b=0;

  printf("%d,",b=a+b);

  printf("%d\n",a=2*b);

  }

  程序运行后的输出结果是______。

  A.1,2  B.1,0  C.3,2  D.0,0

37、若有定义语句:

  chars[10]="1234567\0\0";

  则strlen(s)的值是______。

  A.7  B.8  C.9  D.10

38、若变量已正确定义为float型,要通过输入语句:

scanf("%f%f%%f,&a,&b,&c);给a赋值11.0,b赋值22.0,c赋值33.0,不正确的输入形式是

  A.11

   22

   33

  B.11.0,22.0,33.0

  C.11.0

   22.033.0

  D.1122

   33

39、若已建立以下链表结构,指针p、s分别指向如图所示结点:

  

  则不能将s所指结点插入到链表末尾的语句组是______。

  A.p=p->next:

s->next=p;p->next=s;

  B.s->next='\0';p=p->next;p->next=s;

  C.p=p->next;s->next=p->next;p->next=s;

  D.p=(*p).next;(*s).next=(*p).next;(*p).next=s;

40、设有定义:

  inta=1,b=2,c=3;

  以下语句中执行效果与其它三个不同的是______。

  A.if(a>b)c=a;a=b;b=c;  B.if(a>b){c=a,a=b,b=c;}

  C.if(a>b)c=a,a=b,b=c;  D.if(a>b){c=a;a=b;b=c;}

 

二、程序填空题

41、下列给定程序中,函数fun的功能是:

将S所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。

  例如,s所指的字符串为“def35adh3kjsdf7”,执行后结果为“defadhkjsdf3537”。

  请在程序的下划线处填入正确的内容,使程序得出正确的结果。

  注意:

部分源程序给出如下。

  不得增行或删行,也不得更改程序的结构!

  试题程序:

  #include<stdio.h>

  voidfun(char*s)

  {

  inti,j=0,k=0;

  chart1[80],t2[80];

  for(i=0;s[i]!

='\0';i++)

  if(s[i]>='0'&&s[i]<='9')

  {

  t2[j]=s[i];

  ______;

  }

  else

  {

  t1[k++]=s[i];

  }

  t2[j]=0;

  t1[k]=0;

  for(i=0;i<k;i++)

  ______;

  for(i=0;i<______;i++)

  s[k+i]=t2[i];

  }

  main()

  {

  chars[80]="ba3a54j7sd567sdffs";

  pfintf("\nTheoriginalstringis:

%s\n",s);

  fun(s);

  pfintf("\nTheresultis:

%s\n",s);

  }

 

三、程序修改题

42、给定程序MODI1.C中函数fun的功能是:

将长整型数中每一位上为奇数的数依次取出,构成一个新数放在t中。

高位仍在高位,低位仍在低位。

  例如,当s中的数为87653142时,t中的数为7531。

  请改正程序中的错误,使它能得出正确的结果。

  注意:

不要改动main函数,不得增行或删行,也不得更改程序的结构!

  给定源程序:

  #include<stdio.h>

  voidfun(longs,long*t)

  { intd;

  longsl=1;

  /************found************/

  t=0;

  while(s>0)

  { d=s%10;

  /************found************/

  if(d%2==0)

  { *t=d*sl+*t;

  sl*=10;

  }

  s/=10;

  }

  }

  main()

  { longs,t;

  printf("\nPleaseenters:

");scanf("%ld",&s);

  fun(s,&t);

  printf("Theresultis:

%ld\n",t);

  }

 

四、程序设计题

43、m个人的成绩存放在score数组中,请编写函数fun,它的功能是将低于平均分的人数作为函数值返回,将低于平均分的分数放在

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 中考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1