c primer plus 第二章编程练习——习题解答

2.1

编写一个程序,调用一次printf()函数,把你的名字和姓打印在一行。再调用一次printf()函数,把你的名和姓打印在两行。然后,再调用两次printf()函数,把你的名和姓打印在一行。输出应该如下所示:

Gustav Machler
Gustav
Machler
Gustav Machler
#include<stdio.h>

int main(void)
{
    printf("Gustav Machler\n");
    printf("Gustav\nMachler\n");
    printf("Gustav ");
    printf("Machler");
}

2.2

编写一个程序,打印你的姓名和地址。

#include<stdio.h>

int main(void)
{

    printf("your name\n");
    printf("Beijing,China");
}

2.3

编写一个程序把你的年龄转换成天数,并显示这两个值。不用考虑闰年的关系。

#include<stdio.h>

int main(void)
{
    int days;
    int age=23;
    int oneyear=365;
    days=age*oneyear;

    printf("you age is %d and is equal to %d days\n",age,days);
}

2.4

编写一个程序,生成以下输出:

For he's a jolly good fellow !
For he's a jolly good fellow !
For he's a jolly good fellow !
Which nobody can deny !

除了main()函数以外,该程序还要调用两个自定义函数:一个名为jolly(),用于打印前三条消息,调用一次打印一条;另一个函数名为deny(),打印最后一条消息。

#include<stdio.h>
void jolly(void);
void deny(void);
int main()
{
    jolly();
    jolly();
    jolly();
    deny();
    return 0;
}

void jolly(void)
{
    printf("For he's a jolly good fellow !\n");
}
void deny(void)
{
    printf("Which nobody can deny !\n");
}

2.5

编写一个程序,生成以下输出:

Brazil,Russia,India,China
India,China
Brazil,Russia

除了main()以外,该程序还要调用两个自定义函数:一个名为br(),调用一次打印一次“Brazil,Russia”;另一个名为ic(),调用一次打印一次"India,China",其他内容在main()函数中完成。

#include<stdio.h>

void br(void);
void ic(void);

int main(void)
{
    br();
    printf(",");
    ic();
    printf("\n");
    ic();
    printf("\n");
    br();

    return 0;

}

void br(void)
{
    printf("Brazil,Russia");
}
void ic(void)
{
    printf("India,China");
}

2.6

编写一个程序,创建一个整型变量toes,并将toes设置为10。程序中还要计算toes的两倍和toes的平方。该程序打印三个值,并分别描述以示区分。

#include<stdio.h>

int main(void)
{

    int toes=10;

    printf("toes is equal to %d and its twise is %d and the quare of toes is %d .\n", toes,2 * toes,toes*toes);
    return 0;
}

2.7

编写一个程序,生成以下格式的输出:

Smile!Smile!Smile!
Smile!Smile!
Smile!
#include <stdio.h>
void psm(void);
int main (void)
{

    psm();
    psm();
    psm();
    printf("\n");
    psm();
    psm();
    printf("\n");
    psm();

}

void psm(void)
{
    printf("Smile!");
}

2.8

在c语言中,函数可以调用另一个函数。编写一个程序,调用一个名为one_three()的函数。该函数在一行打印单词"one",再调用第2个函数two(),然后在另一行打印"three"。two()函数在一行显示单词"two"。main()函数在调用one_three()函数前要打印短语"starting now:",并在调用完毕之后显示短语"done !"。因此,该程序的输出应如下所示。

starting now:
one
two
three
done!
#include<stdio.h>

void one_three(void);
void two(void);
int main(void)
{
    printf("starting now:\n");
    one_three();
    printf("done!\n");

    return 0;

}

void one_three(void)
{
    printf("one\n");
    two();
    printf("three\n");
}
void two(void)
{
    printf("two\n");
}

上一篇:C++ Primer 第2章 变量和基本类型 复习笔记


下一篇:《C++ Primer 中文版(第 5 版)》1.2