下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言最后加粗一下重点!第二章算法1计算计算法分两类:数值运算算法:求数值解非数值运算算法:排序、检索、管理2算法特性:有穷性、确定性、零或多输入、一或多输出、有效性 3算法的三种基本结构:顺序结构选择结构循环结构(当型、直到型)第三章顺序结构常量和变量1常量:整型常量 实型常量:小数形式指数形式:12.34*10 3=l2.34e3字符常量:普通字符:用'括起来转义字符:开头(a警告b退格n t空出一段距离o xh) 字符串常量:用”"括起来符号常量:#defi ne PI 3.14 (大写,行末无分号)2变量:先定义,后使用3. 常变量:const int a=3 ;(取
2、代符号常量)4标识符(可作为变量名):只能由字母、数字、下划线组成且不能数字打头 大小写是不同字符数据类型整型类型:基本整 int短整short int 长整long int双长整long long int字符char布尔bool 浮点类型:单精度浮点float双精度浮点double 复数浮点枚举类型:en um空类型: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、) 规范化指数形式:3.14159 0.314159e001运算符和表达式1实数相除得双精度实数整数相除得整数(商向零取整)2. 自增自减运算符(只用于变量):+i、-i先加减再使用i+/i-先使用再加减3算术表达式自左向右结合,先乘除后加减4. 不同类型数据混合运算:float 禾口 double 宀 doubleint 和 float/double 宀 doublechar 和 int宀 ASCII和 int5. 强制类型转换:(double)(x+y)将x+y的值转换成double型6. C运算符:等于= 不等于!= 与&& 或| 非!赋值= 下标C语句1. 分类控制语句
4、:如continue (结束本次循环)break (中止执行switch或循环)switch (多分支选择)函数调用语句:prin tf(.);表达式语句:句末有分号空语句:;(作流程转向点) 复合语句:用 括起来,语句句末写分号用数学公式开头加#i nclude<math.h>2. 赋值语句: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输出字符 printf格式输出
5、puts输出字符串2. 输入输出头文件:getchar输入字符 scanf格式输入 gets输入字符串 #in clude<stdio.h>3. printf (格式控制,输出表列) 格式控制=%格式字符+普通字符输出表列可以是常量、变量、表达式4. scanf (格式控制,地址表列):不能忘“ & ” 注意:逗号对逗号,空格对空格%c中,空格和转义字符都作为有效字符输入数值数据时遇非法字符认为数据结束5格式字符:%d有符号的十进制整数%f小数形式的实数(7.2f表示共7位,小数2位)(%-7.2f表示向左对齐)双精度 %lf %c 一个字符%s字符串%e %E指数形式(p
6、rintf("%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. 优先级:! t算术运算符t关系运算符t&& t | t赋值运算符关系运算符优先级
7、:高:< <=> >=t低:=!=逻辑运算符优先级:! t && t |4. 关系表达式:“1”代表真,“ 0”代表假 逻辑表达式:非 0代表真,0代表假a&&b&&c只有a为真才向后算a|b|c 只有a为假才向后算5. 逻辑型变量:头文件 #include<stdbool.h> 女口 a=score>=606. 条件表达式:max(a>b)?a:b;7. 选择结构嵌套:else总与上面最近的未配对if配对8. 多分支选择结构:(多个case,最多一个default)switch (表达式)case
8、 常量:语句;break;default:语句;多个case共用一组语句:case'A':case'B':case'C':pri ntf(">60n");break;第五章循环结构三种循环1. while(表达式)语句;2. do 语句; while (表达式)3. for (初值;循环条件;循环变量增值):改写成while :初值;while (循环条件)语句;循环变量增值;for里3项都可以省略,第 1、3项可含逗号,第 2项可以是关系/逻辑/数值/字符表达式 逗号表达式内,整个逗号表达式的值=最右边表达式的值跳出、
9、结束循环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,剩下
10、的挨个跟 a00比,赢了就赋给 max3. 字符数组:char a10 ; 含 a0a9十个元素初始化:char a=T,' ','a','m',' ','h','a','p','p','y'char a23='#','#','#','#','#','#'char a="I am happy"4. '0'作为字符串结束的标
11、志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 (字符串)转换为大写: stru
12、pr (字符串)第七章函数1定义有参函数:三处类型名和return z不能少2形参:定义函数时括号中的变量实参:主调函数调用时括号中的参数(常量、变量或表达式)3数据传递(单向传递,值传递):实参的值给形参,函数中 return z把z的值作为函数值返 回主函数赋给相应变量4函数调用函数类型名和里面return表达式的类型名一致(函数类型决定返回值类型)不需要返回值的函数里边不写return,类型名为void (空类型)调用结束时形参单元被释放,实参单元仍保留原值。形参和实参是两个不同存储单元主函数的声明和函数的定义第一行(函数原型)一样,再加分号声明中的形参名可以不写:float add(f
13、loat,float)函数原型专业写法:void prin t(i nt num, char sex, float score);声明也可以在int main()之前5嵌套调用递推法:主函数声明 a函数,a函数定义中声明b函数,定义b函数改进:b函数只用一个return语句6递归调用(调用函数本身):分为“回溯”和“递推”两个过程,必须具有一个结束递归的条件。7数组名作参数数组元素作实参,向形参传递元素的值数组名作实参,想形参传递元素的地址二维数组名作参数,函数定义里用两个for控制8局部变量和全局变量局部变量:在函数内定义,比如形参全局变量(外部变量):在函数外定义,范围直到本源文件结束不同
14、函数中可以使用同名变量习惯:全局变量首字母大写若同一源文件中全局变量和局部变量重名,则在局部变量作用范围内全局变量被屏蔽9变量的存储方式和生存期第八章指针概念1“指针”就是地址。指针变量是存放地址的变量2直接访问:按变量名访问间接访问:将变量 a的地址存放在变量 b中,通过b访问a3. *a表示a指向的对象,a叫指针变量,a的值是地址(指针)4. 定义指针变量必须指定基类型:int *a, *b; ( int叫基类型)5. 初始化时:int *p 仁&a, *p2=&b;赋地址时:p1= &a; p2=&b;6. 个变量的指针的含义包含两个方面:地址:以存储单元
15、编号表示数据类型:指向存储单元7. 不能写*point_仁100 ;等号右边应该写变量,不能写数8. 引用指针变量:p=&a;定义时:swap (*p1,*p2)调用时:sw ap(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与 *(a+i)等价4. 多维:*(*(a+i)+j)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山西省太原市2026年高三年级二模生物+答案
- 2025-2030中国塑料复合机械行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国培养基血清和试剂-细胞培养行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国垃圾回收机器人行业经营状况与未来前景预测报告
- 护理分级标准深度解析
- 打桩送桩工程量计算案例
- 可口可乐公司营销渠道管理策略
- 5.1 走近老师 课件(内嵌视频)2025-2026学年统编版道德与法治七年级上册
- 2025年吉林省松原市初二学业水平地生会考考试题库(附含答案)
- 2025年浙江嘉兴市初二学业水平地生会考试题题库(答案+解析)
- DB51-T 3251-2025 煤矿井下应急广播系统使用管理规范
- 会计研究方法论 第4版 课件全套 吴溪 第1-20章 导论- 中国会计学术研究成果的国际发表
- 智慧树知到《形势与政策(北京大学)》2025春期末答案
- DB22-T 389.4-2025 用水定额 第4部分:居民生活
- 曲妥珠单抗心脏毒性的管理
- 贵州中医药大学时珍学院《C#程序语言设计》2023-2024学年第一学期期末试卷
- 法院委托评估价格异议申请书
- 卫生事业管理学:第十一章 社会健康资源管理
- 电工二级技师试题及答案
- DL-T5706-2014火力发电工程施工组织设计导则
- 杆上变压器安装施工方案
评论
0/150
提交评论