第8章 动手编写各种程序吧
示例代码:
示例代码8-1
/*
整数的平方和浮点数的平方(函数)
*/
#include <stdio.h>
// int型整数的平方值
int sqr_int(int x)
{
return (x * x);
}
// double型浮点数的平方值
double sqr_double(double x)
{
return (x * x);
}
int main(void)
{
int nx;
double dx;
printf("请输入一个整数:");
scanf("%d", &nx);
printf("该数的平方是%d。\n", sqr_int(nx));
printf("请输入一个实数:");
scanf("%lf", &dx);
printf("该数的平方是%f。\n", sqr_double(dx));
return (0);
}
示例代码8-2
/*
整数的平方和浮点数的平方(函数式宏)
*/
#include <stdio.h>
#define sqr(x)((x) * (x)) // 计算x的平方
int main(void)
{
int nx;
double dx;
printf("请输入一个整数:");
scanf("%d", &nx);
printf("该数的平方是%d。\n", sqr(nx));
printf("请输入一个实数:");
scanf("%lf", &dx);
printf("该数的平方是%f。\n", sqr(dx));
return (0);
}
示例代码8-3
/*
响铃并显示的宏定义(误例)
*/
#include <stdio.h>
#define putsa(str) { putchar('\a'); puts(str); }
int main(void)
{
int na;
printf("请输入一个整数:");
scanf("%d", &na);
if (na)
putsa("这个数不是0。");
else
putsa("这个数是0。");
return (0);
}
示例代码8-4
/*
响铃并显示的宏定义(误例)
*/
#include <stdio.h>
#define putsa(str) ( putchar('\a'), puts(str) )
int main(void)
{
int na;
printf("请输入一个整数:");
scanf("%d", &na);
if (na)
putsa("这个数不是0。");
else
putsa("这个数是0。");
return (0);
}
示例代码8-5
/*
显示所选动物的叫声
*/
#include <stdio.h>
enum animal { Dog, Cat, Monkey, Invalid };
// 狗叫
void dog(void)
{
puts("汪汪!");
}
// 猫叫
void cat(void)
{
puts("喵~!");
}
//