软考程序设计和程序设计语言知识点辅导汇总
40页1、软考程序设计和程序设计语言知识点辅导汇总函数定义在C程序设计中,将完成指定功能的C代码定义成函数,变成逻辑上一个相对独立的程序单位。函数定义需要指明函数返回值的类型、函数名、函数的形式参数(常简称形参)和函数体(包括说明和定义及语句序列)。函数定义的一般形式为存储类型说明符 数据类型说明符 函数名(形式参数表)形式参数说明序列说明和定义部分执行语句序列存储类型说明符或省缺,或为static.省缺表示一个全局函数,static表示一个静态函数,只供同一源程序文件中的函数使用。数据类型说明符用来指定函数返回值类型,可以是基本数据类型、某种指针类型、结构类型等。但不可以是数组类型。特别当函数不返回结果时,可用void明确指明函数不返回值。数据类型说明符也可省缺,省缺被默认为返回int型值。函数名是一个标识符。形式参数表是用远号分隔的若干形式参数,用不同的标识符指明各形式参数的名。形式参数说明序列用来说明各形式参数的数据类型,相同数据类型的形式参数可以一起说明。现在编写C程序的习惯是形式参数说明序列直接放在形式参数表中,即在形式参数说明表中顺序列出各形式参数的数据类型和形式参数的名称。如是这样
2、,一般形式的第一行全部内容称为函数头,也称为函数模型。特别情况,函数可能不设形式参数,也就没有形式参数表和形式参数说明序列。但函数名后的一对圆括号是不可以没有的。一对花括号括住的部分称为函数体,函数体包括类型说明、变量定义和函数的执行语句序列。在函数体内可以有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指针数组的每个元素分别指向以上字符串常量的首字符。在这里数组名
3、lines可以作为它的首元素lines0的指针,lines+k是元素 linesk的指针,由于linesk 本身也是指针,所以表达式 lines+k的值是一种指针的指针。如有必要还可引入指针变量cp,让它指向数组lines的某元素,如cp=&linesk.这样,cp就是指向指针型数据的指针变量。在这里,cp是指向字符指针的指针变量,它应被定义成:char * *cp;为了定义这样的 cp,它的前面有两个*号。由于*自右向左结合,首先是“* cp”表示 cp是指针变量,再有*cp表示cp能指向的是某种指针类型,最后“char * *cp”表示指针变量cp能指向字符指针数据对象。如果有赋值cp=& linesl,让它指向数组元素lines1,则* cp引用 lines1,是一个指针,指向字符串“ALGOL”的首字符。* *cp引用lines10,其值是字符A.下面的代码实现顺序输出指针数组lines各元素所指字符串:for(c=lines;cpPrintf(“%sn”,*cp);设有数组a和指针数组pt有以下代码所示的关系:int a= 2,4,6,8,10 ;int *pt=&a3,&a
4、2,a4,&a0,&1;int * *p;下面的代码利用指针数组pt和指针的指针p,遍历数组a:for( p=pt; pprintf(“%dt”,* *p);指针数组当数组元素类型为某种指针类型时,该数组就是指针数组。指针数组的定义形式为类型说明符 *数组名常量表达式 ;例如,int *p10 ;定义指针数组p的每个元素都是能指向int型数据的指针变量,p有10个元素,它们是p0 、pl、p9.和一般的数组定义一样,数组名p也可作为p0的地址。在指针数组的定义形式中,由于“ ”比“*”的优先级高,使数组名先与“”结合,形成数组的定义,然后再与数组名之前的“*”结合,表示此数组的元素是指针类型的。注意,在“*”与数组名之外不能加上圆括号,否则变成指向数组的指针变量。引人指针数组的主要目的是便于统一管理同类的指针。如利用指针数组能实现对一组独立的变量以数组的形式对它们作统一处理。如有以下定义:in a,b,c,d,e,f;int *apt=&a,&b,&c,&d,&e,&f;下面的循环语句能顺序访问独立的变量a、b 、c、d、e、f;for( k=0; k6;k+)printf(“%dt”
《软考程序设计和程序设计语言知识点辅导汇总》由会员jia****ihe分享,可在线阅读,更多相关《软考程序设计和程序设计语言知识点辅导汇总》请在金锄头文库上搜索。
2020届贵州省高二语文下学期线上周考试题(下载版)
陕西省西安市航空六一八中学2018-2019学年高二下学期第二次月考语文试题(扫描版无答案)
2020届宁夏中卫市语文高考二模试题
2020届普通高等学校招生伯乐马文综模拟考试试题
2020届河北省高二语文下学期线上月考试题答案(下载版)
2020届宁夏六盘山中学高二语文下学期线上月考试题(下载版)
2020届贵州省高二语文下学期线上周考试题答案(下载版)
2020届宁夏银川市高三理综生物第五次模拟考试题
山西省忻州市第二中学2018-2019学年高二10月月考语文试题
2021届山东省高二上学期语文12月月考试题
2021届山东省惠民县第二中学致远部高二语文上期十月月考试题
2020届宁夏中卫市语文高考二模试题答案
2020届山东高三物理模拟试题二及答案解析
2020届河南省洛阳市高三化学三模试题
2020届河南省洛阳市高三化学三模试题答案
2020届黑龙江省绥棱一中高二语文下学期4月试题答案
江苏省蒋王中学2018-2019学年度高二下学期5月月考语文试题(扫描版无答案)
2020届山东省聊城市政治高考二模试题答案
福建省漳平市第一中学2018-2019学年高二上学期第一次月考语文试题
2020届黑龙江省绥棱一中高二语文下学期4月试题
2022-01-19 60页
2021-11-16 27页
2021-11-16 39页
2020-02-04 32页
2019-02-19 11页
2019-02-19 49页
2019-02-19 8页
2019-02-19 11页
2019-02-19 7页
2019-02-19 30页