当前位置: 代码迷 >> 综合 >> C Primer Plus 第2章 C语言概述-编程练习
  详细解决方案

C Primer Plus 第2章 C语言概述-编程练习

热度:94   发布时间:2023-12-05 20:28:10.0

1.编写一个程序,调用一次printf()函数,把你的名和姓打印在一行。再强调一次printf()函数,把你的名和姓分别打印在两行。然后,再调用两次printf()函数,把你的名和姓打印在一行。输出应如下所示(当然要把实例的内容换成你的名字):

Gustav Mahler ←第1次打印的内容
Gustav ←第2次打印的内容
Mahler ←仍是第2次打印的内容
Gustav Mahler ←第3次和第4次打印的内容

#include<stdio.h>
#define NAME"Gustav"
#define SURNAME"Mahler"
/*可以定义自己的名和姓*/
int main(void)
{
    printf("%s %s\n",NAME,SURNAME);printf("%s\n%s\n",NAME,SURNAME);printf("%s",NAME);printf("%s\n",SURNAME);return 0;
}

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

#include<stdio.h>
#define NAME"Li Xiaonan"
#define ADDRESS"No.19 Tairm University, A Laer, Xin Jiang"
/*姓名、地址分别用预编译指令定义*/
int main(void)
{
    printf("%s\n",NAME);/*打印姓名*/printf("%s\n",ADDRESS);/*打印地址*/return 0;
}

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

#include<stdio.h>
#define DAYS_PER_YEAR 365
/*利用预编译指定一年的天数*/
int main(void)
{
    int age,days;age=19;days=age*DAYS_PER_YEAR;printf("You age is %d,and it is %d days.\n",age,days);return 0;
}

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(),用于打印前3条消息,调用一次打印一条;另一个函数名为deny(),打印最后一条消息。

#include<stdio.h>int jolly(void);
int deny(void);
/*函数声明*/
int main(void)
{
    jolly();jolly();jolly();deny();/*函数调用*/return 0;
}
int jolly(void)
{
    
/*函数定义*/printf("For he's a jolly good fellow!\n");return 0;
}
int deny(void)
{
    
/*函数定义*/printf("Which nobody can deny!\n");return 0;
}

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

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

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

#include<stdio.h>int br(void);
int ic(void);
/*函数声明*/
int main(void)
{
    br();printf(",");ic();ic();br();/*函数调用*/return 0;
}
int br(void)
{
    
/*函数定义*/printf("Brazil,Russia");return 0;
}
int ic(void)
{
    
/*函数定义*/printf("India,China\n");return 0;
}

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

#include<stdio.h>
int main(void)
{
    int toes;toes=10;
/*定义整形变量toes,并赋值为10.*/printf("The Variable toes =%d.\n",toes);printf("double toes =%d.\n",2*toes);
/*计算并打印toes的两倍,也可以先计算再打印,例如: int d_toes=2*toes; printf("double toes=%d.\n",d_toes); 但最好不要写成: toes=2*toes; 这样会修改toes的值,并影响到toes的平方的计算。 */printf("toes' square=%d.\n",toes*toes);/*计算并打印toes的平方。*/return 0;
}

7.许多研究表明,微笑益处多多。编写一个程序,生成以下格式的输出:

Smile!Smile!Smile!
Smile!Smile!
Smile!

该程序要定义一个函数,该函数被调用一次打印一次"Smile!",根据程序的需要使用该函数。

#include<stdio.h>int smile(void);
/*函数声明*/
int main(void)
{
    
/*函数调用*/smile();smile();smile();printf("\n");smile();smile();printf("\n");smile();
}
int smile(void)
{
    
/*函数定义*/printf("Smile!");return 0;
}

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>int one_three(void);
int two(void);
/*两个函数的声明*/
int main(void)
{
    printf("Staring now!\n");one_three();printf("Done!\n");return 0;
}
int one_three(void)
{
    printf("one\n");two();printf("three\n");return 0;
}
int two(void)
{
    printf("two\n");return 0;
}
  相关解决方案