二级C语言模拟645.docx

上传人:b****8 文档编号:12604526 上传时间:2023-06-06 格式:DOCX 页数:24 大小:28.27KB
下载 相关 举报
二级C语言模拟645.docx_第1页
第1页 / 共24页
二级C语言模拟645.docx_第2页
第2页 / 共24页
二级C语言模拟645.docx_第3页
第3页 / 共24页
二级C语言模拟645.docx_第4页
第4页 / 共24页
二级C语言模拟645.docx_第5页
第5页 / 共24页
二级C语言模拟645.docx_第6页
第6页 / 共24页
二级C语言模拟645.docx_第7页
第7页 / 共24页
二级C语言模拟645.docx_第8页
第8页 / 共24页
二级C语言模拟645.docx_第9页
第9页 / 共24页
二级C语言模拟645.docx_第10页
第10页 / 共24页
二级C语言模拟645.docx_第11页
第11页 / 共24页
二级C语言模拟645.docx_第12页
第12页 / 共24页
二级C语言模拟645.docx_第13页
第13页 / 共24页
二级C语言模拟645.docx_第14页
第14页 / 共24页
二级C语言模拟645.docx_第15页
第15页 / 共24页
二级C语言模拟645.docx_第16页
第16页 / 共24页
二级C语言模拟645.docx_第17页
第17页 / 共24页
二级C语言模拟645.docx_第18页
第18页 / 共24页
二级C语言模拟645.docx_第19页
第19页 / 共24页
二级C语言模拟645.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

二级C语言模拟645.docx

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

二级C语言模拟645.docx

二级C语言模拟645

二级C语言模拟645

一、选择题

1、以下各选项企图说明一种新的类型名,其中正确的是______。

A.typedefvlint;  B.typedefv2=int

C.typedefintv3;  D.typedefv4:

int

 

2、若变量已正确定义,则以下for循环______:

  for(x=0,y=0;(y!

=123)&&(x<4);x++);

  A.执行4次  B.执行3次

  C.执行次数不确定  D.执行123次

3、设有定义:

  char*c;

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

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

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

4、若有以下程序段:

  structst{intn;structst*next;};

  stmctsta[3]={5,&a[1],7,&a[2],9,'\0'},*p;

  p=&a[0];

  则以下选项中值为6的表达式是______

  A.p->n  B.(*p).n  C.p->n++  D.++(p->n)

5、以下不能将s所指字符串正确复制到t所指存储空间的是______。

  A.while(*t=*s){t++;s++;}

  B.for(i=0;t[i]=s[i];i++);

  C.do{*t++=*s++;}while(*s);

  D.for(i=0,j=0;t[i++]=s[j++];);

6、有以下程序

  #include<stdio.h>

  #defineSUB(a)(a)-(a)

  main()

  {inta=2,b=3,c=5,d;

  d=SUB(a+b)*c;

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

  }

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

  A.0  B.-12  C.-20  D.10

7、有以下程序:

  #include<stdio.h>

  #include<string.h>

  main()

  {printf{"%d\n",strlen("%d\n",strlen("ATS\n012\|"));}

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

  A.3  B.8

  C.4  D.9

8、将E-R图转换为关系模式时,E-R图中的实体和联系都可以表示为______。

  A.属性  B.键  C.关系  D.域

9、有以下程序

  #include<stdio.h>

  main()

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

  switch(x)

  {case1:

  switch(y)

  {case0:

a++;break;

  case1:

b++;break;

  }

  case2:

a++;b++;break;

  case3:

a++;b++;

  }

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

  }

  程序的运行结果是______。

  A.a=2,b=1  B.a=2,b=2  C.a=1,b=1  D.a=1,b=0

10、有以下程序:

  #include<stdio.h>

  main()

  {  inta=3;

  do

  { printf("%d,",a-=2);}

  while(!

(--a));

  printf("\n");

  }

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

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

