Fosdccf.blog.chinaunix.net
sdccf
全部博文(19283)
Linux酷软(214)
tmp(0)
PostgreSQL(93)
Solaris(383)
AIX(173)
SCOUNIX(575)
DB2(1005)
Shell(386)
C/C++(1187)
MySQL(1750)
Sybase(465)
Oracle(3695)
Informix(548)
HP-UX(0)
IBM AIX(2)
Sun Solaris(0)
BSD(1)
Linux(8597)
SCO UNIX(23)
2011年(1)
2009年(125)
2008年(19094)
2007年(63)
clifford
linky521
曾德标
fengzhan
leon_yu
mcuflowe
yt200902
guanyuji
GY123456
snow888
carlos94
丸喵喵
sean229
cxunix
可怜的猪
cqxc413
xzzgege
wb123456
分类: C/C++
2008-04-15 20:41:10
还应注意嵌套问题,即前面说过的else在寻找配对的if时,总是找最近的一个if,这里依旧。 long a = 0;P1:for( long i = a; i < 10; i++ )for( long j = 0; j < 10; j++ ){if( !( j % 3 ) )continue;if( !( j % 7 ) )break;if( i * j ){a = i * j;goto P1;}// 其他语句}上面的continue;执行后,将立即计算j++,而break;执行后,将退出第二个循环(即j的循环),进而执行i++,然后继续由i < 10来决定是否继续循环。当goto P1;执行时,程序跳到上面的P1处,即执行long i = a;,进而重新开始i的循环。上面那样书写goto语句是不被推荐的,因为其破坏了循环,不符合人的思维习惯。在此只是要说明,for或while、do while等都不是循环,只是它们各自的用处最后表现出来好象是循环,实际只是程序执行位置的变化。应清楚语句的实现,这样才能清楚地了解各种语句的实际作用,进而明确他人写的代码的意思。而对于自己书写代码,了解语句的实现,将有助于进行一定的优化。但当你写出即精简又执行效率高的程序时,保持其良好的可读性是一个程序员的素养,应尽量培养自己书写可读性高的代码的习惯。上面的long j = 0在第一个循环的循环体内,被多次执行岂不是要多次定义?这属于变量的作用域的问题,下篇将说明。本篇的内容应该是很简单的,重点只是应该理解源代码编译成机器指令后,在执行时也放在内存中,故每条语句都对应着一个地址,而通过跳转语句即可改变程序的运行顺序。下篇将对此提出一系列的概念,并重点说明类型的意义。
还应注意嵌套问题,即前面说过的else在寻找配对的if时,总是找最近的一个if,这里依旧。
上一篇:C++程序设计从零开始之语句 (8)
下一篇:利用C语言小程序来解决大问题 (1)
登录 注册