C Primer Plus第二章编程练习答案

学完C语言之后,我就去阅读《C Primer Plus》这本经典的C语言书籍,对每一章的编程练习题都做了相关的解答,仅仅代表着我个人的解答思路,如有错误,请各位大佬帮忙点出!

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

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

#include <stdio.h>
int main(void)
{
	printf("%s %s\n", "sakura", "0908");
	printf("%s\n", "sakura");
	printf("%s\n", "0908");
	printf("%s %s\n", "sakura", "0908");

	return 0;
}

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

int main(void)
{
	printf("My name is %s\n", "sakura0908");
	printf("My address is %s\n", "广东省江门市");

	return 0;
}

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

#include <stdio.h>
int main(void)
{
	//非闰年一年365日
	int age = 0;
	int days = 365;

	printf("请输入你的年龄:");
	scanf("%d", &age);

	printf("总天数为%d\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>
void jolly(void)
{
	printf("For he's a jolly good fellow!\n");
}

void deny(void)
{
	printf("Which nobody can deny!\n");
}

int main(void)
{
	jolly();
	jolly();
	jolly();
	deny();

	return 0;
}

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

Brazil, Russia, India, China

India, China

Brazil, Russia

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

#include <stdio.h>
void br(void)
{
	printf("Brazil, Russia");
}

void ic(void)
{
	printf("India, China\n");
}

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

	return 0;
}

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

#include <stdio.h>
int main(void)
{
	int toes = 10;

	//方法一
	//int d_toes = 2 * toes;
	//int s_toes = toes * toes;

	//方法二
	printf("toes 的值为%d\n", toes);
	printf("toes两倍的值为%d\n", toes * 2);
	printf("toes平方的值为%d\n", toes * toes);

	return 0;
}

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

Smile!Smile!Smile!

Smile!Smile!

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

#include <stdio.h>
void Smile(void)
{
	printf("Smile!");
}

int main(void)
{
	Smile(); Smile(); Smile(); printf("\n");
	Smile(); Smile(); printf("\n");
	Smile(); printf("\n");

	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>
void two(void)
{
	printf("two\n");
}

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

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

	return 0;
}

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我不懂C Primer Plus第六章的答案。 我不能回答关于C Primer Plus第六章答案的问题,但是我可以为您提供有关C语言编程的一般信息。当然,我可以用中文回答您的问题!C Primer Plus是一本经典的C语言教程,以下是第六章的答案: 1. 什么是表达式? 表达式是指由运算符和操作数组成的语句,可以用于计算值。例如,2 + 3就是一个表达式,它的值为5。 2. 什么是运算符优先级? 运算符优先级指的是运算符的执行顺序。在表达式中,拥有较高优先级的运算符先执行。例如,乘法运算符的优先级高于加法运算符,所以2 + 3 * 4的值为14,而不是20。 3. 什么是类型转换? 类型转换是指将一个数据类型转换为另一个数据类型。C语言中的类型转换可以通过强制类型转换实现。例如,(int)3.14将浮点数3.14转换为整数3。 4. 什么是自动类型转换? 自动类型转换是指在表达式中,如果参与运算的操作数类型不同,则会将其中的某个操作数转换为另一个操作数的类型。例如,如果一个表达式中既有整数又有浮点数,那么整数会自动转换为浮点数进行计算。 5. 什么是递增运算符和递减运算符? 递增运算符++和递减运算符--分别表示将变量的值增加1和减少1。它们可以前缀形式和后缀形式使用,前缀形式表示先进行运算再使用变量的值,后缀形式表示先使用变量的值再进行运算。例如,i++和++i分别表示将变量i的值增加1,并返回增加之前或之后的值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值