《C程序设计》重点总结.docx_第1页
《C程序设计》重点总结.docx_第2页
《C程序设计》重点总结.docx_第3页
《C程序设计》重点总结.docx_第4页
《C程序设计》重点总结.docx_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言最后加粗一下重点!第二章 算法1.计算计算法分两类: 数值运算算法:求数值解 非数值运算算法:排序、检索、管理2.算法特性:有穷性、确定性、零或多输入、一或多输出、有效性3.算法的三种基本结构: 顺序结构 选择结构 循环结构(当型、直到型)第三章 顺序结构常量和变量1.常量: 整型常量 实型常量:小数形式 指数形式:12.34*103=12.34e3 字符常量:普通字符:用 括起来 转义字符: 开头(a警告 b退格 n t空出一段距离 o xh) 字符串常量:用 括起来 符号常量:#define PI 3.14 (大写,行末无分号)2.变量:先定义,后使用3.常变量:const int a=3;(取代符号常量)4.标识符(可作为变量名): 只能由字母、数字、下划线组成且不能数字打头 大小写是不同字符数据类型 整型类型:基本整int 短整short int 长整long int 双长整long long int 字符char 布 尔bool 浮点类型:单精度浮点float 双精度浮点double 复数浮点 枚举类型:enum 空类型: void 数组 函数 指针* 结构体struct 共用体union 字节数(有效数字)int:2、4 short:2 long:4 long long:8 char:1 float:4(6) double:8(15) long double:8(15)、16(19)规范化指数形式:3.141590.314159e001运算符和表达式1.实数相除得双精度实数 整数相除得整数(商向零取整)2.自增自减运算符(只用于变量):+i、-i先加减再使用 i+/i-先使用再加减3.算术表达式自左向右结合,先乘除后加减4.不同类型数据混合运算: float和doubledouble int和float/doubledouble char和intASCII和int5.强制类型转换:(double)(x+y) 将x+y的值转换成double型6.C运算符:等于= 不等于!= 与& 或| 非! 赋值= 下标C语句1.分类控制语句:如 continue(结束本次循环) break(中止执行switch或循环) switch(多分支选择)函数调用语句:printf(.);表达式语句:句末有分号空语句: ; (作流程转向点)复合语句:用 括起来,语句句末写分号用数学公式开头加#include2.赋值语句: 复合赋值运算符: x+=y等价于x=x+y x*=y等价于x=x*y x%=y等价于x=x%y 赋值表达式:a=b、a+b这种表达式不能作为左值 a=b=5 自右而左:b=5; a=b;数据的输入输出1.C语言本身不提供输入输出语句,以下都是函数: putchar输出字符 getchar输入字符 printf格式输出 scanf格式输入 puts输出字符串 gets输入字符串2.输入输出头文件:#include3.printf(格式控制,输出表列): 格式控制%格式字符+普通字符 输出表列可以是常量、变量、表达式4.scanf(格式控制,地址表列):不能忘“&” 注意:逗号对逗号,空格对空格 %c中,空格和转义字符都作为有效字符 输入数值数据时遇非法字符认为数据结束5.格式字符: %d有符号的十进制整数 %f小数形式的实数(%7.2f表示共7位,小数2位)(%-7.2f表示向左对齐) 双精度%lf %c一个字符 %s字符串 %e %E指数形式(printf(%e,123.456) 1.23456e+002) %o八进制整数(补码) %x十六进制整数 %u无符号十进制整数 %g %G系统自动选择变成%f或%e 输出“%”用连续两个“%”表示6.putchar( )输出一个字符:putchar(66)输出“B” putchar(n)换行7.getchar(c)输入一个字符第四章 选择结构1.if:两分支选择 switch:多分支选择2.将a和b的值互换:t=a; a=b; b=t;3.优先级:! 算术运算符 关系运算符 & | 赋值运算符 关系运算符优先级:高: = 低:= != 逻辑运算符优先级:! & |4.关系表达式:“1”代表真,“0”代表假 逻辑表达式:非0代表真,0代表假 a&b&c只有a为真才向后算 a|b|c只有a为假才向后算5.逻辑型变量:头文件#include 如a=score=606.条件表达式:max(ab)?a:b;7.选择结构嵌套:else总与上面最近的未配对if配对8.多分支选择结构:(多个case,最多一个default) switch(表达式) case 常量:语句;break; default:语句; 多个case共用一组语句: caseA: caseB: caseC:printf(60n);break;第五章 循环结构三种循环1.while(表达式) 语句;2.do 语句; while(表达式)3.for(初值;循环条件;循环变量增值): 改写成while: 初值; while(循环条件) 语句; 循环变量增值; for里3项都可以省略,第1、3项可含逗号,第2项可以是关系/逻辑/数值/字符表达式 逗号表达式内,整个逗号表达式的值最右边表达式的值跳出、结束循环break:终止整个循环,只用于switch和3种循环语句continue:结束本次循环如果是双重循环,内循环里有break,则终止内循环而不是整个循环第六章 数组1.一维数组: int a10;含a0a9十个元素 初始化:a10=0,1,2,3,4,5,6,7,8,9;中括号里可以不写,大括号里不写的得0 起泡法排序:n个数n-1趟比较,第j趟比较n-j次2.二维数组: float a34;含a00a23十二个元素 初始化:3行4列int a34=1,2,3,4,5,6,7,8,9,10,11,12;第一维中括号可以不写,大括号里不写的得0 打擂台算法:先max=a00,剩下的挨个跟a00比,赢了就赋给max3.字符数组: char a10;含a0a9十个元素 初始化:char a=I, ,a,m, ,h,a,p,p,y; char a23=#,#,#,#,#,#; char a=I am happy4.0作为字符串结束的标志5.scanf函数输入项如果是字符数组名不加&: scanf(%s,a);6.输出字符串:puts(字符数组) 输入字符串:gets(字符数组) 字符串连接:strcat(字符数组1, 字符数组2) 字符串复制:strcpy(字符数组1, 字符串2) 将2复制到1中 strncpy(str1,str2,2) 将2的前2个字符复制到1中7.字符串比较:strcmp(字符串1,字符串2) if(strcmp(s1,s2)0) printf(yes);8.测字符串长度:strlen(字符数组)9.转换为小写:strlwr(字符串) 转换为大写:strupr(字符串)第七章 函数1.定义有参函数:三处类型名和return z不能少2.形参:定义函数时括号中的变量 实参:主调函数调用时括号中的参数(常量、变量或表达式)3.数据传递(单向传递,值传递):实参的值给形参,函数中return z把z的值作为函数值返回主函数赋给相应变量4.函数调用 函数类型名和里面return表达式的类型名一致(函数类型决定返回值类型) 不需要返回值的函数里边不写return,类型名为void(空类型) 调用结束时形参单元被释放,实参单元仍保留原值。形参和实参是两个不同存储单元 主函数的声明和函数的定义第一行(函数原型)一样,再加分号 声明中的形参名可以不写:float add(float,float) 函数原型专业写法: void print(int num, char sex, float score); 声明也可以在int main()之前5.嵌套调用 递推法:主函数声明a函数,a函数定义中声明b函数,定义b函数 改进:b函数只用一个return语句6.递归调用(调用函数本身): 分为“回溯”和“递推”两个过程,必须具有一个结束递归的条件。7.数组名作参数 数组元素作实参,向形参传递元素的值 数组名作实参,想形参传递元素的地址 二维数组名作参数,函数定义里用两个for控制8.局部变量和全局变量 局部变量:在函数内定义,比如形参 全局变量(外部变量):在函数外定义,范围直到本源文件结束 不同函数中可以使用同名变量 习惯:全局变量首字母大写 若同一源文件中全局变量和局部变量重名,则在局部变量作用范围内全局变量被屏蔽9.变量的存储方式和生存期第八章 指针概念1.“指针”就是地址。指针变量是存放地址的变量2.直接访问:按变量名访问 间接访问:将变量a的地址存放在变量b中,通过b访问a3.*a表示a指向的对象,a叫指针变量,a的值是地址(指针)4.定义指针变量必须指定基类型:int *a, *b;(int叫基类型)5.初始化时:int *p1=&a, *p2=&b; 赋地址时: p1=&a; p2=&b;6.一个变量的指针的含义包含两个方面: 地址:以存储单元编号表示 数据类型:指向存储单元7.不能写 *point_1=100;等号右边应该写变量,不能写数8.引用指针变量:p=&a; 定义时:swap(*p1,*p2) 调用时:swap(p1,p2) 9.交换值:int temp; temp=*p1; *p1=*p2; *p2=temp;10.p=&a0; p=a; 表示a数组首元素的地址赋给p 数组指针1.指针指向数组元素时可以:加减整数、自加自减 同一数组中的两元素p1、p2可以p1-p22.自加自减 *p+=*(p+):先引用p的值,再使p自增1 *(+p):先p+1,再取*p +(*p):p所指向的元素值加13.一维: fun(int arr, int n )与fun(int *arr, int n)等价 ai与

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论