C语言真题类型整理版.docx

上传人:b****4 文档编号:4404583 上传时间:2023-05-07 格式:DOCX 页数:16 大小:19.88KB
下载 相关 举报
C语言真题类型整理版.docx_第1页
第1页 / 共16页
C语言真题类型整理版.docx_第2页
第2页 / 共16页
C语言真题类型整理版.docx_第3页
第3页 / 共16页
C语言真题类型整理版.docx_第4页
第4页 / 共16页
C语言真题类型整理版.docx_第5页
第5页 / 共16页
C语言真题类型整理版.docx_第6页
第6页 / 共16页
C语言真题类型整理版.docx_第7页
第7页 / 共16页
C语言真题类型整理版.docx_第8页
第8页 / 共16页
C语言真题类型整理版.docx_第9页
第9页 / 共16页
C语言真题类型整理版.docx_第10页
第10页 / 共16页
C语言真题类型整理版.docx_第11页
第11页 / 共16页
C语言真题类型整理版.docx_第12页
第12页 / 共16页
C语言真题类型整理版.docx_第13页
第13页 / 共16页
C语言真题类型整理版.docx_第14页
第14页 / 共16页
C语言真题类型整理版.docx_第15页
第15页 / 共16页
C语言真题类型整理版.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言真题类型整理版.docx

《C语言真题类型整理版.docx》由会员分享,可在线阅读,更多相关《C语言真题类型整理版.docx(16页珍藏版)》请在冰点文库上搜索。

C语言真题类型整理版.docx

C语言真题类型整理版

2011年3月计算机等级考试二级C语言笔试:

文字版

C语言部分试题按知识点分类如下:

知识点1:

程序设计基础知识

(11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是A(C基础)(11.3)

  A)C语言程序仅可以编译执行

  B)C语言程序仅可以解释执行

  C)C语言程序既可以编译执行又可以解释执行

  D)以上说法都不对

(12)以下叙述中错误的是D(C基础)(11.3)

  A)C语言的可执行程序是由一系列机器指令构成的

  B)用C语言编写的源程序不能直接在计算机上运行

  C)通过编译得到的二进制目标程序需要连接才可以运行

  D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件

知识点2:

常量和变量scanf函数

(13)以下选项中不能用作C程序合法常量的是A(合法常量)(11.3)

A)1,234B)'123'

C)123D)"\x7G"

(14)以下选项中可用作C程序合法实数的是A(合法实数)(11.3)

A).1e0B)3.0e0.2

C)E9D)9.12E

(16)有以下程序段A(scanf函数)(11.3)

  charname[20];

  intnum;

  scanf("name=%snum=%d",name;&num);

  当执行上述程序段,并从键盘输入:

name=Lilinum=1001<回车>后,name的值为

A)Lili

B)name=Lili

C)Lilinum=

D)name=Lilinum=1001

知识点3:

运算符与表达式

(15)若有定义语句:

inta=3,b=2,c=1;,以下选项中错误的赋值表达式是A(赋值语句)(11.3)

A)a=(b=4)=3;B)a=b=c+1;

C)a=(b=4)+c;D)a=1+(b=c=4);

(18)有以下程序

  #include

  main()

  {intx=011;

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

  }

  程序运行后的输出结果是C(自增运算和八进制)(11.3)

  A)12B)11C)10D)9

(6)以下程序运行后的输出结果是【6】。

3(强制转换)(11.3)

  #include

  main()

  {inta;

  a=(int)((double)(3/2)+0.5+(int)1.99*2);

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

  }

知识点4:

if语句

(7)有以下程序1217(if语句)(11.3)

  #include

  main()

  {intx;

  scanf("%d",&x);

  if(x>15)printf("%d",x-5);

  if(x>10)printf("%d",x);

  if(x>5)printf("%d\n",x+5);

  }

若程序运行时从键盘输入12<回车>,则输出结果为【7】。

(27)有以下程序D(if和else的配对原则)(11.3)

  #include

  main()

  {intx=1,y=0;

  if(!

x)y++;

  elseif(x==0)

  if(x)y+=2;

  elsey+=3;

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

  }

  程序运行后的输出结果是

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

(17)if语句的基本形式是:

if(表达式)语句,以下关于“表达式”值的叙述中正确的是D(if语句)(11.3)

A)必须是逻辑值B)必须是整数值

C)必须是正数D)可以是任意合法的数值

(10)以下程序运行后的输出结果是【10】。

200(if语句、复合语句)(11.3)

  #include

  main()

  {intx=10,y=20,t=0;

  if(x==y)t=x;x=y;y=t;

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

  }

 

知识点5:

switch语句 

正确性;

知识点6:

循环语句/switch语句/break/continue

