C++语法 求教

来源:百度知道 编辑:UC知道 时间:2024/06/03 23:51:39
for (int x=o,y=0;!x&&y<=5;y++)语句执行循环的次数是( )
A 0 B 5 C 6 D 无数次
选C
&& 怎么计算啊

还有
若有定义: int *p;则下列选项中,不同于表达式"*p=p+*p;"的是
A *p++;B ++*P;C*p+=1; D ++(*p)

这是怎么转换的 麻烦详细点 谢谢哦
我就要考试了 但很多基本的题都不会 郁闷
哪位可以帮下忙 加我qq 教我 ..........
qq: 450148638 这周六就考.. 后悔没努力,,,
谢谢

1、“for (int x=o,y=0;!x&&y<=5;y++)语句执行循环的次数是( ) ”
此题主要考的是C语言运算符的优先权。请参看:
http://baike.baidu.com/view/1516130.htm

至于“&&”是C语言里的最常见的比较指令逻辑与,请参看:
http://baike.baidu.com/view/674177.htm

答案上面有朋友说了,我就不说了,自个去想会记得更清楚。

2、“若有定义: int *p;则下列选项中,不同于表达式"*p=p+*p;"的是 ”
此题主要是要求掌握指针的定义与使用,不过说老实话,这个题,我也不会,有请高人。

PS:在BCB6中试了一下 “*p=p+*p;”是一个不被允许的等式,不能将int直接付给int指针。怀疑出这题的人脑子有毛病。

如果强行要理解的话:
p+*p应该是指针p的直接数值(比如p指向内存地址为0x253,p的值就是253)加上p指向的地址上存的数据值(内存地址为0x253的地方的数据)。让他们再付给指针p(这就实在不好理解了,是让指针p改指向地址呢,还是让指针p指向的地址里的数据改动,反正我是理解不了的,BCB6中也不允许这样的表达式)。

********************************************************************
又及,编程对相关学业来说,是非常重要的学科,楼主可要珍惜大学时光哦。

第一题:c
因为先执行y=0,然后通过y++之后y就加1变为1,然后再重复之前的过程,因为y=1<5