计算机二级考试习题练习

2014计算机二级《C语言程序设计》全真测试(1)
1题:若已定义:inta[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为( )。
A.p+1
B.a+1
C.a++
D.++p
【单选题】:      

2题:下面的变量说明中__________是正确的。
A.char:a,b,c;
B.chara;b;c;
C.chara,b,c;
D.chara,b,c
【单选题】:      

3题:定义如下变量和数组:inti;intx[3][3]={1,2,3,4,5,6,7,8,9};
则语句for(i=0;i<3;i++)printf("%d",x[i][2-i]);的输出结果是( )。
A.159
B.147
C.357
D.369
【单选题】:      

4题:设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为( )。
A.P+i*2
B.P+(i-1)*2
C.P+(i-1)
D.P+i
【单选题】:      

5题:以下对二维数组a进行正确初始化的是( )
A.inta[2][3]={{1,2},{3,4},{5,6}};
B.inta[][3]={1,2,3,4,5,6};
C.inta[2][]={1,2,3,4,5,6};
D.inta[2][]={{1,2},{3,4}};
【单选题】:      

6题:main()
{intn;(n=6*4,n+6),n*2;printf(“n=%d\n”,n);}
此程序的输出结果是______________.
A.30
B.24
C.60
D.48
【单选题】:      

7题:C语言中以只读方式打开一个文件应选择_______________参数。
A.“r”
B.“w”
C.“rb”
D.“a”
【单选题】:      

8题: 下列描述中不正确的是( )。
A. 字符型数组中可能存放字符串。
B. 可以对字符型数组进行整体输入、输出。
C. 可以对整型数组进行整体输入、输出。
D. 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。




&nBsp;
【单选题】:      

9题:出下列标识符中不是合法的标识符的是( )。
A.hot_do
B.cat1
C._pri
D.2ab
【单选题】:      

10题:若有如下定义,则__________是对数组元素的正确的引用。
inta[10],*p;p=a;
A.*&a[10]
B.a[11]
C.*(p+11)
D.*p*p*p
【单选题】:      

11题:读出以下语句的输出结果是( )。
  intx=10,y=10;
  printf(“%d%d\n”,x--,--y);
A.1010
B.99
C.910
D.109
【单选题】:      

12题:下列程序执行后输出的结果是( )。
  intd=1;
  fun(intp)
  {intd=5;
  d+=p++;
  printf("%d,",d);}
  main( )
  {inta=3;
  fun(a);
  d+=a++;
  printf("%d\n",d);}
A.8,4
B.9,6
C.9,4
D.8,5
【单选题】:      

13题: 为了避免嵌套的条件分支语句iF—ElsE 的二义性,C语言规定:C程序中的ElsE总是与_____组成配对关系。
A. 缩排位置相同的iF
B. 在其之前未配对的iF
C. 在其之前未配对的最近的iF
D. 同一行上的iF


【单选题】:      

14题:不能把字符串:Hello!赋给数组b的语句是( )。
A.charb[10]={’H’,’e’,’l’,’l’,’o’,’!’};
B.charb[10];b="Hello!";
C.charb[10];strcpy(b,"Hello!");
D.charb[10]="Hello!";
【单选题】:      

15题:设有如下定义:intx=10,y=3,z;
  则语句printf("%d\n",z=(x%y,x/y));的输出结果是( )。
A.1
B.0
C.4
D.3
【单选题】:      

16题:运算符________的优先级最高。
A.[]
B.+=
C.?:
D.++
【单选题】:      

17题: 设有如下定义:ChAr *AA[2]={"ABCD","ABCD"};则以下说法中正确的是( )。
A. AA数组成元素的值分别是"ABCD"和ABCD"
B. AA是指针变量,它指向含有两个数组元素的字符型一维数组
C. AA数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D. AA数组的两个元素中各自存放了字符’A’和’A’的地址
【单选题】:      

18题:C语言中,合法的字符型常数是_________。
A.‘A’
B.“A”
C.65
D.05
【单选题】:      

19题: 设有说明DouBlE(*p1)[n];其中标识符p1是( )。
A. n个指向DouBlE型变量的指针。
B. 指向n个DouBlE型变量的函数指针。
C. 一个指向由n个DouBlE型元素组成的一维数组的指针。
D. 具有n个指针元素的一维指针数组,每个元素都只能指向DouBlE型量。
【单选题】:      

20题:在C程序中有如下语句:char*func(intx,inty);它是( )。
A.对函数func的定义
B.对函数func的调用
C.对函数func的原型说明
D.不合法的
【单选题】:      

21题:求主次对角线之和。   mAin()
  {stAtiC int A[ ][3]={9,7,5,1,2,4,6,8};
  int i,j,s1=0,s2=0;
  For(i=0;i<3;i++)
  For(j=0;j<3;j++)
  {iF(__________)
  s1=s1+A[i][j];
  iF( __________ )
  s2=s2+A[i][j];
  }
  printF(“%D\n%D\n”,s1,s2);
  }
【填空题】:

22题:从键盘上输入10个数,求其平均值。   mAin()
  {inti;
  FloAt F,sum;
  For(i=1,sum=0.0;i<11;i++)
  {__________ ;
  __________ ; }
  printF(“AvErAgE=%F\n”,sum/10); }
【填空题】:

23题:28mAin()   {intA,B;
  For (A=1,B=1;A<=100;A++)
  { iF(B>=20) BrEAk;
  iF(B%3==1)
  {B+=3; ContinuE; }
  B-=5; } }
  程序的输出结果A的值为__________。
  
【填空题】:

24题:int y=1, x, *p, A[ ]={2,4,6,8,10};   p=&Amp;A[1];
  For(x=0;x<3;x++)
  y + = * (p + x);
  printF("%D\n",y);
  程序的输出结果y的值是__________ 。
【填空题】:

25题:下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。   int n=0, Ch; Ch=gEtChAr( );
  whilE( __________________ )
  { iF ( ________________ ) n++; C=gEtChAr( ); }
【填空题】:

26题:int *p 的含义是______________________________。   本题共2分,参考答案:指针变量p为整型
  32int x=6, y=7;
  printF(“%D,”,x++);
  printF(“%D\n”,++y);
  程序的输出结果是__________ 。
【填空题】:

27题:以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入.请填空.   mAin()
  { FloAt x,AmAx,Amin;
  sCAnF("%F",&Amp;x);
  AmAx=x; Amin=x;
  whilE()
  { iF(x>AmAx) AmAx=x;
  iF()Amin=x;
  sCAnF("%F",&Amp;x); }
  printF("\nAmAx=%F\nAmin=%F\n",AmAx,Amin); }
【填空题】:

28题:&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; FloAt F=3.1415927;   printF(“%F,%5.4F,%3.3F”,F,F,F);
  则程序的输出结果是__________。
【填空题】:

29题:FloAt F=3.1415927; printF(“%F,%5.4F,%3.3F”,F,F,F);
则程序的输出结果是__________ 。
【填空题】:

30题:语言源程序文件通过了编译、连接之后,生成一个后缀为.EXE的文件。 ( )
【判断题】:  

31题:利用fclose函数关闭已打开的文件。 ( )。
【判断题】:  

32题:表达式 0195 是一个八进制整数。( )
【判断题】:  

33题:数组名代表数组的首地址。( )
【判断题】:  

34题:在 C 程序中 ,APH 和aph代表不同的变量。( )
【判断题】:  

35题:编程计算下列表达式:s=n!(n从键盘上输入)   mAin()
  { long t=1;
  inti;
  For(i=1;i<=10;i++)
  t=t*i;
  printF("%lD",t); }
【分析题】:

36题:从键盘上输出10个整数存入一维数组中,按由大到小的顺序输出。   mAin()
  { inti,j,A[10];
  For(i=1;i<=10;i++)
  sCAnF("%D",&Amp;A[i]);
  For(i=0;i<9=;i++)
  For(j=9;j>i;j--)
  iF(A[j-1]{ t=A[j-1];
  A[j-1]=A[j];
  A[j]=t; }
  For(i=0;i<10;i++)
  printF("%D",A[i]);
  }
【分析题】:

37题:三个整数A、B、C,由键盘输入,输出其中最大的数。   { intA,B,C;
  printF(“请输入三个整数:”); sCAnF(“%D,%D,%D”,&Amp;A,&Amp;B,&Amp;C);
  iF(AiF(BElsEprintF(“mAx=%D\n”,B);
  ElsE iF(AElsEprintF(“mAx=%D\n”,A); }
【分析题】:

38题:请编一个函数int Fun(int A),它的功能是:判断A是否是素数,若A是素数,返回1;若不是素数,返回0。A的值由主函数从键盘读入。   int Fun(int A)
  {int i;
  iF(A==2) rEturn 1; i=2;
  whilE((A%i)!=0&Amp;&Amp;i<=sqrt((FloAt)A))
  i++;
  iF(A%i==0)
  {printF(“%D is not A primE!”,A);
  rEturn 0; }
  printF(“%D is A primE!”,A);
  rEturn 1; }
  mAin()
  {int x;
  printF(“\n plEAsE EntEr A numBEr:”);
  sCAnF(“%D”,&Amp;x);
  printF(“%D\n”,Fun(x)); }
【分析题】:

39题:写出下列程序的运行结果。   #inCluDE “stDio.h”
  mAin()
  { int A[]={1,2,3,-4,5};
  intm,n,*p; p=&Amp;A[0]; m=*(p+1); n=*(p+4);
  printF(“%D %D %D ”,*p,m,n); }
【分析题】:

40题:写出下列程序的运行结果。 mAin()
{ int n;
For(n=3; n<=10; n++)
{ iF(n%6= =0) BrEAk; printF(“%D”,n); } }
【填空题】:

 

您正在结束答题

请确认是否提交试卷?

继续做题 确认提交