2005年4月全国计算机等级考试二级C++笔试试题及答案(2)
来源:优易学  2010-1-14 16:43:53   【优易学:中国教育考试门户网】   资料下载   IT书店

(21)有以下程序
main()
{    int  i=1,j=2,k=3;
     if(i++==1&&(++j==3||k++==3))
        printf("%d  %d  %d\n",i,j,k);
}
程序运行后的输出结果是   D
 A)1  2  3
 B)2  3  4
 C)2  2  3
 D)2  3  3

(22)若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式a 
 A)1  
 B)2  
 C)3  
 D)4

(23)有以下程序
main()
{
   int p[8]={11,12,13,14,15,16,17,18},i=0,j=0;
   while(i++<7)  if(p[i]%2)   j+=p[i];
   printf("%d\n",j);
}
程序运行后的输出结果是    B
 A)42
 B)45
 C)56
 D)60

(24)有以下程序
main()
{   char  a[7]="a0\0a0\0";int  i,j;
    i=sizeof(a);  j=strlen(a);
    printf("%d  %d\n",i,j);
}
程序运行后的输出结果是     C
 A)2    2
 B)7    6
 C)7    2
 D)6    2

(25)以下能正确定义一维数组的选项是    B
 A)int  a[5]={0,1,2,3,4,5};
 B)char  a[]={0,1,2,3,4,5};
 C)char  a={’A’,’B’,’C’};
 D)int  a[5]="0123";

(26)有以下程序
int  f1(int  x,int  y){return  x>y?x:y;}
int  f2(int  x,int  y){return  x>y?y:x;}
main()
{   int  a=4,b=3,c=5,d=2,e,f,g;
    e=f2(f1(a,b),f1(c,d));
    f=f1(f2(a,b),f2(c,d));
    g=a+b+c+d-e-f;
    printf("%d,%d%d\n",e,f,g);
}
程序运行后的输出结果是                   A
 A)4,3,7
 B)3,4,7
 C)5,2,7
 D)2,5,7

(27)已有定义:char a[]="xyz",b[]={’x’,’y’,’z’};,以下叙述中正确的是     C
 A)数组a和b的长度相同
 B)a数组长度小于b数组长度
 C)a数组长度大于b数组长度
 D)上述说法都不对 

(28)有以下程序
void  f(int  *x,int  *y)
{     int  t;
    t=*x;*x=*y;*y=t;
}
main()
{   int  a[8]={1,2,3,4,5,6,7,8},i,*p,*q;
    p=a;q=&a[7];
    while(p   {
   f(p,q);
   p++;
   q--;
   }
   for(i=0;i<8;i++)
      printf("%d,",a[i]);
}
程序运行后的输出结果是                        D
 A)8,2,3,4,5,6,7,1,
 B)5,6,7,8,1,2,3,4,
 C)1,2,3,4,5,6,7,8,
 D)8,7,6,5,4,3,2,1,

(29)有以下程序
main()
{
   int  a[3][3],*p,i;
   p=&a[0][0];
   for(i=0;i<9;i++)
      p[i]=i;
   for(i=0;i<3;i++)
      printf("%d ",a[1][i]);
}
程序运行后的输出结果是      D
 A)0 1 2
 B)1 2 3
 C)2 3 4
 D)3 4 5

(30)以下叙述中错误的是     C
 A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
 B)数组名代表的是数组所占存储区的首地址,其值不可改变
 C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
 D)可以通过赋初值的方式确定数组元素的个数

[1] [2] 下一页

责任编辑:cyth

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训