[关闭]
@chawuciren 2018-11-27T14:03:10.000000Z 字数 2602 阅读 629

C++程序设计

C++


c++的常用头文件

  1. #include<iostream>
  2. using namespace std;

输入输出

  1. cin>>y>>x>>z......>>n;//单个字母表示变量
  2. cout<<"word"<<......"word"<<y<<endl;//双引号中间表示语句,如果是单个变量输出变量的值

处理字符

  1. getchar();//读入
  2. putchar(c);//输出c的字符
  3. putchar(66);//输出ascii码66代表的字符
  4. c=getchar();//输入一个字符赋值给c

循环

for、while、do while和c一样

条件选择

if

  1. if(word 1) code 1;//如果表达式为假则执行下一个else,否则执行code 1
  2. else if(word 2) code 2;
  3. else if(wprd 3) code 3;
  4. ...
  5. else code n;

switch

  1. switch(s){
  2. case a: code 1;//如果复合情况,先执行case后面的语句,没有break就把所有符合的情况执行
  3. case b: code 2break;//如果有break,执行完这种符合的情况就停止
  4. ......
  5. case n: code n+1;
  6. }

数组

  1. int array[100];//定义和c一样

函数

  1. 先声明函数
  2. int add(int x,int y);//一般写在头文件的下面
  3. int add(int ,int);//也可以这样声明
  4. int main(){
  5. ...
  6. n=add(a,b);//这里的是实际参数
  7. ...
  8. }
  9. int add(int x,int y){//函数体,括号里的是形式参数
  10. x=x+y;
  11. return x;//这是返回值
  12. }
  13. 也可以有:
  14. return(x>y?x:y);//条件为真返回x,否则返回y

全局变量

在函数内定义的变量是局部变量,而在函数之外定义的变量是外部变量,称为全局变量。

变量的存储类别

静态存储区

全局变量,在程序开始时给全局变量分配存储单元,程序执行完毕就释放。

动态存储区

函数的形式参数
函数中定义的变量
函数调用时的现场保护和返回地址
开始调用函数时分配空间,结束时释放。

自动变量

在复合语句中定义的变量,变量定义的时候分配存储空间,在复合语句结束的时候自动释放。

  1. auto int b,c=3;

静态局部变量

希望该变量在函数调用结束后依然保持原来的值。

  1. static int c=3;

希望某些外部变量只能被本文件引用,而不能被别的文件引用,可以加static声明
即使别的文件再extern也没有用

寄存器变量

变量频繁使用,从内存中取出要花费不少时间,寄存器变量可以将局部变量的值放在cpu的寄存器中

  1. register int i;

用extern声明外部变量

从变量的定义处开始,到本程序的末尾结束

  1. extern int a;

可用于在多文件的程序中声明外部变量

内部函数和外部函数

只能被本文件调用的函数叫内部函数(static),函数首部不加默认为外部函数。

头文件的内容

对类型的声明
函数声明
内置函数的声明
宏定义
全局变量定义
外部变量声明
包含其他头文件

作业

12) 使 用 多文 件 结 构 编 写 程 序 计 算 y=
n!=1*2*3*......*n。要求:
5!+7! 和
s=1!+2!+......+10! 的 值 , 提示 :
8!
1 把求阶乘的函数存放在文件 file1.cpp 中;
2 把求 y=
5!+7!
8! 的函数存放在文件 file2.cpp 中;
3 求 s=1!+2!+......+10! 的函数存放在文件 file3.cpp 中;
4 函数原型在头文件 headf.h 中声明;
5 主函数存放在文件 mainf.cpp 中。
上机调试程序,从而掌握 VC6 多文件程序上机调试的操作过程

  1. int fac(int n){//计算n的阶乘
  2. if(n==0)
  3. return 0;
  4. if(n==1)
  5. return 1;
  6. return n*fac(n-1);
  7. }

15)用随机函数产生 10 个互不相同的两位整数并存放到一维数组中,然后输出该一维数组。
实验指导
1
Visual C++提供了用于产生随机数的有关函数:
rand()
产生 0~32767 之间的随机整数。
srand(number) 种子函数。其中 number 是无符号整型参数,称为种子值。当种子
值 nunber 不同时,函数 rand()产生的随机数序列也不同。
time(0)
返回用整型数表示的系统当前时间。在此作为 srand 函数的参数。
srand 函数和 rand 函数在头文件 stdio.h 中定义,time 函数在 time.h 文件中定义。
2 可利用一下函数生成 n 个互不相同的两位随机整数并存放到一维数组中,再编写出主
函数调用此函数。也可在主函数完成题目要求的功能而不使用函数调用的方法。

  1. #include "stdlib.h"
  2. #include "time.h"
  3. void create_Ary (int a[], int n)
  4. {
  5. srand(time(0)); //使随机数函数 rand 产生一序列随机数而设置种子值
  6. int i,j,x;
  7. i = 0;
  8. while (i<n)
  9. {
  10. x=rand( );
  11. if (x<10||x>=100) //产生两位在 10≤而<100 范围内的数
  12. continue;
  13. j=0;
  14. while (j<=i&&a[j]!=x) //舍弃相同元素
  15. j++;
  16. if (j>i)a[i++]=x; //不同的元素送入数组
  17. }
  18. }

16) 编写程序:判别一个输入的整数数组中各元素的值,若大于 0 则输出该值,若小于等
于 0 则输出 0。
实验指导:本程序中可先定义一个无返回值函数用以判断各元素的值,并说明其形参为
整型变量,在函数体中根据形参的值输出相应的结果。在 main 函数中定义一个有若干元素
的数组,用循环控制语句输入数组各元素,每输入一个就以该元素作实参调用一次函数,即
把元素的值传送给形参,供函数使用。

  1. void positive(int a){
  2. if(a>0)
  3. cout<<a;
  4. return;
  5. }

18) 编写一个函数, 在一个数组中查找出其值等于给定值 x 的所有元素,函数的返回值是数
组中其值等于给定值的元素的个数。

  1. bool find(int a[],int len,int x){
  2. for(int i=0;i<len;i++){
  3. if(a[i]==x){
  4. return true;
  5. }
  6. }
  7. return false;
  8. }

19) 定义函数 Max_Array 求一维数组中的最大元素值。尽可能设计不同形式参数的函数原
型,并定义它们的实现。用 main 函数进行测试,比较不同参数的定义和使用形式。
20) 排序是为了快速查找。定义一个函数,在有序数组中查找指定值,想一想怎样才能找的
更快。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注