为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 年3月计算机二级C语言题库选择题

年3月计算机二级C语言题库选择题

2020-06-30 39页 doc 159KB 0阅读

用户头像 个人认证

DNSJDS

暂无简介

举报
年3月计算机二级C语言题库选择题1.程序流程图中带有箭头的线段表示的是( C )。A)图元关系B)数据流C)控制流D)调用关系2.结构化程序设计的基本原则不包括( A )。A)多态性B)自顶向下C)模块化D)逐步求精3.软件设计中模块划分应遵循的准则是( B )。A)低内聚低耦合B)高内聚低耦合C)低内聚高耦合D)高内聚高耦合4.在软件开发中,需求分析阶段产生的主要文档是( B )。A)可行性分析报告B)软件需求规格说明书C)概要设计说明书D)集成测试计划5.算法的有穷性是指( A )。A)算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的C)算法...
年3月计算机二级C语言题库选择题
1.程序流程图中带有箭头的线段示的是( C )。A)图元关系B)数据流C)控制流D)调用关系2.结构化程序设计的基本原则不包括( A )。A)多态性B)自顶向下C)模块化D)逐步求精3.软件设计中模块划分应遵循的准则是( B )。A)低内聚低耦合B)高内聚低耦合C)低内聚高耦合D)高内聚高耦合4.在软件开发中,需求分析阶段产生的主要文档是( B )。A)可行性分析报告B)软件需求规格说明C)概要设计说明书D)集成测试计划5.算法的有穷性是指( A )。A)算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的C)算法程序的长度是有限的D)算法只能被有限的用户使用6.对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是( D )。A)快速排序B)冒泡排序C)直接插入排序D)堆排序7.下列关于栈的叙述正确的是( B )。A)栈按"先进先出"组织数据B)栈按"先进后出"组织数据C)只能在栈底插入数据D)不能删除数据8.在数据库设计中,将E-R图转换成关系数据模型的过程属于( C )。A)需求分析阶段B)概念设计阶段C)逻辑设计阶段D)物理设计阶段9.有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为( D )。A)并B)自然连接C)笛卡尔积D)交10.设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为( C )。A)课号,成绩B)学号,成绩C)学号,课号D)学号,姓名,成绩11.以下叙述中错误的是( A )。A)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令B)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D)C语言源程序经编译后生成后缀为.obj的目标程序12.以下选项中,合法的一组C语言数值常量是( A )。A)12. 0Xa23 4.5e0B)028 .5e-3 -0xfC).177 4e1.5 0abcD)0x8A 10,000 3.e513.以下选项中不合法的标识符是( A )。A)&aB)FORC)printD) 0014.若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是( A )。A)sqrt(fabs(pow(n,x)+exp(x)))B)sqrt(fabs(pow(n,x)+pow(x,e)))C)sqrt(abs(n^x+e^x))D)sqrt(fabs(pow(x,n)+exp(x)))15.若有定义:doublea=22;inti=0,k=18;,则不符合C语言规定的赋值语句是( B )A)i=(a+k)<=(i+k);B)i=a%11;C)a=a++,i++D)i=!a;16.有以下程序:#include<stdio.h>main(){ ints,t,A=10;doubleB=6;  s=sizeof(A);t=sizeof(B);  printf("%d,%d\n",s,t);}在VC6.0平台上编译运行,程序运行后的输出结果是( D )。A)10,6B)4,4C)2,4D)4,817.有以下程序:#include<stdio.h>main(){ chara,b,c,d;  scanf("%c%c",&a,&b);  c=getchar();d=getchar();  printf("%c%c%c%c\n",a,b,c,d);}当执行程序时,按下列方式输入数据(从第1列开始,<CR>代表回车,注意:回车也是一个字符)12<CR>34<CR>则输出结果是( D )。A)1234B)12C)1234D)12318.下关于逻辑运算符两侧运算对象的叙述中正确的是( A )。A)可以是任意合法的表达式B)只能是整数0或非0整数C)可以是结构体类型的数据D)只能是整数0或119.有以下程序:#include<stdio.h>main(){ inta=0,b=0,c=0,d=0;  if(a=1)b=1;c=2;  elsed=3;  printf("%d,%d,%d,%d\n",a,b,c,d);}程序输出( C )。A)1,1,2,0B)0,0,0,3C)编译有错D)0,1,2,020.有以下程序:#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);}程序的运行结果是( B )。A)a=2,b=2B)a=2,b=1C)a=1,b=1D)a=1,b=021.以下程序段中的变量已正确定义:    for(i=0;i<4;i++,i++)      for(k=1;k<3;k++);printf("*");程序段的输出结果是( C )。A)**B)****C)*D)********22.有以下程序段:#include<stdio.h>inti,n;for(i=0;i<8;i++){  n=rand()%5;  switch(n)  { case1:case3:printf("%d\n",n);break;case2:case4:printf("%d\n",n);continue;case0:exit(0);  }  printf("%d\n",n);}以下关于程序段执行情况的叙述,正确的是( D )。A)for循环语句固定执行8次B)当产生的随机数n为4时结束循环操作C)当产生的随机数n为1和2时不做任何操作D)当产生的随机数n为0时结束程序运行23.有以下程序:#include<stdio.h>intf(intx);main(){intn=1,m; m=f(f(f(n)));printf("%d\n",m);}intf(intx){returnx*2;}程序运行后的输出结果是( A )。A)8B)2C)4D)124.以下叙述中错误的是( A )。A)可以给指针变量赋一个整数作为地址值B)函数可以返回地址值C)改变函数形参的值,不会改变对应实参的值D)当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULL25.设已有定义:floatx;,则以下对指针变量p进行定义且赋初值的语句中正确的是( B )。A)int*p=(float)x;B)float*p=&x;C)floatp=&x;D)float*p=1024;26.以下数组定义中错误的是( D )。A)intx[2][3]={1,2,3,4,5,6};B)intx[][3]={0};C)intx[][3]={{1,2,3},{4,5,6}};D)intx[2][3]={{1,2},{3,4},{5,6}};27.有以下程序:#include<stdio.h>voidfun(inta[],intn){ inti,t;  for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){ intk[10]={1,2,3,4,5,6,7,8,9,10},i;  fun(k,5);  for(i=2;i<8;i++)printf("%d",k[i]);  printf("\n");}程序的运行结果是( A )。A)321678B)876543C)1098765D)34567828.有以下程序:#include<stdio.h>#defineN4voidfun(inta[][N],intb[]){ inti; for(i=0;i<N;i++)b[i]=a[i][i]-a[i][N-1-i];}main(){ intx[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],i; fun(x,y); for(i=0;i<N;i++)printf("%d,",y[i]);printf("\n");}程序运行后的输出结果是( A )。A)-3,-1,1,3,B)-12,-3,0,0,C)0,1,2,3,D)-3,-3,-3,-3,29.设有定义:chars[81];inti=0;,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是( C )。A)gets(s);B)while((s[i++]=getchar())!='\n');s[i]='\0';C)scanf("%s",s);D)do{scanf("%c",&s[i]);}while(s[i++]!='\n');s[i]='\0';30.设有定义:charp[]={'1','2','3'},*q=p;,以下不能计算出一个char型数据所占字节数的表达式是( A )。A)sizeof(p)B)sizeof(char)C)sizeof(*q)D)sizeof(p[0])31.有以下程序:#include<stdio.h>#include<string.h>main(){ charstr[][20]={"One*World","One*Dream!"},*p=str[1]; printf("%d,",strlen(p));printf("%s\n",p);}程序运行后的输出结果是( A )。A)10,One*Dream!B)9,One*Dream!C)9,One*WorldD)10,One*World32.有以下程序:#include<stdio.h>main(){ chars[]="012xy\08s34f4w2";  inti,n=0;  for(i=0;s[i]!=0;i++)    if(s[i]>='0'&&s[i]<='9')n++;  printf("%d\n",n);}程序运行后的输出结果是( B )。A)0B)3C)7D)833.有以下程序:#include<stdio.h>fun(intx,inty){staticintm=0,i=2; i+=m+1;m=i+x+y;returnm;}main(){intj=1,m=1,k; k=fun(j,m);printf("%d,",k); k=fun(j,m);printf("%d\n",k);}执行后的输出结果是( A )。A)5,11B)5,5C)11,11D)11,534.在C语言中,只有在使用时才占用内存单元的变量,其存储类型是( C )。A)auto和staticB)extern和registerC)auto和registerD)static和register35.下面结构体的定义语句中,错误的是( A )。A)structord{intx;inty;intz;}structorda;B)structord{intx;inty;intz;};structorda;C)structord{intx;inty;intz;}a;D)struct{intx;inty;intz;}a;36.有以下程序:#include<stdio.h>typedefstruct{intb,p;}A;voidf(Ac)/*注意:c是结构变量名*/{intj; c.b+=1;c.p+=2;}main(){inti; Aa={1,2}; f(a); printf("%d,%d\n",a.b,a.p);}程序运行后的输出结果是( B )。A)2,4B)1,2C)1,4D)2,337.以下叙述中正确的是( A )。A)在C语言中,预处理命令行都以"#"开头B)预处理命令行必须位于C源程序的起始位置C)#include<stdio.h>必须放在C程序的开头D)C语言的预处理不能实现宏定义和条件编译的功能38.有以下程序:#include<stdio.h>#include<stdlib.h>intfun(intn){ int*p;  p=(int*)malloc(sizeof(int));  *p=n;return*p;}main(){ inta;  a=fun(10);printf("%d\n",a+fun(10));}程序的运行结果是( C )。A)0B)10C)20D)出错39.有以下程序:#include<stdio.h>main(){ unsignedchara=8,c;  c=a>>3;  printf("%d\n",c);}程序运行后的输出结果是( B )。A)16B)1C)32D)040.读取二进制文件的函数调用形式为:fread(buffer,size,count,fp);,其中buffer代表的是( D )。A)一个内存块的字节数B)一个整型变量,代表待读取的数据的字节数C)一个文件指针,指向待读取的文件D)一个内存块的首地址,代表读入数据存放的地址11.下列叙述中错误的是( B )。A)C程序可以由多个程序文件组成B)一个C语言程序只能实现一种算法C)C程序可以由一个或多个函数组成D)一个C函数可以单独作为一个C程序文件存在12.以下选项中,能用作数据常量的是( A )。A)115LB)0118C)1.5e1.5D)o11513.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( D )。A)大写字母B)下划线C)数字字符D)连接符14.设变量已正确定义并赋值,以下正确的表达式是( A )。A)x=y+z+5,++yB)int(15.8%5)C)x=y*5=x+zD)x=25%5.015.设有定义:intx=2;,以下表达式中,值不为6的是( A )。A)2*x,x+=2B)x++,2*xC)x*=(1+x)D)x*=x+116.有以下程序:#include<stdio.h>main(){ intx,y,z; x=y=1; z=x++,y++,++y; printf("%d,%d,%d\n",x,y,z);}程序运行后的输出结果是( C )。A)2,3,3B)2,3,2C)2,3,1D)2,2,117.有以下程序:#include<stdio.h>main(){ charc1,c2;  c1='A'+'8'-'4';  c2='A'+'8'-'5';  printf("%c,%d\n",c1,c2);}已知字母A的ASCII码为65,程序运行后的输出结果是( A )。A)E,68B)D,69C)E,DD)输出无定值18.若有定义intx,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++):(y++)中的条件表达式(x-y)等价的是( A )。A)(x-y<0||x-y>0)B)(x-y<0)C)(x-y>0)D)(x-y==0)19.有以下程序:#include<stdio.h>main(){ intx=1,y=0;  if(!x)y++;  elseif(x==0)      if(x)y+=2;      elsey+=3;  printf("%d\n",y);}程序运行后的输出结果是( D )。A)3B)2C)1D)020.若有定义:floatx=1.5;inta=1,b=3,c=2;则正确的switch语句是( A )。A)switch(a+b){case1:printf("*\n"); case2+1:printf("**\n");}B)switch((int)x);{case1:printf("*\n"); case2:printf("**\n");}C)switch(x){case1.0:printf("*\n"); case2.0:printf("**\n");}D)switch(a+b){case1:printf("*\n"); casec:printf("**\n");}21.有以下程序:#include<stdio.h>main(){ inty=9;  for(;y>0;y--)    if(y%3==0)printf("%d",--y);}程序的运行结果是( A )。A)852B)963C)741D)87542122.有以下程序:#include<stdio.h>main(){  inti,j,m=1;  for(i=1;i<3;i++)  { for(j=3;j>0;j--)    {if(i*j>3)break;     m*=i*j;    }  }  printf("m=%d\n",m);}程序运行后的输出结果是( C )。A)m=4B)m=2C)m=6D)m=523.有以下程序:#include<stdio.h>intfun(intx,inty){ if(x!=y)return((x+y)/2); elsereturn(x);}main(){ inta=4,b=5,c=6; printf("%d\n",fun(2*a,fun(b,c)));(A)}A)6B)3C)8D)1224.有以下程序:#include<stdio.h>intadd(inta,intb){return(a+b);}main(){intk,(*f)(),a=5,b=10; f=add; …}则以下函数调用语句错误的是( D )。A)k=f(a,b);B)k=add(a,b);C)k=(*f)(a,b);D)k=*f(a,b);25.有以下程序:#include<stdio.h>main(){intn,*p=NULL; *p=&n; printf("Inputn:");scanf("%d",&p);printf("outputn:");printf("%d\n",p);}该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是( A )A)intn,*p=NULL;B)*p=&n;C)scanf("%d",&p)D)printf("%d\n",p);26.下列定义数组的语句中,正确的是( A )。A)#defineN10intx[N];B)intN=10;intx[N];C)intx[0..10];D)intx[];27.有以下程序:#include<stdio.h>main(){ inta[]={2,3,5,4},i;  for(i=0;i<4;i++)    switch(i%2)    {case0:switch(a[i]%2)      { case0:a[i]++;break;        case1:a[i]--;       }break;     case1:a[i]=0;    }  for(i=0;i<4;i++)printf("%d",a[i]);printf("\n");}程序运行后的输出结果是( D )。A)0304B)2050C)3344D)304028.有以下程序:#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=i;j<=i;j++)t+=b[i][b[j][i]];  printf("%d\n",t);}程序运行后的输出结果是( B )。A)3B)4C)1D)929.以下语句中存在语法错误的是( A )。A)charss[6][20];ss[1]="right?";B)charss()[20]={"right?"};C)char*ss[6];ss[1]="right?";D)char*ss()={"right?"};30.以下不能将s所指字符串正确复制到t所指存储空间的是( A )A)do{*t++=*s++;}while(*s);B)for(i=0;t[i]=s[i];i++);C)while(*t=*s){t++;s++}D)for(i=0,j=0;t[i++]=s[j++];);31.有以下程序:#include<stdio.h>voidswap(char*x,char*y){chart;t=*x;*x=*y;*y=t;}main(){char*s1="abc",*s2="123";swap(s1,s2);printf("%s,%s\n",s1,s2);}程序执行后的输出结果是( D )。A)321,cbaB)abc,123C)123,abcD)1bc,a2332.有以下函数:intfun(char*x,char*y){ intn=0;  while((*x==*y)&&*x!='\0'){x++;y++;n++;}  returnn;}函数的功能是( C )。A)将y所指字符串赋给x所指存储空间B)查找x和y所指字符串中是否有'\0'C)统计x和y所指字符串中最前面连续相同的字符个数D)统计x和y所指字符串中相同的字符个数33.有以下程序:#include<stdio.h>intfun(){ staticintx=1;  x*=2;  returnx;}main(){ inti,s=1;  for(i=1;i<=3;i++)s*=fun();  printf("%d\n",s);}程序运行后的输出结果是( B )。A)10B)30C)0D)6434.在一个C源程序文件中所定义的全局变量,其作用域为( A )。A)由具体定义位置和extern说明来决定范围B)所在程序的全部范围C)所在函数的全部范围D)所在文件的全部范围35.以下叙述中错误的是( A )。A)可以通过typedef增加新的类型B)可以用typedef将已存在的类型用一个新的名字来代表C)用typedef定义新的类型名后,原有类型名仍有效D)用typedef可以为各种类型起别名,但不能为变量起别名36.有以下程序:#include<stdio.h>structS{ inta,b;}data[2]={10,100,20,200};main(){ structSp=data[1]; printf("%d\n",++(p.a));}程序运行后的输出结果是( D )。A)10B)11C)20D)2137.有以下程序:#include<stdio.h>#definePT3.5;#defineS(x)PT*x*x;main(){ inta=1,b=2;printf("%4.1f\n",S(a+b));}程序运行后的输出结果是( C )。A)7.5B)31.5C)程序有错无输出结果D)14.038.有以下程序:#include<stdio.h>main(){unsignedchara=2,b=4,c=5,d;d=a|b;d&=c;printf("%d\n",d);}程序运行后的输出结果是( B )。A)3B)4C)5D)639.有以下程序:#include<stdio.h>#include<stdlib.h>main(){int*a,*b,*c;a=b=c=(int*)malloc(sizeof(int));*a=1;*b=2,*c=3;a=b;printf("%d,%d,%d\n",*a,*b,*c);}程序运行后的输出结果是( D )。A)1,1,3B)2,2,3C)1,2,3D)3,3,340.以下叙述中正确的是( A )。A)当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失B)打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖C)在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据D)C语言中的文件是流式文件,因此只能顺序存取数据11.以下叙述中错误的是( A )。A)使用三种基本结构构成的程序只能解决简单问题B)结构化程序由顺序、分支、循环三种基本结构组成C)C语言是一种结构化程序设计语言D)结构化程序设计提倡模块化的设计方法12.以下四个程序中,完全正确的是( B )。A)#include<stdio.h>main();{/*/programming/*/printf("programming!\n");}B)#include<stdio.h>main(){/*programming*/printf("programming!\n");}C)#include<stdio.h>main(){/*/*programming*/*/printf("programming!\n");}D)include<stdio.h>main(){/*programming*/printf("programming!\n");}13.C源程序中不能表示的数制是( D )。A)十六进制B)八进制C)十进制D)二进制14.以下选项中,能用作用户标识符的是( A )。A) 0 B)8 8C)voidD)unsigned15.若有定义语句:intx=10;,则表达式x-=x+x的值为( C )。A)0B)-20C)-10D)1016.有以下程序:#include<stdio.h>main(){ inta=1,b=0;  printf("%d,",b=a+b);  printf("%d\n",a=2*b);(A)A)1,2B)1,0C)3,2D)0,017.有以下程序:#include<stdio.h>main(){  inta1,a2;charc1,c2;  scanf("%d%c%d%c",&a1,&c1,&a2,&c2);  printf("%d,%c,%d,%c",a1,c1,a2,c2);}若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b则正确的输入格式是(以下代表空格,<CR>代表回车)( D )。A)12a34b<CR>B)12a34]b<CR>C)12,a,34,b<CR>D)12a34b<CR>18.若变量已正确定义,在if(W)printf("%d\n",k);中,以下不可替代W的是( A )。A)a<>b+cB)ch=getchar()C)a==b+cD)a++19.有以下程序段:#include<stdio.h>inta,b,c;a=10;b=50;c=30;if(a>b)a=b,b=c;c=a;printf("a=%db=%dc=%d\n",a,b,c);程序的输出结果是( B )。A)a=10b=50c=30B)a=10b=50c=10C)a=10b=30c=10D)a=50b=30c=5020.下列叙述中正确的是( A )。A)在switch语句中,不一定使用break语句B)在switch语句中必须使用defaultC)break语句必须与switch语句中的case配对使用D)break语句只能用于switch语句21.以下不构成无限循环的语句或语句组是( A )。A)n=0;do{++n;}while(n<=0);B)n=0;while(1){n++;}C)n=10;while(n);{n--;}D)for(n=0,i=1;;i++)n+=i;22.有以下程序:#include<stdio.h>main(){ intc=0,k;  for(k=1;k<3;k++)    switch(k)    {default:c+=k;case2:c++;break;case4:c+=2;break;    }  printf("%d\n",c);}程序运行后的输出结果是( C )。A)7B)5C)3D)923.有以下程序:#include<stdio.h>intf(intx,inty){return((y-x)*x);}main(){inta=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf("%d\n",d);}程序运行后的输出结果是( D )。A)7B)10C)8D)924.若有定义语句:doublea,*p=&a;以下叙述中错误的是( A )。A)定义语句中的*号是一个间址运算符B)定义语句中的*号是一个说明符C)定义语句中的p只能存放double类型变量的地址D)定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p25.若有定义语句:doublex,y,*px,*py;执行了px=&x;py=&y;之后,正确的输入语句是( A )。A)scanf("%lf%le",px,py);B)scanf("%f%f"&x,&y);C)scanf("%f%f",x,y);D)scanf("%lf%lf",x,y);26.以下定义数组的语句中错误的是( B )。A)intnum[][3]={{1,2},3,4,5,6};B)intnum[2][4]={{1,2},{3,4},{5,6}};C)intnum[]={1,2,3,4,5,6};D)intnum[][4]={1,2,3,4,5,6};27.有以下程序:#include<stdio.h>voidfun(inta,intb){ intt;  t=a;a=b;b=t;}main(){ intc[10]={1,2,3,4,5,6,7,8,9,0},i;  for(i=0;i<10;i+=2)fun(c[i],c[i+1]);  for(i=0;i<10;i++)printf("%d,",c[i]);  printf("\n");}程序的运行结果是( A )。A)1,2,3,4,5,6,7,8,9,0,B)2,1,4,3,6,5,8,7,0,9,C)0,9,8,7,6,5,4,3,2,1,D)0,1,2,3,4,5,6,7,8,9,28.有以下程序:#include<stdio.h>main(){intx[3][2]={0},i;for(i=0;i<3;i++)scanf("%d",x[i]);printf("%3d%3d%3d\n",x[0][0],x[0][1],x[1][0]);}若运行时输入:246<回车>,则输出结果为( A )。A)204B)200C)240D)24629.有以下程序段:#include<stdio.h>intj;floaty;charname[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入555667777abc后,y的值为( A )。A)566.0B)55566.0C)7777.0D)566777.030.下列语句组中,正确的是( A )。A)char*s;s="Olympic";B)chars[7];s="Olympic";C)char*s;s={"Olympic"};D)chars[7];s={"Olympic"};31.有以下函数:intfun(char*s){char*t=s;while(*t++);return(t-s);}该函数的功能是( C )A)计算s所指字符串的长度B)比较两个字符串的大小C)计算s所指字符串占用内存字节的个数D)将s所指字符串复制到字符串t中32.有以下程序(注:字符a的ASCII码值为97):#include<stdio.h>main(){ char*s={"abc"};  do  { printf("%d",*s%10);++s;}  while(*s);}程序运行后的输出结果是( A )。A)789B)abcC)7890D)97989933.设有如下函数定义:#include<stdio.h>intfun(intk){ if(k<1)return0;  elseif(k==1)return1;  elsereturnfun(k-1)+1;}若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是( B )。A)2B)3C)4D)534.有以下程序:#include<stdio.h>intf(intn);main(){ inta=3,s;  s=f(a);s=s+f(a);printf("%d\n",s);}intf(intn){ staticinta=1;  n+=a++;  returnn;}程序运行后的输出结果是( A )。A)9B)8C)7D)1035.设有定义:structcomplex{ intreal,unreal;}data1={1,8},data2;则以下赋值语句中错误的是( A )。A)data2=(2,6);B)data2=data1;C)data2.real=data1.real;D)data2.real=data1.unreal;36.有以下程序:#include<stdio.h>structS{intn;inta[20];};voidf(structS*p){inti,j,t;for(i=0;i<p->n-1;i++)  for(j=i+1;j<p->n;j++)    if(p->a[i]>p->a[j]){ t=p->a[i];p->a[i]=p->a[j];p->a[j]=t;}}main(){inti;structSs={10,{2,3,1,6,8,7,5,4,10,9}};f(&s);for(i=0;i<s.n;i++)printf("%d,",s.a[i]);}程序运行后的输出结果是( C )。A)2,3,1,6,8,7,5,4,10,9,B)10,9,8,7,6,5,4,3,2,1,C)1,2,3,4,5,6,7,8,9,10,D)10,9,8,7,6,1,2,3,4,5,37.有以下程序:#include<stdio.h>#include<string.h>typedefstruct{charname[9];charsex;intscore[2];}STU;STUf(STUa){ STUb={"Zhao",'m',85,90};  inti;  strcpy(a.name,b.name);  a.sex=b.sex;  for(i=0;i<2;i++)a.score[i]=b.score[i];  returna;}main(){ STUc={"Qian",'f',95,92},d;  d=f(c);  printf("%s,%c,%d,%d,",d.name,d.sex,d.score[0],d.score[1]);  printf("%s,%c,%d,%d\n",c.name,c.sex,c.score[0],c.score[1]);}程序运行后的输出结果是( A )。A)Zhao,m,85,90,Qian,f,95,92B)Zhao,m,85,90,Zhao,m,85,90C)Qian,f,95,92,Qian,f,95,92D)Qian,f,95,92,Zhao,m,85,9038.以下关于宏的叙述中正确的是( A )。A)宏替换没有数据类型限制B)宏定义必须位于源程序中所有语句之前C)宏名必须用大写字母表示D)宏调用比函数调用耗费时间39.设有以下语句:inta=1,b=2,c;c=a^(b<<2);执行后,c的值为( B )。A)7B)9C)8D)640.有以下程序:#include<stdio.h>main(){ FILE*fp;inta[10]={1,2,3},i,n;  fp=fopen("d1.dat","w");  for(i=0;i<3;i++)fprintf(fp,"%d",a[i]);  fprintf(fp,"\n");  fclose(fp);  fp=fopen("d1.dat","r");  fscanf(fp,"%d",&n);  fclose(fp);  printf("%d\n",n);}程序的运行结果是( D )。A)321B)12300C)1D)12311.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是( A )。A)C语言程序仅可以编译执行B)C语言程序仅可以解释执行C)C语言程序既可以编译执行又可以解释执行D)以上说法都不对12.以下叙述中错误的是( A )。A)用户所定义的标识符允许使用关键字B)用户所定义的标识符应尽量做到"见名识意"C)用户所定义的标识符中,大、小写字母代表不同标识D)用户所定义的标识符必须以字母或下划线开头13.若有说明语句:charc='\72';则变量c( A )。A)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不确定14.现有定义inta;doubleb;floatc;chark;,则表达式a/b+c-k值的类型为( B )。A)intB)doubleC)floatD)char15.以下定义语句中正确的是( B )。A)inta=b=0;B)charA=65+1,b=′b′;C)floata=1,*b=&a,*c=&b;D)doublea=0.0;b=1.116.若在定义语句inta,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是( D )。A)scanf("%d",a,b,c);B)scanf("%d%d%d",a,b,c);C)scanf("%d",&p);D)scanf("%d",p);17.以下程序的运行结果是( B )。intk=0;voidfun(intm){ m+=k;k+=m;printf("m=%dk=%d",m,k++);}main(){ inti=4;fun(i++);printf("i=%dk=%d\n",i,k);}A)m=4 k=5 i=5 k=5B)m=4 k=4 i=5 k=5C)m=4 k=4 i=4 k=5D)m=4 k=5 i=4 k=518.在执行下述程序时,若从键盘输入6和8,则结果为( B )。main(){ inta,b,s;scanf("%d%d",&a,&b);s=a;if(a<b)s=b;s*=s;printf("%d",s);}A)36B)64C)48D)以上都不对19.有以下程序:main(){ intk=5,n=0;while(k>0){switch(k){default:break;case1:n+=k;case2:case3:n+=k;}k--;}printf("%d\n",n);}程序运行后的输出结果是( D )。A)0B)4C)6D)720.有以下程序:#include<stdio.h>main(){intx;scanf("%d",&x);if(x<=3);elseif(x!=10)printf("%d\n",x);}程序运行时,输入的值在哪个范围才会有输出结果( B )。A)不等于10的整数B)大于3且不等10的整数C)大于3或等于10的整数D)小于3的整数21.有以下程序:#include<stdio.h>main(){inta=1,b=0;printf("%d,",b=a+b);printf("%d\n",a=2*b)}程序运行后的输出结果是( D )。A)0,0B)1,0C)3,2D)1,222.有以下程序:main(){intnum[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j;for(i=0;i<4;i++){for(j=0;j<=i;j++)printf("%4c",'');for(j=    ;j<4;j++)printf("%4d",num[i][j]);printf("\n");}}若要按以下形式输出数组右上半三角1 2 34 6 7 8  1112    16则在程序下划线处应填入的语句是( C )。A)i-1B)i+1C)iD)4-i23.以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是( A )。A)if((a>b)&&(b>c))k=1;elsek=0;B)if((a>b)‖(b>c))k=1;elsek=0;C)if(a<=b)k=0;elseif(b<=c)k=1;D)if(a>b)k=1;elseif(b>c)k=1;elsek=0;24.有以下程序:voidss(char*s,chart){ while(*s){ if(*s==t)*s=t-a+A;s++;}}main(){ charstr1[100]="abcddfefdbd",c=d;ss(str1,c);printf("%s\n",str1);}程序运行后的输出结果是( B )。A)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd25.现有如下程序段:#include"stdio.h"main(){ intk[30]={12,324,45,6,768,98,21,34,453,456};intcount=0,i=0;while(k[i]){ if(k[i]%2==0||k[i]%5==0)count++;i++;}printf("%d,%d\n",count,i);}则程序段的输出结果为( D )。A)7,8B)8,8C)7,10D)8,1026.以下程序运行后的输出结果是( D )。#include<string.h>voidf(char*s,char*t){chark;k=*s;*s=*t;*t=k;s++;t--;if(*s)f(s,t);}main(){charstr[10]="welcome",*p;p=str+strlen(str)/2+1;f(p,p-2);printf("%s\n",str);}A)eelcomwB)weoclmeC)welcomeD)emoclew27.设有如下程序段:intx=2004,y=2008;printf("%d\n",(x,y));则以下叙述中正确的是(B)A)输出值为2004B)输出值为2008C)运行时产生出错信息D)输出语句中格式说明符的个数少于输出项的个数,不能正确输出28.有以下程序:#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 )。A)b,B,b,AB)b,B,B,AC)a,B,B,aD)a,B,a,B29.有以下程序:#include<stdio.h>#include<string.h>main(){chara[10]="abcd";printf("%d,%d\n",strlen(a),sizeof(a));}程序运行后的输出结果是( B )。A
/
本文档为【年3月计算机二级C语言题库选择题】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索