第一章C 语言简介.docx
《第一章C 语言简介.docx》由会员分享,可在线阅读,更多相关《第一章C 语言简介.docx(22页珍藏版)》请在课桌文档上搜索。
1、第一章C+语言简介本章内容 C+语言的发展简史 C+语言的特点 C+语言的程序结构第一节c+语言的发展简史常考考点: C+语言的发展历史 C+语言与C语言的关系 C+是高级程序设计语言:易懂(接近于自然语言)、易读 高级语言需要编译(将程序编译为计算机指令进行运行) C+是由C发展而来的,与C兼容,是C的超集 C+既可用于面向过程的结构化程序设计,又可用于面向对象的程序设计,是一种功能强大的混合型的程序设计语言 面向对象和面向过程不是矛盾的,而是各有用途、互为补充第二节C+语言的特点常考考点: C+语言与C语言之间的主要异同点 C+的基本输入/输出语句,程序的输入/输出方法 函数的声明、参数传
2、递方式、参数默认值、内联函数等相关知识、函数重载的概念,const的含义及作用 指针的概念,C+中动态内存分配及释放的方法,并在程序中灵活运用、引用的基本概念,引用的定义与使用,类String的基本功能,声明类String对象,调用类string中的成员函数进行基本操作1.C+语言是一种编译式的、通用的、大小写敏感的编程语言,完全支持面向对象的开发模式。2.C+语言的主要特点表现在以下方面:它是C语言的继承,尽量兼容C语言,同时也增强了C语言对类型的处理;加入了面向对象的特征:抽象、封装、继承、多态;支持过程化编程、面向对象编程和泛型编程;C+语言可运行于多种平台上,如WindOWs、UAC操
3、作系统及UNIX的多种版本。一、基本的输入/输出1个头文件:include2个流类、2个流类对象、2个运算符号、2条语句:istream输入流类stream输出流类cin输入流对象COUt输出流对象流提取运算符(流插入运算符cin输入语句cout输出语句两个对象都不支持用户自定义类型数据的直接输入/输出,需要对两个运算符进行鳏操作【牛刀小试】在C+中使用流进行输入/输出,其中用于屏幕输出的对象是()。A.cerrB. cinC. coutD. Cfile正确答案C答案解析在C+中使用流进行输入/输出,其中用于屏幕输出的对象是“c。Ul【牛刀小试】在C+程序中,用来读取从键盘输入值的标准输入流对
4、象是O正确答案cin答案解析在C+程序中,用来读取从键盘输入值的标准输入流对象是“cin”【程序1-11输入/输出示例#include#includeusingnamespacestd;intmain()intonelntl,onelnt2;charStrArray20;stringstr;doubleoneDouble;charoneChar=*a;CoUt输入两个整型值,一个字符,一个字符串和一个浮点值,”;COUt以空格、Tab键或(Enter)键分隔:oneIntloneInt2oneCharstrArrayoneDouble;Str=StrArray;CoUt输入的数据是:“endl
5、;CoUt”字符串是:ttz,strendl两个整型值分别是:tOnelnt1和tonelnt2endl字符是:ttz,oneCharz,n“浮点值是:ttz,oneDoubleleaseinputtheint/char/str/doublenuaber:1M%aChifWl3.H1926 定义变量,字母大小写敏感 ,符号之后只能跟随一项(变量、表达式、函数调用语句等) 在输入数据过程中,使用空格、Tab、Enter将数据分开 输入完数据以后,回车,结束输入过程,并显示输出结果 加入适当的引导语,可以帮助用户实现操作二、头文件和命名空间1.C语言中使用头文件保存程序中用到的声明:包括函数声明、
6、常量的定义等等。2 .C+中也是如此,使用头文件保存:函数声明、类体的定义等等。3 .2includeGoStreamC+标准输入/输出流,使用Cin或COUt对象时,必须使用该库,可以包含多个头文件。4 .头文件包含:J系统提供的头文件includeJ用户自定义头文件includestudent,h”J当使用尖括号时,C+编译器将指令中指定的目录中去查找J采用双引号时,C+编译器在用户当前目录下或指令中指定的目录下寻找要包含的文件5 .常用头文件有:,标准输入输出流:标准文件流:,标准字符串处理函数:标准数学函数:【牛刀小试】指示编译器将一个源文件嵌入到带该指令的源文件中的指令是O正确答案i
7、nclude答案解析指示编译器将一个源文件嵌入到带该指令的源文件中的指令是“include”。6 .命名空间USingIIameSpaCeStd;C+中为了避免标识符之间命名重复现象,引入“命名空间”概念,即namespace 命名空间的作用是为了消除同名引起的歧义 这是C+的一种机制,使用关键字namespace把大量有逻辑联系的程序实体组合在一个标识符下 C+-标准程序库中的所有标识符都定义在一个名为Std的命名空间中 使Cir1、coutendl合法化,不能缺少命名空间(即std:Cin、std:COUt、std:endl)三、强制类型转换运算符当不同类型的量进行混合算术运算时,系统自动
8、进行合理的类型转换,也可以在程序中使用强制类型转换运算符static_cast或是const_cast进行转换。1. static_cast用于将一种数据类型转换成另一种数据类型,-一般情况下,Statijcast可以缺省。StatiCcast(表达式)#includeusingnamespacestd;intmain()doublea=34.23;cout(int)aendl;coutint(a)endl;coutstatic_cast(a)(表达式) 这个运算符的功能是,将常量指针转化成非常量的指针,并且仍然指向原来的对象; 或是将常量引用转换成非常量的引用,并且仍然指向原来的对象。int
9、nain()Inte;constintapft)constintc30jIntqjcout*txtndljcoutp,t*ptnjcout*tndljq三constwcast(p)j C LMerAdrwutrtoD*top*endl;W划couttt,xnJcoutpt*pendljcoutqtv*endl)cout*qconst.cMt(p)jcoutAct*candl;coutptpndljcoutqt*endl)rturn9四、函数参数的默认值常考知识点:1.选择题一一函数声明原型 函数原型的声明形式是否正确 基于函数原型,调用形式是否正确2.选择题、程序填空题一一函数默认参数函数原型
10、如果带有默认参数,如何定义,如果实现传参将带有默认参数的函数原型,补充完整【牛刀小试】一个C+源文件中包含3个函数:main,fa和fb函数,它们之间不正确的调用是()。A.在mainO函数中调用fb()函数B.在faO函数中调用fbO函数C.在fa()函数中调用faO函数D.在fb()函数中调用mainO函数正确答案D答案解析一个工程中有且仅有一个主函数(main),mian函数有调用任意其它用户自定义函数或库函数的权限;其它函数或用户自定义函数是没有调用主函数(main)的权限。任意其它用户自定义函数或库函数之间可以互相调用。【牛刀小试】有函数原型“intfun4(int,int);,以下
11、正确的语句是()。A. inta=fun4(1);B. coutfun4(3,4);C. inta=fun4(1)+fun4(1);D. coutfun4(3+4);正确答案B答案解析定义了两个整形参数,输出也要是两个整形参数,所以B正确。intfun4(int,int);cout,intCreturna+b+c;includeusingnamespaceStdjintfun(inta三10intb三2Gjintc36)rturnbc;intmain()Bcoutfun()endl;coutfun(le)endl;coutfun(lej2e)endl;coutfun(l8i208j30)end
12、l;return0;调用函数时,主调函数的实参与被调函数的形参按从左至右的顺序进行匹配对应,如果实参的个数与形参的个数相等,则它们:一一对应intfun(inta=10,intb3intc三30)returna+b+c;MeSSgInfunctionintfun(intmtint(ErrordefaultWgUmentmissingforparameter2ofIntfn(inint呻如果实参的个数m少于形参的个数n,则函数原型形参表中最前面的m个形参与m个实参相对应,后面的n-m个形参则使用默认值进行初始化*includeusingnamespacestd;intfun(inta1intb2
13、,intc30)returnabc)intmain()(cotfun(l0)endl;coutfun(10020)endl;coutfun(100j200j300)usingnamespacestd)intI8,A76;Intmx(intmintn)Kreturnn:n;arintfunc2(intx,*ntyaMx(,b),intz-b)fi GXUsersVAdministrareturnxyx;)intin()Kcoutfunc2(l)endl;return0;【牛刀小试】在函数调用时,若某一参数要指明一个特定值,则需要满足()。A.其之前所有参数都必须赋值B.其之后所有参数都必须赋值C
14、.其前、后所有参数都必须赋值D.其前、后所有参数都不必赋值正确答案A答案解析在函数调用时,若某一参数要指明一个特定值,则需要满足其之前所有参数都必须赋值。【牛刀小试】以下程序的输出是590,请将程序补充完整。#includeusingnamespacestd;voidfunc(inta,int,int)coutabcendl;intmain()func(5,9);returnO;)正确答案b、c=0Mincludeusingnamespacestd;voidfunc(IntajintbiIntc三) C:UsersAdnS90coutabcendl;intmain()func(5,9);ret
15、urn0;五、引用和函数参数的传递常考知识点: 引用的概念 引用的表示 引用在函数参数中的使用 地址传递1.引用的定义引用相当于给变量起了一个别名。变量对应于某个内存地址,如果给某个变量起了别名,相当于变量和这个引用都对应到同一地址。“引用”的定义格式如下:类型名&引用名:同类型的某变量名;举例如下:inta=100;int&c=a;声明引用ttincludeusingnamespaceStdintmain()inta100;int&ca;coutaendl;coutcendl;c=5;coutaendl;coutcendl;return0;) GUserszWlncludeusingname
16、spacestdj:Intmain()Inta-10)int&ca;coutendl;cortcendl;a*20;coutendl;coutcendl)return0;Ml引用变量与原变量对应的是同个内存地址,也就是“你变,我就变; 系统并不为引用变量分配空间,我变,你也变” 声明引用变量时,原变量必须初始化 不能有空引用,即引用必须指向某个已存在的内存区域的首地址,也不能声明引用的引用例如:int&c=&b;(错误)2.引用在函数中的使用引用既可以作为函数的参数使用,也可以作为函数的返回值使用。C+中,函数调用时参数的传递有两种方式:传值和传引用。 传值,传递对象的值如果函数的形参不是引用
17、,那么调用时实参传递给形参通常采用的是传值的方式,即将实参的值拷贝给形参,函数内部对形参的改变不会影响到函数外实参的值。incldeusingnamespacestd)voidSW叩(Inta,Intb)kintt;二b;bt;Iintmain()int=12,b=18;SW叩此coutatbendljreturn0; 传引用,递对象的首地址值如果函数的形参是引用,则调用时实参传递给形参采用的是传引用的方式。函数调用时,实参对象名传递给形参对象名,形参对象名就成为实参对象名的别名,即形参是对应实参的引用,它们是等价的,代表同个对象,也可以看作是将实参的地址传递给了形参。在函数内部对形参的操作,
18、都是对这个地址的内容进行的,相当于对实参的值进行了操作。所以当函数执行完毕返回后,实参的变化被保留下来。iluiusingnamsMCstdvoidswep(intlntAb)InttjI;ab;bt)力IntIRaIMHInta12.bU;wp()coutwt*bendl;return町O 引用作为函数返回值int&fun(int&c)函数的返回值是一个引用,所以可以作为赋值语句中的左值使用。 扩展(了解):函数的返回值还可以是指针,这样的函数称为指针函数。函数原型格式如下:类型标识符*函数名(参数列表);#includeusingnamespacestd)inta三10;intb=20;i
19、nt&fun(int&x)Sreturnx;)1intmain()coutfun(a)endl;fun(a)三50;coutaendl;fun(b)=40;coutbendl;return0;【牛刀小试】使用值传递方式将实参传给形参,下列说法正确的是()。A.形参是实参的备份B.实参是形参的备份C.形参和实参是同一对象D.形参和实参无联系正确答案A答案解析使用值传递方式将实参传给形参,形参是实参的备份。【牛刀小试】程序分析题:给出以下程序的输出结果:#includeusingnamespacestd;Intmain()Inta=10;IntAba;b2;coutMaMaMbMbendl;Int
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第一章C 语言简介 第一章 语言 简介
链接地址:https://www.desk33.com/p-463338.html