C语言复习(4学时).ppt

上传人:小飞机 文档编号:6503824 上传时间:2023-11-07 格式:PPT 页数:41 大小:330.99KB
返回 下载 相关 举报
C语言复习(4学时).ppt_第1页
第1页 / 共41页
C语言复习(4学时).ppt_第2页
第2页 / 共41页
C语言复习(4学时).ppt_第3页
第3页 / 共41页
C语言复习(4学时).ppt_第4页
第4页 / 共41页
C语言复习(4学时).ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《C语言复习(4学时).ppt》由会员分享,可在线阅读,更多相关《C语言复习(4学时).ppt(41页珍藏版)》请在三一办公上搜索。

1、C 语 言 复 习,主要内容,各章复习纲要 应掌握的算法 常见错误分析,第一章 C程序的组成,函 数,#include main()/*主函数*/int max(int x,int y);/对被调用函数max的声明*/int a,b,c;/*定义变量a、b、c*/scanf(“%d,%d”,#includemain()int a,b,c;if(ab)c=a;else c=b;printf(“max=%d”,c);,第二章 算法,1、掌握程序的三种结构:顺序、选择、循环2、了解算法的四种表示形式 3、会用NS流程图表示算法,第三章(1)数据类型书p37,1、常量和变量:表示形式、命名规则和使用方

2、法、区别 2、整型数据:表示形式、类型、范围 3、实型数据:表示形式、有效数字 4、字符型数据:表示形式、特殊字符p48、和字符串的区别,第三章(2)运算符和表达式,5、基本的运算符和表达式+、-、*、/、%、+、-、强制类型转换、复合运算、逗号运算,(一)按功能划分:1、算术运算符:+、-、*、/、%2、关系运算符:、=、|、&5、赋值运算符:=、+=、-=、*=、/=6、条件运算符:?,:7、逗号运算符:,8、指针运算符:*、&9、求字节数运算符:sizeof 10、强制类型转换运算符:(类型名)11、分量运算符:、-12、下标运算符:13、其它:函数运算符,例 struct studen

