zoukankan      html  css  js  c++  java
  • C/C++

    三十四、关系运算符>逻辑运算符(特别低)

    三十五、C++中标准输入输出流

           cin,C++编程语言互换流中的标准输入流。

           cout,C++编程语言互换流中的标准输出流。

           cerr,C++预定义的标准错误输出函数,作用就是直接将参数(错误信息)打印到屏幕上。

           Cfile是MFC文件类的基类,它直接提供非缓冲的二进制磁盘输入/输出设备,并直接的通过派生类支持文本文件和内存文件。

    三十六、       要实现将结构体数组student的所有元素写到文件fp中,只需要保证写到文件中的字节数为50*sizeof(struct st)即可。

           sizeof是操作符,在编译阶段就获得结果。

           strlen是函数调用,在运行阶段获得值。

           sizeof(float)返回值是一个整型,在编译阶段就被整型替代了,所以这是一个整型表达式。

    三十七、

    1. 指针函数:指带指针的函数,即本质是一个函数,返回类型是某一类型的指针。

    int *f(x,y)

    首先,他是一个函数,只不过这个函数的返回值是一个地址值。函数返回值必须用同类型的指针变量来接受,也就是说,指针函数一定有函数返回值,而且,在主调函数中,函数返回值必须赋给同类型的指针变量。

    1. 函数指针:是指向函数的指针变量,即本质是一个指针变量。

    int (*f) (int x);         /*声明一个函数指针*/

    f=func;                  /*将func函数的首地址赋给指针*/

           指向函数的指针包含了函数的地址的入口地址,可以通过它来调用函数。生命格式如下:

    类型说明符*(函数名)(参数)

    其实这里不能称为函数名,应该叫做指针的变量名。这个特殊的指针指向一个返回整型值的函数。指针的声明和它指向函数的声明保持一致。

    三十八、

     

     

    三十九、拷贝构造函数调用的时机:

    1、 当用类的一个对象初始化该类的另一个对象时;

    2、 如果函数的形参是类的对象,调用函数时,进行形参和实参结合时;

    3、 如果函数的返回值是类的对象,函数执行完成返回调用者时;

    4、 需要产生一个临时类对象时。

    四十、当数组作为函数参数传递的时候,它就退化成指针了,传递过去的其实是数组的首地址。要求数组长度的话,可以在main函数内部求得。

    四十一、

                  /*函数*/

    int f(unsigned int n)

    {

           unsigned int m=0;

           for(m=0;n;++m)

           {

                  n&=(n-1);

           }

           return m;

    }

     

    /* 问 f(2486)的返回值是(),答案是7 */

    /*

           比较完整的答案:

           //求二进制数1的个数

           int numOfOne(x){

                  int count = 0;

                  while(x)

                  {

                         count++;

                         x=x&(x-1);

                  }

                  return count;

           }

          

           求二进制中0的个数为下:

           int numOfZero(x)

           while(x+1)

           {

                  count++;

                  x=x|(x+1);

           }

           return count;

          

           这道题求的时候有技巧,一般都要转化为16进制,再转化为2进制,

           那么这里2486=2048+438

           已知2048=2^n,n尽管他是多少,都只能取一个1,所以只需取438中

           1的个数,再加上1就可以了。

           2486=2048+256+128+32+16+4+2 共7个1。

          

    */

    四十二、

           /*请阅读以下程序,其运行结果为()  答案为YES*/

    void main()

    {

           char c='A';

           if('0'<=c<='9')

                  printf("YES");

           else

                  printf("NO");

    }

     

    /*

           关系运算符具有左结合性,所以('0'<=c<='9')等价于(('0'<=c)<='9')。

           因为c='A',所以('0'<=c)的值为真,即为1,1<='9'的值为真,即为1.所以输出YES。

    */

    四十三、

           核心:

    1、 如果const位于*的左侧,则const就用来修饰指针所指向的变量,即指针指向于常量。

    2、 如果const位于*号的右侧,const就是修饰指针本身,即指针本身是常量。

  • 相关阅读:
    Makefile使用函数
    Makefile条件判断
    Makefile使用变量
    Makefile书写命令
    Makefile书写规则
    Makefile总述
    Makefile基础知识
    LEETCODE刷题 替换空格
    LEETCODE刷题 二维数组查找
    【Intellij IDEA 奇淫技巧】自动生成serialVersionUID的设置
  • 原文地址:https://www.cnblogs.com/TheFly/p/13151578.html
Copyright © 2011-2022 走看看