编程入门基础知识总结.docx
- 文档编号:24207462
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:17
- 大小:23.66KB
编程入门基础知识总结.docx
《编程入门基础知识总结.docx》由会员分享,可在线阅读,更多相关《编程入门基础知识总结.docx(17页珍藏版)》请在冰豆网上搜索。
编程入门基础知识总结
编程入门基础知识总结
基本知识
程序=算法+数据结构,算法是对操作的描述,数据结构是对数据的描述。
伪代码:
pseudocode
程序一般包括:
(1)预处理命令:
#include等精品文档,你值得期待
(2)全局声明部分
(3)函数:
函数首部(声明)、函数体(局部声明+执行部分)
程序执行过程
源程序-->编译成目标程序obj-->连接目标程序成可执行文件
类:
数据成员+成员函数
命名空间
实际上就是一个由程序设计者命名的内存区域。
程序员可以根据需要指定一些有名字的空间域,把一些全局实体分别放在各个命名空间中,从而与其它全局实体分隔开,解决名字冲突,防止全局命名空间污染。
C++库的所有标识符(标准头文件中函数、类、对象、类模版)都是在std命名空间定义的
A的ASCII码值65a的97
1.数据类型
•基本类型:
整型、浮点型、字符型、布尔型
•构造类型:
枚举、数组、结构体类型(struct)、公用体(union)、类类型
•指针类型
•引用类型
•空类型:
null
int4unsignedint4shortint2unsignedshortint2longint4unsignedlongint4
char1uchar1
float4double8longdouble8
无符号:
不用保存符号位,故比有符号多了一位
有符号:
数值用补码存放(无论正负),最高位为符号位
VC中,longdouble与double字节数相同,故longdouble是无用的
GCC中,longdouble则有12个字节
无负值的量可以定义为unsignedint,如年龄、学号等,以增大存储范围。
shortint,longint,unsignedint这些类型后面的int可以省略
整型表示:
十进制,后面加L或l
八进制,前面加0
十六进制,前面加0x
浮点数表示:
默认为双精度型double
后面加f或F则为单精度float
后面加l或L则为长精度型longdouble
指数形式
数符数字部分指数部分
a=3.14e2a=0.314e4a=31.4e1a=3140e-1
浮点数,不管是用小数形式还是指数形式表示,在内存中都是以指数形式表示的,且数字部分必须小于1
如3.14159在内存中表示为+.3141593,数字部分为.314159,是小于1的
字符型
字符型在内存中存储的是ASCII码,也是整型,故而可以把字符型赋给整型
字符串后面,编译系统会加个'\0'作为结束符
符号常量
用符号代表一个常量,如#definePI3.14159
在编译时,系统会把符号常量替换成具体的值
2.变量
变量:
程序运行期间,值可变的量
变量名:
代表内存中的一个存储单元,在编译连接时由系统给每一个变量分配一个地址
标识符:
标识实体名字的有效字符序列,字母、数字、下划线
常变量:
定义变量时加上const,运行期间值不可变,也即只读变量
区别#define定义的符号常量与const定义的常变量
符号常量只是用一个符号代表一个常量,在编译时把所有符号常量替换为指定的值,它没有类型,在内存中不存在以符号常量命名的存储单元
常变量具有变量的特征,具有类型,在内存中有以它命名的存储单元,与一般变量不同的是,常变量代表的存储单元值不可变。
强定义的好处
1.保证变量名使用的正确,不正确会在编译时报错
2.每个变量指定为一确定类型,在编译时就能为其分配存储单元
3.编译时即可检查变量进行的运算是否合法。
3.运算符
二进制位运算
&二进制按位与
|二进制按位或
^按位异或
<<左移位
>>右移位
++--自加自减运算符
++i使用i之前,i先自加
i++使用i之后,i再自加
++--结合方向为自右向左
例:
!
x++先取非,再++
(i++)+6先i+6,后i++,不管有无括号,都是先运算,再自加
(++i)+6先自加,再加6
-i++:
i左面是符号运算符,右面是自加运算符,设i等于3,运算过程相当于-(i++),即-i=-3-3+1=-2
a=-i++:
a结果为-3,先赋值,再自加;
5-i++=?
答案2?
待测试
i=1,j=2,则a=i+++j?
答案:
3因为相当于a=(i++)+j;
i=1,j=2,则a=i+(++j)?
答案:
4
赋值运算符=的优先级小于++--运算符
示例:
intarr[]={6,7,8,9,10};
sint*ptr=arr;
*(ptr++)+=123;
printf("%d,%d",*ptr,*(++ptr));
解:
*(ptr++)+=123;相当于*ptr+=123;*ptr++;故arr[0]=129;ptr指向arr[1]
printf函数从右向左压栈,运算顺序:
++ptr;输出结果:
88
cout也是自右向左压栈。
逗号运算符
又称顺序求值运算符
a=3*4,a*5则a=?
答案12?
注意逗号运算符优先级最低。
注:
整个逗号表达式的值为60(a=3*4=12,12*5=60)
x=(a=3,6*3)则x=18
x=a=3,6*a则x=3
3.内存存储
浮点数在内存里和整数存储方式不同
floata=1.0f;
cout<<(int)a==(int&a);
(int&a)相当于把该浮点数地址开始的sizeof(int)个字节当成int型数据输出,其值并不为1
(int)a显示转换等于1
4.类型转换
转换本质:
按存储单元中的存储形式直接传送
(1)浮点型赋给整型,舍弃小数部分
(2)double型赋给float,防止溢出错误
(3)int,short,long赋给char,原封不动取低八位
(4)signed赋给unsigned,符号位照搬。
负数以补码形式存放,-1赋给unsignedint,结果为65536.整数不会变,除非两个长度不同(int,long)发生截断
5.C++输入输出
C++输入输出包含三个方面的内容
(1)对系统指定的标准设备的输入输出。
即从键盘输入、输出到显示器屏幕,称标准输入输出,简称标准I/O
(2)以外出磁盘文件为对象进行输入输出,称文件I/O
(3)对内存中指定空间进行输入输出,通常指定一个字符数组作为存储空间,称字符串输入输出,简称串I/O
在C++中,输入输出流被定义为类。
C++的I/O库中的类称为流类,用流类定义的对象称流对象。
C++中输入输出是调用输入输出流库中的流对象cin、cout实现的,即I/O不是C++本身定义的,而是编译系统的I/O库中定义的。
I/O控制符#include
setprecision(n)设置精度为n,
十进制输出时,n代表有效数字位数包括整数和小数;
fixed(固定小数位数)和scientific(指数)形式输出时,n指小数位数(不包括整数部分)
doublea=123.4567890123456
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编程 入门 基础知识 总结