3、t int num;char name20;-stu,*p;p=,1.在下面的选项中,赋值语句错误的是(25)。(29次等级考试 一.10题)A)i+;B)a=(b=(c=2,d=3);C)a=amain()int a=010,b=1;a=b;b=a;a=b;printf(%d,%dn,a,b);(A)10,1(B)8,1(C)1,8(D)1,10else printf(“%d”,m-);(A)7(B)6(C)5(D)4,3以下程序运行后,输出结果是()。(21次等级考试一.1题)main()int a=1,b=2,m=0,n=0,k;k=(n=ba)|(m=a5)printf(“%d”,m+

4、);,第三章(2)运算符和表达式,6、不同类型数据相互赋值时的转换规则 7、运算符的优先级和结合性,第四章 顺序程序设计,1、两个字符处理函数:getchar和putchar 2、通用输入输出函数:scanf和printf 参数、格式控制字符,例 int a,b;scanf(“%d,%d”,输入:11,7 则 a=11,b=7,例 char c;c=getchar();putchar(c);printf(“%d”,c-a);输入:b 输出:b1,第五章 选择程序设计(1),1、关系运算符和关系表达式:=!=优先级和表达式的值 2、逻辑运算符和逻辑表达式:!&|优先级和表达式的值,例:以下程序运

5、行后,输出结果是()。(21次等级考试一.1题)main()int a=1,b=2,m=0,n=0,k;k=(n=ba)|(m=ab);printf(“%d,%dn”,k,m);(A)0,0(B)0,1(C)1,0(D)1,1,第五章 选择结构程序(2),3、if 语句:形式、有效范围、if 的嵌套 4、条件运算符:(ab)?a:b 5、switch语句:形式、break语句的作用,switch(表达式)case E1:语句组 1;break;case E2:语句组 2;break;.case En:语句组 n;break;default:语句组;break;,第六章 循环控制,1、循环的四种

6、形式:掌握三种 2、while 和 dowhile语句:区别与联系 3、for语句:三个表达式的作用、for语句的有效范围 4、continue和break语句:区别、适用场合,例:求1到100的累加和。main()int i,sum=0;i=1;do sum=sum+i;i+;while(i=100);printf(“%d”,sum);,第七章 数 组,1、一维数组:数组的定义和使用、有效元素、数组名和数组元素 2、二维数组:3、字符串的处理:(字符数组)输入输出:gets、puts(与scanf、printf的区别)其他:strcpy、strcat、strcmp、strlen、strupr

7、、strlwr,第八章 函 数(1),1、函数的分类:2、函数的定义和声明:定义时应注意的问题、声明的形式和必要性 3、函数的参数:形参和实参的作用范围、数值传递方式,#include main()int x=7,y=11;void swap(int a,int b);printf(x=%d,ty=%dn,x,y);printf(swapped:n);swap(x,y);printf(x=%d,ty=%dn,x,y);swap(int a,int b)int temp;temp=a;a=b;b=temp;,main()int a,b,c;int max(int x,int y);scanf(%

8、d,%d,第八章 函 数(2),4、函数的调用:调用方式、嵌套调用、递归调用 5、局部变量和全局变量:区别、作用、注意问题 6、静态存储和动态存储:区别、作用、注意问题,#include int fac(int n)int f;if(n0)printf(n0,data error!);else if(n=0|n=1)f=1;else f=fac(n-1)*n;return(f);main()int n,y;printf(Input a integar number:);scanf(%d,错误!(n1),int a=3,b=5;max(int a,int b)int c;c=ab?a:b;ret

9、urn(c);main()int a=8;printf(max=%d,max(a,b);,main()void increment(void);increment();increment();increment();void increment(void)static int x=0;x+;printf(“%dn”,x);,第九章 编译预处理,1、宏定义:#define 宏名 宏体 不带参数的宏、带参数的宏 2、文件包含:#include“stdio.h”或#include,例#define WIDTH 80#define LENGTH WIDTH+40 var=LENGTH*2;宏展开:va

10、r=80+40*2;,例#define S(a,b)a*b.area=S(3,2);宏展开:area=3*2;,1、地址和指针的概念:,a,这样,a和地址变量p就建立了联系。对于a变量,就可以通过指针p去间接的访问。有如下关系:,第十章 指针,第十章 指针,2、直接访问和间接访问 3、指针变量的定义和使用 注意:指针变量作函参时与普通变量的区别4、数组的指针和指向数组的指针变量(1)一维数组与指针,如有int i,a10,*p=a;引用数组元素的方法:ai=*(a+i)=pi=*(p+i)数组元素地址的表示:&ai=&pi=a+i=p+i p+表示指针指向下一个元素,a+无意义,#includ

11、e main()int x=7,y=11;void swap(int*a,int*b);printf(x=%d,ty=%dn,x,y);printf(swapped:n);swap(x,y);printf(x=%d,ty=%dn,x,y);swap(int*a,int*b)int temp;temp=*a;*a=*b;*b=*temp;,#include main()int x=7,y=11;void swap(int a,int b);printf(x=%d,ty=%dn,x,y);printf(swapped:n);swap(x,y);printf(x=%d,ty=%dn,x,y);swa

12、p(int a,int b)int temp;temp=a;a=b;b=temp;,形参与实参类型必须一致:形参实参地址-地址 变量-变量地址:数组名,指针变量、变量的地址&b变量:数组元素、普通变量,第十章 指针,(2)二维数组与指针 行地址与列地址的表示 指向行的指针变量(3)字符串和指针 利用指针引用字符数组及其元素 应注意0的正确使用,char*p;p=“I love China!”;printf(“%s”,p);printf(“%c”,*p);,第十章 指针,5、函数的指针和指向函数的指针变量6、返回指针值的函数7、指针数组和指向指针的指针(1)指针数组:int*p4;char*p5

13、;(2)二级指针:int*p;(3)指针数组作main函数的形参:void main(int argc,char*argv),main()int max(int,int);int a,b,c;scanf(%d,%d,main()int max(int,int);int(*p)();int a,b,c;p=max;scanf(%d,%d,例 int*p1;int*p2;int i=3;p2=,例 输出命令行参数,main(int argc,char*argv)while(argc1)argv+;printf(%sn,*argv);-argc;,main(int argc,char*argv)wh

14、ile(argc-0)printf(%sn,*argv+);,1.编译、链接test.c,生成可执行文件test.exe2.在DOS状态下运行(test.exe所在路径下),例如:C:TC test hello world!,运行结果:hello world!,运行结果:test hello world!,前提:#define n 10,第十一章 结构体,1、结构体的概念 2、结构体类型的声明(关键字:struct)3、结构体变量的定义(三种形式)4、结构体变量所占字节数=各成员所占字节数之和 5、结构体变量的引用:结构体变量.成员,例 struct student int num;char

15、name20;char sex;int age;float score;char addr30;struct student stu1,stu2;,例 struct student int num;char name20;char sex;int age;float score;char addr30;stu1,stu2;,例 struct int num;char name20;char sex;int age;float score;char addr30;stu1,stu2;,第十一章 结构体,6、结构体数组的定义和使用 7、指向结构体变量的指针 结构体变量.成员(*p).成员 p-成员

16、8、指向结构体数组的指针,例 struct student int num;char name20;char sex;int age;float score;char addr30;stu10,*p;p=stu;p+;stu1.age=(*p).age=p-age,第十一章 结构体,9、指针处理链表 链表结点结构 处理动态链表所需函数 链表的处理:建立、输出、插入、删除10、共用体、枚举类型、typedef,例 union data int i;char ch;float f;,例:1)enum weekdaysun,mon,tue,wed,thu,fri,sat;2)enum colorre

17、d=2,yellow=4,blue=7;3)enum week1sun,mon,tue=5,wed,thu,fei,sat;4)enum em3 1,one=4,two,8;,例 声明结构类型typedef struct aa int month;int day;int year;DATE;DATE a;struct aa a;,3.若有定义:union data int i;float j;char s5;k;则在Turbo C 2.0环境中sizeof(k)的值是()。,第十二章 位运算,1.位运算符:、,第十三章 文件(1),1.文件的分类:文本文件和二进制文件2.文件类型指针:FILE

