1.如何声明下述数据?
a.actor是一个由30个char组成的数组
char actor[30] ;
b.betsie是一个由100个short组成的数组
short betsie[100];
c.chuck是由13个float组成的数组
float chuck[13];
d.depsea是一个由64个long double组成的数组
long double depsea[64]
2.使用模板类array来完成问题1
a.array<char,30> actor
b.array<short,100> betsie
c.array<float,13> chuck
d.array<long double,64>despea
3.声明一个包含5个元素的int数组,并将它初始化为前五个正奇数
int a[5] = {1,3,5,7,11}
4.编写一条语句,将3里面数组啊的第一个元素和最后一个元素的和赋值给even
int even;
even = a[0] + a[a.size() -1]
5.编写一条语句,显示float数组ideas中的第二个元素的值
float x[]={1.2,2.2,3.2}
cout<<x[1]
6.声明一个char数组,并且将其初始化为字符串"cheeseburger"
char x[] = "cheeseburger"
7.声明一个string对象,并且将其初始化为字符串 "Waldorf Salad"
string x = "Waldorf Salad"
8.设计一个描述鱼的结构声明,结构中包括品种,重量(int),长度(float)
struct fish{
string m_Type;
int m_Weight;
float m_Length;
};
9.声明一个问题9中的结构体变量并对其初始化
fish x = {"1",1,1.1} //
float x1;
x1.m_Type = 1;
x1.m_Weight = 1;
x1.m_Length = 1.1;
10.用enum定义一个名为Response的类型,它包含Yes,No,MayBe等枚举量 其中Yes 1 No 0 MayBe 2
enum Response{
N0 = 0,
Yes,
Maybe
};
11.假设ted是一个double变量,请声明一个指向天ted的指针,并且使用该指针来显示ted的值
double ted;
double * p = ted;
cout<< * p;
12.假设treacle是一个包含10个元素的float数组,请声明指向treacle第一个元素的指针,并且使用该指针显示其第一个元素和最后一个元素
float treacle[10];
float * p = treacle;//指针指向第一个
cout<< *p;
cout<< *(p + 9) ;
13.编写一段代码,要求用户输入一个正整数,然后创建一个动态的int数组,其中包含的数组数目等于用户输入的值,首先使用new完成,再使用vector完成
while(1){
cout<<"输入一个正整数"<<endl;
int x;
cin>>x;
if(x <= 0){
cout<<"请重新输入"<<endl;
continue;
}
else{
int * p = new int[x]
vector<int> p(x);
}
}
14.下面的代码是否有效,如果有效,它打印出啥
cout<<(int *) "Home of the jolly bytes"
打印的应该是指针的地址,可能会报错
15.编写一段代码,给问题8中的结构动态分配内存 再读取该结构的值
fish * ps = new fish;
cout<<(*ps).m_Weight;
cout<<ps->m_Length;
16.cin>>address 和 getline(addresss,80)的区别
cin一个是读取到空格为止
getline限制了大小,读取整行,知道换行符
17.声明一个vector和array对象,他们都包含 10 个string,指出所需要的头文件,不适应using,使用const指定要包含的string对象数
#include<vector>
#include<array>
int main(){
std:: vetcor<std::string> x1(10); //vector没有const
std::array<std::string,10> x2;
std::array<const std::string, 10> x4 = {{
"constant1", "constant2", /* ... 其他 8 个 const string ...
}};
}