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