第二次博客园作业

一.1.运算符的优先级和结合性使用不熟练

^|>>等,其中^不是次方,可以用powa,3)表示a的三次方    A*A!=A^2

A--A++--A++A的差别不清楚

2.各种类型运算量混合运算时的自动转换不熟练

int a,b,c;double d;

d=1.0*(a*b)/c;

在前面加入1.0*使后面的int数据类型变成double

  1. 输入的方式只会单一种

cin>>a>>b;

cin.ignore(3);

cin>>c;

输入:12 34 5678

事实:12 34 78

 56(包括空格)3个被忽略了

char c1,c2,c3,c4;

cin.get(c1);

cin.get(c2);

cin.get(c3);

cin.get(c4);

输入:A B<Enter>

实际:c1Ac2为 ,c3Bc4为回车

char a[80];

cin.getline(a,80);

输入79个字符串,包括空格

  1. 调用子函数时,即使实参列表中没有参数,()都必须有
  2. &的使用在地址和引用的区别

引用时

void move(int &x,int &y)

{  int z;

   z=x;x=y;y=z;}

int main()

{  int x=2,y=9;

   move(x,y);

   cout<<x<<y;

   return 0;}

输出:92

  1. 函数形参的默认值(缺省值)

有默认值的形参的右边不能出现没指定默认值的形参,且不能指定引用参数的默认值,默认值会被实参覆盖

int move(int a,int b=8,int c=9)     ——合法

int move(int a=8,int b,int c=9)     ——不合法

int move(int a,int b=8,int &c=9)     ——不合法

  1. 内联函数性质不熟练

以增加空间换减少时间

函数中不能有循环语句、switch语句和复杂嵌套的if语句

  1. 函数重载不熟练

同名函数的参数个数不同,或参数类型不同,或是否为常成员函数

  1. 局部变量的存储类别的差别

auto 无初值,初值不确定  空间在使用完后会被回收

static 无初值,数字型为0,字符型为’\0’  有自己的空间

register 用于节省时间

    10.exit();使用方法不清

exit()括号中的0和别的数字的区别

11.不理解为什么copy字符串时,最后没有赋予’\0’,会输出乱码。

二.1.打印出沙漏

      输入:*个数n   

输出:打出的沙漏 最后一行为多余的*的个数

  1. if语句区别,满足打出*,反之打出
  2. 输入n,k-->通过for语句得出打印出来的行数-->通过for语句和if语句打印出漏斗-->得出多余的*的数量
  3. for语句和if语句的并用
  4. 其实主要可能更接近数学问题,通过if语句里面的条件,主要通过坐标法和举例法来实现

posted on 2018-12-07 13:34  迷雾~  阅读(138)  评论(0编辑  收藏  举报

导航