2017年程序员考试知识点辅导

时间:2017-09-27 11:49:00   来源:无忧考网     [字体: ]

#程序员考试# #2017年程序员考试知识点辅导#】为了帮助广大考生顺利程序员考试,®忧考网整理了程序员考试知识点相关信息供大家参考,预祝大家顺利取证!


函数定义


在C程序设计中,将完成指定功能的C代码定义成函数,变成逻辑上一个相对独立的程序单位。函数定义需要指明函数返回值的类型、函数名、函数的形式参数(常简称形参)和函数体(包括说明和定义及语句序列)。函数定义的一般形式为


存储类型说明符 数据类型说明符 函数名(形式参数表)


形式参数说明序列


{


说明和定义部分


执行语句序列


}


存储类型说明符或省缺,或为static.省缺表示一个全局函数,static表示一个静态函数,只供同一源程序文件中的函数使用。


数据类型说明符用来指定函数返回值类型,可以是基本数据类型、某种指针类型、结构类型等。但不可以是数组类型。特别当函数不返回结果时,可用void明确指明函数不返回值。


数据类型说明符也可省缺,省缺被默认为返回int型值。


函数名是一个标识符。形式参数表是用远号分隔的若干形式参数,用不同的标识符指明各形式参数的名。形式参数说明序列用来说明各形式参数的数据类型,相同数据类型的形式参数可以一起说明。现在编写C程序的习惯是形式参数说明序列直接放在形式参数表中,即在形式参数说明表中顺序列出各形式参数的数据类型和形式参数的名称。如是这样,一般形式的第一行全部内容称为函数头,也称为函数模型。


特别情况,函数可能不设形式参数,也就没有形式参数表和形式参数说明序列。但函数名后的一对圆括号是不可以没有的。


一对花括号括住的部分称为函数体,函数体包括类型说明、变量定义和函数的执行语句序列。在函数体内可以有return语句终止函数的执行。如函数有返回值类型,则return语句中一定要有表达式,作为函数调用的返回值。


多级指针


当指针变量pp所指的变量ip又是一种指针时,呷就是一种指向指针的指针,称指针变量如是一种多级指针。定义指向指针变量的指针变量的一般形式为


数据类型 * *指针变量名;


例如,


int * *pp,*ip ,i ;


ip=&i;


pp=&ip;


定义说明pp是指向指针的指针变量;它能指向的是这样一种指针对象,该指针对象是能指向int型的指针变量。如上述代码让pp指向指针变量ip,中指向整型变量i.


多级指针与指针数组有密切的关系。若有指针数组:


char * lines[ ]= {“ADA”,“ALGOL”,“C”,“C++”,“FORTRAN”,“PASCAL” };


则lines指针数组的每个元素分别指向以上字符串常量的首字符。在这里数组名lines可以作为它的首元素lines[0]的指针,lines+k是元素 lines[k]的指针,由于lines[k] 本身也是指针,所以表达式 lines+k的值是一种指针的指针。如有必要还可引入指针变量cp,让它指向数组lines的某元素,如cp=&lines[k].这样,cp就是指向指针型数据的指针变量。在这里,cp是指向字符指针的指针变量,它应被定义成:char * *cp;


为了定义这样的 cp,它的前面有两个*号。由于*自右向左结合,首先是“* cp”表示 cp是指针变量,再有**cp表示cp能指向的是某种指针类型,最后“char * *cp”表示指针变量cp能


指向字符指针数据对象。如果有赋值cp=& lines[l],让它指向数组元素lines[1],则* cp引用 lines[1],是一个指针,指向字符串“ALGOL”的首字符。* *cp引用lines[1][0],其值是字符'A'.下面的代码实现顺序输出指针数组lines各元素所指字符串:


