C语言是一门非常经典的编程语言,它的使用范围广泛,可以用于开发各种类型的小程序。下面,我将向大家介绍几个用C语言开发的小程序及其原理。
1. 计算器
计算器是一种非常基础的小程序,可以通过C语言来实现。其实现原理是根据用户输入的数字和操作符,通过字符串转化为数值进行计算,并输出结果。下面是代码实现:
```c
#include
#include
void main()
{
float a,b,res;
char op;
printf("Enter 2 numbers\n");
scanf("%f %f",&a,&b);
printf("Enter operator (+,-,*,/): ");
scanf("%c",&op);
// 输入运算符
while(op=='\n') // 忽略第一个换行符
{
scanf("%c",&op);
}
switch(op)
{
case '+':
res=a+b;
break;
case '-':
res=a-b;
break;
case '*':
res=a*b;
break;
case '/':
res=a/b;
break;
default:
printf("Invalid operator");
exit(0);
}
// 输出结果
printf("Result: %f %c %f = %f",a,op,b,res);
return ;
}
```
2. 进制转换器
进制转换器可以将一个数值从一个进制转换成另外一个进制。在这里我们只提供十进制和二进制之间的转换。原理是将输入的数值转化为整数后,通过逐位运算得出二进制数值,并输出结果。
```c
#include
#include
void main()
{
int n, binary[32], i=0, j;
char ch;
printf("Enter the decimal number: "); // 输入十进制数
scanf("%d", &n);
while(n>0) //转化为二进制数
{
binary[i]=n%2;
n=n/2;
i++;
}
printf("Binary number: ");
for(j=i-1;j>=0;j--)
{
printf("%d", binary[j]);
}
return ;
}
```
3. 查找字符串中的关键字
在一个字符串中查找特定的关键字可以通过C语言来实现。原理是在输入的字符串中查找指定的关键字,如果找到则输出该关键字在字符串中的位置。
```c
#include
#include
#include
void main()
{
char text[100], str[20];
int i, j, flag, length1, length2;
printf("Enter the string: ");
fgets(text, 100, stdin);
printf("Enter the keyword to find: ");
scanf("%s", str);
length1=strlen(text);
length2=strlen(str);
for(i=0;i<=length1-length2;i++)
{
for(j=i;j
{
flag=1;
if(text[j]!=str[j-i])
{
flag=0;
break;
}
}
if(flag==1)
printf("Keyword found at position %d\n", i);
}
return ;
}
```
4. 排序算法
排序算法是计算机科学中非常基础的算法之一,也是我们经常需要用到的算法。C语言中,我们可以通过各种算法实现排序。这里介绍一种最简单的冒泡排序算法。
```c
#include
#include
void main()
{
int arr[100], n, i, j, temp;
printf("Enter the number of elements: ");
scanf("%d", &n);
printf("Enter the elements: ");
for(i=0;i scanf("%d", &arr[i]); for(i=0;i { for(j=0;j { if(arr[j]>arr[j+1]) { temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } printf("Sorted array: "); for(i=0;i { printf("%d ", arr[i]); } return ; } ``` 以上,我们介绍了用C语言实现计算器、进制转换器、字符串查找和排序算法四种小程序的实现原理。C语言是一门非常经典的编程语言,学好C语言不仅可以帮助我们更好地了解计算机基础,也可以为今后的软件工程带来更多的发展机遇。