电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOCX文档下载
分享到微信 分享到微博 分享到QQ空间

软考程序设计和程序设计语言知识点辅导汇总

  • 资源ID:80367314       资源大小:87.42KB        全文页数:40页
  • 资源格式: DOCX        下载积分:5金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要5金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

软考程序设计和程序设计语言知识点辅导汇总

软考程序设计和程序设计语言知识点辅导汇总函数定义在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可以作为它的首元素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,&a2,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; k<6;k+)printf(“%dt”,*aptk);/*其中*aptk可写成*(apt+k)*/当指针数组的元素分别指向二维数组各行首元素时,也可用指针数组引用二维数组的元素。以下代码说明指针数组引用二维数组元素的方法。设有以下代码:int a1020 ,i;int *b10;for(1=0;i<10;i+)/*bi指向数组元素ai0*/bi=&ai0 ;则表达式aij与表达式bij引用同一个元素,即从指针数组方向来看,因bi指向元素ai0,*(bi+j)或 bij引用元素aij.另外,当指针数组的元素指向不同的一维数组的元素时,也可通过指针数组,如同二维数组那样引用各一维数组的元素。如以下代码所示:char w0 =“Sunday”,w1 =“Monday”,w2 =“Tuesday”,w3 =“Wednesday”, w4 =“Thursday”, w5 =“Friday”,w6 =“saturday”;char *wName =w0,wl,w2,w3,w4,w5,w6 ;则语句for(i=0;i<=6;i+)printf(“%sn”, wNamei);输出星期的英文名称。代码wName24引用字符w24,其值为'd'.以下例子把一维数组分割成不等长的段,通过指针数组,把一维数组当作二维数组来处理。# include# define N 8int pN*(N+l)/2,i,j,*ptN ;void main() for(pt0=p, i=l;ipti=pti-1+i;for(i=0; ipti0=ptii=l;for(j=l;jptij=pti-1j-1+pti-1j;for(i=0;i< N; i+) printf(“%*c”,40-2*i,'');for(j=0; j<=i ;j+)printf(“M”, ptij) ;printf(“n”);程序产生如下形式的二项式系数三角形:11 11 2 11 3 3 11 4 6 4 11 5 10 1O 5 11 6 15 20 15 6 11 7 21 35 35 21 7 1指向字符串的指针变目通常所说的字符串指针就是指向字符率某字符的字符指针。因字符率存储于字符数组中,所以字符串指针也就是指向数组元素的指针。为程序中引入的字符串常量提供存储空间有两种方法。一是把字符率常量存放在一个字符数组中。例如,char s=“I am a string.”;数组s共有15个元素,其中 s14 为'0' 字符。对于这种情况,编译程序根据字符串常量所需的字节数为字符数组分配存储,并把字符串复写到数组中,即对数组初始化。另一种方法是由编译系统将字符串常量与程序中出现的其它常量一起存放在常量存储区中。程序为了能访问存于常量存储区中的字符串常量,可用一个字符指针指向它的第一个字符。当字符串常量出现在表达式中时,系统将字符率常量放入常量存储区,而把表达式转换成字符指针,指向该字符串常量的第一个字符。因此,可在定义字符指针变量时给它初始化指向某字符串常量,或用字符申常量给字符指针变量赋值,这两种方法都使字符指针指向字符串常量的第一个字符。例如,char *cp1,*cp2=“I am a string”;/*定义字符指针变量,并赋初值*/cp1=“Another string”;/* 先定义字符指针变量,然后按需要赋初值*/上述代码使字符指针变量cp2指向字符率常量“I am a string”的第一个字符I,使cpl指向字符串常量“Another string”的第一个字符 A.指向二维数组中的某个一维数组的指针变量如有一个二维数组,且指针变量所指的是二维数组中的一整行,则指针变量另有一些很有意义的性质。设有二维数组为int a34=1,2,3,4,5,6,7,8 , 9,10,11,12 ;这里,数组a有3行4列。按行来看数组a,数组a有三个元素,分别为a0,a1,a2.它们又分别是一个一维数组,各有4个元素。例如,a0所代表的一维数组为a00 、a0l 、a0p2, a03.一维数组名表达式的值是数组首元素(下标为0)的地址,二维数组名a表达式是a的首行a0的地址。一般地,a+i可以看作二维数组a的第i+1行的首地址。因二维数组a能用a0.a1、a2 分别表示它的各行,所以a0能表示用a0标记的 a的第一行的首元素 a00 的地址;a1 能表示用 al 标记的 a的第二行的首元素 al0 的地址。一般地,ai能表示用 ai标记的a的第i+1行的首元素ai0的地址。由于数组的开始地址与数组首元素的地址相同,这样,a+i与ai应有相同的值,但它们的意义不同,a+i表示用ai标记的a的第i+1行的首地址,ai表示用ai标记的a的第i+l行的首元素ai0的地址。另外,因ai可写成*(a+i),所以a+i与*(a+i)也有不同意义,而值相等。ai或*(a+i) 表示二维数组a的元素ai0的地址,即&ai0.根据地址运算规则,ai+j即代表数组a的元素aij的地址,即&aij.因ai与*(a+i)等价,所以*(a+i) +j也与&aij等价。由二维数组元素aij的地址有多种表示形式,数组元素aij也有以下三种等价表示形式:*(ai+j)、*(*(a+i)+j)、(*(a+i)i.特别是对于a00,它的等价表示形式有*a0和*a.数组元素aij的地址也有三种等价的表示形式:ai+j、*(a+i)+j、&aij

注意事项

本文(软考程序设计和程序设计语言知识点辅导汇总)为本站会员(jia****ihe)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.