C++试卷

第161题

下列程序执行后,输出的结果是()。

int x=-5,y=0;
while(++x)
    y++;
cout<<y<<endl;
第162题

假定一个类的构造函数为A(int aa, int bb) {a = aa--; b = a * bb;},则执行A x(4,5);语句后,x.a和x.b的值分别为()。

第163题

执行下列语句:

#include<iostream>
using namespace std;
int main()
{
    int x=3;
    if(x=5)
        cout<<x++<<endl;
    else
        cout<<x<<endl;
    return 0;
}

程序的输出是()。

第164题

 有如下程序,编译运行程序将出现的情况是()。

#include<iostream>
using namespace std;
int main()
{
    int *p;
    *p=9;
    cout<<"The value at p:"<<*p;
    return 0;
}
第165题

下列有关指针的用法中,错误的是()。

第166题

如果有以下定义及初始化: int a=3,*p=&a; ,则由此可以推断,*p的值是()。

第167题

执行语句序列 int x=1,&y=x; cout<

第168题

若有以下定义 int a=100,*p=&a; ,说法错误的是()。

第169题

若定义 int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i; (0≤i≤9),则对a数组元素不正确的引用是()。

第170题

下列关于指针的运算中,()是非法的。

第171题

下面程序的输出结果为()。

#include<iostream.h>
void main()
{
    int x;
    int &y=x;//变量引用
    y=99;
    cout<<"x="<<x<<endl;
}
第172题

存在定义 int a[10],x,*pa; ,若 pa=&a[0]; ,下列哪个选项和其他3个选项不是等价的?

第173题

有以下程序,输出结果是()。

#include<iostream.h>
void main()
{
    static int b[][3]={{1,2,3},{4,5,6}};
    b[0][2]=12;b[1][2]=18;
    cout<<"*b="<<*(*b+1)<<"t"<<b[0][2]+b[1][2]+*(*(b+1)+2)<<"\n";
    cout<< b[0][2]+b[1][2]+b[2][2]<<endl;
}
第174题

下列将字符串进行初始化中,正确的是()。

第175题

对于 int *pa[5]; 的描述,正确的是()。

第176题

下面程序的输出结果是()。

#include<iostream.h>
#include<string.h>
void main()
{
    char a[]="Hello Test",b[]="Test";
    strcpy(a,b);
    cout<<a<<endl;
}
第177题

有如下程序,该程序的输出结果是()。

#include<iostream.h>
void main()
{
    char str[2][5]={"1234","5678"},*p[2];
    int i,j,s=0;
    for(i=0;i<2;i++)p[i]=str[i];
    for(i=0;i<2;i++)
        for(j=0;p[i][j]>'\0';j+=2)
            s=10*s+p[i][j]-'0';
    cout<<s;
}
第178题

以下程序的输出结果是()。

#include<iostream>
using namespace std;
void fun(char**q)
{
    ++q;
    cout<<*q<<endl;
}
main()
{
    static char*s[]={"HI","HELLO","TEST"};
    char**p;
    p=s;
    fun(p);
    system("PAUSE");
    return 0;
}
第179题

以下程序的执行结果是()。

#include<iostream.h>
int a[8]={1,2,3,4,5,6,7};
void fun(int *pa,int n);
void main()
{
    int m=8;
    fun(a,m);
    cout<<a[7]<<endl;
}
void fun(int *pa,int n)
{
    for(int i=0;i<n;i++)
        *(pa+7)+=*(pa+i);
}
第180题

以下程序段是函数返回a所指数组中最大的值所在的下标值,横线处的语句为()。

fun(int*a,int n)
{
int i,j=0,k;
k=j;
for(j=i;j<n;j++)
    if(a[j]>a[k])________;
return (k);
}