复习与总结.

Slides:



Advertisements
Similar presentations
《C语言程序设计》复习
Advertisements

C语言程序设计 主讲教师 :张群燕 电话:
C#程序设计案例教程 第3章 程 序 结 构.
第一章 C语言概述 计算机公共教学部.
C语言基础——指针的高级应用 Week 05.
第二章 JAVA语言基础.
第三章 控制结构.
第九章 指针 目录 指针与指针变量的概念 变量的指针和指向变量的指针变量 数组的指针和指向数组的指针变量
程式設計實作.
第六章 数 组 主讲教师 贾月乐 联系电话:
Class 2 流程控制-選擇敘述與迴圈.
C++程序设计 第二讲 清华大学软件学院.
第3章 C 語言的基本知識.
项目六 用指针优化学生成绩排名 项目要求 项目分析
C程序设计.
第七章 函数 目录 有参的加法函数的开发 函数定义的一般形式 函数参数和函数的值 函数的调用
第2章回顾 标识符:不用记,动手 关键字:if, else, switch, for, while, do, break, continue, void, …… 局部变量和成员变量 ①变量作用域 ②内存布局 基本数据类型 ①4类8种 ②互相转换 流程控制语句 ①分支 if……else, switch.
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
Object-Oriented Programming in C++ 第一章 C++的初步知识
第三章 C++中的C 面向对象程序设计(C++).
6 使用者函數 6.1 函數定義 宣告函數 呼叫函數 呼叫多個函數 6-6
C语言 程序设计基础与试验 刘新国、2012年秋.
第3讲 C++程序控制结构 3.1 顺序结构 3.2 分支结构 3.3 循环结构 3.4 转向控制 3.5 综合案例分析.
2019/1/17 Java语言程序设计-程序流程 教师:段鹏飞.
C++语言程序设计 第二章 C++简单程序设计.
程序的三种基本结构 if条件分支语句 switch多路开关语句 循环语句 循环嵌套 break,continue和goto语句
授课老师:龚涛 信息科学与技术学院 2016年3月 教材:《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
第2章 C++流程控制语句 if 语句 switch语句 for语句 while语句 do - while语句 break语句
第1章 概述 本章要点: C语言程序结构和特点 C语言程序的基本符号与关键字 C语言程序的编辑及运行 学习方法建议:
第4讲 C++程序控制结构(二) 4.1 循环结构 4.2 转向控制 4.3 综合案例分析.
C++大学基础教程 第5章 数组 北京科技大学 信息基础科学系.
C++大学基础教程 第3章 C++控制语句 北京科技大学 信息基础科学系.
第二章Java基本程序设计.
第1讲 C语言基础 要求: (1) C程序的组成 (2) C语言的标识符是如何定义的。 (3) C语言有哪些基本数据类型?各种基本数
C语言大学实用教程 第5章 函数与程序结构 西南财经大学经济信息工程学院 刘家芬
程式結構&語法.
C语言复习3----指针.
第三章 C++的语句和简单的程序设计 主要内容:
第 二 章 数据类型、运算符与表达式.
C++语言程序设计 C++语言程序设计 第三章 控制语句 第十一组 C++语言程序设计.
第10讲 构造函数和析构函数 构造函数 析构函数 This 指针.
C语言大学实用教程 第6章 数组 西南财经大学经济信息工程学院 刘家芬
第二章 Java基本语法 讲师:复凡.
Chap 5 函数 5.1 计算圆柱体积 5.2 使用函数编写程序 5.3 变量与函数.
7.1 C程序的结构 7.2 作用域和作用域规则 7.3 存储属性和生存期 7.4 变量的初始化
第十四章 若干深入问题和C独有的特性 作业: 函数指针 函数作参数 函数副作用 运算 语句 位段 存储类别 编译预处理
第十章 指针 指针是C语言的重要概念,是C语言的特色,是C语言的精华。 10.1 地址和指针的概念 内存中的每一个字节都有一个地址。
C程序设计.
C++语言程序设计教程 第2章 数据类型与表达式 第2章 数据类型与表达式 制作人:杨进才 沈显君.
第2章 认识C语言 教学要点 2. 1 项目二C语言程序识读 2 .2 项目三班级成绩排名 2 .3 知识链接 返回.
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
C++程式設計入門 變數與運算子 作者:黃建庭.
第二章 Java语法基础.
第二章 类型、对象、运算符和表达式.
第二章 基本数据类型 ——数据的表示.
程序设计基础.
#include <iostream.h>
第二章 Java基本语法 讲师:复凡.
第五章 逻辑运算和判断选取控制 §5.1 关系运算符和关系表达式
第七章  数 组.
第1章 数据结构基础概论 本章主要介绍以下内容 数据结构研究的主要内容 数据结构中涉及的基本概念 算法的概念、描述方法以及评价标准.
单片机应用技术 (C语言版) 第4章 C51程序设计入门
PPT注意事项: 当前PPT课件文件必须和提供的源代码文件夹“代码”在同一目录中即不要移动文件夹“代码”的默认位置。
多重條件選擇敘述
基本資料型態 變數與常數 運算子 基本的資料處理 授課:ANT 日期:2014/03/03.
迴圈(重複性結構) for while do while.
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
第二章 Java基础语法 北京传智播客教育
本节内容 指针类型 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第二章 Java基本语法 讲师:复凡.
Presentation transcript:

