• 数据结构算法严蔚敏 > 算法与数据结构(教学安排)
  • 算法与数据结构(教学安排)

    免费下载 下载该文档 文档格式:PPT   更新时间:2014-10-02   下载次数:0   点击次数:1
    算法与数据结构(教学安排) C语言复习(3学时)算法与数据结构(87学时)课堂(周3学时)+上机实习(周2学时)考试方式:30%(作业+上机实习)70%(期末闭卷)教材: 《算法与数据结构(C语言描述)北京大学,张乃孝等参考书:《数据结构-用C语言描述》宁正元主编,中国水利水电出版社等 《数据结构(C语言版)清华大学出版社,严蔚敏等 C语言复习 为什么要复习C语言?为什么选择C,而不是C++?计算机编程语言介绍计算机编程语言与人类的自然语言按照与硬件的关系按照程序设计思想的发展 计算机硬件 ….高级语言中级语言汇编语言机器语言 高、中、低不是功能的高低, 而是与硬件的相关程度高级语言:Fortran, Pascal,Basic,ALGOL, COBOL ADA, Modula-2, LISP…中级语言:Forth, C汇编语言:与CPU有关机器语言:01011111,0000… 50年代机器语言、汇编语言60年代面向过程以问题的处理过程为中心FORTRAN、ALGOL、COBOL、BASIC70年代面向结构自顶往下、逐步求精、模块化设计PASCAL、MODULA-2、ADA、C、LISP80年代面向对象客观对象及其相互间的联系Simula-67、Smalltalk、C++、Java…… 程序设计思想发展 C语言主要内容复习 程序结构词法成分类型与定义运算符控制语句输入、输出指针问题其它 程序结构 一个或多个文件一个主函数和若干个子函数构成编辑、 编译、 连接、 执行 (Editor, Compiler, Linker, Run) .c .h .obj .obj .lib .dll .exe结构(头文件、类型定义和全程变量、函数原型说明、函数)一个示例 词法成分 关键字(保留字)for, while, continue, break, int, char, struct …. 常量整常数(01234, 0x1234, 1234)字符常数('a', '0', 'A'…)特殊字符:\n(开始新行) \t(水平制表) \v(竖直制表)b(退格) \r(回车) \a(鸣铃符) \f(换页)反斜线) \'(单引号) \"(双引号)宏定义 #define PI 3.14156 类型与定义 基本类型char int float double voidsigned unsigned; short long数组一维、二维、多维按行排列(行优先)[与FORTRAN不同]下标从0开始[与FORTRAN不同]理解:A, A[0], &A[0]结构struct person { char name[20]struct person *next; };typedef定义类型typedef int INTEGERtypedef float REALREAL a, b; typedef struct st{ int num; char sex;struct st *next;} Person;Person Wang; int a[20][20];int b, *pa;pa = &a[0][10];b = *pa++; Sizeof(int)Sizeof(short)Sizeof(float)Sizeof(double)Sizeof(char) 运算符 算术运算:关系运算:逻辑运算:位运算:移位运算:条件运算: a ? b:c复合运算:其它:a, *a, a->b, a.b注意:i++, ++i的区别 控制语句 单语句与复合语句条件控制if-else, if-else if-……elseswitch-case-default循环控制for (已经知道循环次数)While (先知结束条件)do-while(后知结束条件)其它控制break, continue, goto, return, exit (1) while ((ch=getchar(n');(2){ int a, b, c; a = 1; b = a++; c = a+b; printf( "c = %d\n", c);}(3) a = 1; b = 0; while (a != 1)b += a; };(4) a = 1; b = 0; do { b += a; } while (a != 1);(5) a = 0; for (i = 0; i < 10; i+for (j = 0; j < 10; j+if (i != 5) break;a+ 输入、输出 键盘输入、输出scanf, printf,gets, putsgetchar文件输入、输出fopen, fclose文本文件 (fscanf, fprintf)二进制文件 (fread, fwrite)fread(buffer, size, count, stream);fwrite(buffer, size, count, stream) FILE *fp;fp = fopen("data.txt", "rt");if (!fp){ printf("can't open file: data.txt\n"special action */}/* read file by 'fscanf' */ FILE *fp1, *fp2;float buffer[1024];fp1 = fopen("data1.dat", "rb");if (!fp1){ ……}fread(&buffer[512], sizeof(float), 100, fp1);fclose(fp1)fp2 = fopen("data2.dat", "wb");If (!fp2){……}fwrite(&buffer[600], sizeof(float), 10, fp2);fclose(fp2);…… 指针 指向变量的指针float a, *pa;pa = &a;*pa = 1.5;指向数组的指针float a[100], *pa;pa = &a[0]; /* pa = a */*pa++ = 1.0;*(pa+1) = 2.0;int pa[3][4], (*pa)[4];pa = a;pa+1指向那里?*(*(pa+2)+1) = 2.0;/* a[2][1] = 2.0 */ 指针数组char *a[3];for ( i = 0; i < 3; i++) a[i] = (char *)malloc(16*sizeof(char));strcpy(a[0], "peking");strcpy(a[1]strcpy(a[2], "university");指向结构的指针struct xp { char x; int i; struct xp *next; };Struct xp axp[10], *pxp;pxp = axp;pxp->next = (struct xp *)malloc(sizeof(struct xp));pxp->x = 'a';pxp->next->x = 'x';pxp++;pxp->x = 'b'; 其它 程序效率I++, I—局部变量与全局变量函数参数问题数值传送地址传送程序书写规范C语言目前情况MS-Visual C/C++Borland C/C++Turbo C标准C/C++ main(int i, j;i = j = 1; func1(i, j)func2(&i, &j);}void func1(int i, int j){ int m = i+j; i++;}void func2( int *i, int *j){ int m = *i+*j; *i += 10; *j = m;}
  • 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
  • 免费下载 PPT格式下载
  • 您可能感兴趣的
  • 数据结构严蔚敏  严蔚敏数据结构视频  严蔚敏数据结构视频全  数据结构严蔚敏下载  严蔚敏数据结构课件  数据结构严蔚敏答案  严蔚敏数据结构题集  数据结构单链表的实训  数据结构c语言版ppt  大话数据结构