锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
#include聽(tīng)
"
stdio.h
"
#include聽(tīng)
"
stdlib.h
"
typedef聽(tīng)
struct
{
聽(tīng)
int
聽(tīng)number;
聽(tīng)
int
聽(tīng)dicper;
}
ElemType;
typedef聽(tīng)
struct
聽(tīng)node
{
聽(tīng)ElemType聽(tīng)data;
聽(tīng)
struct
聽(tīng)node聽(tīng)
*
next;
}
Node,
*
LinkList;
void
聽(tīng)I(yíng)nitiatte(LinkList聽(tīng)
&
L)
{
聽(tīng)
if
((L
=
(LinkList)malloc(
sizeof
(Node)))
==
NULL)exit(
1
);
聽(tīng)L
->
next
=
L;
}
int
聽(tīng)I(yíng)nsert(LinkList聽(tīng)
&
L,
int
聽(tīng)i,ElemType聽(tīng)x)
{
聽(tīng)LinkList聽(tīng)q,p;
聽(tīng)p
=
L
->
next;
聽(tīng)
int
聽(tīng)j
=
1
;
聽(tīng)
while
(p
!=
L聽(tīng)
&&
聽(tīng)j
<
i
-
1
)
聽(tīng)
{
聽(tīng)聽(tīng)p
=
p
->
next;
聽(tīng)聽(tīng)j
++
;
聽(tīng)}
聽(tīng)
if
(j
!=
i
-
1
聽(tīng)
&&
聽(tīng)i
!=
1
)
聽(tīng)
{
聽(tīng)聽(tīng)printf(
"
鎻掑叆浣嶇疆鍙傛暟閿欙紒
"
);
聽(tīng)聽(tīng)
return
聽(tīng)
0
;
聽(tīng)}
聽(tīng)q
=
(LinkList)malloc(
sizeof
(Node));
聽(tīng)
if
(
!
q)exit(
1
);
聽(tīng)q
->
data
=
x;
聽(tīng)q
->
next
=
p
->
next;
聽(tīng)p
->
next
=
q;
聽(tīng)
return
聽(tīng)
1
;
}
int
聽(tīng)I(yíng)sNotEmpty(LinkList聽(tīng)L)
{
聽(tīng)
if
(L
->
next
==
L)
return
聽(tīng)
0
;
聽(tīng)
else
聽(tīng)
return
聽(tīng)
1
;
}
int
聽(tīng)Delete(LinkList聽(tīng)
&
p)
{
聽(tīng)LinkList聽(tīng)q;
聽(tīng)q
=
p
->
next;
聽(tīng)p
->
next
=
p
->
next
->
next;
聽(tīng)free(q);
聽(tīng)
return
聽(tīng)
1
;
}
void
聽(tīng)output(LinkList聽(tīng)
&
L,
int
聽(tīng)m)
{
聽(tīng)LinkList聽(tīng)pre,q;
聽(tīng)pre
=
L;
q
=
L
->
next;
聽(tīng)
while
(IsNotEmpty(L)
==
1
)
聽(tīng)
{
聽(tīng)聽(tīng)
for
(
int
聽(tīng)i
=
1
;i
<
m;i
++
)
聽(tīng)聽(tīng)
{
聽(tīng)聽(tīng)聽(tīng)pre;
聽(tīng)聽(tīng)聽(tīng)q
=
q
->
next;
聽(tīng)聽(tīng)聽(tīng)
if
(q
==
L)
聽(tīng)聽(tīng)聽(tīng)
{
聽(tīng)聽(tīng)聽(tīng)聽(tīng)pre
=
q;
聽(tīng)聽(tīng)聽(tīng)q
=
q
->
next;
聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)}
printf(
"
%d**
"
,q
->
data.number);
聽(tīng)m
=
q
->
data.dicper;
聽(tīng)q
=
q
->
next;
聽(tīng)
if
(q
==
L)q
=
q
->
next;
聽(tīng)Delete(pre);
聽(tīng)}
}
int
聽(tīng)main()
{
聽(tīng)
int
聽(tīng)n;
聽(tīng)printf(
"
璇瘋緭鍏ヤ漢鏁扮殑鍊鹼細(xì)\n
"
);
聽(tīng)scanf(
"
%d
"
,
&
n);
聽(tīng)ElemType聽(tīng)
*
P;
聽(tīng)LinkList聽(tīng)L;
聽(tīng)I(yíng)nitiatte(L);
聽(tīng)
int
聽(tīng)i,m;
P聽(tīng)
=
聽(tīng)
new
聽(tīng)ElemType聽(tīng)[n];
聽(tīng)
for
(聽(tīng)i
=
0
;i
<
n;i
++
)
聽(tīng)
{
聽(tīng)P[i].number
=
i
+
1
;
聽(tīng)聽(tīng)printf(
"
絎?d涓漢杈撳叆瀵嗙爜
"
,i
+
1
);
聽(tīng)聽(tīng)printf(
"
\n
"
);
聽(tīng)聽(tīng)scanf(
"
%d
"
,
&
P[i].dicper);
聽(tīng)}
聽(tīng)聽(tīng)
for
(i
=
1
;i
<=
n;i
++
)
聽(tīng)聽(tīng)I(yíng)nsert(L,i,P[i
-
1
]);
聽(tīng)printf(
"
瀵筸鐨勬暟鍊艱繘琛屽垵濮嬪寲:
"
);
聽(tīng)scanf(
"
%d
"
,
&
m);
聽(tīng)printf(
"
緇撴灉杈撳嚭:
"
);
聽(tīng)output(L,m);
聽(tīng)delete聽(tīng)[]聽(tīng)P;
聽(tīng)printf(
"
\n
"
);
聽(tīng)
return
聽(tīng)
0
;
}
12
]]>
聽(tīng)聽(tīng)聽(tīng)
闂鎻忚堪
錛氱害鐟熷か(Joseph)闂鐨勪竴縐嶆弿榪版槸錛氱紪鍙蜂負(fù)1錛?span lang="EN-US">2錛?銆傘傘傦紝n鐨?span lang="EN-US">n涓漢鎸夐『鏃墮拡鏂瑰悜鍥村潗涓鍦堬紝姣忎漢鎸佹湁涓涓瘑鐮侊紙姝f暣鏁幫級(jí)銆備竴寮濮嬩換閫変竴涓鏁存暟浣滀負(fù)鎶ユ暟涓婇檺鍊?span lang="EN-US">m錛屼粠絎竴涓漢寮濮嬫寜欏烘椂閽堟柟鍚戣嚜1寮濮嬮『搴忔姤鏁幫紝鎶ュ埌m鏃跺仠姝㈡姤鏁般傛姤鍒?span lang="EN-US">m鐨勪漢鍑哄垪錛屽皢浠栫殑瀵嗙爜浣滀負(fù)鏂扮殑m鍊鹼紝浠庝粬鍦ㄩ『鏃墮拡鏂瑰悜涓婄殑涓嬩竴涓漢寮濮嬮噸鏂頒粠1鎶ユ暟錛屽姝や笅鍘伙紝鐩村埌鎵鏈変漢鍏ㄩ儴鍑哄垪涓烘銆傝瘯璁捐涓涓▼搴忔眰鍑哄嚭鍒楅『搴忋?br />
榪欐槸鎴戜滑鏁版嵁緇撴瀯絎竴涓疄楠岄鐩傚ぇ閮ㄥ垎閮界敤C璇█鍐欍傛垜鐢–++鍐欑殑錛屽啓鍒頒竴鍗婄紪璇戦氳繃浜?jiǎn)锛宺un鐨勬椂鍊欏嚭浜?jiǎn)闂銆傝繕娌℃湁鍐欏畬錛屽彧鎶婄敤鐢ㄥ埌鐨勭被鍐欎簡(jiǎn)鍑烘潵銆傜涓嬈¤繖鏍峰啓錛屼笉鐭ラ亾閭i噷闄や簡(jiǎn)闂銆?br />
浠g爜錛?br />
聽(tīng)
2. 鐢辨鍙錛宼his鍦ㄦ垚鍛樺嚱鏁扮殑寮濮嬪墠鏋勯犵殑錛屽湪鎴愬憳鐨勭粨鏉熷悗娓呴櫎銆?br />榪欎釜鐢熷懡鍛ㄦ湡鍚屼換涓涓嚱鏁扮殑鍙傛暟鏄竴鏍風(fēng)殑錛屾病鏈変換浣曞尯鍒?br />褰撹皟鐢ㄤ竴涓被鐨勬垚鍛樺嚱鏁版椂錛岀紪璇戝櫒灝嗙被鐨勬寚閽堜綔涓哄嚱鏁扮殑this鍙傛暟浼犻掕繘鍘匯傚錛?br />A a;
a.func(10);
姝ゅ錛岀紪璇戝櫒灝嗕細(xì)緙栬瘧鎴愶細(xì) A::func(&a, 10);
鍡紝鐪嬭搗鏉ュ拰闈?rùn)鎬佸嚱鏁版病宸埆錛屽鍚楋紵涓嶈繃錛屽尯鍒繕鏄湁鐨勩傜紪璇戝櫒閫氬父浼?xì)瀵箃his鎸囬拡鍋氫竴浜涗紭鍖栫殑錛屽洜姝わ紝this鎸囬拡鐨勪紶閫掓晥鐜囨瘮杈冮珮錛嶏紞濡倂c閫氬父鏄氳繃ecx瀵勫瓨鍣ㄦ潵浼犻抰his鍙傛暟銆?/p>
3. 鍥炵瓟
#1:this鎸囬拡鏄粈涔堟椂鍊欏垱寤虹殑?
this鍦ㄦ垚鍛樺嚱鏁扮殑寮濮嬫墽琛屽墠鏋勯犵殑錛屽湪鎴愬憳鐨勬墽琛岀粨鏉熷悗娓呴櫎銆?br />#2:this鎸囬拡瀛樻斁鍦ㄤ綍澶? 鍫?鏍?鍏ㄥ眬鍙橀噺,榪樻槸鍏朵粬?
this鎸囬拡浼?xì)鍥牼~栬瘧鍣ㄤ笉鍚岋紝鑰屾斁緗殑浣嶇疆涓嶅悓銆傚彲鑳芥槸鏍堬紝涔熷彲鑳芥槸瀵勫瓨鍣紝鐢氳嚦鍏ㄥ眬鍙橀噺銆?br />#3:this鎸囬拡濡備綍浼犻掔粰綾諱腑鍑芥暟鐨?緇戝畾?榪樻槸鍦ㄥ嚱鏁板弬鏁扮殑棣栧弬鏁板氨鏄痶his鎸囬拡.閭d箞this鎸囬拡鍙堟槸濡備綍鎵懼埌綾誨疄渚嬪悗鍑芥暟鐨?
this鏄氳繃鍑芥暟鍙傛暟鐨勯鍙傛暟鏉ヤ紶閫掔殑銆倀his鎸囬拡鏄湪璋冪敤涔嬪墠鐢熸垚鐨勩傜被瀹炰緥鍚庣殑鍑芥暟錛屾病鏈夎繖涓娉曘傜被鍦ㄥ疄渚嬪寲鏃訛紝鍙垎閰嶇被涓殑鍙橀噺絀洪棿錛屽茍娌℃湁涓哄嚱鏁板垎閰嶇┖闂淬傝嚜浠庣被鐨勫嚱鏁板畾涔夊畬鎴愬悗錛屽畠?yōu)鍦ㄩ偅鍎垮Q屼笉浼?xì)璺戠殑銆?br />#4:this鎸囬拡濡備綍璁塊棶綾諱腑鍙橀噺鐨??
濡傛灉涓嶆槸綾伙紝鑰屾槸緇撴瀯鐨勮瘽錛岄偅涔堬紝濡備綍閫氳繃緇撴瀯鎸囬拡鏉ヨ闂粨鏋勪腑鐨勫彉閲忓憿錛熷鏋滀綘鏄庣櫧榪欎竴鐐圭殑璇濓紝閭e氨寰堝ソ鐞嗚В榪欎釜闂?shù)簡(jiǎn)銆?br />鍦–++涓紝綾誨拰緇撴瀯鏄彧鏈変竴涓尯鍒殑錛氱被鐨勬垚鍛橀粯璁ゆ槸private錛岃岀粨鏋勬槸public銆?br />this鏄被鐨勬寚閽堬紝濡傛灉鎹㈡垚緇撴瀯錛岄偅this灝辨槸緇撴瀯鐨勬寚閽堜簡(jiǎn)銆?/p>
#5:鎴戜滑鍙湁鑾峰緱涓涓璞″悗,鎵嶈兘閫氳繃瀵硅薄浣跨敤this鎸囬拡,濡傛灉鎴戜滑鐭ラ亾涓涓璞his鎸囬拡鐨勪綅緗彲浠ョ洿鎺ヤ嬌鐢ㄥ悧?
this鎸囬拡鍙湁鍦ㄦ垚鍛樺嚱鏁頒腑鎵嶆湁瀹氫箟銆傚洜姝わ紝浣犺幏寰椾竴涓璞″悗錛屼篃涓嶈兘閫氳繃瀵硅薄浣跨敤this鎸囬拡銆傛墍浠ワ紝鎴戜滑涔熸棤娉曠煡閬撲竴涓璞$殑this鎸囬拡鐨勪綅緗紙鍙湁鍦ㄦ垚鍛樺嚱鏁伴噷鎵嶆湁this鎸囬拡鐨勪綅緗級(jí)銆傚綋鐒?dòng)灱屽湪鎴愬憳鍑芥暟閲屽Q屼綘鏄彲浠ョ煡閬搕his鎸囬拡鐨勪綅緗殑錛堝彲浠?amp;this鑾峰緱)錛屼篃鍙互鐩存帴浣跨敤鐨勩?br />#6:姣忎釜綾葷紪璇戝悗,鏄惁鍒涘緩涓涓被涓嚱鏁拌〃淇濆瓨鍑芥暟鎸囬拡,浠ヤ究鐢ㄦ潵璋冪敤鍑芥暟?
鏅氱殑綾誨嚱鏁幫紙涓嶈鏄垚鍛樺嚱鏁幫紝榪樻槸闈?rùn)鎬佸嚱鏁幫級(jí)錛岄兘涓嶄細(xì)鍒涘緩涓涓嚱鏁拌〃鏉ヤ繚瀛樺嚱鏁版寚閽堢殑銆傚彧鏈夎櫄鍑芥暟鎵嶄細(xì)琚斁鍒板嚱鏁拌〃涓?br />浣嗘槸錛屾棦浣挎槸铏氬嚱鏁幫紝濡傛灉緙栬瘧鍣ㄨ兘鏄庣‘鐭ラ亾璋冪敤鐨勬槸鍝釜鍑芥暟錛岀紪璇戝櫒灝變笉浼?xì)閫氳繃鍑芥暟琛ㄤ腑鐨勬寚閽堟潵闂存帴璋冪敤錛岃屾槸浼?xì)鐩存帴璋冪敤璇ュ嚱鏁般?/p>
# 7:榪欎簺緙栬瘧鍣ㄥ浣曞仛鍒扮殑?8:鑳藉惁妯℃嫙瀹炵幇?
鐭ラ亾鍘熺悊鍚庯紝榪欎袱涓棶棰樺氨寰堝鏄撶悊瑙d簡(jiǎn)銆?br />鍏跺疄錛屾ā鎷熷疄鐜皌his鐨勮皟鐢紝鍦ㄥ緢澶氬満鍚堜笅錛屽緢澶氫漢閮藉仛榪囥?br />渚嬪錛岀郴緇熷洖璋冨嚱鏁般傜郴緇熷洖璋冨嚱鏁版湁寰堝錛屽瀹氭椂錛岀嚎紼嬪晩浠涔堢殑銆?/p>
涓句竴涓嚎紼嬬殑渚嬪瓙錛?br />class A{
int n;
public:
static void run(void* pThis){
A* this_ = (A*)pThis;
this_->process();
}
void process(){}
};
main(){
A a;
_beginthread( A::run, 0, &a );
}
榪欓噷灝辨槸瀹氫箟涓涓潤(rùn)鎬佸嚱鏁版潵妯℃嫙鎴愬憳鍑芥暟銆?/p>
涔熸湁璁稿C璇█鍐欑殑紼嬪簭錛屾ā鎷熶簡(jiǎn)綾葷殑瀹炵幇銆傚freetype搴撶瓑絳夈?br />鍏跺疄錛屾湁鐢ㄨ繃C璇█鐨勪漢錛屽ぇ澶氶兘妯℃嫙榪囥傚彧鏄綋鏃舵病鏈夋槑紜殑姒傚康緗簡(jiǎn)銆?br />濡傦細(xì)
typedef struct student{
int age;
int no;
int scores;
}Student;
void initStudent(Student* pstudent);
void addScore(Student* pstudent, int score);
...
濡傛灉浣犳妸 pstudent鏀規(guī)垚this錛岄偅灝變竴鏍蜂簡(jiǎn)銆?/p>
瀹冪浉褰撲簬錛?br />class Student{
public:
int age; int no; int scores;
void initStudent();
void addScore(int score);
}
const甯擱噺鍙互鏈夌墿鐞嗗瓨鏀劇殑絀洪棿錛屽洜姝ゆ槸鍙互鍙栧湴鍧鐨?/p>
///this鎸囬拡鏄湪鍒涘緩瀵硅薄鍓嶅垱寤?
this鎸囬拡鏀懼湪鏍堜笂,鍦ㄧ紪璇戞椂鍒誨凡緇忕‘瀹?
騫朵笖褰撲竴涓璞″垱寤哄悗,騫朵笖榪愯鏁翠釜紼嬪簭榪愯鏈熼棿鍙湁涓涓猼his鎸囬拡.
鍋氶鐨勬剰涔?/span>
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)By EmilMatthew
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)
鎴戝彲浠ユ湁鐩稿綋鐨勭悊鐢憋紝璁や負(fù)鑷繁鏄竴涓枩鐖卞涔?fàn)鐨勪汉锛屼絾鏄Q屾垜浜︿笉寰椾笉鎵胯錛屾垜鐨勮繖浠藉瀛︿範(fàn)鐨勭儹鐖辨槸鏈夋墍鍋忓け鐨勶紝鑷劧涔熷氨鏃犳硶浜彈鍒板涔?fàn)鐨勫叏鐒朵箰瓒c傚挨鍏跺湪鍋氬埌涓浜涚◢闅劇殑闂鐨勬椂鍊欙紝闀塊暱鏄箙鏀諱笉涓嬶紝浜庢槸蹇?jī)鐢熺枒闂Q屾垜榪欑瓑鐑儏鐨勬姇鍏ュ涔?fàn)锛屾庝負(fù)浣曡繕鏃犳硶鍘繪敾鍏嬮毦棰橈紝浣撲細(xì)涓浜涘縐戠簿濡欎箣澶勩?/font>
聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)
瀹為檯錛岃繖鏄竴涓艾璇紝鏀誨厠闅鵑錛岄櫎浜?jiǎn)鏈?/span> PASSION 錛屾湁鐭ヨ瘑涓婄殑縐瘡錛屾洿涓哄叧閿殑錛岄渶瑕佺殑鏄竴縐嶆濈淮鑳藉姏銆傝岃繖縐嶆濈淮鑳藉姏錛屽浜庣悊宸ョ鐨勫涔?fàn)鑰岃█錛屽仛棰樻槸涓繀涓嶅彲灝戠殑鐜妭銆傛湁 PASSION 錛屽枩嬈㈢湅涔︽槸鎴戠殑鐜扮姸錛岃繖鏄ソ浜嬫儏錛屼絾榪欑粷涓嶆槸璇達(dá)紝鏈変簡(jiǎn)榪欎簺灝變竴瀹氫細(xì)鏈夊ソ鐨勬濈淮鑳藉姏錛岃櫧鐒跺ソ鐨?/span> PASSION 鍙互鍘繪縺鍙戜竴瀹氱殑鎬濈淮鍔涳紝浣嗗ソ鐨勬濈淮鍔涘嵈鏄繀欏昏鏈夎緇冪殑榪欎竴鐜妭鐨勶紝鍚﹀垯錛屽氨浼?xì)鍍忎竴灞傜獥鎴風(fēng)焊錛屼竴鎹呭氨鐮達(dá)紝緇忎笉璧鋒湁闅懼害錛屾湁娣卞害闂鐨勮冮獙銆?/span>
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)
聽(tīng)聽(tīng)聽(tīng) 鑷粠榪涗簡(jiǎn)澶у鍚庯紝瀹為檯涓婃垜瀵硅冭瘯鐨勭儹鎯呮槸閫愭笎涓嬮檷鐨勶紝瀵逛粈涔堜負(fù)鑰冭瘯鑰屽噯澶囷紝蹇欑殑涓嶅彲寮鐒︿箣綾葷殑浜嬬敋涓轟笉榻褲傜殑紜紝鍒頒簡(jiǎn)澶у榪樹(shù)負(fù)鑰冭瘯鑰屽涔?fàn)鍗村疄娌′粈涔堟剰鎬濓紝浣嗘槸鐢卞帉鎭惰冭瘯鑰岄『甯︾潃浜х敓鍘屾伓鍋氶鐨勬儏緇氨鏄釜寰堜笉濂界殑緇撴灉浜?jiǎn)銆傚叾瀹炴垜鐨勫涔?fàn)鐑儏涓鐩存槸楂樻定鐨勶紝灝ゅ叾鏄ぇ涓鎰熷彈浜?jiǎn)绋嬪簭璁捐鐨劸煄濡欎箣鍚庡Q屾洿鏄浘緇忎竴搴︿負(fù)涔嬪簾瀵濆繕椋燂紝鍐嶅姞涓婃垜瀵圭墿鐞嗗強(qiáng)鏁板閭g偣鎴栧彂鑷唴蹇?jī)鐨勬垨鍑轰簬鏁话鐨勫枩鐖卞Q屾垜瀵瑰幓瑙e喅涓浜涙湁瀹為檯鑳屾櫙鐨勯棶棰樿繕鏄厖婊$儹鎯呯殑錛屾瘡褰撹兘鍙戠幇鑷繁瑕佽兘鍙戠幇浜涙垨鍒涢犱粈涔堝皬鎴愭灉鐨勬椂鍊欙紝鏇存槸浠や漢蹇?jī)娼編婀冦備絾鏄紝鎴戝瑙i錛屼篃灝辨槸鍋氫紶緇熺殑涔﹂潰涓婄殑璇曢鍗翠竴鐩存彁涓嶈搗綺劇錛屽敖綆″鏁扮殑棰樼洰鑷繁鏄В寰椾笅鏉ョ殑錛屼絾鏄瘡褰撻潰瀵歸毦棰樻椂錛屾垜浠嶆棫鏄姏涓嶄粠蹇?jī)鐨勩傝屼笖錛屾垜涔熷彂鐜幫紝鍦ㄨ嚜宸辯湅涔︾殑鏃跺欙紝寰堝鏈鍏抽敭鐨勮瘉鏄庯紝鎺ㄥ閮界浉褰撶殑鍚冨姏銆傛瘮濡傝嚜鍔ㄦ満鐨勪竴浜涚悊璁猴紝杈冮毦鐨勮瘉鏄庣湅鍑犵溂灝卞紑濮嬫檿浜?jiǎn)锛涘啀濡偨帡娉曞垎鏋愮悊璁烘枤w潰鐨勮瘉鏄庯紝寰堝鏃跺欎篃閮芥槸鏈涜屽嵈姝ャ傜┒鍏跺師鍥狅紝鎴戞兂錛屾渶鍏抽敭鐨勪竴鐐癸紝灝辨槸榪欏叾涓殑涓涓暣浣撴濊礬浠や漢鏃犳硶鎶婃彙銆傝岃繖鎬濊礬錛屾伆鎭版槸鎬濈淮榪囩▼鐨勪竴涓綋鐜幫紝鍏夋湁鐭ヨ瘑鐨勭Н绱槸榪滆繙涓嶅鐨勶紝瑙i鏄濈淮鑳藉姏璁粌鐨勪竴涓嚦鍏抽噸鐨勭幆鑺傘傞珮?shù)腑鏄篃璁哥斪兒帢q囧害鐨勫簲璇曞瑙i蹇?jī)鐢熷帉鍊︿簡(jiǎn)錛屼絾鏄埌浜?jiǎn)澶у閲屽Q屽鏋滀綘鎯沖寰楁繁鍏ョ殑璇濆瑙i?shù)粛鏃т笉鑳芥湁涓濇鐨勬澗鎳堛?/span>
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)
聽(tīng)聽(tīng)聽(tīng) 璇諱功錛屾洿澶氱殑鏃跺欐槸渚ч噸鍚告敹涓庣悊瑙o紝瀵逛簬鐞嗗伐縐戠被鐨勪功綾嶈岃█錛岃涔︽槸鍚﹁鐨勯忚繕?shù)笌涓涓漢鐨勬濈淮鑳藉姏鏈夌潃鐩稿綋鐨勫叧鑱斻傚湪浠呯煡閬撳悜閲忓強(qiáng)綰挎т唬鏁扮殑鍩虹涓婄湅寮犻噺鐨勬蹇碉紝鏈夌殑浜虹湅鐨勪笉鐭ユ墍浜戯紝鏈夌殑浜轟竴鐭ュ崐瑙?/span> ( 鎴戝氨灞炰簬榪欑 ) 錛屾湁鐨勪漢涓鐪嬪氨鎳備簡(jiǎn)錛涘啀濡備竴浜涘姏瀛︿腑鐨勫垎鏋愬強(qiáng)婕旂畻錛屽浜庡鐨勪笉鎵庡疄鐨勪漢鏉ヨ錛屽彲鑳芥妸鍚勪釜灝忔楠ゅ垎瑙d簡(jiǎn)鐪嬮兘鎳傛槸鎬庝箞鍥炰簨錛屽彲浠ョ患鍚堝埌涓璧鳳紝灝卞緢闅劇湅鍑轟釜鎵浠ョ劧浜?jiǎn)銆傜┒鍏跺師鍥狅紝鍦ㄨ涔﹁兘鍔涘熀鏈竴鑷寸殑鍓嶆彁涓嬶紝鍏抽敭灝辨槸鐪嬩綘鍦ㄧ湅鍒拌繖鏍風(fēng)殑涓涓蹇甸槓榪扮殑鏃跺欙紝浣犲湪鎬濈淮涓婅兘瀵瑰畠鍋氬嚭鎬庢牱鐨勫弽搴斻傝岃繖縐嶆濈淮涓婂弽搴旂殑楂樹(shù)笅錛屽拰璇諱功涓鏍鳳紝涔熸槸瑕佹湁涓涓Н绱殑榪囩▼鐨勶紝鑰岃繖縐嶈繃紼嬬殑縐瘡錛屽湪鎴戠湅鏉ワ紝寰堝ぇ涓閮ㄥ垎灝辨槸閫氳繃鍋氶鏉ユ彁楂樼殑銆?/span>
聽(tīng)聽(tīng)聽(tīng) 鎬濈淮鐨勮繃紼嬫湁褰掔撼錛屾帹鐞嗭紝婕旂粠錛屽彂鏁g瓑璁稿鏂瑰紡錛屾垜浠鏌愪釜闂鐨勮В鍐蟲(chóng)湁鎰忚瘑鍜屾棤鎰忚瘑涓兘鐢ㄥ埌浜?jiǎn)杩欎簺鎬濈淮榪囩▼銆傛棤璁烘槸瀹為檯鐨勫伐紼嬮棶棰橈紝鎶戞垨鏄娊璞″嚭鏉ョ殑闂錛屽涔?fàn)棰樺Q屾濈淮鑳藉姏璧風(fēng)潃鑷沖叧閲嶈鐨勪綔鐢ㄣ傚綋鐒?dòng)灱岀煡璇嗙殑绉疮鍦ㄨВ鍐抽棶棰樼殑杩嚱E嬩腑浜︽槸涓捐凍杞婚噸鐨勩傜敤鍞墿璁虹殑瑙傜偣鏉ョ湅錛屼簩鑰呯殑鍏崇郴鏄浉杈呯浉鎵跨殑銆傚伐紼嬬殑錛屽疄闄呯殑闂鐩稿瑕佸鏉傚拰鍐楃箒錛屼絾鏈繀閮藉緢鑹版繁錛岃屼範(fàn)棰樹(shù)腑鐨勬娊璞¢棶棰樿妯$浉瀵瑰皬錛屽闂鐨勫墫鏋愯兘杈懼埌鐩稿綋鐨勬繁搴︺傛墍浠ワ紝浠諱綍涓涓湁鐞嗘ф濊冪殑浜洪兘鍙互鐪嬪埌錛屽湪瀛︽牎鎶婅В鍐抽棶棰樼殑鍩虹鎵撳ソ浜?jiǎn)锛屾棤璁烘槸浠ュ悗鍋氱爺绌稑q樻槸鍘繪姇鍏ュ埌鐢熶駭瀹炶返涓幓錛屼笉璇存父鍒冩湁浣欙紝鏈璧風(fēng)爜錛屽湪緇忚繃涓瀹氱殑閫傚簲鍚庯紝鏄畬鍏ㄥ彲浠ユ帉鎺х殑銆傝岄氳繃涔?fàn)棰樺湪鎬濈淮灞備笂鐨勮緇冿紝鏇存槸鍙互浣夸綘鍦ㄧ悊宸ョ ---- 榪欐牱涓涓瘜浜庣悊鎬у寲鍒嗘瀽錛岀簿宸ф瀯寤猴紝楂樺害鎶宸у寲鐨勯鍩熶腑杈懼埌铻嶄細(xì)璐氾紝瑙︾被鏃侀氱殑浣滅敤銆傛墍浠ワ紝浠ュ墠鎴戞斁寮冩垨杞昏鍋氶鐨勮涓烘槸浣曠瓑鐨勫彲絎戯紒
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) 涔嬫墍浠ュ瑙i鎻愪笉璧峰お澶氬叴瓚o紝鍏朵腑寰堝ぇ鐨勪竴閮ㄥ垎鍘熷洜鏄敱浜庡鏁版儏鍐典笅鎴戜滑鐨勮В棰樺浜庝竴縐嶈鍔ㄧ殑灞闈€備篃灝辨槸璇達(dá)紝琚佸笀鈥滆拷鐫璧垛濓紝鍦ㄨ繖鏍蜂竴縐嶆儏緇笅瑙i錛屼竴鑰呴毦鏈夊ソ鐨勫績(jī)鎯咃紝浜岃呯洰鐨勪互瀹屾垚浠誨姟涓轟富錛岃櫧鐒惰兘瀛﹀埌涓浜涗笢瑗匡紝浣嗙粓絀舵湁浜涙儏闈炲緱宸茬殑鎰忓懗銆傛兂鏈夋晥鑰屽張蹇箰鐨勮В棰橈紝涓漢璁や負(fù)鏈濂界殑娉曞瓙灝辨槸涓誨姩鍑哄嚮錛岃嚜宸卞幓鎵鵑鏉ュ仛錛屼笉蹇呭鎵撅紝鎵句竴涓ゆ湰杈冨ソ鍑虹増紺炬垨鍦ㄦ煇涓鏂歸潰鐗瑰埆鏈夊疄鍔涚殑瀛︽牎鍑虹殑涔︽槸鑲畾涓嶄細(xì)閿欑殑銆傜劧鍚庯紝灝辨槸鑷繁鐨勮В棰橈紝鍥為【涓庝綋浼?xì)浜?jiǎn)銆傝嚦浜庤В棰樼殑澶氬皯鍙兘鏄洜浜鴻屽紓浜?jiǎn)锛寴q欏拰浣犱釜浜虹殑瀹為檯鎯呭喌鏈夊緢澶у叧鑱旓紝浣嗘湁涓鐐癸紝灝辨槸瑙i?shù)竴瀹氳鎶曞叆錛屼竴瀹氳閲嶈鑷繁鍋氱殑榪欎簺棰樼殑浠庡摢涓搴﹀幓鑰冩煡鎬濈淮鍔涗互鍙?qiáng)瀵圭煡璇嗙殑杩愮敤銆佹帉鎻★紝鍚﹀垯錛屽鎯充互澶氬仛棰樻潵杈懼埌鎬濈淮椋炶穬鐨勬兂娉曟槸寰掑姵鐨勩備釜浜鴻涓猴紝榪欏涔?fàn)鐨勪刚d姩鎬т竴鏃﹁璋冨姩璧鋒潵涔嬪悗錛屼綘椹笂浼?xì)鎰熷彈鍒拌В棰樹(shù)篃绔熺劧鍜岀湅涔︿竴鏍鳳紝鏈夌潃璁稿鏀惰幏鐨勫枩鎮(zhèn)︿笌鎯婂銆傝屼粠瑙i?shù)腑鍙互鐩存帴寰楀埌鐨勬渶涓洪噸瑕佺殑濂藉鍦ㄤ簬錛氫竴鏉ヤ綘瀵規(guī)煇闂ㄨ紼嬫湰韜殑浣撶郴鍜岀煡璇嗙粨鏋勫姞娣變簡(jiǎn)鐞嗚В鍜屾帉鎻★紱浜屾潵浣犵殑鎬濈淮鑳藉姏浣撶郴鍙堝緱鍒頒簡(jiǎn)鍐嶄竴嬈$殑鍔犲己錛岄亣鍒版柊闂鐨勬椂鍊欙紙鍝曞拰鍘熸潵鐨勯鍩熶笉鐩稿叧錛夛紝浣犵殑媧昏穬鐨勬濊礬涔熷繀瀹氫細(xì)緇欎綘甯︽潵瑙e喅闂鐨勬洿澶氥佹洿濂界殑鍚ず銆?/span>
聽(tīng)聽(tīng)聽(tīng) 鎵浠ワ紝浣滀負(fù)涓涓悊宸ョ瀛︾敓鐨勪綘錛屾棤璁烘槸浠ュ悗鎯沖仛縐戠爺錛岃繕鏄兂灝藉揩鎶曞叆鐢熶駭瀹炶返錛屾濈淮鑳藉姏鏄瀬鍏墮噸瑕佺殑錛岃屽仛棰橈紝鍒欐槸鍏朵腑鐨勪竴鏉″繀鐢變箣璺傚綋浣犵湡姝f姇鍏ユ椂錛屼綘浼?xì)鍙戠帋图屽仛棰樺師鏉ヤ篃鍙互杩欒埇鐨勪韩鍙椼?/span>
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
SOFTWARE PIONEER PETER NAUR WINS ACM'S TURING AWARD![]() Dane's Creative Genius Revolutionized Computer Language Design |
![]() New York, March 01, 2006聽(tīng)聽(tīng)--聽(tīng)聽(tīng)The Association for Computing Machinery (ACM) has named Peter Naur the winner of the 2005 A.M. Turing Award. The award is for Naur's pioneering work on defining the Algol 60 programming language. Algol 60 is the model for many later programming languages, including those that are indispensable software engineering tools today. The Turing Award, considered the "Nobel Prize of Computing" was first awarded in 1966, and is named for British mathematician Alan M. Turing. It carries a $100,000 prize, with financial support provided by Intel Corporation. ![]() Dr. Naur was editor in 1960 of the hugely influential "Report on the Algorithmic Language Algol 60." He is recognized for the report's elegance, uniformity and coherence, and credited as an important contributor to the language's power and simplicity. The report made pioneering use of what later became known as Backus-Naur Form (BNF) to define the syntax of programs. BNF is now the standard way to define a computer language. Naur is also cited for his contribution to compiler design and to the art and practice of computer programming. ![]() "Dr. Naur's ALGOL 60 embodied the notion of elegant simplicity for algorithmic expression," said Justin Rattner, Intel senior fellow and Chief Technology Officer. "Over the years, programming languages have become bloated with features and functions that have made them more difficult to learn and less effective. This award should encourage future language designers who are addressing today's biggest programming challenges, such as general-purpose, multi-threaded computation, to achieve that same level of elegance and simplicity that was the hallmark of ALGOL 60." ![]() Contributions Signal Birth of Computing Science ![]() In 2002, former Turing Award winner Edsger Dijkstra characterized the development of Algol 60 as "an absolute miracle" that signaled the birth of what he called "computing science" because it showed the first ways in which automatic computing could and should become a topic of academic concern. The development of Algol 60 was the result of an exceptionally talented group of people, including several who were later named Turing Award winners. ![]() Dr. Naur's contribution to Algol 60, was seminal. John Backus, another former Turing Award winner, acknowledged Naur as the driving intellectual force behind the definition of Algol 60. He commented that Naur's editing of the Algol report and his comprehensive preparation for the January 1960 meeting in which Algol was presented "was the stuff that really made Algol 60 the language that it is, and it wouldn't have even come about, had he not done that." ![]() Before publication of the Algol 60 Report, computer languages were informally defined by their prose manuals and the compiler code itself. The report, with its use of BNF to define the syntax, and carefully chosen prose to define the semantics, was concise, powerful, and unambiguous. ![]() The 17-page Algol 60 Report presented the complete definition of an elegant, transparent language designed for communication among humans as well as with computers. It was deliberately independent of the properties of any particular computer. The new language was a major challenge to compiler writers. Dr. Naur went on to co-author the GIER Algol Compiler (for the transistorized electronic computer developed in Denmark known as GIER), one of the first compilers to deal fully and correctly with the language's powerful procedure mechanism. ![]() "Dr. Naur's contribution was a watershed in the computing field, and transformed the way we define programming languages," said James Gray of Microsoft Research, and Chair of the 2005 Turing Committee. "Many of the programming constructs we take for granted today were introduced in the Algol Report, which introduced a concise block-structured language that improved the way we express algorithms." ![]() Dr. Naur was instrumental in establishing software engineering as a discipline. He made pioneering contributions to methodologies for writing correct programs through his work on assertions that enable programmers to state their assumptions, and on structured programming. "His work, though formal and precise, displays an exceptional understanding of the limits and uses of formalism and precision," said Gray. Through these activities, and his development of an influential computer science curriculum, Dr. Naur contributed fundamental components of today's computing knowledge and skills. ![]() Early Experience in Practical Calculations and Applications ![]() Dr. Naur began his scientific pursuits as an astronomer, where he was involved in computations of the orbits of comets and minor planets. He obtained a magister of science degree (the equivalent of a master's degree) from Copenhagen University in 1949. He later returned there to earn a doctorate in astronomy in 1957. During the 1950-51 academic year, Dr. Naur studied astronomy at King's College in Cambridge, U.K., and came to the U.S. to further his work in the field. This work involved using early computers (starting with EDSAC, the world's first practical stored program electronic computer) for his astronomical calculations. In 1953, he returned to Denmark and served as a scientific assistant at Copenhagen Observatory. ![]() In 1959, he joined the staff of the compiler design group at Regnecentralen, the first Danish computer company. There he organized the Algol Bulletin and was editor of the 13-person international Algol 60 team's report that defined Algol 60. He became a professor at the Copenhagen University Institute of Datalogy in 1969, retiring in 1998. ![]() Dr. Naur was awarded the G. A. Hagemann Gold Medal from the Danish Technical University in 1963, the Jens Rosenkjaer Prize from the Danish Radio in 1966, and the Computer Pioneer Award from the Institute of Electrical and Electronics Engineers in 1986. ACM will present the Turing Award at the annual ACM Awards Banquet on May 20, 2006, at the Westin St. Francis Hotel in San Francisco, CA. |
![]() |
About the A.M. Turing Award![]() The A.M. Turing Award was named for Alan M. Turing, the British mathematician who articulated the mathematical foundation and limits of computing, and who was a key contributor to the Allied cryptanalysis of the German Enigma cipher during World War II. Since its inception, the Turing Award has honored the computer scientists and engineers who created the systems and underlying theoretical foundations that have propelled the information technology industry. For additional information, please see the A. M. Turing Awards site. About ACM ![]() ACM, the Association for Computing Machinery (http://www.acm.org), is an educational and scientific society uniting the world's computing educators, researchers and professionals to inspire dialogue, share resources and address the field's challenges. ACM strengthens the profession's collective voice through strong leadership, promotion of the highest standards, and recognition of technical excellence. ACM supports the professional growth of its members by providing opportunities for life-long learning, career development, and professional networking. |