复习与总结

第一章 基础知识 C/C++基本程序:预编译指令(#include、#define); 有且仅有1个主/入口函数(main); 第一章 基础知识 C/C++基本程序:预编译指令(#include、#define); 有且仅有1个主/入口函数(main); 2. 关键字、标示符 3. 对象/变量:名字、类型、内存结构、操作、生命周期、作用域 4. 常量表示: 整型常量,前缀修饰符八进制0、十六进制0x,后缀修饰符L、U 实型常量,小数形式0.、指数形式1.2E-5 字符常量, 'a' '\n' ‘\\’ 字符串常量 sizeof("F\149r?\012"), strlen("F\149r?\012") 5. 表达式计算与构造:优先级、结合性

第一章 基础知识 ! 逻辑非 右 算术运算符 关系运算符 单目右,双目左 &&逻辑与 ||逻辑或 左 条件运算符 赋值运算符 左 逗号运算符 第一章 基础知识 结合性 运算符 优先级 ! 逻辑非 算术运算符 关系运算符 &&逻辑与 ||逻辑或 条件运算符 赋值运算符 逗号运算符 右 高 单目右,双目左 左 左 左 右 低 右 左 a=5+(c+=6);d=(a++)-(++b)+c--; a<b&&x>y||a<b-!c

第一章 基础知识 6. 类型转换 强制类型转换 int a(7), b(5); float x; x=float(a)/b 第一章 基础知识 6. 类型转换 强制类型转换 int a(7), b(5); float x; x=float(a)/b 隐式类型转换 float a=2%’A’ 7. 输出格式控制 字符 printf(“c=%c,%c”,c,’B’); 整型 printf(“a=%d,b=%-5d,c=%ld”,a,b,c); 字符串 printf(“5:%-8.3s”,”abcd”); 浮点数 printf(“\na=%f,b=%8.3f,c=%-10.2f”,a,b,c); 指数格式 printf("%-12.2e,%12.2e",123.5489,123.5489); 8.输入 int a,b,b; scanf(“%d%d%d”,&a,&b,&c); int a[10]; for(int i=0;i<10;++i) scanf(“%d”,a+i);

第二章基本控制结构程序设计 if分支语句 if语句的嵌套 2. switch语句 if (a%2) 语句1; else 语句2; if(n%3==0) if(n%5==0) cout<<n<<"是15的倍数"<<endl; else cout<< n<<"是3的倍数但不是5的倍数"<<endl; 2. switch语句 if (a%2) 语句1; else 语句2; switch (score) { case 'A': case 'a': cout<<″excellent″; case 'B': case 'b': cout<<"good"; break; default: cout<<"fair"; }

3. for、while、do/while语句: 第二章基本控制结构程序设计 3. for、while、do/while语句: int i=1,sum=0; //循环初始条件 while(i<=4) { sum+=i; i++; //修改循环条件 } int i=1,sum=0; //循环初始条件 do { sum+=i; i++;//修改循环条件 } while(i<=4); int i,sum=0; for( i=1; i<=4; i++ )//语法上灵活 { sum+=i; } /*习惯上:表达式1:循环初始条件;表达式2:循环终止条件;表达式3:修改循环条件*/ 三种循环语句的对比

第二章基本控制结构程序设计 4. 语句控制 break和continue语句 B int main(){ (1) c='B' k=2 (2) c='C' k=4 (3) c='D' k=7 (4) c='E' k=1 (5) c='F' k=11 (6) c='G' int main(){ int k=0; char c='A'; do{ switch(c++){ case 'A':k++; break; case 'B':k--; case 'C':k+=2; break; case 'D':k=k%2; continue; case 'E':k=k*10; break; default :k=k/3; } k++; } while(c<'G'); cout<<k<<endl; break和continue练习,重点讲解 k=3 B) k=4 C) k=2 D) k=0 B 7

