在学习C语言的过程中,编写和理解一些经典的程序例子是非常重要的。这些例子不仅能够帮助我们巩固所学的知识,还能提高我们的编程能力。以下是一些经典且实用的C语言程序例子,它们涵盖了基本的输入输出、条件判断、循环结构以及数组操作等内容。
1. 简单的计算器程序
一个简单的计算器可以执行加法、减法、乘法和除法运算。通过这个程序,我们可以了解如何处理用户输入,并根据不同的操作符执行相应的计算逻辑。
```c
include
int main() {
double num1, num2;
char op;
printf("请输入表达式(例如:5 + 3): ");
scanf("%lf %c %lf", &num1, &op, &num2);
switch(op) {
case '+':
printf("结果是: %.2lf\n", num1 + num2);
break;
case '-':
printf("结果是: %.2lf\n", num1 - num2);
break;
case '':
printf("结果是: %.2lf\n", num1 num2);
break;
case '/':
if(num2 != 0)
printf("结果是: %.2lf\n", num1 / num2);
else
printf("错误: 除数不能为零。\n");
break;
default:
printf("无效的操作符。\n");
}
return 0;
}
```
2. 求解一元二次方程
求解一元二次方程 \( ax^2 + bx + c = 0 \) 是另一个常见的练习。通过此例,可以学习如何使用平方根函数 `sqrt()` 并处理不同类型的根(实根或复根)。
```c
include
include
int main() {
double a, b, c, discriminant, root1, root2, realPart, imagPart;
printf("输入系数 a, b, c: ");
scanf("%lf %lf %lf", &a, &b, &c);
discriminant = bb - 4ac;
// 计算判别式的平方根
if(discriminant > 0) {
root1 = (-b + sqrt(discriminant)) / (2a);
root2 = (-b - sqrt(discriminant)) / (2a);
printf("方程有两个实根: %.2lf 和 %.2lf\n", root1, root2);
}
else if(discriminant == 0) {
root1 = -b / (2a);
printf("方程有一个实根: %.2lf\n", root1);
}
else {
realPart = -b / (2a);
imagPart = sqrt(-discriminant) / (2a);
printf("方程有两个共轭复根: %.2lf + %.2lfi 和 %.2lf - %.2lfi\n", realPart, imagPart, realPart, imagPart);
}
return 0;
}
```
3. 判断素数
编写一个程序来检查给定的数字是否为素数,这有助于理解循环和条件语句的应用。
```c
include
include
bool isPrime(int n) {
if(n <= 1) return false;
for(int i=2; ii<=n; i++) {
if(n % i == 0) return false;
}
return true;
}
int main() {
int num;
printf("请输入一个整数: ");
scanf("%d", &num);
if(isPrime(num))
printf("%d 是素数。\n", num);
else
printf("%d 不是素数。\n", num);
return 0;
}
```
以上三个例子展示了C语言中基础语法的应用。每个例子都包含了必要的注释以帮助理解代码的功能。通过实践这些例子,你可以更好地掌握C语言的基础知识并为进一步的学习打下坚实的基础。