有几道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
展开
 我来答
井钰gQ
2008-01-08 · TA获得超过2480个赞
知道大有可为答主
回答量:1303
采纳率:0%
帮助的人:1478万
展开全部
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
*/
狈让炮bpd96
2008-01-07 · TA获得超过4971个赞
知道大有可为答主
回答量:2451
采纳率:0%
帮助的人:2675万
展开全部
9 c
12 d
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式