第二章基本控制结构程序设计 4. 循环嵌套 void bubble_sort(int *a, int n){ int i, j,t; for(i=0;i<n-1;i++){ for(j=0;j<n-i-1;j++){ if(a[j]>a[j+1]){ t=a[j]; a[j]=a[j+1]; a[j+1]=t;} } int a[5]={5,3,4,1,2}; … bubble_sort(a,5);

第二章基本控制结构程序设计 5. 文件输入输出 FILE *fp; //定义文件指针 fp=fopen(“a1.txt”, ”r”); //指明打开方式 for(i=0;i<100;i++) fscanf(fp,”%d”,&a[i]); //读入数据 fclose(fp);//关闭文件关联 sort(a,100); fp=fopen(“f2.txt”, “w”); for(i=0;i<100;i++) fprintf(fp,”%4d”,a[i]);

第三章函数 函数组成:返回值类型、函数名、形参列表和函数体 int maxN(int i, int j) { //A if (i>=j) return i; else return j; } int main() { //B cout<<″输入i,j:″; //显示提示信息 int i, j; //定义变量 cin>>i>>j; //从键盘上输入变量值 int result=maxN(i, j); //调用max函数 cout<<result<<endl; //输出提示和结果 return 0;

第三章函数 int c; int fun(int a, int b){ static int m, i=2; c=i+=m+1; void swap1(int d1,int d2){ int temp; temp=d1;d1=d2;d2=temp; } 2. 参数传递 int a(1),b(2); swap1(a,b); //no swap2(a,b); //yes swap3(&a,&b); //yes 3. 局部变量、全局变量、静态变量 4. 递归程序设计 5. 宏定义 #define S(a,b) (a)*(b)/2 6. 函数重载、形参默认值、内联函数 void swap3(int *d1,int *d2){ int temp; temp=*d1;*d1=*d2;*d2=temp; } void swap2(int &d1,int &d2){ int temp; temp=d1;d1=d2;d2=temp; } int c; int fun(int a, int b){ static int m, i=2; c=i+=m+1; m=i+a+b; return(m); }

第四章类 类:数据和操作的封装 class Complex{ double m_real,m_image ; //数据成员 public: Complex(double r=0.0, double i=0.0); //默认构造函数 Complex(const Complex &com); //拷贝构造函数 ~Complex(); //析构函数 Complex & operator=(const Complex &); //赋值运算符 Complex operator+(const Complex &); double abs(); }; int main(void) { Complex c1(1, 1), c2(2, 2), c; c=c1; cout<<c.abs()<<endl; c = c2 + c1; }

第四章类 Complex Complex::operator+(const Complex & c){ … Complex Complex::operator+(const Complex & c){ Complex Temp(m_real+c.m_real , m_image+c.m_image) ; //局部对象显式返回 return Temp ; //复制构造临时对象 } Complex &Complex::operator=(const Complex & c){ m_real=c.m_real; m_image=c.m_image; return *this; double Complex::abs( ){ return sqrt(m_real*m_real+m_image*m_image); int main(void) { Complex c1(1, 1), c2(2, 2), c; c=c1; cout<<c.abs()<<endl; c = c2 + c1; }

第五章数组和指针 指针变量:存放变量地址的变量 int i=24; int *pi=&i; *pi=23; //出现在表达式中,是解引用 2. 数组:由单一类型元素组成的一个有序集合。数组名代表第一个元素的地址。 一维数组: int a[4]={1,3,4}; //初始化 int *p=a; //或者 &a[0]; p=p+1; //指向下一个元素 二维数组: int b[3][4] ={{1,1,1,1},{2,2,2,2}}; int (*q)[4]=b; //或者 &b[0] 或者&a;

第五章数组和指针 int b[3][4] ={{1,1,1,1},{2,2,2,2}}; int (*q)[4]=b; 第i个元素的地址:b+i, q+i, &q[i], &b[i] //一维数组的地址 第i个元素:*(b+i),*(q+i),b[i],q[i] //一维数组 第i个一维数组中第j个元素: *(*(b+i)+j),*(b[i]+j),b[i][j] 第i个一维数组中第j个元素的地址: *(b+i)+j, b[i]+j, &b[i][j] q = q+1; //指向下一个元素,即q==&b[1],移动了4个int 2. 利用一级指针指向多维数组 int b[3][4]; int *p = &b[0][0];// 或者 *b, b[0] p = p+1; // ++p; p++; 移动1个int

第五章数组和指针 3. 数组名等效指针,但不等价 char a[10],*p=a; sizeof(a)!=sizeof(p); //注意不是sizeof(*p) 4.数组名转化为指针 void arrayTest(char str[]){ // 形参等价于 char *str     printf(“sizeof(str) =%d”,sizeof(str) ); //输出指针长度 str++; //编译正确  }  int main()  {  char str1[10] = “Hello";   arrayTest(str1);       return 0; }

第五章数组和指针 5. 字符数组 char c[]=“C++”;char *p=“C++”; //sizeof(p) sizeof(c) 库函数输入输出 puts(c); //输出字符数组 gets(c); //输入字符数组 阅读程序: void f (char *c) int main() { { c+=2; char c[20]=”abcdef”; (*c)++; f(c+1); c++; *c=0; printf(“%s”,c); } }