1.阅读以下程序,并给出横线处的正确代码
(1)程序的运行结果为:
则横线处的代码应为: i == 3 。
补充后的代码:
(2)程序的运行结果为:
则横线处的代码应为: c[i][j] = a[i][j] + b[i][j];
补充后的代码:
(3)程序的运行结果为:
则横线处的代码应为: *p = ‘#’;
补充后的代码:
(4)程序的运行结果为:
则横线处的代码应为: p = a; 或者 p = &a[0];
补充后的代码:
或者
2.编写C++程序,并给出代码及运行结果
(1)将只含有字符0-9的字符串存放至字符数组中,输出字符数组中重复次数最多的字符以及重复的次数。
#include <iostream>
using namespace std;
int main()
{
char num[]="1221921239211",maxnum; //maxnum存放重复次数最多的字符
int count[10]={0}; //统计0-9字符各出现的次数
int i,temp,max; //max存放重复的最大次数
for(i=0;num[i]!='\0';i++)
{
temp=num[i]-'0';
count[temp]++;
}
max=count[0];
for(i=1;i<10;i++)
{
if(max<count[i])
max=count[i];
}
for(i=0;i<10;i++)//存在多个最多重复字符
{
if(max==count[i])
{
maxnum='0'+i;
cout<<"重复次数最多的字符是:"<<maxnum<<endl;
cout<<"重复次数是:"<<max<<endl;
}
}
return 0;
}
结果:
对引用的说明
(1)不能建立void类型的引用
void &a = 9; //错误
(2)不能对数组名进行引用
char c[6] = “hello”;
char &r =c; //错误
(3)可以建立指针变量的引用
int i=5;
int *p= &i; // 定义指针变量p,指向i
int * &t = p;
// t 是指向整型变量的指针变量的引用,初始化为p.
(4)可以将引用的地址赋给指针
int a = 3;
int &b = a;
int *p = &b;
// 指针p指向变量a的引用b,相当于指向a
(5)不能定义指向引用类型的指针变量
int & *p = &a; // 错误
(6)可以用常量或表达式对引用初始化,但必须用const限定,不允许改变该引用的值。
const int &c = 3; //合法
引用和指针的关系
(1)指针是个变量,可再赋值; 而引用建立时必须进行初始化并且决不会再关联其它不同的变量。
(2)指针操纵两个实体(指针值、指向的值);引用只能操纵一个实体。
(3)引用在内部用指针实现 ,被看成是指针常量,不能操作自身的地址值,只能访问所指向的实体。
实际上“引用”可以做的任何事情“指针”也都能够做,为什么还要“引用”?
来源:freebuf.com 2021-04-13 20:54:25 by: Johnson666
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧
请登录后发表评论
注册