for(c=lines;cp


Printf(“%s\n”,*cp);


设有数组a[]和指针数组pt[]有以下代码所示的关系:


int a[]= {2,4,6,8,10 };


int *pt[]={&a[3],&a[2],a[4],&a[0],&[1]};


int * *p;


下面的代码利用指针数组pt[]和指针的指针p,遍历数组a[]:


for( p=pt; p


printf(“%d\t”,* *p);


闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣椤愯姤鎱ㄥ鍡楀幊缂傚倹姘ㄩ幉绋款吋閸澀缃曢梻鍌欑濠€閬嶆惞鎼淬劌绐楅柡宥庡亞娑撳秵銇勯弽顐沪闁绘挶鍎甸弻锝夊即閻愭祴鍋撻崷顓涘亾濮樼偓瀚�程序员闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣椤愯姤鎱ㄥ鍡楀幊缂傚倹姘ㄩ幉绋款吋閸澀缃曞┑鐘垫暩閸嬫稑螞濞嗘挸绠伴柟闂寸閸ㄥ倿鏌涘畝鈧崑鐐烘偂閻斿吋鐓熼柡鍌氱仢濡茶崵绱掗妸銉吋闁哄被鍊濆鍫曞箰鎼粹€叉樊闂備礁鎼懟顖滅矓瑜版帒鏄ラ柍鈺佸暞婵挳鏌涘☉姗堝姛濞寸姴鐬肩槐鎾诲磼濞嗘垵濡介梺鍝ュ仩瀹曢潧顕ユ繝鍥ㄥ€锋い鎺戝€甸弨铏節閻㈤潧孝婵炴潙鍊垮顐㈩吋閸℃瑧鐦堥梻鍌氱墛缁嬫帞绮婇埡浼卞綊鎮╅锝嗙彅闂佸疇顫夐崹鍧椼€佸▎鎾虫闁靛牆鎳庤ぐ鍡涙⒒娴g儤鍤€闁搞倖鐗犻獮蹇涙晸閿燂拷 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柣鎴eГ閸ゅ嫰鏌涢幘鑼槮闁搞劍绻冮妵鍕冀椤愵澀绮剁紓浣插亾濠㈣泛顑勭换鍡涙煏閸繃鍣洪柛锝呮贡缁辨帡鎮╅棃娑掓瀰闂佸搫鐬奸崰鏍嵁閹达箑绠涢梻鍫熺⊕椤斿嫰姊绘担鍛婂暈濞e洦妞介敐鐐村緞閹邦儵锕傛煕閺囥劌鐏犻柛妤勬珪娣囧﹪濡堕崒姘濠电偛鐡ㄧ划鎾剁不閺嶎厼绠栨俊銈呭暞閸犲棝鏌涢弴銊ュ妞わ负鍔岄—鍐Χ閸愩劌顬堥梺纭呮珪閿曘垽濡存担鑲濈喖鎳¢妶澶嬵€嶇紓鍌欑椤戝懎岣块敓鐘茶埞閻犻缚銆€閺€浠嬫煟濡偐甯涙繛鎳峰洦鐓熸俊銈傚亾闁哥喐娼欓悾鐑藉箣閿曗偓缁犵粯绻涢懠顒傚笡闁哄拑缍佸铏圭磼濡椿姊垮┑鐐叉嫅缂嶄線銆佸▎鎾冲嵆闁靛繆妾ч幏娲⒑閸涘﹦绠撻悗姘槻鍗辩憸鐗堝笚閻撴洟鏌曟繛鍨姕閻犳劧绱曠槐鎺楊敊绾拌京鍚嬮梺璇″枟缁矁鐏掗梻鍌楀亾闁归偊鍠氬▔鍨攽閿涘嫬浜奸柛濠冪墵瀹曟繈鏁冮崒姘鳖槶濠殿喗蓱婢у酣宕戦幘鎰佹僵闁绘劦鍓欓锟�
闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣椤愯姤鎱ㄥ鍡楀幊缂傚倹姘ㄩ幉绋款吋閸澀缃曢梻鍌欑濠€閬嶆惞鎼淬劌绐楅柡宥庡亞娑撳秵銇勯弽顐沪闁绘挶鍎甸弻锝夊即閻愭祴鍋撻崷顓涘亾濮樼偓瀚�程序员闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣椤愯姤鎱ㄥ鍡楀幊缂傚倹姘ㄩ幉绋款吋閸澀缃曞┑鐘垫暩閸嬫稑螞濞嗘挸绠伴柟闂寸閸ㄥ倿鏌涘畝鈧崑鐐烘偂閺囩喆浜滈柟鏉垮缁嬭崵绱掗埀顒勫焵椤掑嫭鈷戦柛娑橈工閻忊晛鈹戦悙鈺佷壕闂備礁鎼張顒勬儎椤栫偟宓侀柛銉墮鎯熼梺鎸庢⒒閺咁偉銇愰崱娑欌拻濞达絽鎳欓悷鎳婂綊鎮滈挊澶岀崶闂佸搫绋侀崢濂告嫅閻斿吋鐓熼柡鍐ㄥ€哥敮鍓佺磼閻樿櫕鐨戦柟鎻掓啞閹棃鏁愰崱妤婁紩闂備浇娉曢崰鎾存叏閻㈠憡鍋傞煫鍥ㄧ⊕閻撴洘銇勯幇闈涗簻濞存粍绮岄湁婵犲﹤瀚粻妯肩磼鏉堛劌绗х紒杈ㄥ笒铻i柤娴嬫櫇閺嗙増淇婇悙顏冪礃闁告劑鍔夐崑鎾诲锤濡も偓閽冪喖鏌i弮鍌氬付缂佲偓閸曨垱鐓忛柛顐g箖椤ユ粍銇勮箛銉﹀ 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柣鎴eГ閸ゅ嫰鏌涢幘鑼槮闁搞劍绻冮妵鍕冀椤愵澀绮剁紓浣插亾濠㈣泛顑勭换鍡涙煏閸繃鍣洪柛锝呮贡缁辨帡鎮╅棃娑掓瀰闂佸搫鐬奸崰鏍嵁閹达箑绠涢梻鍫熺⊕椤斿嫰姊绘担鍛婂暈濞e洦妞介敐鐐村緞閹邦儵锕傛煕閺囥劌鐏犻柛妤勬珪娣囧﹪濡堕崒姘濠电偛鐡ㄧ划鎾剁不閺嶎厼绠栨俊銈呭暞閸犲棝鏌涢弴銊ュ妞わ负鍔岄—鍐Χ閸愩劌顬堥梺纭呮珪閿曘垽濡存担鑲濈喖鎳¢妶澶嬵€嶇紓鍌欑椤戝懎岣块敓鐘茶埞閻犻缚銆€閺€浠嬫煟濡偐甯涙繛鎳峰洦鐓熸俊銈傚亾闁哥喐娼欓悾鐑藉箣閿曗偓缁犵粯绻涢懠顒傚笡闁哄拑缍佸铏圭磼濡椿姊垮┑鐐叉嫅缂嶄線銆佸▎鎾冲嵆闁靛繆妾ч幏娲⒑閸涘﹦绠撻悗姘槻鍗辩憸鐗堝笚閻撴洟鏌曟繛鍨姕閻犳劧绱曠槐鎺楊敊绾拌京鍚嬮梺璇″枟缁矁鐏掗梻鍌楀亾闁归偊鍠氬▔鍨攽閿涘嫬浜奸柛濠冪墵瀹曟繈鏁冮崒姘鳖槶濠殿喗蓱婢у酣宕戦幘鎰佹僵闁绘劦鍓欓锟�

VIP濠电姷鏁告慨鐑藉极閹间礁纾婚柣鎰斀缂傛碍绻涢崱妯诲碍閻熸瑱绠撻幃妤呮晲鎼粹剝鐏嶉梺鎼炲€曢懟顖濈亙闂佹寧绻傞幊搴ㄥ汲濞嗘垹纾奸柣姗€娼ч弸鏃堟煃瑜滈崜婵嬶綖婢跺⊕娲冀椤剝妞介弫鎰緞鐎n亖鍋撻崹顔规斀闁绘ɑ褰冮埀顒傛暬瀵劍绂掔€n偆鍘藉┑鈽嗗灠閵囨﹢宕ラ銈囩<闁归偊鍘介ˉ鍫ユ煛瀹€瀣М妤犵偞锕㈤、娑樷槈濞嗘垵缍冮梻鍌欑閹碱偊鎯屾径灞界筏闁稿﹦鍠撴禍娆撴⒒娴e憡鍟炴繛鍙夌墵閹ê顫濇潏鈺冾槸闂佸壊鍋呯缓楣冨绩娴犲鐓熼柟鎵濞懷囨偨椤栨氨鍩i柡宀嬬到铻栧ù锝囨嚀绾炬娊鎮楀▓鍨珮闁稿瀚伴、姗€宕楅悡搴g獮闁诲函缍嗛崑鍛搭敂閻斿吋鈷掑ù锝堝Г绾爼鏌涢敐蹇曠暤妤犵偛绻橀弫鎾绘晸閿燂拷