c语言 菜鸟级问题 急待高手解答~~~详细分析步骤~~

来自:    更新日期:早些时候
菜鸟问题急待C语言高手解决~

1。能的

2。其实就像包含某些头文件已实现调用一些系统库函数一样,比如stdio.h中就包含了许多c中常用库函数

3。C++包含c,既是面向过程的也可以实现面向对象,而c只是面向过程的,C++比c难多了,包含了面向对象的思想,如对象、类、属性、方法、封装、继承等,是现代程序设计的主流

a=1,所以执行
case 1:switch(b)
{case 1:printf("@@");break;
case 2:printf("!!");break;}

然后b=1,所以执行
case 1:printf("@@");break;


以上为一个{}内部
再往下,执行case 1:printf("**");

因为没有break

所以再执行下一句case 2:printf("$$");

最后执行default :printf("&&");

这个题应该是这样的,首先要知道运算符的优先级和结合性,另外还要知道++k和k++的区别,++k是即时生效的,即当时就会生效,而k++是这一句执行完才会生效
先说前半边k++*++k
因为*、++是右结合的,而且*优先级最高,因为是右结合,所以此时最先看++k,这样k就是3,然后是k++还是3,所以前边是3*3是9
再说后半边
此时也许你会认为k是4,但是此时k其实是3,因为k++还没生效,因为++生效必须在这一句执行完才会生效,所以还是先看--k,此时就是2,然后k--也是2,因为k--也不会生效,所以2*2=4
最后一加就是13

但是当这句执行完之后k就会是2

分析: ++k和--k的运算优先级高于*,所以从左至右++k和--k先运算,而k++和k--的优先级低于*,所以先计算*再按照从左至右计算k++,k--
可得:
(1)++k以后k = 3,则有3*3 =9;
(2)--k以后k=2,则有2*2=4;
(3)再计算k++,则有k=3;
(4)再计算k--,则有k=2。

最有结果9+4 =13,k=2.

++在前表示先加后用 ++在后表示先用后加,
根据运算法则,先算k++*++k,则先k++时值还是2,++k时值是3,其实k++*++k就是先计算k的变化,再相乘,值为9,而后面k--没值,--k后值是2,所以k--*--k=4,9+4=13,还不懂就在Visual C++试试

1.首先明白前置和后置的不同
后置自增,其表达式的值等于k值,k=k+1.
前置自增,其表达式的值等于(k+1)值,k=k+1。

2.在不同的工具环境下,结果有可能不同
如:设x=5;(++x)+(++x)+(++x)=?
在VC++6.0中得22,在JAVA中得21.其结果不必追究,只要明白其概念即可


c语言 菜鸟级问题 急待高手解答~~~详细分析步骤~~视频

相关评论:

相关主题精彩

版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

Copyright © 喜物网