11、若有数组定义:

chararray[]="China";,则数组array所占的空间为______。

  A.4个字节  B.5个字节  C.6个字节  D.7个字节

12、若有说明:

inta[][3]={1,2,3,4,5,6,7};,则a数组第一维的大小是______。

  A.2  B.3  C.4  D.无确定值

13、以下程序拟实现计算sum=1+1/2+1/3+…+1/50。

  #include<stdio.h>

  main()

  { inti;doublesum;

  sum=1.0;

  i=1;

  do

  {i++;sum+=1/i;}

  while(i<50);

  printf("sum=%lf\n",sum);

  }

  程序运行后,不能得到正确结果,出现问题的语句是______。

  A.sum+=1/i;  B.while(i<50);  C.sum=1.0;  D.i++;

14、构成计算机软件的是______。

  A.源代码  B.程序和数据

  C.程序和文档  D.程序、数据及相关文档

15、有以下程序

  #include<stdio.h>

  #definePT3.5;

  #defineS(x)PT*x*x;

  main()

  {inta=1,b=2;printf("%4.1f\n",S(a+b));}

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

  A.31.5  B.程序有错无输出结果

  C.7.5  D.14.0

16、设栈的顺序存储空间为S(0:

49),栈底指针bottom=49,栈顶指针top=30(指向栈顶元素)。

则栈中的元素个数为______。

  A.30  B.29  C.20D.19

17、有以下程序

  #include<stdio.h>

  voidmain()

  {

  chars[]={"01aXy"};inti,n=0;

  for(i=0;s[i]!

=0;i++)

  if(s[i]<='a'&&s[i]>='z')n++;

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

  }

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

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

18、有以下程序:

  #include<stdio.h>

  f(inta)

  {intb=0;

  staticintc=3;

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

  }

  main()

  {inta=2,i,k;

  for(i=0;i<2;i++)k+f(a++);

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

  }

  程序运行后的输出结果是

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

19、有以下程序

  #include<stdio.h>

  main()

  {inti=5;

  do

  { if(i%3==1)

  if(i%5==2)

  { printf("*%d",i);break;)

  i++;

  }while(i!

=0);

  printf("\n");

  }

  程序的运行结果是______。

  A.*7  B.*3*5  C.*5  D.*2*6

20、有以下程序:

  #include<stdio.h>

  main()

  {shortinta=5,b=6,c=7,d=8,m=2,n=2;

  printf("%d\n",(m=a>b)&(n=c>d));

  }

  程序运行后的输出结果是

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

21、若有定义语句:

intx[][3]={1,2,3,4,5,6};,则以下选项中与该语句等价的是______。

  A.intx[][3]={{1,2,3},{4,5},{6}};  B.intx[][3]={{1,2},{3,4},{5,6}};

  C.intx[][3]={{1},{2,3},{4,5,6}};  D.intx[][3]={{1,2,3},{4,5,6}};

22、有以下程序

  #include<stdio.h>

  main()

  { inti,s=0,t[]={1,2,3,4,5,6,7,8,9};

   for(i=0;i<9;i+=2)s+=*(t+i);

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

  }

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

  A.25  B.20  C.45  D.36

23、若要使int型变量a、b、c、d的值都为0,以下写法中错误的是______。

  A.autointa,b,c,d;a=b=c=d=0;  B.autointa=b=c=d=0;

  C.autointa=0,b=a,c=b,d=c;  D.staticinta,b,c,d;

24、以下选项中,能用作用户标识符的是______。

  A._0_  B.8_8  C.void  D.unsigned

25、下列数据结构中,属于非线性结构的是______。

  A.循环队列  B.带链队列

  C.二叉树  D.带链栈

26、有以下程序:

  #include<stdio.h>

  voidfun(char*c,intd)

  { *c=*c+1,d=d+1;

  printf("%c,%c",*c,d);

  }

  main()

  {charb='a',a=;A';

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

  }

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

  A.b,B,b,A  B.b,B,B,A

  C.a,B,B,a  D.a,B,a,B

