c语言开发实用小程序

C语言是一种经典的编程语言,被广泛应用于软件开发、系统编程、嵌入式开发等领域。在本文中,将介绍一些实用的小程序,通过这些程序的实现,读者可以更好地理解C语言的基础知识并提升自己的编程能力。

一、十进制转二进制

本程序可以将输入的十进制数转换为二进制数,并输出结果。

程序代码如下:

```

#include

void print_binary(unsigned int num);

int main() {

unsigned int n;

printf("Please input a decimal number:\n");

scanf("%u", &n);

printf("The binary number of %u is:\n", n);

print_binary(n);

return 0;

}

void print_binary(unsigned int num) {

if (num > 1) {

print_binary(num / 2);

}

putchar(num % 2 + '0');

}

```

程序的工作原理:先输入一个十进制数n,然后调用print_binary函数将n转换为二进制数并输出结果。print_binary函数的实现采用递归方式,先将n除以2并传递给函数自己,直到n小于或等于1,然后输出n%2的值,即2进制中的一位。

二、猜数字游戏

本程序是一款简单的猜数字游戏,通过猜测随机数来判断游戏胜负。

程序代码如下:

```

#include

#include

#include

int main() {

int n, guess;

srand((unsigned)time(NULL)); // 初始化随机数种子

n = rand() % 100 + 1; // 生成1-100之间的随机数

printf("Guess a number between 1 and 100:\n");

do {

scanf("%d", &guess);

if (guess > n) {

printf("Too high! Guess again:\n");

} else if (guess < n) {

printf("Too low! Guess again:\n");

}

} while (guess != n);

printf("Bingo! The number is %d.\n", n);

return 0;

}

```

程序的工作原理:先通过srand和time函数生成一个种子,然后生成1-100之间的随机数n。接着程序要求用户输入猜测的数字guess,如果guess比n大则要求再次输入,如果guess比n小则同样要求再次输入,直到guess等于n为止。

三、简单计算器

本程序是一款简单的计算器,通过命令行输入数字和运算符来计算结果。

程序代码如下:

```

#include

int main() {

char op;

float num1, num2;

printf("Enter the operation: (+, -, *, /)\n");

scanf("%c", &op);

printf("Enter two operands:\n");

scanf("%f %f", &num1, &num2);

switch(op) {

case '+':

printf("%.2f + %.2f = %.2f", num1, num2, num1 + num2);

break;

case '-':

printf("%.2f - %.2f = %.2f", num1, num2, num1 - num2);

break;

case '*':

printf("%.2f * %.2f = %.2f", num1, num2, num1 * num2);

break;

case '/':

printf("%.2f / %.2f = %.2f", num1, num2, num1 / num2);

break;

default:

printf("Invalid operation");

}

return 0;

}

```

程序的工作原理:先要求用户输入运算符op和两个操作数num1, num2。根据op的值,程序利用switch语句进行不同的计算,并输出结果。

以上三个小程序都是非常实用的例子,不仅可以加深对C语言基础语法的理解,也可以为日后开发更加复杂的程序打下基础。