有几道c++的题,学过的好心的人帮忙看一下(如方便给我讲讲解体过程)
9、若有说明inta[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是▁▁▁▁A)不确定B)2C)3D)412、有定义如下:chara;intb;floa...
9、若有说明 int a[ ][3] = {1,2,3,4,5,6,7} ; 则a数组第一维的大小是▁▁▁▁
A) 不确定 B) 2 C) 3 D) 4
12、有定义如下:
char a;int b;float c;double d;
则表达式a * b + d – c值的数据类型为▁▁▁▁
A) float B) char C) int D) double 展开
A) 不确定 B) 2 C) 3 D) 4
12、有定义如下:
char a;int b;float c;double d;
则表达式a * b + d – c值的数据类型为▁▁▁▁
A) float B) char C) int D) double 展开
2个回答
展开全部
9.选C
原因:你自己可以编个程序试试,下面是我编的
#include <iostream>
using namespace std;
int main()
{
int a[][3]={1,2,3,4,5,6,7};
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
cout<<a[i][j]<<endl;
}
}
}
程序输出结果显示;a[2][1]和a[2][2]都是0,如果你还觉得不好理解的话,你可以假定你的一维数组的下标为5,然后相应的修改程序为:
#include <iostream>
using namespace std;
int main()
{
int a[][3]={1,2,3,4,5,6,7};
for(int i=0;i<5;i++)
{
for(int j=0;j<3;j++)
{
cout<<a[i][j]<<endl;
}
}
}
通过两个程序的输出,进行对照,这个时候你会发现,除了输出那9个数字之外,还会输出一些数字,其实那些是一些随机数了,相信现在应该知道了把
10.选D吧
理由:把握住一点,应该向更高精度的方向走,要保证它的运算精度,要将较低类型的转换为较高类型,比如说:
int i=10;
float pi=3.14;
double f;
f=i*pi;
这里首先要将int类型的i转换为float类型,然后相乘,结果为float类型,然后要将其赋值给double型,则需要将其转换为double型,把握这个原则就可以了
在这里也顺便给你个程序,来判断你那个表达式的类型了:下面是程序代码:
#include <iostream>
using namespace std;
int main()
{
int b,m;
float c;
char a;
double d;
m=sizeof(a*b+d-c);//通过计算表达式在内存中所占的字节数来判断其类型
cout<<"表达式a*b+d-c在内存中所占的字节数为:"<<m<<endl;
m=sizeof(double);//计算double类型在内存中所占的字节数
cout<<"double 类型在内存中所占的内存字节数为:"<<m<<endl;
}
/*程序运行结果:
表达式a*b+d-c在内存中所占的字节数为:8
double 类型在内存中所占的内存字节数为:8
*/
原因:你自己可以编个程序试试,下面是我编的
#include <iostream>
using namespace std;
int main()
{
int a[][3]={1,2,3,4,5,6,7};
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
cout<<a[i][j]<<endl;
}
}
}
程序输出结果显示;a[2][1]和a[2][2]都是0,如果你还觉得不好理解的话,你可以假定你的一维数组的下标为5,然后相应的修改程序为:
#include <iostream>
using namespace std;
int main()
{
int a[][3]={1,2,3,4,5,6,7};
for(int i=0;i<5;i++)
{
for(int j=0;j<3;j++)
{
cout<<a[i][j]<<endl;
}
}
}
通过两个程序的输出,进行对照,这个时候你会发现,除了输出那9个数字之外,还会输出一些数字,其实那些是一些随机数了,相信现在应该知道了把
10.选D吧
理由:把握住一点,应该向更高精度的方向走,要保证它的运算精度,要将较低类型的转换为较高类型,比如说:
int i=10;
float pi=3.14;
double f;
f=i*pi;
这里首先要将int类型的i转换为float类型,然后相乘,结果为float类型,然后要将其赋值给double型,则需要将其转换为double型,把握这个原则就可以了
在这里也顺便给你个程序,来判断你那个表达式的类型了:下面是程序代码:
#include <iostream>
using namespace std;
int main()
{
int b,m;
float c;
char a;
double d;
m=sizeof(a*b+d-c);//通过计算表达式在内存中所占的字节数来判断其类型
cout<<"表达式a*b+d-c在内存中所占的字节数为:"<<m<<endl;
m=sizeof(double);//计算double类型在内存中所占的字节数
cout<<"double 类型在内存中所占的内存字节数为:"<<m<<endl;
}
/*程序运行结果:
表达式a*b+d-c在内存中所占的字节数为:8
double 类型在内存中所占的内存字节数为:8
*/
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询