27、若有代数式

  A.sqrt(abs(n^x+e^x))

  B.sqrt(fabs(pow(n,x)+pow(x,e)))

  C.sqrt(fabs(pow(n,x)+exp(x)))

  D.sqrt(fabs(pow(x,n)+exp(x)))

28、有以下程序

  #include

  voidflintb[])

  {inti;

  for(i=2;i<6;i++)b[i]*=2;

  }

  main()

  {inta[10]={1,2,3,4,5,6,7,8,9,10},i;

  f(a);

  for(i=0;i<10;i++)printf("%d,",a[i]);

  }

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

  A.1,2,6,8,10,12,7,8,9,10,  B.1,2,3,4,5,6,7,8,9,10,

  C.1,2,3,4,10,12,14,16,9,10,  D.1,2,6,8,10,12,14,16,9,10,

29、有下列程序:

  #include<stdio.h>

  voidfun(inta[],intn,intflag)

  {inti=0,j,t;

  for(i=0;i<n-1;i++)

  for(j=i+1;j<n;j++)

  if(flag?

(a[i]>a[j]):

(a[i]<a[j]))

  {t=a[i];a[i]=a[j];a[j]=t;}

  }

  main()

  {intc[10]={7,9,10,8,3,5,1,6,2,4},i;

  fun(c,10,1);

  fun(c,8,0);

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

  printf("%d,",c[i]);

  }

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

  A.8,7,6,5,4,3,2,1,9,10,  B.3,4,5,6,7,8,9,10,2,1,

  C.9,10,1,2,3,4,5,6,7,8,  D.10,9,8,7,6,5,4,3,1,2,

30、软件生命周期是指______。

  A.软件产品从提出、实现、使用维护到停止使用退役的过程

  B.软件从需求分析、设计、实现到测试完成的过程

  C.软件的开发过程

  D.软件的运行维护过程

31、有以下程序:

  #include<stdio.h>

  main()

  {chara[5][10]={"China","beijing","very","welcome","you"};

  char*p[5];inti;

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

  {p[i]=*(a+i);

  printf("%s",p[i]);

  printf("%c",*p[i]);

  }

  }

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

  A.wwyy  B.ChinaCbeijingb  C.veryvwelcomew  D.welcomewyouy

32、以下程序段中的变量已正确定义

  for(i=0;i<4;i++,i++)

  for(k=1;k<3;k++);printf("*");

  程序段的输出结果是______。

  A.**  B.****  C.*  D.********

33、设有宏定义:

  #defineIsDIV(k,n)((k%n==1)?

1:

0)

  且变量m已正确定义并赋值,则宏调用:

  IsDIV(m,5)&&IsDIV(m,7)

  为真时所要表达的是______。

  A.判断m被5和7整除是否都余1  B.判断m是否能被5和7整除

  C.判断m被5或者7整除是否余1  D.判断m是否能被5或者7整除

34、下面描述中,不属于软件危机表现的是______。

  A.软件过程不规范  B.软件开发生产率低

  C.软件质量难以控制  D.软件成本不断提高

35、有以下定义和语句:

  structworkers

  {intnum;charname[20];charc;

  struct

  { intday;intmonth;intyear;}s;

  };

  structworkersw,*pw;

  pw=&w;

  能给w中year成员赋1980的语句是______。

  A.*pw.year=1980;

  B.w.year=1980;

  C.pw->year=1980

  D.w.s.year=1980;

36、设有定义:

  intx=2;

  以下表达式中,值不为6的是______。

  A.2*x,x+=2  B.x++,2*x  C.x*=(1+x)  D.x*=x+1

37、某系统结构图如下图所示:

  

  该系统结构图中最大扇入是______。

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

38、VC6.0中int类型变量所占字节数是

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

