软考程序设计和程序设计语言知识点汇总.docx
《软考程序设计和程序设计语言知识点汇总.docx》由会员分享,可在线阅读,更多相关《软考程序设计和程序设计语言知识点汇总.docx(30页珍藏版)》请在咨信网上搜索。
1、软考程序设计和程序设计语言知识点汇总函数定义在C程序设计中,将完成指定功能的C代码定义成函数,变成逻 辑上一个相对独立的程序单位。函数定义需要指明函数返回值的类 型、函数名、函数的形式参数(常简称形参)和函数体(包括说明和定 义及语句序列)。函数定义的一般形式为存储类型说明符数据类型说明符函数名(形式参数表)形式参数说明序列(说明和定义部分执行语句序列存储类型说明符或省缺,或为static.省缺表示一个全局函数, static表示一个静态函数,只供同一源程序文件中的函数使用。数据类型说明符用来指定函数返回值类型,可以是基本数据类 型、某种指针类型、结构类型等。但不可以是数组类型。特别当函数 不
2、返回结果时,可用void明确指明函数不返回值。数据类型说明符也可省缺,省缺被默认为返回int型值。函数名是一个标识符。形式参数表是用远号分隔的若干形式参 数,用不同的标识符指明各形式参数的名。形式参数说明序列用来说 明各形式参数的数据类型,相同数据类型的形式参数可以一起说明。现在编写C程序的习惯是形式参数说明序列直接放在形式参数表中,一个有8个有效字符的字符串,其长度为8个字符,但在它的第九个位置存有结束标记符0.请读者注意以下几点:(1) 字符率与存储字符串的字符数组有区别。字符率的有效字符 是指从所指位置的第一个字符开始至字符串结束标记符之前的那些 字符。格式符“s”只输出字符串的有效字符
3、,而不会再继续输出字 符率结束标记符及其之后的字符。例如,char str50= Pas0cal Cobol Fortran C” ; printf( %sn , str);将只输出:Pas而实际上,数组str字符率结束符之后还存有其它许多字符。(2) 用“s”格式输出字符串时,不包括字符串结束标记符。对 应的输出项是字符串或字符串名。字符数组名可作为字符串名。对于 上例,写成printf ( %s , s0);是错误的。因s0是数组s的元素,是一个字符,不是字符串。(3) 在调用scanfO为字符数组输入字符串时,输入项是数组名, 不要加地址运算符&.(4) 若用“%c”格式结合循环输入字符
4、序列,若程序又想将输入的字符序列构成字符串,则程序必须用赋值语句在字符列之后存入字 符串结束标记符,使其变成字符串。程序经常要处理许许多多的字符串,如存储星期的名称。同时存储众多字符串的一个实现方法是定义一个二维字符数组,让二维数组 的每一行存储一个字符串。这样做,要求数组每行元素个数应比可能 最长的字符串字符个数还要多1个。如下面的示例所示:char weekDay 9 = ( Sunday , Monday , Tuesday, “Wednesday,“Thursday” , “ Friday , “Saturday” );在C程序中,存储多个字符串更好的方法是用指针数组。. 字符串称最后
5、有字符率结束符0的字符序列为字符串。字符数组中存 储的字符序列本身并不要求最后一定要有字符0.但当字符数组内 存储的内容需要作为字符串时,就必须要有标记符当字符数组内 存储的是字符串时,可用“s”格式输出,若是普通的字符序列,则 它不能用格式“s输出,而只能结合循环用格式“c输出。指定元素个数的字符数组用字符串常量给它初始化时,其元素个 数不能小于字符串常量的字符数,但数组的元素个数可以等于字符串 常量的字符数。例如,char ss3= abc;则,ss0 = a*, ssl = *b, ss2 = c.此时,字符数组 ss 中存储的是字符序列,不是字符串。字符率结束标记符的代码是8位全0,称
6、为空字符,程序用0 来标记。字符串的结束标记符紧接在字符串的有效字符列之后。例如, 一个有8个有效字符的字符串,其长度为8个字符,但在它的第九个位置存有结束标记符0.请读者注意以下几点:(1) 字符率与存储字符串的字符数组有区别。字符率的有效字符 是指从所指位置的第一个字符开始至字符串结束标记符之前的那些 字符。格式符“s”只输出字符串的有效字符,而不会再继续输出字 符率结束标记符及其之后的字符。例如,char str50= Pas0cal Cobol Fortran C;printf( %sn , str);将只输出:Pas。而实际上,数组str字符率结束符之后还存 有其它许多字符。(2)
7、用“s”格式输出字符串时,不包括字符串结束标记符。对 应的输出项是字符串或字符串名。字符数组名可作为字符串名。对于 上例,写成printf ( %s , s0);是错误的。因s0是数组s的元素,是一个字符,不是字符串。(3) 在调用scanfO为字符数组输入字符串时,输入项是数组名, 不要加地址运算符&.(4) 若用“%c”格式结合循环输入字符序列,若程序又想将输入 的字符序列构成字符串,则程序必须用赋值语句在字符列之后存入字 符串结束标记符,使其变成字符串。程序经常要处理许许多多的字符串,如存储星期的名称。同时存 储众多字符串的一个实现方法是定义一个二维字符数组,让二维数组的每一行存储一个字
8、符串。这样做,要求数组每行元素个数应比可能 最长的字符串字符个数还要多1个。如下面的示例所示:char weekDay 9 = ( Sunday”,“Monday” , “Tuesday, “Wednesday,Thursday” , “ Friday , Saturday ;在C程序中,存储多个字符串更好的方法是用指针数组。.一维数组元素的引用程序定义了数组后,就可引用数组的元素。引用数组元素的一般形式为数组名下标其中下标可以是整型常量、整型变量或整型表达式。例如,数组a的五个元素可分别用a0 al a2 a3、a4来引用它们。 设有定义:int x20, i;以下代码实现顺序输入数组X的全
9、部元素:for(i=0; i2)个不同情况和n+1个供选择的分 支。多分支选择结构也可用前叙述的嵌套if语句来描述,但因if 语句嵌套深度太多不便于程序编写,也不便于理解,为此C语言专门 提供了 一种实现多分支选择结构的语句,这就是switch语句。它的 一般形式是:switeh(表达式)case常量表达式1:语句序列1case常量表达式1:语句序列2case常量表达式n:语句序列ndefalt:语句序列n+1对switeh语句需说明以下几点:(1)switch后面括号内的表达式只限于是整型表达式或字符型表达式或枚举型表达式。(2) case后的常量表达式称为情况前缀,要求所有常量表达式的值互
10、不相同,并与switch后面括号内的表达式值的类型相一致。(3) 语句序列由任意条合法的C语句构成,也可以没有语句。(4) 情况前缀default可以缺省,但至多出现一次,习惯总是将它写在全部情况前缀之后,如有必要也可写在某case之前。switch语句的执行过程解释如下:先计算表达式的值,以该值依次与各case之后的常量表达式的值比较,按下列规则,选择执行的入口:如果表达式的值等于某个常量表达式的值,switch语句就从该常量表达式之后的语句序列的第一个语句开始执行,然后一直向下执 行,或自动依次进入后继常量表达式之后的语句序列继续执行(如没 有break语句),或执行完语句序列n+1,结束
11、switch语句的执行;或在执行某个语句序列过程中遇到转出该switch语句的语句(如break语句),就停止向下执行,结束switch语句的执行。如果没有相匹配的常量表达式,就从以default为情况前缀的语句序列开始执行。如果没有相匹配的常量表达式,也没有defaul情况前缀,则该 switch语句的这次执行立即结束。由上述解释可知,“case常量表达式只是起语句序列入口的 作用。在执行switch语句时,根据switch之后的表达式的值找到与 该值匹配的入口,就从此人口处开始执行,只要未遇到转出该switch 语句的break语句或goto语句,就一直向下执行,也不再理会经过 的case
12、后的常量表达式。如果要使各种情况互相排斥,仅执行各case所对应的语句序列, 最常用的办法是使用break语句,各语句序列都以break语句结束。 在switch语句中,执行break语句将使控制转向switch语句的后继 语句。由于switch语句的表达式不允许是实型的,当应用于实型值选择情况时,通常需作以下处理:将实表达式乘上一个适当的比例因子, 使较大的实表达式值映照到一个较小的范围上,然后再将它转换到整 型。break语句break语句除能用于switch语句外,还常用于循环语句中。执 行循环结构中的break语句,控制就从包含它的循环结构中退出。 break语句通常与if语句结合,构
13、成一个结束循环的条件。for语句for语句是C语言中最灵活、使用最广泛的循环结构语句。如以 最一般意义下考虑循环,一个完整的循环应包含对有关变量赋初值部 分、控制循环的条件、一个要循环计算的操作、每次循环后对有关变 量的修正等四部分组成。拉语句就是从这一般意义下表达循环结构的 语句。for语句的一般形式为for (表达式1;表达式2;表达式3)顺序结构顺序结构用来描述一个计算或操作序列,表示从序列的第一个计算开始,顺序执行序列中的每个计算,直至序列的最后一个计算。通 常,一个复杂的计算过程不能用一个简单的计算来表达,而需把复杂 的计算描述成简单计算的序列。1. 复合语句在C语言中,将顺序执行的
14、语句序列,用花括号括起来,构成C语言的复合语句。在逻辑上视复合语句为单个语句,它也能用作其它即在形式参数说明表中顺序列出各形式参数的数据类型和形式参数 的名称。如是这样,一般形式的第一行全部内容称为函数头,也称为 函数模型。特别情况,函数可能不设形式参数,也就没有形式参数表和形式 参数说明序列。但函数名后的一对圆括号是不可以没有的。一对花括号括住的部分称为函数体,函数体包括类型说明、变量 定义和函数的执行语句序列。在函数体内可以有return语句终止函 数的执行。如函数有返回值类型,则return语句中一定要有表达式, 作为函数调用的返回值。多级指针当指针变量PP所指的变量ip又是一种指针时,
15、呷就是一种指向 指针的指针,称指针变量如是一种多级指针。定义指向指针变量的指 针变量的一般形式为数据类型* *指针变量名;例如,int * *pp, *ip , i ;ip=&i;pp=&ip;定义说明PP是指向指针的指针变量;它能指向的是这样一种指 针对象,该指针对象是能指向int型的指针变量。如上述代码让pp 指向指针变量ip,中指向整型变量i.多级指针与指针数组有密切的关系。若有指针数组:结构语句的成分语句。在很多场合,复合语句内还会包含其它结构语 句。表达式语句在顺序结构中,最频繁使用的是表达式之后接上一个分号。例如,在赋值表达式之后接上分号,完成用表达式的值更新某变量,习惯称 这种表
16、达式语句为赋值语句;在函数调用之后接上分号,完成指定的 计算功能,习惯称这种表达式语句为函数调用语句。常用输入输出库函数最基本的输入输出库函数有字符输入函数、字符输出函数、格式输入函数和格式输出函数。1. 字符输入函数字符输入函数getchar()的功能是从标准输入设备上(通常是键盘终端)读取一个字符。该函数没有参数,对它的每次调用,就 返回下一个输入字符的ASCII代码值。例如,执行语句ch=getchar();使变量ch得到输入字符的ASCII代码值。一般情况下,这 里的变量ch为char型或int型。当程序在输入字符后,用ch判定 输入文件是否结束时,变量ch必须是int型的。这是因为文
17、件结束 标记值是T,是int型的。程序中常用EOF表示当前读人字符是文件 结束标记,常量名EOF在文件Stdio. h中被定义为一 1.2. 字符输出函数字符输出函数ptuchar 0有一个字符的ASCII代码值参数,函数调用putchar (ch)的功能是将以出值为其ASCII代码的字符输 出到标准输出设备(通常是终端显示屏)上。这里ch可以是char型或 int型数据。3. 格式输入函数格式输入函数scanfO的作用是从标准设备读人字符序列, 按格式控制字符率所包含的格式解释输入字符序列,并将解释结果存 储到对应的变量中。调用格式输入函数scanfO的一般形式为 scanf(格式控制字符串
18、,变量地址,变量地址,)格式控制字符串是字符串表达式,通常是由一对双引号括起 来的字符串常量,直接用于解释输入字符序列。格式控制字符率可以 包含:空白类字符(空格符或制表符),它们使输入跳过空白类字符,直到遇到下一个非空白类字符。通字符(不包括%),它们要求输入字符流中下一个字符与它相同。格式转换说明,以字符开头至输入格式符结束的字符 序列组成。格式转换说明引导对下一输入字符段进行转换。格式转换说明的一般形式为w h/1/L输入格式符输入格式符共有14个,有12种不同输入格式,其中大纲要 求掌握的7种输入格式符的意义见表3. 1.用方括号括住的内容是输 入格式修饰说明,可以缺省,它们的意义是:
19、(D*星号(赋值抑制符),对应的输入数据项按格式要求被输入,但结果不存储。带星号的格式转换说明不对应变量地址。用 它来跳过一个输入数据项。(2)一一整型常数(域宽说明),表示输入数据项的字符段的 有效字符数。若实际输入字符段的字符数小于W,以实际有效字符为 准。对于数值数据输入格式来说,输入域定义为从下一个非空白类字符起(因此可能跳过若干个空格符、制表符、换行符),到一个与 数值数据相矛盾的字符,或直到输入了指定个数的字符数;对于字符 率输入格式来说,输入域定义为从下一个非空白类字符起,输入非空 白类字符,直至遇到空白类字符,或直到输入了指定个数的非空白字 符。(3) h/1/L长度修饰符,指
20、明输入数据项的存储类型。h修饰格式符d, o, X时,表示输入的整数按短整型存储。1修饰格式符d, 0, X时,表示输入的整数按长整型存储。1修饰格式符e, f时,表示输入的实数按double型存储。 缺省时,对于格式符d, o, x,表示输入的整数按int整型 存储;对于格式符e, f,表示输入的实数是按float型存储。常用输入输出库函数最基本的输入输出库函数有字符输入函数、字符输出函数、格式 输入函数和格式输出函数。1. 字符输入函数字符输入函数getchar()的功能是从标准输入设备上(通常是键 盘终端)读取一个字符。该函数没有参数,对它的每次调用,就返回 下一个输入字符的ASCII代
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 程序设计语言 知识点 汇总
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。