C++程序设计教学大纲初级中级.docx
- 文档编号:10591898
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:127
- 大小:63.60KB
C++程序设计教学大纲初级中级.docx
《C++程序设计教学大纲初级中级.docx》由会员分享,可在线阅读,更多相关《C++程序设计教学大纲初级中级.docx(127页珍藏版)》请在冰豆网上搜索。
C++程序设计教学大纲初级中级
第一部分:
c++的入门,基本数据类型和输入输出,表达式和语句,以及过程化语句
1. 写出c++最简单的程序的模板
答:
#include
usingnamespacestd;
intmain(void)错误!
未找到索引项。
{
cout<<"helloworld"< return0; } 2. c++的注释方式 答: (1) // (2)/*something*/ 3. c++中不同的教材中#include 答: (1)#include (2)#include (3)为了程序对C的兼容,#include (4)标准对c的 4. c++的常用保留字有哪些? 答: (1)AnsiC规定32个保留字,ansic++新增加29个保留字。 主要有: bool,catch,calss,delete,friend,inline,new,operator,private,protected,public,template,this,thow,true,virtual. 5. c++中的基本数据类型有哪些? 答: (1)基本数据类型: int,char,wchar_t,float,double,bool,type[],type*,void,struct,union,enum,class,string,vector,list,set, multiset,multimap,map,pair,stack,deque,引用数据类型。 6. typedef有哪些使用方式? 答: typedef是c/c++代码中经常用到的一个关键字.他的主要作用是给变量类型定义一个别名.从而达到代码简化,促进跨平台开发的目的. (1)下面是typedef的最经常的用法: typedefstruct{ inta; intb; }MY_TYPE; 这里把一个未命名结构直接取了一个叫MY_TYPE的别名,这样如果你想定义结构的实例的时候就可以这样: MY_TYPEtmp; 这是typedef的第一种用法.比较简单.就是typedef原变量类型别名.相似的例子: typedefunsignedlongDWORD; typedefvoidfar*LPVOID;//voidfar*是原变量类型,表示一个void型指针(far在32位系统里面已经没有意义了)等等 (2)typedef还有第二种用法.函数指针的使用。 . 比如: typedefint(*MYFUN)(int,int); 这种用法一般用在给函数定义别名的时候.(其实质还是和上面的用法一样的)上面的例子定义MYFUN是一个函数指针,函数类型是带两个int参数,返回一个int. 7. 什么是字符串常量? 如何使用? 答: (1)字符串常量是一对双引号括起来的字符序列。 在c++中,把字符串常量称作c规格的字符串常量,字符串常量总是以’\0’结束。 (2)字符串的处理方式: a.字符数组。 b.字符指针 c.string类型。 (3)字符串的常用函数: Length() size() empty() c_str()substr() Find() replace() at() 使用举例: 对字符串中的所有错误的”0”替换为”o”; #include #include #include #include usingnamespacestd; //字符串中的替换。 intmain(void) { stringstr="hell0w0rld"; string: : size_typepos; while (1) { pos=str.find("0"); if(pos==string: : npos) { break; } str.replace(pos,1,"o"); } cout< return0; } 8. 什么是枚举常量? 如何使用和定义? 答: (1)枚举常量是一种符号常量,它不是变量,不占有内存空间。 (2)定义了枚举类型后,可以定义该枚举类型的变量。 变量的取值只能是枚举类型定义时规定的值。 (3)定义枚举使用enum{},如果没有规定,第一个符号常量的枚举值就是0,其它枚举值依次增1。 使用举例: intmain(void) { enumCOLOR{RED,WHITE,BLACK,GREEN,BLUE}; COLORcolor=RED; intpaint=WHITE; cout< } 9. 什么是常量? 常量如何定义? 答: (1)常量是程序中不变的量,代表固定不变的值。 (2)定义常量的时候必须进行初始化; (3)常量名不能放在赋值语句的左边。 10. 左值和右值的区别? 答: (1)左值: (leftvalue)是指能够出现在赋值表达式左边的表达式,左值具有存放数据的空间的功能。 (2)右值: (rightvalue)只能出现在赋值表达式右边的值。 11. sizeof运算符的使用? 答: (1)sizeof是运算符,不是函数。 (2)sizeof的操作结果类型为size_t,利用typedef关键对unsignedint做了别称。 它返回操作数或者类型在内存中的字节长度。 (3)sizeof具有三中使用方式: a. sizeof(数据类型) b. sizeof(变量名称) c.sizeof变量名称。 代码举例如下 voidtestSizeof(charch[100]) { //数组做为函数的参数; cout<<"choffunctionis: "< } //字符串中的替换。 intmain(void) { inta; //普通变量 char*s="ibm"; //指针变量 charch[]="helloworld"; //字符数组 charch2[100]="IBM"; //字符数组 cout<<"ais: "< "< "< "< testSizeof(ch2); return0; } 结果: ais: 4sis: 4chis: 12ch2is: 100 choffunctionis: 4 12. c++中有哪些类型转换? 答: (1)默认类型的转换(隐式类型的转换) (2)强制类型的转换 (3)命名类型的转换 命名类型的转换: cast_name (1) static_cast 静态的转换 (2) dynamic_cast 动态的转换 (3) const_cast 去掉类型的const特性 (4) reinterpre_cast 重新解释 (1).const_cast。 你知道,一个int*是可以直接赋给一个constint*的,但是一个constint*是不可以直接赋给一个int*的。 这就需要: int*pi=const_cast 他还可以把volatile和对齐特性(alignment)去掉。 2.reinterpret_cast 就是: 把整型(广义的)转换为指针,把指针转换为整型(广义的),把指针转换为另一个类型的指针。 3.static_cast 可以做任何显式的自动转换(implicitcast),也可以做那些自动转换的逆转换,但是不能消除const,volatile和对齐。 4.dynamic_cast 就是根据类型信息来cast。 示例: 去掉const特性 intmain(void) { inta=20; const int*p=&a; int*p2=const_cast *p2=40;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 程序设计 教学大纲 初级 中级