39、以下程序的输出结果是______。

  #include<stdio.h>

  main()

  {intx,i;

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

  {x=i;

  if(++x%2==0)

  if(++x%3==0)

  if(++x%7==0)

  printf("%d",x);

  }

  printf("\n");

  }

  A.3981  B.4284  C.2668D.2870

40、若有语句typedefstructS{intg;charh;}T;,则下列叙述中正确的是______。

  A.可用S定义结构体变量  B.可用T定义结构体变量

  C.S是struct类型的变量  D.T是structS类型的变量

 

二、程序填空题

41、请补充函数proc(),该函数的功能是:

删去一维数组中所有相同的数,使之只剩一个。

数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。

  例如,若一维数组中的数据是:

11222344556667781010。

  删除后,数组中的内容应该是:

1234567810。

  注意:

部分源程序给出如下。

  请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。

  试题程序:

  #include<stdio.h>

  #defineM80

  intproc(intarr[],intn)

  {

  inti,t,j=0;

  t=arr[0];

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

  if(______)

  ;

  else

  {

  ______;

  t=arr[i];

  }

  arr[j++]=t;

  returnj;

  }

  voidmain()

  {

  intarr[M]={1,1,2,2,2,3,4,4,5,5,6,6,6,7,7,8,10,10},i,n=18;

  printf("Theoriginaldata:

\n");

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

  printf("%4d",arr[i]);

  n=proc(arr,n);

  printf("\n\nThedataafterdeleted;\n");

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

  printf("%4d",arr[i]);

  printf("\n");

  }

 

三、程序修改题

42、考生文件夹

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

判断ch中的字符是否与str所指串中的某个字符相同;若相同,什么也不做,若不同,则将其插在串的最后。

  请改正程序中的错误,使它能进行正确的操作。

  注意:

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

  #include<stdio.h>

  #include<string.h>

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

  voidfun(charstr,charch)

  {while(*str&&*str!

=ch)str++;

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

  if(*str==ch)

  { str[0]=ch;

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

  str[1]='0';

  }}

  main()

  { chars[81],c;

  printf("\nPleaseenterastring:

\n");gets(s);

  printf("\nPleaseenterthecharactertosearch:

");

  c=getchar();

  fun(s,c);

  printf("\nTheresultis%s\n",s);

  }

 

四、程序设计题

43、请编写函数proc(),它的功能是计算:

  s=(1-ln

(1)-ln

(2)-ln(3)-…-ln(m))2

  s作为函数值返回。

  在C语言中可调用log(n)函数求ln(n)。

log函数的引用说明是doublelog(doublex)。

  例如,若m的值为10,则proc()函数值为198.934454。

  注意:

部分源程序给出如下。

  请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。

  试题程序:

  #include<stdlib.h>

  #include<conio.h>

  #include<stdio.h>

  #include<math.h>

  doubleproc(intm)

  {

  }

  voidmain()

  {

  system("CLS");

  printf("%f\n",proc(10));

  }

 

答案:

一、选择题

1、C

[解析]C语言中可以使用typedef来重新定义已有的数据类型,相当于为数据类型取个别名。

2、A

[解析]循环判断语句为"(y!

=123)&&(x<4)",必须同时满足"y!

=123"和"x<4"这两个表达式,循环才会继续。

因此,当x=4时,循环终止,for循环共执行4次。

3、A

[解析]A选项为正确用法,先将字符串存于字符数组中,然后将数组名赋给字符指针(数组名代表数组首地址,定义数组时为其分配确定地址)。

C选项错误,getchar()函数只能输入一个字符给字符型变量,而不是字符指针。

B选项和D选项有类似的错误,两个选项并无语法错误,但运行时可能会出现问题。

因为在B选项和D选项中,字符指针没有被赋值,是个不确定的值,指向一个不确定的内存区域,这个区域可能存放有用

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

当前位置:首页 > 小学教育 > 其它课程

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

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