C++的选择题,实在是搞不清楚,基础比较差,编程高手求救!

1、以下程序的运行结果是()。intmain(){unsignedshorta=65535;shortb;b=a;cout<<b;return0;}A)-32768B)3... 1、以下程序的运行结果是( )。
int main()
{ unsigned short a=65535;
short b;
b=a;
cout<<b;
return 0;
}
A) -32768 B) 32767 C) 65535 D) -1
2、设有定义语句:int a[6] = {2,4,6,8,5,7}, *p = a, i ;
要求依次输出a数组6个元素的值,不能完成此操作的语句是( )。
A) for(i=0;i<6;i++)cout<<*(p++)<<endl;
B) for(i=0;i<6;i++) cout<<*(p+i)<<endl;
C) for(i=0;i<6;i++) cout<<*p++<<endl;
D) for(i=0;i<6;i++) cout<<(*p)++<<endl;
3、设有定义语句:char a[10], *p=a; 以下赋值语句中,正确的是( )。
A) a="hello"; B) a[10]= "hello";
C) strcpy(a, "hello"); D) *p="hello";
4、下列带有默认参数的函数原型声明中,正确的是( )。
A) float fun(int a=5 , int b=5, int c, int d);
B) float fun(int a=5, int b=5, int c, int d=5);
C) float fun(int a=5, int b , int c , int d );
D) float fun(int a ,int b , int c=5, int d=5);
5、设有定义语句:struct point{ int x; int y; } v1; 则以下语句中正确的是( )。
A) point.x=10; B) point v2; v2.x=10;
C) struct v2; v2.x=10; D) v1 v2; v2.x=10;
展开
 我来答
萌虎下山kY
2013-01-01 · TA获得超过146个赞
知道答主
回答量:122
采纳率:0%
帮助的人:57.2万
展开全部
D,D,C ,D, B,
1:unsigned short和short占的字节相等,但是前者是无符号整数,表示范围在0~65535,后者在-32767 ~32768,由于a在内存中存储方式就是32个1,(unsigned short 占4个字节),现在把a的值赋给b,此时b的32位也全是1,但是b是有符号整数,所以输出b的时候视为将其视为负数,于是cpu就会对b的非符号的位字节进行“取反+1”,于是b就变成了最高位和最低位为1的数,最高位的1表示负数,最低位是1,其他位是0,因此结果是-1.

2:*p++和*(p++)效果一样,先打印*p,然后进行p++的操作。
(*p)++的操作是先找到*p,然后进行*p的++操作。虽然说在c语言中++的优先级高于*,但是这里是个例外。

3:A选项中a表示一个地址,不可赋值,B选项在于a[10]是个字符,不能用字符串的方式赋值,C正确,D中*p就是a的字符串数组的首地址,但它是字符,不能用字符串方式赋值。

4:实参与形参的结合是从左至右顺序进行的。因此指定默认值的参数必须放在形参表列中的最右端,否则出错。

5:定义语句定义了一个结构体,后面的v1表示新建一个结构体,其名称为v1,A选项错在point是这个结构体名称,而不是实例。C定义错误,D也是定义错误,只有C对。
濮方雅BX
2013-01-01 · TA获得超过4042个赞
知道大有可为答主
回答量:2482
采纳率:60%
帮助的人:2476万
展开全部
题目有点多:
1、D,解释:65535=0xFFFF,无符号数是65535,b是有符号数,首位是符号位,所以是-1
2、D,解释:(*p)代表数值,后面再++,就变成内容+1了,每次循环由于p没变,所以每次输出都是不变的,没达到一次输出每个元素的值的目的。
3、C。解释:这个貌似没什么好解释的,牢记a,p都是字符串首地址。字符数组赋值除了定义的时候直接char a[10]="hello" 这种方法之外,一般用C这种方法拷贝赋值。B选项里面a[10]是单个字,左右不匹配而且下标越界了。
4、D,默认的好像一般排在后面,这样调用的时候编译器才知道你是指定了哪个参数。
5、B,point是结构类型的名,v1是个结构实例。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
灬尛新丶丶
2013-01-01 · 超过31用户采纳过TA的回答
知道答主
回答量:99
采纳率:100%
帮助的人:20.6万
展开全部
楼上正解!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式