计算机二级程序设计基础

二级公共基础,程序设计基础

img


为什么选项C不正确呢? C不是十六进制的表示吗?不也是整数?

整数I类实例通常是指整数,即没有小数部分的数值。整数可以是正数、负数或零。它们可以用十进制、二进制、八进制或十六进制表示
“101E02”是科学计数法表示的数值

101E02明显是科学计数法,这是个double类型
如果你希望E是16进制,那前面要加0x

十六进制得加0x开头才行

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7662318
  • 这篇博客你也可以参考下:C语言 输入两个正整数,求这两个正整数的最大公约数和最小公倍数。
  • 除此之外, 这篇博客: c与指针 13章问题1 答案,你真的懂指针吗,我相信你会迷糊的,反正我是感觉智商被磨擦,想半天才想明白中的 开始分析 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    1. int abc(); 找到变量名abc,先和()结合,得出结论 abc 是一个函数,函数就必定有返回值,返回值是啥呢,看下一个结合的东西,是int ,说明函数返回值是 int 型。所以得到最终结论,abc 是一个函数,函数返回值是 int 类型
    2. int abc[7]; 找到变量名abc,先和 [7] 结合,得到结论,abc是一个可以存放7个数据的数组,数组那就得有元素数据类型,类型是啥呢,看下个结合的东西,是int ,说明元素数据类型是 int 型。所以得到最终结论,abc 是一个可以存放7个数据的数组,数组元素的数据类型是 int 类型
    3. int **abc(); 找到变量名abc,先和()结合,得出结论 abc 是一个函数,函数就必定有返回值,返回值是啥呢,看下一个结合的东西,是* ,说明函数返回值是个指针。指针必须指向某个东西,它指向啥呢?看下一个结合的东西,还是* ,说明指针指向了另外一个指针,同理,第二个指针指向啥呢?看下一个结合的东西,是int ,说明第二个指针指向一个 int 数据。所以得到最终结论,abc 是一个函数,函数返回值是一个指向 int 型指针的指针(或者说返回值是一个int型的双重指针)
    4. int (*abc)(); 找到变量名abc,先和*结合,得出结论 abc 是一个指针,指针必须指向某个东西,它指向啥呢?看下一个结合的东西,是(),说明指针指向一个函数,函数就必定有返回值,返回值是啥呢,看下个结合的东西,是int ,说明函数返回值是 int 型。所以得到最终结论,abc 是一个指针,其指向一个函数(也就我们常说的函数指针),函数返回值是 int 类型
    5. int (*abc)[6]; 找到变量名abc,先和*结合,得出结论 abc 是一个指针,指针必须指向某个东西,它指向啥呢?看下一个结合的东西,是[6],说明指针指向一个可以存放6个数据的数组,数组那就得有元素数据类型,类型是啥呢,看下个结合的东西,是int ,说明元素数据类型是 int 型。所以得到最终结论,abc 是一个指针,它指向一个可以存放6个数据的数组,数组元素的数据类型是 int 类型
    6. int *abc(); 找到变量名abc,先和()结合,得出结论 abc 是一个函数,函数就必定有返回值,返回值是啥呢,看下一个结合的东西,是* ,说明函数返回值是个指针。指针必须指向某个东西,它指向啥呢?看下一个结合的东西,是int ,说明指针指向一个 int 数据。所以得到最终结论,abc 是一个函数,函数返回值是一个指向 int 型指针
    7. int **(*abc[5])(); 找到变量名abc,先和 [5] 结合,得到结论,abc是一个可以存放5个数据的数组,数组那就得有元素数据类型,类型是啥呢,看下个结合的东西,是* ,说明元素数据类型是指针,指针必须指向某个东西,它指向啥呢?看下一个结合的东西,是(),说明指针指向一个函数,函数就必定有返回值,返回值是啥呢,看下一个结合的东西,是* ,说明函数返回值是个指针。指针必须指向某个东西,它指向啥呢?看下一个结合的东西,还是* ,说明指针指向了另外一个指针,同理,第二个指针指向啥呢?看下一个结合的东西,是int ,说明第二个指针指向一个 int 数据。所以得到最终结论,abc 是一个可以存放5个数据的数组,数组元素的数据类型是函数指针,函数返回值是一个指向 int 型指针的指针
    8. int **abc[4]; 找到变量名abc,先和 [4] 结合,得到结论,abc是一个可以存放4个数据的数组,数组那就得有元素数据类型,类型是啥呢,看下个结合的东西,是* ,说明元素数据类型是指针,指针必须指向某个东西,它指向啥呢?看下一个结合的东西,还是* ,说明指针指向了另外一个指针,同理,第二个指针指向啥呢?看下一个结合的东西,是int ,说明第二个指针指向一个 int 数据。所以得到最终结论,abc 是一个可以存放4个数据的数组,数组元素的数据类型是指向int型指针的指针
    9. int *(*abc)[3]; 找到变量名abc,先和*结合,得出结论 abc 是一个指针,指针必须指向某个东西,它指向啥呢?看下一个结合的东西,是[3],说明指针指向一个可以存放3个数据的数组,数组那就得有元素数据类型,类型是啥呢,看下个结合的东西,是* ,说明元素数据类型是指针,指针必须指向某个东西,它指向啥呢?看下一个结合的东西,,是int ,说明指向的是一个 int 数据。所以得到最终结论,abc 是一个指针,指向一个可以存放3个数据的数组,数组元素的数据类型是int型指针
    10. int *(*abc())(); 找到变量名abc,先和()结合,得出结论 abc 是一个函数,函数就必定有返回值,返回值是啥呢,看下一个结合的东西,是* ,说明函数返回值是个指针。指针必须指向某个东西,它指向啥呢?看下一个结合的东西,是(),说明指针指向的是一个函数(函数2),函数2也必定有返回值,返回值是啥呢,看下一个结合的东西,是* ,函数2的返回值是指针(指针2),指针2也必须指向某个东西,它指向啥呢?看下一个结合的东西,是 int ,说明指向的是一个 int 数据。函数2的返回值是一个指向int数据的指针,。所以得到最终结论,abc 是一个函数,其返回值是一个函数指针,函数指针指向函数2,函数2的返回值是一个指向int数据的指针
    11. int (**(*abc)())(); 找到变量名abc,先和*结合,得出结论 abc 是一个指针,指针必须指向某个东西,它指向啥呢?看下一个结合的东西,是(),说明指针指向的是一个函数,函数必定有返回值,返回值是啥呢,看下一个结合的东西,是* ,说明函数返回值是个指针(指针2)。指针2必须指向某个东西,它指向啥呢?看下一个结合的东西,还是* ,说明指针2指向了另外一个指针(指针3),同理,指针3指向啥呢?看下一个结合的东西,是(),说明指针3指向一个函数(函数2)。函数2也必定有返回值,返回值是啥呢,看下一个结合的东西,是 int 说明函数的返回值是一个 int 数据 ,即函数2的返回值是 int 数据,指针3指向函数2,是一个函数指针,指针2指向指针3,是一个指向函数指针的普通指针。所以得到最终结论,abc 是一个指针,指向一个函数1,函数1的返回值是一个指向函数指针(指针3)的普通指针(指针2),函数指针(指针3)指向函数2,函数2的返回值是一个 int 数据
    12. int (*(*abc)())[2]; 找到变量名abc,先和*结合,得出结论 abc 是一个指针,指针必须指向某个东西,它指向啥呢?,看下一个结合的东西,是(),说明指针指向的是一个函数,函数必定有返回值,返回值是啥呢,看下一个结合的东西,是* ,说明函数返回值是个指针(指针2),指针2必须指向某个东西,它指向啥呢?看下一个结合的东西,是[2] ,说明指针2指向了一个可以存放2个数据的数组,数组那就得有元素数据类型,类型是啥呢,看下个结合的东西,是int ,说明元素数据类型是 int 型。所以得到最终结论,abc 是一个指针,其指向一个函数,函数返回值又是一个指针(指针2),指针2指向一个可以存放2个数据的数组,数组元素的数据类型是int
    13. int *(*(*(*abc)())[10])(); 找到变量名abc,先和*结合,得出结论 abc 是一个指针,指针必须指向某个东西,它指向啥呢?,看下一个结合的东西,是(),说明指针指向的是一个函数(函数1),函数1必定有返回值,返回值是啥呢,看下一个结合的东西,是* ,说明函数1返回值是个指针(指针2),指针2必须指向某个东西,它指向啥呢?看下一个结合的东西,是[10] ,说明指针2指向了一个可以存放10个数据的数组,指针2是一个数组指针,数组那就得有元素数据类型,类型是啥呢,看下个结合的东西,又是* ,说明元素数据类型是 指针(指针3),指针3必须指向某个东西,它指向啥呢?看下一个结合的东西,是(),说明指针3指向的是一个函数(函数2),指针3是一个函数指针,函数2必定有返回值,返回值是啥呢,看下一个结合的东西,还tm是* ,说明函数返回值是个指针(指针4),指针4必须指向某个东西,它指向啥呢?看下一个结合的东西,是 int ,说明指针4指向一个 int 数据,函数1的返回值是一个指向数组的数组指针2,函数2的返回值是一个指向 int 数据的普通指针4,函数指针3指向函数2,所以得到最终结论,abc 是一个指针,其指向一个函数,函数返回值又是一个数组指针(指针2),指针2指向一个可以存放10个数据的数组,数组存放的是一些函数指针(指针3),这些函数指针指向的函数(函数2)的返回值是一个指向int 数据的普通指针(指针4)

    在这里插入图片描述

    这个有点难,补一下步骤,int *(*(*(*abc)())[1])();—> int *(*(*ptr())[1])(); —> int *(*(*function1)[1])(); —> int *(*(ptr2)[1])(); —> int *(*array)(); —> int *(ptr3)(); —> int * fuction2;

  • 您还可以看一下 李飞老师的C语言开发之数据结构与算法二课程中的 树的删除操作小节, 巩固相关知识点