![C语言总复习全_第1页](http://file4.renrendoc.com/view/d5b6d0bf654ca4b89fe538571dd3a5a3/d5b6d0bf654ca4b89fe538571dd3a5a31.gif)
![C语言总复习全_第2页](http://file4.renrendoc.com/view/d5b6d0bf654ca4b89fe538571dd3a5a3/d5b6d0bf654ca4b89fe538571dd3a5a32.gif)
![C语言总复习全_第3页](http://file4.renrendoc.com/view/d5b6d0bf654ca4b89fe538571dd3a5a3/d5b6d0bf654ca4b89fe538571dd3a5a33.gif)
![C语言总复习全_第4页](http://file4.renrendoc.com/view/d5b6d0bf654ca4b89fe538571dd3a5a3/d5b6d0bf654ca4b89fe538571dd3a5a34.gif)
![C语言总复习全_第5页](http://file4.renrendoc.com/view/d5b6d0bf654ca4b89fe538571dd3a5a3/d5b6d0bf654ca4b89fe538571dd3a5a35.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、总复习第一页,编辑于星期六:五点 三十五分。1第一章 C程序设计概述1、C语言的标识符保留字符:32个关键字预定义标识符: 系统库数:如sin,printf,scanf等 预编译命令:如define,include,undef,ifdef,endif等用户定自义标识符第二页,编辑于星期六:五点 三十五分。22、 算法 传统流程图, 结构化流程图(N-S流程图)l 起止框:表示算法的开始和结束。l 处理框:表示初始化或运算赋值等操作。l 输入输出框:表示数据的输入输出操作。l 判断框:表示根据一个条件成立与否,决定执行两种不同操作中的其中一个。l 流程线:表示流程的方向。 第三页,编辑于星期六:
2、五点 三十五分。3图1-7 例1-1的算法流程图 输入A、B、C 例1-1 输入三个数,然后输出其中最大的数 例1-1算法的NS流程图 第四页,编辑于星期六:五点 三十五分。43、 C语言的程序结构例1-3 在屏幕输出一行文字“Hello C!”#include void main( ) printf(Hello C!n); 其执行结果是在屏幕上输出一行信息: Hello C! 头包含文件程序开始程序结束打印输出函数主函数输出内容每个原程序都必须有且只有一个主函数! !每个函数至少有一组 第五页,编辑于星期六:五点 三十五分。5第二章 数据类型、运算符和表达式注意:在程序中用到的常量与变量必须
3、是上面的数据类型的一种; 1、数据类型第六页,编辑于星期六:五点 三十五分。62 各类数据在内存中的存放方式 1、机器数与原码、补码和反码表示 2、实数的机器内表示方法:定点数、浮点数3、字符在内存中的表示:ASCII码第七页,编辑于星期六:五点 三十五分。73 常量的表示方法定义: 在程序运行过程中,值不能被改变的量叫常量。包括“数值常量”和“符号常量”。 如 5, 3.14159, a 等 常量数值常量符号常量整型常量实型常量八进制整数:以0做前缀 eg:015十进制整数十六进制整数:以0 x做前缀 eg:0 x2A十进制小数形式 eg:12.45十进制指数形式 aEn eg:12.5E+
4、2字符常量: 括起来的字符字符串常量:“ ”括起来的字符序列第八页,编辑于星期六:五点 三十五分。84、变量必须先定义 后使用。变量包括:变量名字和数据类型 通过名字来引用一个变量,而数据类型则决定了该变量的存储方式和在内存中占据存储单元的大小 变量的赋值:定义的时候赋初值先定义 后赋初值。第九页,编辑于星期六:五点 三十五分。95 运算符与表达式 注意:运算符的功能、优先级、结合方向、运算结果的类型算术运算符(,*,/,%)关系运算符(,=,=, .)指针运算符(&,*)C运算符第十页,编辑于星期六:五点 三十五分。106 指针和指针变量基本概念:变量的地址、变量的指针、指针变量指针变量的定
5、义:类型符 *标识符;给指针变量赋初值(目的:确定指向关系)指针变量的使用:对变量的访问:两种方法。使用变量的名字访问通过指针变量访问。Int a, *p = &a ;Int a , *p;p = &a ;a 等价于 *p&a 等价于 p第十一页,编辑于星期六:五点 三十五分。11第三章 简单的C程序1、输入输出函数的格式和使用方法printf(“格式字符串”,输出项列表)格式说明: 0 m.n 格式字符指定输出类型输出宽度说明及精度指定空位是否填0指定是否左对齐输出第十二页,编辑于星期六:五点 三十五分。122、scanf(“格式控制”,地址表列 )在输入数据时,遇以下情况时该数据认为结束。
6、 遇空格,或按“回车”或“跳格”(tab)键。 按指定的宽度结束,如“%3d”,只取3列。 遇非法输入。scanf (“%d%c%f”,&a,&b,&c);输入: 1234a123o.26 用“%c”格式输入字符时,空格字符和“转义字符”都作为有效字符输入:scanf (“%c%c%c”,&c1,&c2,&c3);如果输入: abc 时 c1,c2,c3 的值是多少呢?c1= a c2= c3= b 第十三页,编辑于星期六:五点 三十五分。13例如:void main() int a=123; float x=12.345678; printf(“a=%5d, x=%5.2fn,a,x); p
7、rintf(%2d, %2.1fn,a,x); scanf (“%d%d%d”,&h,&m,&s); 输入应该用以下形式:122336 scanf (“a=%d,b=%d,c=%d”,&a,&b,&c);输入应该用以下形式: a=12,b=24,c=36第十四页,编辑于星期六:五点 三十五分。143、字符数据输入输出函数putchar()getchar()scanf(“%c”,&c1); 等价于c1=getchar();printf(“%c”,ch); 等价于 putchar(ch);第十五页,编辑于星期六:五点 三十五分。15例3-9 编一程序,从键盘输入一个大写字母,要求改用小写字母输出思
8、路:大写字母对应的ASCII码序号比相应的小写字母的ASCII码序号小32。#include stdio.hvoid main()char c1,c2;c1=getchar();printf(%c,%dn,c1,c1);c2=c1+32;printf(%c,%dn,c2,c2);第十六页,编辑于星期六:五点 三十五分。16第四章 控制结构选择结构 (if 语句、switch语句)循环结构 (for语句、while语句、do.while语句)其它控制语句 (break、continue语句) 典型例题:求1.。100的和 (可以用for、while、do while等语句改写)求几个数中的最大值
9、(if语句的使用)按照成绩分等次(switch case、break的使用)求n!打印9*9乘法表、打印图形等(双重循环的使用)验证某一个数是否水仙花数。(if 语句和关系运算符)第十七页,编辑于星期六:五点 三十五分。17第五章 数组、字符串、指针1、数组的定义方法2、给数组赋初值的方法在定义数组的时候赋初值在程序语句中给数组元素赋初值(不能整体赋值)3、数组元素的引用方法:a 一维数组:int a3;a0=5;a1=8;a2=9;int k,a10;for(k=1;k10;k+) ak=1; int a5=1,2,3,4,5; for(i=0; i10; i+) printf(%d,ai)
10、; 第十八页,编辑于星期六:五点 三十五分。184、典型例题:怎么样给一维数组的每一个元素赋以键盘输入的数值?怎样输出数组元素的值?求数组中最大元素及其下标。求数组中各个元素的平均值。一维数组元素的倒置。(注意:循环一半)第十九页,编辑于星期六:五点 三十五分。19二维数组二维数组的定义、赋初值、引用方法.二维数组的基本操作:1给二维数组a输入数据。将该数组中的元素输出。、求二维数组中元素的最大值以及最大元素的下标值。、矩阵的转置、矩阵求和 1. 按行分段赋值可写为 int 23= 80 , 75 , 92 , 61 , 65 , 71 2. 按行连续赋值可写为 int a23= 80,75,
11、92,61,65,71 ; 第二十页,编辑于星期六:五点 三十五分。205.4 数组与指针5.4.1 一维数组与指针 定义指针变量 int *p,array10; 令 p=&array0; 或者 p=array;或 int *p=&array0;或 int *p=array;ai pi *(p+i) *(a+i)一维数组元素的引用:四种方法&a p a&ai p+i a+i数组地址的使用方法:第二十一页,编辑于星期六:五点 三十五分。21int a10= 0, 3, 5, 6, 8 ,*p=a;请问:1、( *p )+ = ?2、*(p+2)= ?3、P+; *P=*P+5第二十二页,编辑于星
12、期六:五点 三十五分。225.5 字符数组与字符串 字符数组:char ch10;字符串:“hello”字符数组可以用来存放字符的组合也可以存放字符串char c10=h, e , l , l , o;char c10= h, e , l , l , o , 0;char c10= “hello”;char c10= “hello”;第二十三页,编辑于星期六:五点 三十五分。23字符数组的输入输出一般采用下面两种方法: 1、用“%c”格式符逐个字符输入输出。 2、用“%s”格式符按字符串输入输出。例 用%s main() char str5; scanf(“%s”, str); printf(
13、“%s”, str);例 用%c main() char str5; int i; for(i=0; i5; i+) scanf(“%c”, &stri); for(i=0; i5; i+) printf(“%c”, stri);用字符数组名,不要加&输入串长度数组维数遇空格或回车结束自动加0用字符数组名,遇0结束第二十四页,编辑于星期六:五点 三十五分。245.6 字符串字符指针 5.6.1 指向字符串的指针C语言中使用字符数组 或者 字符指针 来处理字符串。字符指针初始化:把字符串首地址赋给string char *string; /字符指针变量定义 str30=“I love China
14、!”; string=str; string=&str0; string=“I Love China”引用字符串中的字符:可以用下标方法:str 0 或者指针方法*string字符指针变量:存放的仍然是某一个字符元素的地址第二十五页,编辑于星期六:五点 三十五分。25例 将字符串a复制为字符串bmain()char a =i am a boy.,b20; int i; for(i=0; ;i+) ; *(b+i)=0; printf(string a is:%sn,a); printf(string b is:); for(i=0; bi!=0; i+) printf(%c,bi);*(a+i
15、) != 0;*(b+i)=*(a+i);方法2:定义 char *p1=a,*p1=b;循环体换成:for( ; *p1 != 0; p1+,p2+) *p2=*p1;第二十六页,编辑于星期六:五点 三十五分。26常用的字符串处理函数string.h字符串输出函数puts格式:puts(字符数组)字符串输入函数gets格式:gets(字符数组)字符串连接函数strcat格式:strcat(字符数组1,字符数组2)字符串拷贝函数strcpy格式:strcpy(字符数组1,字符串2)字符串比较函数strcmp格式:strcmp(字符串1,字符串2)字符串长度函数strlen格式:strlen(字
16、符数组)第二十七页,编辑于星期六:五点 三十五分。27例:char str110=“hello”,str25=“how”strcat(str1,str2)得到的是?;得到字符串的长度是?即strlen(strcat(str1,str2)strcpy(str1,str2)得到的是?;strcmp(str1,str2)得到的是?第二十八页,编辑于星期六:五点 三十五分。28第6章 函数 本章重点掌握函数的定义与调用方法;掌握C语言的参数传递方式,尤其是数组参数的传递特点;掌握变量的作用域和存储方式。 第二十九页,编辑于星期六:五点 三十五分。291、函数的定义:2、函数声明的方法: 函数类型 函数
17、名(形参类型 形参名,. ); 或 函数类型 函数名();3、调用形式 函数名(实参表)合法标识符函数返回值类型缺省int型无返回值void函数体函数类型 函数名(形参类型说明表)说明部分语句部分第三十页,编辑于星期六:五点 三十五分。30返回语句形式: return(表达式); 或 return 表达式; 或 return;功能:使程序控制从被调用函数返回到调用函数中,同时把返回值带给调用函数说明:函数中可有多个return语句,但是只能有一个被执行。只能返回一个表达式的值。return语句不是必须的。若函数类型与return语句中表达式值的类型不一致,按前者为准,自动转换-函数调用转换第三
18、十一页,编辑于星期六:五点 三十五分。31#include void main() int max(int x, int y); /函数声明 int a,b,c; /变量定义 scanf(%d,%d,&a,&b); c=max(a,b); /函数调用 printf(Max is %d,c);int max(int x, int y) /函数定义 int z; z=xy?x:y; return(z);第三十二页,编辑于星期六:五点 三十五分。326.3参数的传递和函数的调用定义参数目的:实现主调函数和被调用函数间的数据传递参数分类:实际参数 、形式参数实参到形参的传递方法:数值传递、地址传递。数
19、值传递:是单向“值传递”,形参的改变不会改变实参数值。如果想通过形参的改变而改变实参:使用地址传递(传递数组的名字、变量的地址、指针变量等)第三十三页,编辑于星期六:五点 三十五分。33void swap(int *a,int *b);/*函数声明*/void main() int x , y; x = 10; y = 20; swap( &x , &y );/*用变量地址传递*/ printf(After swapping:x=%d y=%dn,x,y);void swap(int *a,int *b) int t; t=*a; *a=*b; *b=t;第三十四页,编辑于星期六:五点 三十五分。34#include void swap2( int x ) int z; z=x0; x0=x1; x1=z;main() int a2=1,2; swap2( a ); printf(a0=%dna1=%dn,a0,a1);用数组做函数参数,进行地址传递第三十五页,编辑于星期六:五点 三十五分。356.6函数与变量的作用域1、局部变量与全局变量局部变量-内部变量定义:在函数内定义的变量,只在本函数内有效;在复合语句中定义的变量,只在该复合语句中有效局部变量包括: 函数内部定义的变量 复合语句中定义的变量 形式参数 2、全局变量-外部变量定义:在函数外定义,可为本文件所有函数共
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校社团工作计划鼓励学生写诗
- 2025年羧甲淀粉钠项目合作计划书
- 七年级下册《一元一次不等式的应用》课件与练习
- 制冷空调培训课件
- 强化废弃物管理推动生物降解
- 构建系统耦合度控制与优化机制
- 关于员工培训的会议纪要及培训计划
- 功能、使用与维护指南
- α-Lactose-hydrate-Standard-生命科学试剂-MCE
- Sodium-ethylparaben-Standard-生命科学试剂-MCE
- 双溪漂流可行性报告
- 采购流程各部门关系图
- 力士乐工程机械液压培训资料(共7篇)课件
- 英语单词词根
- 问题学生转化策略课件
- GMP附录计算机化系统整体及条款解读
- 村光伏发电申请书
- 腰椎间盘突出症中医特色疗法课件
- 施工现场专项消防安全检查表
- 如何当好学校的中层干部
- 2022-2023学年广东省佛山市顺德区高三(下)模拟英语试卷
评论
0/150
提交评论