最近在复习C语言,在做编程练习的过程中自己也有些许收获,现将第二章编程练习题及个人答案发布如下,欢迎各位参考学习,若在参考过程中发现有何问题或者有其他思路请评论或私信我,感谢各位!
1. 编写一个程序,调用一次printf()函数,把你的名和姓打印在一行。
再调用一次printf()函数,把你的名和姓分别打印在两行。
然后,再调用两次printf()函数,把你的名和姓打印在一行。
输出应如下所示(当然要把示例的内容换成你的名字):
Gustav Mahler ←第1次打印的内容
Gustav ←第2次打印的内容
Mahler ←仍是第2次打印的内容
Gustav Mahler ←第3次和第4次打印的内容
2.编写一个程序,打印你的姓名和地址。
参考代码如下:
#include<stdio.h>
int main(void)
{
printf("1.\n");
printf("Ma Tao\n");
printf("Ma\nTao\n");
printf("Ma");
printf(" Tao\n");
printf("\n");
printf("2.\n");
printf("姓名:MT\n地址:XX省XX市XX县XX镇XX街XX号\n");
printf("\n");
return 0;
}
参考结果如下:
1和2功能一样,所以写在一起了,作者为了让大家熟悉printf()函数在这里出两个差不多的题也算是煞费苦心了
3.编写一个程序把你的年龄转换成天数,并显示这两个值。这里不用考虑闰年的问题。
参考代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(void)
{
int age = 0;
printf("请输入您的年龄:");
scanf("%d", &age);
printf("您的年龄为:%d\n天数为:%d\n", age, age*365);
return 0;
}
注:Visual Studio 2022版里scanf函数会报错,可以加入如下预处理命令来解决
#define _CRT_SECURE_NO_WARNINGS
参考结果如下:
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);
void deny(void);
int main(void)
{
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 dent!\n");
}
参考结果如下:
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");
}
参考结果如下:
6.编写一个程序,创建一个整型变量toes ,并将toes 设置为10 。程序中还要计算toes 的两倍和toes 的平方。该程序应打印3个值,并分别描述以示区分。
参考代码如下:
#include<stdio.h>
int main(void)
{
int toes = 10;
printf("%d %d %d\n", toes, toes * 2, toes * toes);
return 0;
}
参考结果如下:
7.许多研究表明,微笑益处多多。编写一个程序,生成以下格式的输出:
Smile!Smile!Smile!
Smile!Smile!
Smile!
该程序要定义一个函数,该函数被调用一次打印一次“Smile! ”,根据程序的需要使用该函数。
参考代码如下:
#include<stdio.h>
void smile(void);
int main(void)
{
smile();
smile();
smile();
printf("\n");
smile();
smile();
printf("\n");
smile();
return 0;
}
void smile(void)
{
printf("Smile! ");
}
参考结果如下:
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();
two();
printf("three\n");
printf("done!\n");
return 0;
}
void one_three(void)
{
printf("one\n");
}
void two(void)
{
printf("two\n");
}
参考结果如下:
总结:第二章难度不高,甚至可以说相当简单了,基本没有思路上的难点,只是让读者熟悉C语言中的最基本的函数,如:main()、printf()以及如何建立自己的函数,如果有不清楚不明白的返回第二章的内容再看看。