第二章 C语言概述

《C Primer Plus》(第6版)中文版

第二章 C语言概述

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

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

//《C primer plus》2.12练习题第一题
//时间:2021年3月20日18:58:06
#include<stdio.h>
#define NAME "Gustav"
#define SURNAME "Mahler"
int main(void)
{
	//第一题(自己做)
	/*
	printf("Gustav Mahler\n");
	printf("Gustav\nMahler\n");
	printf("Gustav ");
	printf("Mahler\n");
	*/
	
	//第一题优化(参考答案)
	printf("%s %s\n", NAME, SURNAME);
	printf("%s\n%s\n", NAME, SURNAME);
	printf("%s ", NAME);
	printf("%s\n", SURNAME);

	return 0;
}
2、编写一个程序,打印你的姓名和地址。
//《C primer plus》2.12第二题
//时间:2021年3月20日19:07:32
#include<stdio.h>
#define NAME "fu"            //注意:“NAME”和“"fu"”之间要用空格
#define ADDRESS "guangzhou"
int main(void)
{
	printf("My name is %s.\n", NAME);
	printf("%s\n", ADDRESS);

	return 0;
}
3、编写一个程序把你的年龄转换成天数,并显示这两个值。这里不用考虑闰年的问题。
//《C primer plus》第三题:把年龄转换成天数,并显示两个值,不用考虑闰年的问题
//时间:2021年3月20日19:13:09
#include<stdio.h>
#define DAYS_PER_YEAR 365  //优化(参考答案)
int main(void)
{
	//自己做的
	/*
	int age, year, days;
	age = 20;
	year = age;
	days = 365* age;
	
	printf("May age is %d\n", age);
	printf("%d days\n", days);
	*/
	
	//优化(参考答案)
	int age, days;
	age =20;
	days = age* DAYS_PER_YEAR;
	printf("You age is %d, and It is %d days.\n", age, days);

	return 0;
}
4、编写一个程序,生成以下输出:(好长,不想写了…)
//《C primer plus》第四题
//时间:2021年3月20日19:22:42
#include<stdio.h>
int jolly(void);  //这里是有分号的,不要漏了
int deny(void);
int main()
{
	jolly();
	jolly();
	jolly();
	deny();

	return 0;
}

int jolly(void)     //原来自己写的是:void jolly(void),参考答案是: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、编写一个程序,生成以下输出:(好长,不想写了…)
//《C primer plus》第五题
//时间:2021年3月20日19:31:58
#include<stdio.h>

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

int main()
{
	br(); 
	printf(", ");
	ic();
	printf("\n");
	ic();
	printf("\n");  //答案这里:printf(", \n");,但看题目,这里应该是没有逗号的。研究了一下,答案本的题目确实比教材本题目多了个逗号
	br();
	printf("\n");

	return 0;
}

int br(void)
{
	printf("Brazil, Tussia");

	return 0;
}

int ic(void)
{
	printf("India, China");
	
	return 0;
}
6、编写一个程序,创建一个整型变了toes,并将toes设置为10。程序中还要计算toes的两倍和toes的平方。该程序应打印3个值,并分别描述以示区分。
//《C primer plus》第六题
//时间:2021年3月20日19:45:31
#include<stdio.h>
int main(void)
{
	//自己做的
	/*
	int toes, toes2, toes3;
	toes = 10;
	toes2 = 2* toes;
	toes3 = toes* toes;
	
	printf("toes is %d\ntoes2 is %d\ntoes3 is %d\n", toes, toes2, toes3);   
	*/

	//优化(参考答案)
	int toes;
	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);


	return 0;
}
7、许多研究表明,微笑益处多多。编写一个程序,生成以下格式的输出:(好长,不想写了…)
//《C primer plus》第七题
//时间:2021年3月20日20:00:03
#include<stdio.h>

int Smile(void);

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


	return 0;
}

int Smile(void)
{
	printf("Smile!");

	return 0;
}
8、…(好长,不想写了…)
//《C primer plus》第八题
//时间:2021年3月20日20:04:55
#include<stdio.h>

int one_three(void);
int two(void);

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

	return 0;
}

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

	return 0;
}

int two(void)
{
	printf("two\n");

	return 0;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值