C++ 几道简单的入门题 四

来源:百度知道 编辑:UC知道 时间:2024/09/22 01:08:11
2009-03-13
【作业1】从键盘读入几个整数,计算它们的和。
思路分析:使用指针变量来存储和读取读入的整数的地址。
【作业2】编写函数,交换两个变量的值。
思路分析:使用指针变量。
【作业3】选择题
1.已知有以下的说明,(填空)

int a[]={8,1,2,5,0,4,7,6,3,9};

那么a[*(a+a[3])]的值为___.

2.对于指向同一数组的指针变量,不能进行哪种运算? ()

A. + B. - C. = D. ==

3.若有以下说明和语句,且0<=i<10, 则下面哪个是对数组元素的错误引用?()

int a[]={1,2,3,4,5,6,7,8,9,0}, *p, i;

p=a;

A. *(a+i) B. a[p-a] C. p+i D. *(&a[i])

4. 若有以下说明和语句,且0<=i<10,则下面哪个是对数组元素地址的正确表示? ()

int a[]={1,2,3,4,5,6,7,8,9,0}, *p,i;

p=a;

A. &(a+1) &a[1] B. a++ C. &p D. &p[i]

5.以下程序的输出结果是哪一项? ()

#include <stdio.h>

void main()

{ int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}, *p[4],i;

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

p[i]=&a[i*3];

printf("%d\n",*p[3]);

}

A. 输出项不合法 B. 4 C. 7

作业1:
#include <iostream>
using namespace std;
void main()
{
int a=0;
int b=0;
int c=0;
int *p1=&a;
int *p2=&b;
int *p3=&c;
cout<<"请输入两个整数:";
cin>>a>>b;
*p3=*p1+*p2;
cout<<*p1<<"+"<<*p2<<"="<<*p3<<endl;

}
作业2:
#include <iostream>
using namespace std;
void swap(int *p1,int *p2)
{
int temp=0;
temp=*p1;
*p1=*p2;
*p2=temp;
}
void main()
{
int a=0;
int b=0;
cout<<"请输入两个数:"<<endl;
cin>>a>>b;
cout<<"交换前的值是:a="<<a<<" b="<<b<<endl;
swap(&a,&b);
cout<<"交换后的值是:a="<<a<<" b="<<b<<endl;

}