c ÓïÑÔÏÝÚå
ÔÖø£ºAndrew Koenig - AT&T Bell Laboratories Murray Hill, New Jersey 07094
·Ò룺lover_P
0 ¼ò½é
CÓïÑÔ¼°ÆäµäÐÍʵÏÖ±»Éè¼ÆÎªÄܱ»×¨¼ÒÃÇÈÝÒ×µØÊ¹Óá£ÕâÃÅÓïÑÔ¼ò½à²¢¸½Óбí´ïÁ¦¡£µ«ÓÐһЩÏÞÖÆ¿ÉÒÔ±£»¤ÄÇЩ¸¡ÔêµÄÈË¡£Ò»¸ö¸¡ÔêµÄÈË¿ÉÒÔ´ÓÕâЩÌõ¿îÖлñµÃһЩ°ïÖú¡£
ÔÚ±¾ÎÄÖУ¬ÎÒÃǽ«»á¿´Ò»¿´ÕâЩδ¿ÉÖªµÄÒæ´¦¡£ÕâÊÇÓÉÓÚËüµÄδ¿ÉÖª£¬ÎÒÃÇÎÞ·¨ÎªÆä½øÐÐÍêÈ«µÄ·ÖÀà¡£²»¹ý£¬ÎÒÃÇÈÔȻͨ¹ýÑо¿ÎªÁËÒ»¸öC³ÌÐòµÄÔËÐÐËùÐèÒª×öµÄÊÂÀ´×öµ½ÕâЩ¡£ÎÒÃǼÙÉè¶ÁÕß¶ÔCÓïÑÔÖÁÉÙÓиö´ÖdzµÄÁ˽⡣
µÚÒ»²¿·ÖÑо¿Á˵±³ÌÐò±»»®·ÖΪ¼ÇºÅʱ»á·¢ÉúµÄÎÊÌâ¡£µÚ¶þ²¿·Ö¼ÌÐøÑо¿Á˵±³ÌÐòµÄ¼ÇºÅ±»±àÒëÆ÷×éºÏΪÉùÃ÷¡¢±í´ïʽºÍÓï¾äʱ»á³öÏÖµÄÎÊÌâ¡£µÚÈý²¿·ÖÑо¿ÁËÓɶà¸ö²¿·Ö×é³É¡¢·Ö±ð±àÒë²¢°ó¶¨µ½Ò»ÆðµÄC³ÌÐò¡£µÚËIJ¿·Ö´¦ÀíÁ˸ÅÄîÉϵÄÎó½â£ºµ±Ò»¸ö³ÌÐò¾ßÌåÖ´ÐÐʱ»á·¢ÉúµÄÊÂÇé¡£µÚÎ岿·ÖÑо¿ÁËÎÒÃǵijÌÐòºÍËüÃÇËùʹÓõij£ÓÿâÖ®¼äµÄ¹ØÏµ¡£ÔÚµÚÁù²¿·ÖÖУ¬ÎÒÃÇ×¢Òâµ½ÁËÎÒÃÇËùдµÄ³ÌÐòÒ²²»²¢²»ÊÇÎÒÃÇËùÔËÐеijÌÐò£»Ô¤´¦ÀíÆ÷½«Ê×ÏÈÔËÐС£×îºó£¬µÚÆß²¿·ÖÌÖÂÛÁË¿ÉÒÆÖ²ÐÔÎÊÌ⣺һ¸öÄÜÔÚÒ»¸öʵÏÖÖÐÔËÐеijÌÐòÎÞ·¨ÔÚÁíÒ»¸öʵÏÖÖÐÔËÐеÄÔÒò¡£
1 ´Ê·¨È±ÏÝ
±àÒëÆ÷µÄµÚÒ»¸ö²¿·Ö³£±»³ÆÎª´Ê·¨·ÖÎöÆ÷£¨lexical analyzer£©¡£´Ê·¨·ÖÎöÆ÷¼ì²é×é³É³ÌÐòµÄ×Ö·ûÐòÁУ¬²¢½«ËüÃÇ»®·ÖΪ¼ÇºÅ£¨token£©Ò»¸ö¼ÇºÅÊÇÒ»¸öÓÐÒ»¸ö»ò¶à¸ö×Ö·ûµÄÐòÁУ¬ËüÔÚÓïÑÔ±»±àÒëʱ¾ßÓÐÒ»¸ö£¨Ïà¹ØµØ£©Í³Ò»µÄÒâÒå¡£ÔÚCÖУ¬ ÀýÈ磬¼ÇºÅ->µÄÒâÒåºÍ×é³ÉËüµÄÿ¸ö¶ÀÁ¢µÄ×Ö·û¾ßÓÐÃ÷ÏÔµÄÇø±ð£¬¶øÇÒÆäÒâÒå¶ÀÁ¢ÓÚ->³öÏÖµÄÉÏÏÂÎÄ»·¾³¡£
ÁíÍâÒ»¸öÀý×Ó£¬¿¼ÂÇÏÂÃæµÄÓï¾ä£º
if(x > big) big = x;
¸ÃÓï¾äÖеÄÿһ¸ö·ÖÀëµÄ×Ö·û¶¼±»»®·ÖΪһ¸ö¼ÇºÅ£¬³ýÁ˹ؼü×ÖifºÍ±êʶ·ûbigµÄÁ½¸öʵÀý¡£
ÊÂʵÉÏ£¬C³ÌÐò±»Á½´Î»®·ÖΪ¼ÇºÅ¡£Ê×ÏÈÊÇÔ¤´¦ÀíÆ÷¶ÁÈ¡³ÌÐò¡£Ëü±ØÐë¶Ô³ÌÐò½øÐмǺŻ®·ÖÒÔ·¢ÏÖ±êʶºêµÄ±êʶ·û¡£Ëü±ØÐëͨ¹ý¶Ôÿ¸öºê½øÐÐÇóÖµÀ´Ìæ»»ºêµ÷Óá£×îºó£¬¾¹ýºêÌæ»»µÄ³ÌÐòÓÖ±»»ã¼¯³É×Ö·ûÁ÷Ë͸ø±àÒëÆ÷¡£±àÒëÆ÷ÔÙµÚ¶þ´Î½«Õâ¸öÁ÷»®·ÖΪ¼ÇºÅ¡£
ÔÚÕâÒ»½ÚÖУ¬ÎÒÃǽ«Ì½Ë÷¶Ô¼ÇºÅµÄÒâÒåµÄÆÕ±éµÄÎó½âÒÔ¼°¼ÇºÅºÍ×é³ÉËüÃǵÄ×Ö·ûÖ®¼äµÄ¹ØÏµ¡£ÉÔºóÎÒÃǽ«Ì¸µ½Ô¤´¦ÀíÆ÷¡£
1.1 = ²»ÊÇ ==
´ÓAlgolÅÉÉú³öÀ´µÄÓïÑÔ£¬ÈçPascalºÍAda£¬ÓÃ:=±íʾ¸³Öµ¶øÓÃ=±íÊ
Ïà¹ØÎĵµ£º
ÒªÈà Eclipse ¿ÉÒÔ¿ª·¢ C/C++ ³Ìʽ£¬Òª¹ÒÉÏ CDT ²Å¿ÉÒÔ¡£
Ê×ÏÈÒªÏÂÔØCDT
CDTµÄ×îа汾ÊÇ 3.1.0£¬ËüÖ§³Öeclipse3.2.0£¬ÆäÏÂÔØµØÖ·£ºhttp://download3.eclipse.org/tools/cdt/releases/callisto/dist/3.1.0/£¬»òÕßÊǵ½http://www.eclipse.org/cdt/downloads.phpÏÂÔØÆäËü° ......
ºÃ¾ÃÒÔǰ×öµÄÒ»¸ö³ÌÐò£¬Ì°ÐIJßÂÔʵÏÖ±³°üÎÊÌ⣬cʵÏÖ¡£
×ܽáÔÚÕâÀÒÔ±¸ÒÔºóºÍ±ðÈ˲éÕÒ¡£
//±³°üÎÊÌâ
#include "stdio.h"
#define MAX 10
void main()
{
int w[MAX]={0,10,130,15,60,25}; //´æ·ÅÖÊÁ¿
int v[MAX]={0,30,5,10,20,25}; //´æ·Å¼ÛÖµ
flo ......
1) goto
goto Ö»ÄÜÔÚÒ»¸öº¯ÊýÄÚÌø×ª¡£½¨ÒéÉÙÓã¬Ê¹µÃ³ÌÐòά»¤ÆðÀ´ÈÝÒ׳ö´í£»µ«ÊÇ£¬ÔÚÓжà¸öÑ»·Çé¿öÏÂÌø×ª£¬ÓÐʱÓÃgoto¿ÉÒÔʹµÃÎÊÌâ±äµÃ¼òµ¥¡£
class A
{
public:
A(){}
~A(){}
};
&nbs ......
°ÑÊäÈëµÄÒ»´®×Ö·ûת³ÉÊý×飬ת³ÉÁ´±í£¬È»ºóɾȥÆäÖÐÖ¸¶¨µÄ×Ö·û£¬ÔÚβ²¿Ìí¼ÓÒ»¸ö×Ö·û¡£
£¨³ÌÐò»¹²»ÍêÉÆ£¬Ã»ÓжÔÊä´íµÄÇé¿ö½øÐд¦Àí£¬£¬ÔÝʱÏÈÕâÑù°É¡£¡£= =¡££©
#include<stdio.h>
#include<malloc.h>
#define LEN sizeof(struct link)
struct link
{
char ch;
struct link *next;
}*string;
char a ......
C/C++
Í·ÎļþÒ»ÀÀ
//////////////////////////////////////////////////////////////////////////
C
Í·Îļþ
(C89,C95)
(C++98,C++03Ò²°üº¬)
include <assert.h>¡¡¡¡¡¡¡¡//Õï¶Ï¿â
include <ctype.h>¡¡¡¡¡¡¡¡ //×Ö·û´¦Àíº¯Êý¿â
include <errno.h>¡¡¡¡¡¡¡¡ //´íÎó¶¨Òå
include <float.h& ......