18、*fp;3.文件打开:fp=fopen(“文件名”,”打开方式”);if(fp=NULL)printf(“Cannot open file!n”);exit(0);,第十三章 文件(2),4.文件的打开方式:r/rb、w/wb、a/ab、r+/rb+、w+/wb+、a+/ab+5.文件关闭:fclose(文件指针);6.文件读写(4组共8个函数):fgetc和fputc、fread和fwrite、fscanf和fprintf、fgets和fputs7.文件测试函数:feof()8.文件定位:fseek()、rewind()、ftell(),(4)读写函数。fputc(c,fp);c=fgetc

19、(fp);fread(buffer,size,n,fp);fwrite(buffer,size,n,fp);fprintf(fp,”%d,%f”,i,f);fscanf(fp,”%d,%f”,二、应掌握的算法(1),1.比较两/三个数的大小(两数互换)一般方法(用中间变量和不用中间变量)和指针方法 2.两/n个字符串比较大小的问题(两字符串互换)3.求n个数的最大数或最小数(求最值)4.求分段函数的值5.百分制成绩换算为等级制成绩6.分解一个整数的各位数字7.求累加和或阶乘(一般循环方法和递归法),二、应掌握的算法(2),8.判断一个/多个数是否是素数(穷举法和筛选法)9.求两/n个正整数的最

20、大公约数和最小公约数 10.求序列的累加和11.统计一/几串字符中字母、数字、空格和其他字符(归类统计)12.猴子吃桃问题/水仙花数/同构数 13.n个数排升序/降序(冒泡法、选择法、插入法),二、应掌握的算法(3),14.折半查找法15.将数组元素逆序存放(序列逆置)16.二维数组(N*N)行列互(矩阵转置)17.统计一行字符的单词个数18.n个人的报数问题 19.进位计数制的转换问题,(一般方法、指针方法、结构体方法以及自定义函数),折半查找法(1),num=-3-12-3 0 1 7 9 22-12-3 0 1 7 9 22,折半查找法(2),num=-3-12-3 0 1 7 9 22

21、-12-3 0 1 7 9 22,折半查找法(3),num=22-12-3 0 1 7 9 22-12-3 0 1 7 9 22,折半查找法(4),num=22-12-3 0 1 7 9 22-12-3 0 1 7 9 22,三、常见错误分析,P349 常见错误(结构体除外),作业常见错误汇编(1),1 输入语句的格式:scanf(Please input n:d%,n);2 输出语句的格式:printf(Please input n:%d,作业常见错误汇编(2),7 字符数组的输入输出:char str10;scanf(%s,9 使用库函数未使用include命令 10 自定义函数的类型 任

22、何自定义函数均定义为int型(或不定义),作业常见错误汇编(3),12 分号和逗号的使用 if(xy);z=x;for(i=1,ic2)t=c1;c1=c2;c2=t;,作业常见错误汇编(4),15 在主调函数中未申明被调函数 16 变量初始化问题 int i,j,sum;sum=i+j;17 关键字大小写、单引号/双引号的使用 18 字符常量的写法 空格 空字符 英文字母a 19 字符串的输入函数的使用(scanf/gets/getchar),作业常见错误汇编(5),20 求余、整除、实数相除的区别%1/4 1.5/4 21 函数的形参和实参类型不一致 22 结构体成员的引用.和-的区别 23 书写的程序要完整,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号