面向对象的系统分析与设计4_第1页
面向对象的系统分析与设计4_第2页
面向对象的系统分析与设计4_第3页
面向对象的系统分析与设计4_第4页
面向对象的系统分析与设计4_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

硕士课程 面向对象程序设计 C+语言基础 l了解 C+程序基本结构l了解 C+数据类型、运算符及表达式 l掌握 C+运算符及表达式 l掌握程序流程控制基本语句l函数的定义和调用方法学习内容【 例 4.1】 一个简单的 C+程序 ( example1)/ 输入一个学生的三门课成绩,计算其加权平均值#include /预处理指令/子函数的引用说明double Average(double score1, double score2, double score3);void main() /程序的主函数 double score1, score2, score3, average; coutscore1; /接受用户输入coutscore2;coutscore3;average = Average(score1, score2, score3); /调用子函数cout#include 1. 预处理命令(2) 条件预处理指令 由于被预处理包含指令 #include所指定的头文件中也可以使用 #include指令,因此就可能出现头文件嵌套包含(多次引入同一个头文件)甚至是头文件循环相互调用的情况,导致编译效率低下甚至是编译失败的情况。为了避免这种情况的发生,引入了条件预处理指令,用来标识是否已经包含了某头函数或头函数的某个部分,若已经包含了某头函数或头函数的某个部分,则在以后遇到要求再包含了该头函数或头函数的该部分时,跳过包含指令#include,以避免头文件重复包含或循环调用的情况。条件预处理指令包括:#ifdef #ifndef #define #else #endif【 例 2】 条件预处理指令 #ifndef的用法#ifndef MYHEADFILE_H#define MYHEADFILE_H/* 此处为头文件中应加入的代码 */#endif /* MYHEADFILE_H */ 通常我们是在头文件 myheadfile.h中加入上述条件预处理指令的,使得在任何包含该头文件的源程序中,该头文件都不会被重复包含。条件预处理指令 #ifdef与 #ifndef正好相反,当其后面的标识符已被定义时,条件判断为真, #ifdef和其对应的 #endif之间的语句将被执行;而当该标识符未被定义时,编译器将跳过这部分语句。我们再来看一个例子: 【 例 3】 条件预处理指令用法举例#ifdef u362/* 此处为专门为 AT 4.用户自定义的函数用户自定义的函数是程序开发人员为了实现某些特定的功能操作而编写的一组代码。当然,程序员也可以不使用任何子函数,而将全部代码放在主函数中。但是,有目的地把某些代码段独立出来,组织成子函数的形式,将能简化代码,避免同样代码的多次重复书写,而且使得程序更加清晰易读、各部分代码功能目的明确。#include int SUM(int n) int i,s;for (i=1;i =例如, const float pi= 3.1415926C+也可以用编译预处理命令定义常量:#define pi 3.1415926(3)变量在程序运行过程中,值可以被改变的量称为变量。在C+中,任何一个变量被使用之前必须被定义。与 C语言不同, C+中的变量可以在程序中随时定义 ,不必集中在程序之前。定义格式如下:例如: int i, j, k;float x, y=3.9, z=0.0;char ch1=a; 4.2.2 指针和引用( 1)指针指针是专门用来存放其他数据内存地址的变量。定义格式为:* 例如: int* iptr;C+提供了一个取得变量地址的运算符 int *ptr= 例 5 指针使用举例/ example24.cpp# include void main() int value1 = 10, value2 = 20, temp, *ptr;ptr = temp =* ptr;*ptr = value2;value2 = temp;cout intra=10;cout 常量表达式 1常量表达式 2 ;例如 :char a10 ; /定义 10个元素的字符数组 a,/包含 10个字符变量int ba; /等价于 int b97; int element23 ; /定义一个 2行 3列的二维数组4.2.3 数组和结构体4.数组说明(1)数组名是标识符 ,只能由字母、数字和下划线三种字符组成,且第一字符必须为字母或下划线。(2)数组名可看作一个指针常量,代表数组在内存中的起始地址;(3)表示数组元素个数的 可为整型、枚举型或字符型,且必须用方括号括起来。由于 的值必须在编译时就确定,因此不能含有变量。例如: #define N 100; | size=10;int aN; () | int ssize; (X) (4)数据元素的下标应小于本维 的值。3.数组的使用使用数组元素的格式如下: 例如: int a23;a00=1; ( )a01=2; ( )a02=3; ( )a10=4; ( )a11=5; ( ) a12=5; ( )a22=6; (X) a23=7; (X)4.数组的初始化数组的初始化是指在定义数组时给数组的全部或部分元素赋初值。例如:count5=0,0,0,0,0; /给每个元素赋初值 0;char ch=“hello!”; / ch0=“h”, , ch5=“!”, ch6=“0” char ch=“hello!”;int s10=10;/s0=10,s1=0, ,s9=05.结构体类型的定义格式如下 :struct ; 例如: struct date int year;int month;int day; 6.结构体变量的定义格式如下 :struct 例如: struct date today,tomorrow;7.结构体的运算( 1)结构体变量成员的运算对结构体变量成员可进行定义类型的所有运算。结构体变量成员有两种表示式:-例如: struct date day1=2001,12,14;struct date day2,*pd = day1;day4.year = day1.year+1;pd-year = pd-year+1;(2) 结构体变量整体的赋值运算day2=day1;(3)不允许将两个结构体变量做整体比较,只能逐个成员比较 。例如:if (day1=day2); /错误if (day1.year= day4.year& day1.month= day4.month & day1.day= day4.day) /正确4.2.4.1 C+中的基本运算符 运算就是对数据的加工过程,而标识不同运算的符号称为运算符

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论