(9)有以下函数4(条件表达式和for语句)(11.3)

  voidprt(charch,intn)

  {inti;

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

  printf(i%6!

=0?

"%c":

"%c\n",ch);

  }

执行调用语句prt('*',24);后,函数共输出了【9】行*号。

(26)有以下程序段C(循环的条件)(11.3)

  #include

  main()

  {…

  while(getchar()!

='\n');

  …

  }

  以下叙述中正确的是

A)此while语句将无限循环

B)getchar()不可以出现在while语句的条件表达式中

C)当执行此while语句时,只有不按回车键程序才能继续执行

D)当执行此while语句时,按任意键程序就能继续执行

(22)若i和k都是int类型变量,有以下for语句

  for(i=0,k=-1;k=1;k++)printf("*****\n");

  下面关于语句执行情况的叙述中正确的是D(for语句)(11.3)

 A)循环体执行两次

 B)循环体执行一次

 C)循环体一次也不执行

 D)构成无限循环

(23)有以下程序

  #include

  main()

  {charb,c;inti;

  b='a';c='A';

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

  {if(i%2)putchar(i+b);

  elseputchar(i+c);

  }

printf("\n");

  }

  程序运行后的输出结果是B(for语句)(11.3)

 A)ABCDEFB)AbCdEf

C)aBcDeFD)abcdef

(19)有以下程序B(while和switch、break语句)(11.3)

  #include

  main()

  {ints;

  scanf("%d",&s);

  while(s>0)

  {switch(s)

  {case1:

printf("%d",s+5);

  case2:

printf("%d",s+4);break;

  case3:

printf("%d",s+3);

  default:

printf("%d",s+1);break;

  }

  scanf("%d",&s);

  }

  }

  运行时,若输入123450<回车>,则输出结果是

  A)6566456B)66656

C)66666D)6666656

(20)有以下程序段D(switch、for、break、continue语句)(11.3)

  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);

  }

  以下关于程序段执行情况的叙述,正确的是

  A)for循环语句固定执行8次

  B)当产生的随机数n为4时结束循环操作

  C)当产生的随机数n为1和2时不做任何操作

  D)当产生的随机数n为0时结束程序运行

考点7:

嵌套和递归调用函数

(32)设有如下函数定义B(递归函数调用次数)(11.3)

  intfun(intk)

  {if(k<1)return0;

  elseif(k==1)return1;

  elsereturnfun(k-1)+1;

  }

  若执行调用语句:

n=fun(3);,则函数fun总共被调用的次数是

  A)2B)3C)4D)5

(33)有以下程序B(嵌套调用函数)(11.3)

  #include

  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)3B)6C)8D)12

考点8:

指针

1级指针的概念;指针数组/行指针定义区别;指针做函数参数

考点9:

一维数组

  (13)以下程序运行后的输出结果是【13】。

(一维数组)(11.3)13715

  #include

  main()

  {inti,n[5]={0};

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

  {n[i]==n[i-1]*2+1;printf("%d",n[i]);}

  printf("\n");

  }

(11)己知a所指的数组中有N个元素。

函数fun的功能是,将下标k(k>0)开始的后续元素全部向前移动一个位置。

请填空。

(一维数组)(11.3)i-1

  voidfun(inta[N],intk)

  {inti;

  for(i=k;i

  }

(24)设有定义:

doublex[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是C(指针与一维数组)(11.3)

  A)scanf("%f",&x[6]);B)scanf("%lf",*(x+6));

  C)scanf("%lf",p+6);D)scanf("%lf",p[6]);

(30)以下函数的功能是:

通过键盘输入数据,为数组中的所有元素赋值。

C(一维数组和指针)(11.3)

  #include

  #defineN10

  voidfun(intx[N])

  {inti=0;

  while(i

  }

  在程序中下划线处应填入的是

  A)x+iB)&x[i+1]

  C)x+(i++)D)&x[++i]

知识点10:

字符数组

(21)有以下程序B(字符数组)(11.3)

  #include

  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);

  }

  程序运行后的输出结果是

  A)0B)3C)7D)8

 (8)有以下程序(说明:

字符0的ASCII码值为48)09(数字字符转换)(11.3)

  #include

  main()

  {charc1,c2;

  scanf("%d",&c1);

  c2=c1+9;

  printf("%c%c\n",c1,c2);

  }

  若程序运行时从键盘输入48<回车>,则输出结果为【8】。

(31)有以下程序C(gets和scanf函数的区别)(11.3)

  #include

  main()

  {chara[30],b[30];

  scanf("%s",a);

  gets(b);

  printf("%s\n%s\n",a,b);

  }

  程序运行时若输入:

  howareyou?

