不做出这道题,我都睡不着觉
不论你是刚刚接触计算机行业的小白,还是已经在这个行业摸爬滚打多年,甚至是这个行业的大牛,你都需要每天不停歇的学习和进步。
俗话说“不积跬步,无以至千里”,每天积累一小步,未来成就一大步。#不把这道题做出来,我都睡不着觉#
今天的考卷是关于C++ 程序设计 的2道题,请同学们认真读题,认真作答。
第1题:
对象的三大基本特性分别为多态性,( )和封装性。
第2题:
请同学们看下面的代码。程序运行的结果是( )
A. 3, 2, 1
B. 1, 3, 2
C. 1, 3, 3
D. 1, 2 , 3
请同学们把答题卡写在评论中交给我,详细写下你的做题思路或步骤能更好的说明你对这道题的理解哦~
不要担心你是否会把这道题做错,失败是成功之母。如果你成功了,那说明你把很多曾经对自己来说很难的问题,转化成了正确的答案,尽管可能你花费了很多次的时间来转化,但不论过程多艰难,结果就是,你会了。这是最重要的,不是吗 ?
答案:
老师会在第二天把考卷的正确答案公布出来,请同学们关注置顶帖。
奖项:
相信同学们都看到了社区的置顶帖。
今后社区将会每周选出一名在社区中表现活跃的同学, 为这名同学派发奖品,注意哦,是每周。
并且老师会时刻关注#不把这道题做出来,我都睡不着觉# 中参与答题的,在帖子中和其他同学互动的同学的表现. 积极参与的同学,老师也会考虑赠予奖品哦!每个人都有机会!
只要你开始动手指,就已经成功了一大步。
本期奖品:小米充电宝,居家旅行,你值得拥有!
能进步,还能拿奖。心动不如行动,快交考卷啦!
一骑绝尘,哒了个哒
第一题:继承
第二题C
第二题,选择C。 下面是我个人的理解:程序是从上往下执行,进入第一个if语句,计算表达式“a==1&&b++==2”的值,因为a=1,所以左边表达式的值为1.接着判断b++=2是否是true,由于b++表示计算后再b加1,所以b++==2的值为1所以表达式a==1&&b++==2的值为1,然后if为true,成立.进入第二个if,判断表达式"b!=2||c--!=3",因为b=3,所以b!=2的值为1,后面表达式c--!=3就不再运算,整个if表达式的值为1,因为第二个if语句的条件成立,执行printf("%d,%d,%d\n",a,b,c),这时候a=1,b=1,c=3,所以结果输出1,3,3.
我来答一波,第一题,封装,继承,多态这是面向对象的三大特性。所以第一题的答案是:继承性。
第一题
答案:继承性
解析:
继承是可以让某个类型的对象获得另一个类型的对象的属性的方法。它支持按级分类的概念。
封装机制将数据和代码捆绑到一起,避免了外界的干扰和不确定性。它同样允许创建对象。
第二题
答案:C a=1 b=3 c=3
解析:
第一条if语句的条件判断成立,并且执行b++操作后,b的值为3;第二条if语句判断,条件b!=2的值为真,不再进行c--!=3的判断,因此,c未被改变,仍然为3。棒棒哒哦,答案先保密,关注老师明天的置顶帖哈~
第一题:继承性。有三个多态,封装,继承。
第二题:判断,根据C++语言逻辑中的&&是逻辑与,只要两个式子有一个为假,就是假,必须两个都为真。||是逻辑或,只要有一个式子为真就是真。!是逻辑非。那么根据这条知识可以轻易得到答案C棒~
C
&& 两边必须表达式必须成立,才执行条件语句体。
|| 只要有一边成立,就会执行条件语句体。这里把第一个的b++改成++b呢?答案又是多少呢?
问题一答案:
继承性。
问题二答案:
正确答案:C
输出结果:
C. 1, 3, 3
原因:
分析步骤:
int a=1,b=2,c=3,d=0;
1.首先进入if(a==1 && b++==2),&&的意思是如果第一个条件是假的,那么第二个条件自动略过,必须两个条件都为真,结果才为真。
2.a==1 是真的,判断第二个条件 b++==2,需要注意的是,这里的b是先取值,再++。b++==2 等同于b=2,然后再b++;
3.if(a==1 && b++==2) 是返回真的,且此时b的值应该为3;
4.我们接着看第二个条件,if(b!=2 || c--!=3),此时b的值为3,b!=2 是返回为真的;再看c--!=3,c先取值再--,那么c--!=3是假的,此时c理论上的值应该为2;但是!!!,注意“但是”,这中间有个“||”,“条件A || 条件B ”的意思是,如果条件A是真的,那么就不判断条件B 了,也就是说c--!=3 实际上是没有执行的,此时 c 仍然等于 3 (这里是个坑,不要掉下去了!!!);
5.if(b!=2 || c--!=3),“||”的意思是或,只要任何一个条件满足,都返回为真,那么这个条件是满足的,条件满足,可进入printf("%d,%d,%d\n",a,b,c);
6.接着我们看这条命令:printf("%d,%d,%d\n",a,b,c),%d的意思是输出一个整数,此时a=1,b=3,c=3,这最终的结果为:
1, 3, 3
另外吐槽下,就不能带个花括号么,就不能缩进一下么,看起来太费劲了~~~~
像这样的,多好啊:
#include <stdio.h>
int main(){
int a=1,b=2,c=3,d=0;
if(a==1 && b++==2){
if(b!=2 || c--!=3){
printf("C= %d\n",c);
printf("%d,%d,%d\n",a,b,c);
}else{
printf("%d,%d,%d\n",a,b,c);
}
}else{
printf("%d,%d,%d\n",a,b,c);
}
return 0;
}
大家觉得我说的是对的,就请帮忙点个赞吧~~~补充一下,写成这样的多好:
继续加油哦~
来一波,c++还没学,不过面向对象的思想应该都差不多,按JAVA的知识来说…第一题当然是封装,继承,多态。第二题是&&和||的理解以及b++和++b的区别,具体解释看好多都说的很棒了,走第一个输出打印,我的答案当然也是C辣,1/3/3
继承,c。六年c++路过
- 刷新
- 返回顶部
共有帖子数20篇