c程序设计要点复习.docx
- 文档编号:23756345
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:19
- 大小:740.53KB
c程序设计要点复习.docx
《c程序设计要点复习.docx》由会员分享,可在线阅读,更多相关《c程序设计要点复习.docx(19页珍藏版)》请在冰豆网上搜索。
c程序设计要点复习
第一章程序设计概述
●面向对象程序设计的本质是把数据和数据处理的过程当成一个整体--对象。
●由符号“/*”和“*/”括起来的多行注释语句(不能嵌套使用);
●main()函数是必须的入口函数,每个C程序从main()函数开始执行,并在main()中结束。
第二章C++的数据类型、运算符和表达式
●C++语言程序中允许出现的所有基本字符的集合,称为C++语言的字符集。
●标识符:
是由程序员定义的命名符。
用来标识常量、变量、函数、数据类型的名字等。
由字母、数字和下划线(其他的都是非法的)组成,且必须以字母或下划线为第一字符。
1)保留字或关键字是系统作特殊用途的单词,不可作用户标识符;
2)标识符的大小写有区别;
3)C++没有规定标识符的长度,即字符个数;
4)标识符尽可能做到见文知意,增加程序可读性
●八进制(octal):
以0开头的八进制数字串;
●十六进制(hexadecimal):
以0x开头的十六进制数字串;
●指数形式,也即科学记数法,用字母E或e表示,一般形式:
aEb,表示a*10的b次方,b必须是整数,且尾数和指数都不能缺省!
●C++的浮点数有3种:
单精度浮点型(float),双精度浮点型(double)和长双精度浮点型(longdouble)。
不加后缀的浮点数默认为double型,float型数据后缀为F或f,longdouble型数据后缀为l或L。
●字符常量:
如:
‘A’=65,‘a’=97;所以这些常量可以参加数值运算,如‘A’+1=65+1=66=‘B’.(0是48)
●转义字符可以组成字符常量,其长度也为1。
如‘\n’.
●字符串:
可以一行或连续几行书写,当连续几行书写时,在每行后加续行符“\”结尾即可。
●每个字符串都有一个串结束标志“\0”,因此字符串在内存中占用的字节数等于字符串的长度加1eg.“\\ABCD\\”:
占内存7个单元。
“\101\102\x43\x44”:
是字符串“abCD”
●字符串的长度不受限制,靠“\0”来判定串的结束;“a”和‘a’是两个不同的概念;字符串常量实际上是一个字符型数组,不存在字符串型的数据类型。
●#defineN100
●longwidth=7,length=7;doublearea,radius=23;(这些是合法的)
●关于“/”如果两个运算对象有一个或两个都是实型,则运算结果是实型。
●关于“%”只能用于整数,取两数相除后的余数;当运算的对象异号时,取%前的运算数的符号作为结果符号,而值为两数绝对值的余数。
●关于逻辑0表示假1表示真。
●逻辑运算符的操作数可以是任何基本数据类型的数据。
●关于位运算符
1)~:
按位求反,将运算元内所有的1变0,0变1
2)&:
按位与,处理两个整形运算元中的每一个二进制位,如果对应位值都为1,则结果位为1,反之结果位值为0。
3)^:
按位异或,对于每个二进制位,如果两个运算元中的对应位有且仅有一个为1时,结果位上的值为1,反之结果为0。
4)|:
按位或,对于每个二进制位,如果两个运算元中的对应位其中有一个为1时,结果位上的值为1,反之结果为0。
5)<<:
左移运算符,将左运算元中的各二进制位全部向左移动一定位数,左移n位相当于乘2的n次方。
6)>>:
右移运算符,运算元中各二进制全部右移一定位置。
●Sizeof:
返回其后的表达式类型标识符所表示的数在内存所占字节的多少,实际上是求所占内存字节数,所以也叫长度运算符。
●如果有多于两个+或两个-连写的情况,则编译首先识别前面两个+或-为增量或减量操作符。
●c=a+++++b;//error
第3章数据的输入与输出
●输入:
信息从计算机的外部设备流入计算机主机称为输入。
●输出:
信息从计算机主机流入计算机外部设备称为输出。
●“>>”从cin输入流中抽取字符,”<<”向cout输出流中插入字符。
(深刻理解一下)
●在用浮点表示的输出中,setprecision(n)表示有效位数。
●将setprecision(n)与setiosflags(ios:
:
fixed)合用,可以控制小数点右边的数字个数。
此时,setprecision(n)设置小数位数为n位,setiosflags(ios:
:
fixed)是用定点方式表示实数。
●将setprecision(n)与setiosflags(ios:
:
scientific)合用,可以控制指数表示法的小数位数。
此时,setprecision(n)表示小数位数为n位,setiosflags(ios:
:
scientific)是用指数方式表示实数。
●C++提供两种数据的输入输出方式:
C的输入输出系统和输入输出流;
●采用库函数printf()和scanf()输入输出,对应于头文件stdio.h;
第4章C++的控制语句
●C++语句的分类:
声明语句操作语句控制语句
●选择的依据通常是关系表达式或逻辑表达式的值。
●三元条件表达式:
表达式1?
表达式2:
表达式3(先求表达式1的值,其值为非0时,整个表达式的值为表达式2的值;否则,整个表达式的值为表达式3的值。
)
●
●switch语句的几点说明
1)常量表达式必须互不相同,否则就会出现矛盾而引起错误
2)各个case和default出现的次序可以任意
3)switch语句可以嵌套
●while语句:
为了正常结束循环,避免死循环,循环体内应有修改循环条件的语句,或终止循环的语句
●求最大公约数的辗转相除法:
m和n为两个正整数,当m>n时,m与n的最大公约数等于n与m%n的最大公约数;当n=0时,m与n的最大公约数等于m。
●m是n的k倍还多r,那么m和n的最大公约数与n和r的最大公约数相同。
若r=0,则n就是m和n的最大公约数;若r不等于0,则对n和r重复上述过程,直到r=0为止。
第5章数组及其使用
●数组要求先定义后使用
●数组说明的作用是在程序运行前分配内存空间。
因此,数组类型符必须是已定义的,下标表达式也须有确定值,不能为变量或实型表达式。
●如果给定的常数的个数不足,则系统对其余元素初始化为0或空字符
●C++的高维数组在内存中以高维优先的方式存放,二维数组中以行为优先排放
●如果全部元素都赋初值,则定义数组时,对第一维的长度可以不指定,但高维的长度不能省,如:
intad[][3]={1,2,3,4,5,6};inty[][2][3]={1,2,3,4,5,6,7,8,9,10,11,12};
●字符数组的定义:
⏹charstr[10];
⏹str[0]=‘C’;str[1]=‘h’;str[2]=‘i’;str[3]=‘n’;str[4]=‘a’;str[5]=‘\0’;
●逐个字符对数组元素进行赋初始值:
charstr1[10]={‘s’,’t’,’u’,’d’,’e’,’n’,’t’};不会添加结束符‘\0’
●用串常量初始化:
charstr2[10]={“student”};
charstr3[]={“student”};——charstr3[]=“student”;
●String.h头文件包含:
1)字符串长度函数strlen()
2)字符串赋值函数strcpy()
3)字符串连接函数strcat()
4)字符串比较函数strcmp()如果两个串相等,函数返回值为0;如果s1串大于s2串,返回值大于0;如果s1串小于s2串,返回值小于0。
注意:
intstrncmp(constchar*s1,constchar*s2,intn);
函数strcmp用于两个串的完全比较;strncmp用于比较两个串的前n个字符。
●用cin流输入字符串时,C++把键盘操作的空格和回车都视为结束,因此无法输入带空格的字符串。
●C语言的函数gets接受键盘输入的空格,以回车作为结束。
使用puts输出字符串,这两个函数在stdio.h中声明。
●#include
●#include
●
●voidmain()
●{
●charstr[10];
●gets(str);
●puts(str);
●}
●
改进版:
#include
voidmain()
{
inta[10],i,j,temp,swap;
for(i=0;i<10;i++)
cin>>a[i];
for(i=0;i<9;i++)
{
swap=1;
for(j=0;j<9-i;j++)
{
if(a[j]>a[j+1])
{
swap=0;
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
cout<<"这时第"<
";
for(j=0;j<10;j++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 要点 复习