2016/11/4 反思

我有一个很大的缺点:做事前不是想着如何把这件事做好,而是花费很多不必要的时间去考虑这件事有没有必要去做,带给我的收益如何,就是俗话说:想太多,做太少。我要改正,人生没有那么多捷径,先老老实实把脚下的步子踩实。
另外一大缺点就是时间观念不强,这点也很致命,要改要改,赶不上车不是一次了。
好了,专心,专心。

以下题目和解析来自牛客网及牛友,侵删。

#include <stdio.h>
void fun( char ** p)
{
    int i;
    for(i=0;i<4;i + + )printf("% s",p[i]);
}
main( )
{
    char *s[6]={ "ABCD", "EFGH", "IJKL", "MNOP", "QRST", "UVWX" };
    fun(s);   
    printf("\n");
}
程序运行后的输出结果是?
正确答案: D   你的答案: 空

ABCDEFGHIJKL
ABCD
AEIM
ABCDEFGHIJKLMNOP
添加笔记
已收藏
纠错
本题知识点

C/C++
参考解析 添加解析
0

推荐
三鹰大魔王头像三鹰大魔王
本题考查字符串数组,s表示指向字符数组的指针,s指向了第一个字符串,s + +指向了第二个字符串,所以最后输出结果为D选项。
void func(char (& p)[10])  
{
    printf("%d\n", sizeof(p));
      
}
10,p是 int[10]的引用。
设x、y、t均为int型变量,则执行语句:t=3; x=y=2; t=x++||++y; 后,变量t和y的值分别为____
正确答案: A   你的答案: D

t=1 y=2
t=1 y=3
t=2 y=2
t=2 y=3
t=3 y=2
t=3 y=3
添加笔记
已收藏
纠错
本题知识点

C/C++
参考解析 添加解析
36

推荐
菜鸟葫芦娃头像菜鸟葫芦娃
A
此题考点为运算符的优先级,自增运算符、短路运算、赋值运算符的优先级。
按照优先级原则来说:
 t=x++||++y;  先执行 x++ 然后执行||,最后执行=。由于x=2 根据逻辑运算符可知x++ 理解为true,根据短路运算符可知++y不会执行了。根据逻辑运算可知x++||++y 返回1,则可知t=1;y没有执行,y=2

运算符的优先级如下图所示:
这里写图片描述

!回校再看看这方面的书


#include <stdio.h>//1
class B//2
{//3
};//4
B func(const B& rhs){//5
  return rhs;//6
}//7
int main(int argc,char **argv){//8
  B b1,b2;//9
  b2=func(b1);//10
}//11
正确答案: D   你的答案: 空

一次默认构造函数,一次拷贝构造函数,一次析构函数,一次(拷贝赋值运算符)operator=
二次拷贝构造函数,一次析构函数
一次(拷贝赋值运算符)operator=,一次析构函数
一次拷贝构造函数,一次析构函数,一次(拷贝赋值运算符)operator=
添加笔记
已收藏
纠错
本题知识点

C/C++
参考解析 添加解析
32

推荐
zray4u头像zray4u
D
b2=func(b1);//10
一次拷贝构造函数发生在func函数调用完成,返回B类型的对象时,因为返回的不是引用类型,所以会生成一个对象,
不妨称为TEMP,将返回的对象通过拷贝构造函数复制给TEMP,然后,返回值所对应的对象会被析构。如果返回值是引用类型,
则不会调用拷贝构造函数。

赋值运算符在func函数执行完成后,将上面提到的TEMP,通过赋值运算符赋值给b2,值得注意的是赋值运算符重载函数如果不自己定义,
程序会认为是调用缺省的赋值运算符重载函数。
int fun(int a){
 a^=(1<<5)-1;
 return a;
}
fun(21)运行结果是()
正确答案: A   你的答案:10
5
3
8
添加笔记
求解答(0)
已收藏
纠错
本题知识点

C/C++
共有5条讨论 添加解析
8

王立民头像王立民

发表于 2016-03-11 19:24:26 回复(0)
3

codermanFans头像codermanFans
这一题我看叉了,
具体思路:
a = a^((1<<5) - 1);  //这里添加一个括号,为了说明减号比异或的优先级高
1<<5 = 00 0001 = 10 0000 
1<<5 - 1 = 10 0000 - 1 = 1 1111
21 = 1 0101 
1 0101 ^ 1 1111 = 0 1010 

 这里最重要的是理解^这个符合,意为按位异或


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值