购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2 C语言的优缺点

与其他任何编程语言一样,C语言也有自己的优缺点。这些优缺点都源于该语言的最初用途(编写操作系统和其他系统软件)和它自身的基础理论体系。

1.2.1 C语言的优点

C语言的众多优点有助于解释为什么这种语言如此流行。

1.2.2 C语言的缺点

C语言的缺点和它的许多优点是同源的,均来自C语言与机器的紧密结合。下面是众所周知的几个问题。

混乱的C语言

即使是那些最热爱C语言的人也不得不承认C代码难以阅读。每年一次的国际C语言混乱代码大赛(International Obfuscated C Code Contest, IOCCC)竟然鼓励参赛者编写最难以理解的C程序。获奖作品着实让人感觉莫名其妙,例如1991年的“最佳小程序”:

v,i,j,k,l,s,a[99];
main()
{
  for(scanf("%d",&s);*a-s;v=a[j*=v]-a[i],k=i<s,j+=(v=j<s&&
(!k&&!!printf(2+"\n\n%c"-(!l<<!j)," #Q"[l^v?(l^j)&1:2])&&
++1||a[i]<s&&v&&v-i+j&&v+i-j))&&!(1%=s),v||(i==j?a[i+=k]=0:
++a[i])>=s*k&&++a[--i])
    ;
}

这个程序是由Doron Osovlanski和Baruch Nissenbaum共同编写的,其功能是打印出八皇后问题(此问题要求在一个棋盘上放置8个皇后,使得皇后之间不会出现相互“攻击”的局面)的全部解决方案。事实上,此程序可用于求解皇后数量在4~99范围内的全部问题。更多的获奖程序可以到IOCCC网站获取。

1.2.3 高效地使用C语言

高效地使用C语言要求在利用C语言优点的同时要避免它的缺点。下面是一些建议。 rDyS77FD5Ly9ZWsWK0lZ3mnHSL8Hw6QlWz1SwOwFmAeliNiLtgptHn5pATTiPn2x

点击中间区域
呼出菜单
上一章
目录
下一章
×