《c语言程序设计》人民邮电版自己整理的重难点.docx
- 文档编号:30765214
- 上传时间:2023-08-23
- 格式:DOCX
- 页数:74
- 大小:2.27MB
《c语言程序设计》人民邮电版自己整理的重难点.docx
《《c语言程序设计》人民邮电版自己整理的重难点.docx》由会员分享,可在线阅读,更多相关《《c语言程序设计》人民邮电版自己整理的重难点.docx(74页珍藏版)》请在冰豆网上搜索。
《c语言程序设计》人民邮电版自己整理的重难点
第二章VC++简介
1.快捷键
①Complie(编译)Ctrl+F7
②Build(组建):
创建可执行文件(.exe或.dll),快捷键为F7
③StartDebug(开始调试):
包含Go(开始调试,程序运行到一个断点出暂时停止,快捷键F5)StepInto(单步调试,如果在调试过程中遇到函数,则进入函数内部,快捷键为F11)RuntoCursor(开始调试,程序运行到光标出停止,快捷键为Ctrl+F10)等。
特别强调:
F10单步调试F11进入函数内部,否则按main函数
2.文件扩展名
类型
扩展名
作用
工程工作区文件
.dsw
用于描述工作区及内容
工程文件
.dsp
存放特定的工程,用于记录工程中各种文件的名字和位置
工程区选项文件
.opt
该文件包含工作区文件中要用到的本地计算机的有关配置信息
源程序文件
.cpp
00编译程序生成的目标文件
.obj
可执行程序
.exe
第3章数据类型、运算符与表达式
1.数据类型
数据类型
基本类型
整型int(244)
Unsignedshortint大于0P26
实型
单精度float4
双精度double488
字符型
字符型常量
转义字符
字符型变量
Char1
枚举型
构造类型
数组类型
结构体类型
共用体类型
指针类型
一种特殊的数据类型,用于表示某个变量在内存中的地址。
空类型
结构体简述:
反映各个数据项之间的联系,体现出整体性
3
//与java中的类类似
共用体简述:
使用覆盖技术,几个变量相互覆盖,从而使几个不同变量共占同一段内存的结构,成为共同体类型的结构。
共同体的定义类似结构体,不过共同体的所有成员都在同一段内存中存放,起始地址一样,并且同一时刻只能使用其中的一个成员变量。
也就是说:
结构体变量所占长度是各成员占的内存长度之和。
每个成员分别占有自己的内存单元。
共用体变量所占的内存长度等于最长的成员的长度。
共用体的使用格式与结构体类似
应用举例如下:
代码如下:
#include
#include
usingnamespacestd;
intmain(){
struct{
stringname;
stringnum;
char sex;
char job;
union{
chargrade[5];
charposition[5];
}p;//定义了一个共同体变量
}person[2];//定义了一个结构体数组变量
inti=0;
cout<<"name\tnum\tsex\tjob\tclass/position"< for(;i<2;i++){ cin>>person[i].name>>person[i].num>>person[i].sex>>person[i].job; if(person[i].job=='s')cin>>person[i].p.grade; elsecin>>person[i].p.position; } i=0; cout<<"===========showdata==========="< for(;i<2;i++) cout< cout< cout< cout< if(person[i].job=='s')cout< elsecout< } cout< return0; } 2.常量 常量 字面常量 整型常量、实型常量、字符型常量 符号常量 用一个标识符代表一个常量,它在使用前必须先定义。 #define const常量 只读常量: 只能在定义时初始化,不能进行赋值,只能读数据 3.格式与字符 ①整形数据格式 %d: 十进制输出;%o: 八进制输出;%x: 十六进制输出;%u: 无符号输出。 备注: %u无符号即unsignedint,即>0,即无正负号 格式说明符 %d或%i %ld或%Ld %hd或%Hd %ud %uld或%uLd %o %lx或%Lx 格式 有符号十进制整型 有符号十进制长整型 有符号十进制短整型 无符号十进制整型 无符号十进制长整型 八进制整型 十六进制长整型 注意lf前小数点的问题 ② f浮点型实数e指数型实数c字符型数据 格式说明符 % * m l或h 格式 格式说明符的起始符号 赋值抑制符,按照格式读入数据后不复制给任何变量,虚读 为域宽说明符,用于指定输入数据的宽度 长度修正说明符,在整型与实型中可以使用,加1(长整型及双精度型),加h(短整型) ③转义字符 \ddd1~3位八进制数所代表的字符,如’\141’表示字符’a’ \xhh1~2位十六进制所代表的字符,如’\x61’表示字符‘a’ 字符形式 \n \t \v \b \r \f \’ \\ 功能 换行 横向跳格Tab 竖向跳格 退格 回车 走纸换页 单引号 反斜杠字符’\’ 4.逗号表达式 在c语言中“,”成为逗号运算符,它把两个表达式连接起来组成一个表达式,称为逗号表达式 1一般形式: 表达式1,表达式2 扩展形式: 表达式1,表达式2,表达式3,·····表达式n ②求值过程: 从左向右运算并且将表达式n作为整个逗号表达式的值 ③在c语言中,逗号运算符是所有运算符中级别最低的 例: Y=(a-b),(b+c);//相当于(y=(a-b)),(b+c) x=(a+b,a+c,a);//x取值为a,不加括号取值为a+b,不加括号时理由同上 Inta=1;a=3*5,a*4//赋值运算符的优先级高于逗号运算符的优先级,因此应该首先求解a=3*5,此时a的值为15,然后再求解a*4,得60. 整个逗号表达式的值为60. 5.赋值运算 a=b=c=d;//相当于a=(b=(c=5)); A=(b=3)+(c=4); A=(b=3)+(b=4);//结果为4 6.数据转换 ①隐形数据转换转换按数据的字节长度变长、精度变高int与long,int->long 有float类型浮点数参加的运算都要转换为双精度浮点数double,即float类型必须转换成double Char类型和short类型参与运算时必须先转换成int类型 ②强制类型转换 第五章选择结构程序设计 P86 1.判断输入年份是否为闰年 3.判断输入字符是大写字母还是小写字母还是数字字符还是其他 第一种: 第二种: ASCII中十进制数-字符类型 小写和大写差 十进制数 97(a)~122 65~90 48~57 74~76 其他 字符类型 小写字母 大写字母 数字 空格 4. a=3;b=4;c=5;e=a1=>1 ! a=0(a为非负数时) 5.短路a=4,b=5;d=(a<0)&&(b=10);//a<0=>0前为假则不为运行后面的,则b的值仍为5 “||”时,前面为真时,不判断后面的。 6.If(a>b)t=a;a=b;b=t;//若条件不成立,则跳过紧跟的第一条语句以分号为界 7.#include voidmain(){ inta=1,b=2,c=3; If(c=a)printf(“%d”,c);//a里的1赋值给c,c为1为真(只要是非0数就是真),输出c为1 Elseprintf(“%d”,b); } 8.条件表达式 (1)条件运算符的优先级高于赋值运算符(=),低于关系运算符(&&,||)和算术运算符(+,-)。 (2)按照“自右至左”顺序结合 (3) 与w等价的表达式: w! =0 9.关于switch的几点注意 (1)default可前可后 (2)Switch: 基本类型整型或者字符型;case: 常量或常量表达式,只能跟一个变量,不能多个变量或者表达式(a>=3&&a<=54) (3)Case执行完一个之后,将继续执行下一个case;需break跳出 第6章循环结构程序设计 1.break和continue的区别 Break: 跳出switch结构,并继续执行switch结构后面的语句;还用于跳出while、dowhile和for循环结构,并继续执行后续语句。 Break语句不能用于switch结构和循环结构以外的其他地方。 Continue: 结束本次循环,及跳过循环体内下面的语句,继续进行下一次循环0 2.while(i<=101){ s=s+pow((-1),j++)*i; I+=2; } 3. If(n%3! =0) Continue; Printf(“%d”,n); 等价于 If(n%3==0) Printf(“```”); 4.图中所示的第一个for循环缺少{}所以只执行下面的一条语句,下面的for也没有加{}所以跟下面的printf是一条语句,包含在第一层for循环中。 5. 第7章数组 1定义一维数组 1ConstN=100;inta[N];//常量常量符号 2#defineN100inta[N];//常量常量符号 3Inta[3+4];//表达式 4但是不可以是变量形如①中N为intN=100但是在调用的时候可以这样 2.一维数组的初始化 ①全部定义 Inta[10]={1,2,3,4,5,6,7,8,9,10} ②部分赋值 ③全部赋值为0 Inta[10]={0,0,0,0,0,0,0,0,0,0} 或者inta[10]={0}; ④不确定数组长度的赋值 Inta[]={0,32,3,4,4}则该数组长度为6 3.生成随机数 #include #include Srand(time(0)); Inta=rand()%100; 4.排序 #include usingnamespacestd; //冒泡排序 voidbubbleSort(intarr[],intn) { for(inti=0;i //比较两个相邻的元素 for(intj=0;j if(arr[j]>arr[j+1]){ intt=arr[j]; arr[j]=arr[j+1]; arr[j+1]=t; } } } } //选择排序 voidchoiceSort(intarr[],intn){ for(inti=0;i intm=i; for(intj=i+1;j //如果第j个元素比第m个元素小,将j赋值给m if(arr[j] m=j; } } //交换m和i两个元素的位置 if(i! =m){ intt=arr[i]; arr[i]=arr[m]; arr[m]=t; } } } //插入排序 voidinsertSort(intarr[],intn){ for(inti=1;i inttemp=arr[i]; intj=i-1; while(temp arr[j+1]=arr[j]; j--; if(j==-1){ break; } } arr[j+1]=temp; } } //快速排序 voidquickSort(int*arr,intl,intr) { //此处编写代码实现快速排序 inti,j,x,temp; if(l { i=l; j=r; x=arr[(l+r)/2]; //以中间元素为轴 while (1) { while(i<=r&&arr[i] i++; while(j>=0&&arr[j]>x) j--; if(i>=j)//相遇则跳出 break; else { temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; //交换 } } quickSort(arr,l,i-1);//对左半部分进行快排 quickSort(arr,j+1,r);//对右半部分进行快排 } } intmain() { inti; inta[]={9,8,7,6,5,4,3,2,1,10}; //bubbleSort(a,10); //choiceSort(a,10); //insertSort(a,10); quickSort(a,0,9); for(i=0;i<=9;i++) {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c语言程序设计 语言程序设计 人民邮电 自己 整理 难点