第2章 基本概念

Posted astralcon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第2章 基本概念相关的知识,希望对你有一定的参考价值。

2.7 问题

1. 由于注释是不能嵌套的,只需要找到第一个/*开头然后找到第一个*/结尾(以此类推),这就是一个注释。通过程序可知,End of commneted-out code */这个是没有配套的/*,故此不为注释,程序发生错误。

2.

缺点:对文件的一点修改,都会重新编译这个大文件,会比只重新编译需要修改的小文件耗时。

           不易阅读,不易维护。

优点:编译时间短。

3. "Blunder??!??"

4. 

40 = 32;  100 = 64;  /x40 = 64;  /x100 = 256;  /0123 = 83;  /x0123 = 291

上面是我第一次的答案,错的很正常~    P23有个注意:如果结果值的大小超出了表示字符的范围,其结果就是未定义的。

/40 = 32 = 空格字符;

/100 = 64 = ‘@‘;

/x40 = 64 = ‘@‘;

/x100占据了12位(0001 0000 0000)(尽管前三位为0)。在绝大多数机器上,这个值过于庞大,无法存储于一个字符内,所以它的结果因编译器而异;

/0123由两个字符组成,‘/012’和‘3’,其值因编译器而异;

/x0123过于庞大,无法存储于一个字符内,其值因编译器而异。

5. 错误,不能简单理解为int xy; P23注释有句话说的很清楚:所有的注释都会被预处理器拿掉,取而代之的是一个空格。

6. 没有错误。

7. 对也不对。由于C的自由形式,如果只是想简单的将程序写出来,能够正常运行,程序的样子当然无关紧要;但是,如果是一个大工程,以后需要维护和修改,则程序写的美观整洁,非常节省时间和金钱。

8. 两个程序的循环都错误,第二个程序更容易检查其正确性-->{}的匹配

9. 

cc main.c list.c report.c

 

10. 

cc main.c list.c report.c -lparse

11. 

//文件                 //重新修改文件
list.c                    list.c
list.h                    list.c table.h main.c
table.h                    main.c table.c 

2.8 编程练习

1. 

#include<stdio.h>

int negate(int x);
int increment(int x);

int main()
{
    int x, y, z;
    x = negate(10);
    y = increment(0);
    z = negate(-10);
    printf("%d %d %d
", x, y, z);
    return 0;
}

int negate(int x)
{
    return -x;
}

int increment(int x)
{
    return x + 1;
}

2. 

/*检查一个程序的花括号对*/
#include<stdio.h>
#include<stdlib.h>

int main()
{
    char c;
    int braces = 0;

    /*逐个字符读取程序*/
    while ((c = getchar()) != EOF)
    {
        /*左花括号始终是合法的*/
        if (c == {)
            braces++;
        /*右花括号只有当它和一个左花括号匹配时才是合法的*/
        if (c == })
            if (braces == 0)
                printf("Extra closing brace
");
            else
                braces--;
    }
    /*没有更多输入:验证不存在任何未被匹配的左花括号*/
    if (braces > 0)
        printf("%d unmatched opening brace(s)!
", braces);

    return EXIT_SUCCESS;
}

 

以上是关于第2章 基本概念的主要内容,如果未能解决你的问题,请参考以下文章

第1章数据库基础基本概念和E-R图

第1章 计算机系统结构的基本概念

spark考试

精通高级RxJava 2响应式编程思想

第3章 DOM基本概念以及基本属性和方法

第19章 通讯的基本概念