Iamfine<回车>

  则输出结果是

  A)howareyou?

B)how

  B)Iamfineareyou?

Iamfine

  C)howareyou?

Iamfine

D)rowareyou?

(25)有以下程序(说明:

字母A的ASCII码值是65)D(函数、指针、字符数组)(11.3)

  #include

  voidfun(char*s)

  {while(*s)

  {if(*s%2)printf("%c",*s);

  s++;

  }

  }

  main()

  {chara[]="BYTE";

  fun(a);printf("\n");

  }

  程序运行后的输出结果是

  A)BYB)BTC)YTD)YE

(29)有以下程序C(字符数组和指针、函数)(11.3)

  #include

  voidfun(char*c)

  {while(*c)

  {if(*c>='a'&&*c<='z')*c=*c-('a'-'A');

  c++;

  }

  }

  main()

  {chars[81];

  gets(s);fun(s);puts(s):

  }

  当执行程序时从键盘上输入HelloBeijing<回车>,则程序的输出结果是

  A)hellobeijingB)HelloBeijing

C)HELLOBEIJINGD)ELLOBeijing

(14)以下程序运行后的输出结果是【14】。

(指针与字符串)(11.3)emoclew

  #include

  #include

  #include

  main()

  {char*p;inti;

  p=(char*)malloc(sizeof(char)*20);

  strcpy(p,"welcome");

  for(i=6;i>=0;i--)putchar(*(p+i));

  printf("\n-");free(p);

  }

 

知识点11:

静态存储变量

(34)有以下程序D(静态变量)(11.3)

  #include

  intfun()

  {staticintx=1;

  x*=2;

  returnx;

  }

  main()

  {inti,s=1;

  for(i=1;i<=3;i++)s*=fun();

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

  }

  程序运行后的输出结果是

A)0B)10C)30D)64

知识点12:

宏定义

(35)有以下程序B(带参宏替换)(11.3)

  #include

  #defineS(x)4*(x)*x+1

  main()

  {intk=5,j=2;

  printf("%d\n",S(k+j));

  }

  程序运行后的输出结果是

A)197B)143C)33D)28

知识点13:

结构体类型

(36)设有定义:

struct{charmark[12];intnum1;doublenum2;}t1,t2;,若变量均已正确赋初值,则以下语句中错误的是C(结构体)(11.3)

  A)t1=t2;B)t2.num1=t1.num1;

  C)t2.mark=t1.mark;D)t2.num2=t1.num2;

(37)有以下程序D(结构体与指针)(11.3)

  #include

  structord

  {intx,y;}dt[2]={1,2,3,4};

  main()

  {

  structord*p=dt;

  printf("%d,",++(p->x));printf("%d\n",++(p->y));

  }

  程序运行后的输出结果是

  A)1,2B)4,1C)3,4D)2,3

(38)有以下程序D(结构体与变量)(11.3)

  #include

  structS

  {inta,b;}data[2]={10,100,20,200};

  main()

  {structSp=data[1];

  printf("%d\n",++(p.a));

  }

  程序运行后的输出结果是

  A)10B)11C)20D)21

知识点14:

位运算符

(39)有以下程序C(位运算符)(11.3)

  #include

  main()

  {unsignedchara=8,c;

  c=a>>3;

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

  }

  程序运行后的输出结果是

  A)32B)16C)1D)0

知识点15:

二维数组

(28)若有定义语句:

chars[3][10],(*k)[3],*p;,则以下赋值语句正确的是C(二维数组和指针)(11.3)

  A)p=s;B)p=k;C)p=s[0];D)k=s;

知识点16:

文件

(40)设fp已定义,执行语句fp=fopen("file","w");后,以下针对文本文件file操作叙述的选项中正确的是B(文件读写函数)(11.3)

A)写操作结束后可以从头开始读B)只能写不能读

C)可以在原有内容后追加写D)可以随意读和写

(12)有以下程序,请在【12】处填写正确语句,使程序可正常编译运行。

(库函数头文件)(11.3)

#include  

【12】;

  main()

  {doublex,y,(*p)();

  scanf("%lf%lf",&x,&y);

  p=avg;

  printf("%f\n",(*p)(x,y));

  }

  doubleavg(doublea,doubleb)

  {return((a+b)/2);}

(15)以下程序运行后的输出结果是【15】。

(文件)(11.3)123456

  #include

  main()

  {FILE*fp;intx[6]={1,2,3,4,5,6},i;

  fp=fopen("test.dat","wb");

  fwrite(x,sizeof(int),3,fp);

  rewind(fp);

  fread(x,sizeof(int),3,fp);

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

  printf("\n");

  fclose(fp);

}

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

当前位置:首页 > 自然科学 > 物理

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

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