欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C语言实例

程序员文章站 2024-03-07 16:50:57
...

1:输出 "Hello, World!"

使用printf() 输出 "Hello, World!"

#include <stdio.h>
int main()
{
   // printf() 中字符串需要引号
   printf("Hello, World!");
   return 0;
}
输出:
Hello, World!

2:输出整数

使用printf()%d格式化输出整数。

#include <stdio.h>
int main()
{
    int number;
 
    // printf() 输出字符串
    printf("输入一个整数: ");  
    
    // scanf() 格式化输入
    scanf("%d", &number);  
    
    // printf() 显示格式化输入
    printf("你输入的整数是: %d", number);
    return 0;
}
输出:
输入一个整数: 45
你输入的整数是: 45

3:输出单个字符

使用printf()%c格式化输出一个字符。

#include <stdio.h>
 
int main() {
   char c;        // 声明 char 变量
   
   c = 'A';       // 定义 char 变量
   
   printf("c 的值为 %c", c);
   
   return 0;
}
输出:
c 的值为 A

4:输出浮点数

使用printf()%f输出浮点数。

#include <stdio.h>
 
int main() {
   float f;             // 声明浮点数变量
   
   f = 12.001234;       // 定义浮点数变量
   
   printf("f 的值为 %f", f);
   
   return 0;
}
输出:
f 的值为 12.001234

5:输出双精度(double)数

#include <stdio.h>
 
int main() {
   double d;            // 声明双精度变量
   
   d = 12.001234;       // 定义双精度变量
   
   printf("d 的值为 %le", d);
   
   return 0;
}
输出:
d 的值为 1.200123e+01

6:两个整数相加

使用 scanf() 来接收输入, printf()%d格式化输出整数。

#include <stdio.h>
int main()
{
    int firstNumber, secondNumber, sumOfTwoNumbers;
    
    printf("输入两个数(以空格分割): ");
 
    // 通过 scanf() 函数接收用户输入的两个整数
    scanf("%d %d", &firstNumber, &secondNumber);
 
    // 两个数字相加
    sumOfTwoNumbers = firstNumber + secondNumber;
 
    // 输出结果
    printf("%d + %d = %d", firstNumber, secondNumber, sumOfTwoNumbers);
 
    return 0;
}
输出:
输入两个数(以空格分割): 1 2
1 + 2 = 3

7:两个浮点数相乘

输入两个浮点数,计算乘积。

#include <stdio.h>
int main()
{
    double firstNumber, secondNumber, product;
    printf("输入两个浮点数: ");
 
    // 用户输入两个浮点数
    scanf("%lf %lf", &firstNumber, &secondNumber);  
 
    // 两个浮点数相乘
    product = firstNumber * secondNumber;  
 
    // 输出结果, %.2lf 保留两个小数点
    printf("结果 = %.2lf", product);
    
    return 0;
}
输出:
输入两个浮点数: 1.2 2.345
结果 = 2.81

8:字符转 ASCII 码

ASCII 定义了 128 个字符。

#include <stdio.h>
int main()
{
    char c;
    printf("输入一个字符: ");
 
    // 读取用户输入
    scanf("%c", &c);  
    
    // %d 显示整数
    // %c 显示对应字符
    printf("%c 的 ASCII 为 %d", c, c);
    return 0;
}
输出:
输入一个字符: a
a 的 ASCII 为 97

9:两数相除

两数相除,如果有余数,输出余数。

#include <stdio.h>
 
int main(){
 
    int dividend, divisor, quotient, remainder;
 
    printf("输入被除数: ");
    scanf("%d", &dividend);
 
    printf("输入除数: ");
    scanf("%d", &divisor);
 
    // 计算商
    quotient = dividend / divisor;
 
    // 计算余数
    remainder = dividend % divisor;
 
    printf("商 = %d\n", quotient);
    printf("余数 = %d", remainder);
 
    return 0;
}
输出:
输入被除数: 5
输入除数: 2
商 = 2
余数 = 1

10:数值比较

1、比较两个数
以下实例中定义了两个整数变量,并使用 if 来比较两个数值

#include <stdio.h>
 
int main() {
   int a, b;
 
   a = 11;
   b = 99;
 
   // 也可以通过以下代码实现让用户在终端输入两个数
   // printf("输入第一个值:");
   // scanf("%d", &a);
   // printf("输入第二个值:");
   // scanf("%d", &b);
 
   if(a > b)
      printf("a 大于 b");
   else
      printf("a 小于等于 b");
 
   return 0;
}
输出:
a 小于等于 b

2、比较三个数
以下实例中定义了两个整数变量,并使用 if 来比较三个数值

#include <stdio.h>
 
int main() {
   int a, b, c;
 
   a = 11;
   b = 22;
   c = 33;
 
   if ( a > b && a > c )
      printf("%d 最大", a);
   else if ( b > a && b > c )
      printf("%d 最大", b);
   else if ( c > a && c > b )
      printf("%d 最大", c);
   else   
      printf("有两个或三个数值相等");
 
   return 0;
}
输出:
33 最大

11:计算 int, float, double 和 char 字节大小

#include <stdio.h>
 
int main()
{
    int integerType;
    float floatType;
    double doubleType;
    char charType;
 
    // sizeof 操作符用于计算变量的字节大小
    printf("Size of int: %ld bytes\n",sizeof(integerType));
    printf("Size of float: %ld bytes\n",sizeof(floatType));
    printf("Size of double: %ld bytes\n",sizeof(doubleType));
    printf("Size of char: %ld byte\n",sizeof(charType));
 
    return 0;
}
输出:
Size of int: 4 bytes
Size of float: 4 bytes
Size of double: 8 bytes
Size of char: 1 byte

12:计算 long long, long double 字节大小

#include <stdio.h>
int main()
{
    int a;
    long b;
    long long c;
 
    double e;
    long double f;
 
 
    printf("Size of int = %ld bytes \n", sizeof(a));
    printf("Size of long = %ld bytes\n", sizeof(b));
    printf("Size of long long = %ld bytes\n", sizeof(c));
 
    printf("Size of double = %ld bytes\n", sizeof(e));
    printf("Size of long double = %ld bytes\n", sizeof(f));
 
    return 0;
}
输出:
Size of int = 4 bytes 
Size of long = 8 bytes
Size of long long = 8 bytes
Size of double = 8 bytes
Size of long double = 16 bytes

13:交换两个数的值

1、使用临时变量
以下实例演示了交换两个浮点数的值。

#include <stdio.h>
 
int main()
{
      double firstNumber, secondNumber, temporaryVariable;
 
      printf("输入第一个数字: ");
      scanf("%lf", &firstNumber);
 
      printf("输入第二个数字: ");
      scanf("%lf",&secondNumber);
 
      // 将第一个数的值赋值给 temporaryVariable
      temporaryVariable = firstNumber;
 
      // 第二个数的值赋值给 firstNumber
      firstNumber = secondNumber;
 
      // 将 temporaryVariable 赋值给 secondNumber
      secondNumber = temporaryVariable;
 
      printf("\n交换后, firstNumber = %.2lf\n", firstNumber);
      printf("交换后, secondNumber = %.2lf", secondNumber);
 
      return 0;
}
输出:
输入第一个数字: 1
输入第二个数字: 2

交换后, firstNumber = 2.00
交换后, secondNumber = 1.00

2、不使用临时变量
不使用临时变量交换两个整数的值:

#include <stdio.h>
 
int main() {
   int a, b;
 
   a = 11;
   b = 99;
 
   printf("交换之前 - \n a = %d, b = %d \n\n", a, b);
 
   a = a + b;  // ( 11 + 99 = 110)  此时 a 的变量为两数之和,b 未改变
   b = a - b;  // ( 110 - 99 = 11)  
   a = a - b;  // ( 110 - 11 = 99)
 
   printf("交换后 - \n a = %d, b = %d \n", a, b);
}
输出:
交换之前 - 
 a = 11, b = 99 

交换后 - 
 a = 99, b = 11 

14:判断奇数/偶数

以下实例判断用户输入的整数是奇数还是偶数。

#include <stdio.h>
 
int main()
{
    int number;
 
    printf("请输入一个整数: ");
    scanf("%d", &number);
 
    // 判断这个数除以 2 的余数
    if(number % 2 == 0)
        printf("%d 是偶数。", number);
    else
        printf("%d 是奇数。", number);
 
    return 0;
}
输出:
请输入一个整数: 5
5 是奇数。

15:循环区间范围内的奇数/偶数

循环输出区间范围内的奇数/偶数可以通过除于 2 的余数来判断。
以下实例通过循环输出指定区间范围的偶数。

#include <stdio.h>
 
int main() {
   int i;
 
   for(i = 1; i <= 10; i++) {
      if(i%2 == 0)
         printf(" %2d\n", i);
   }
   return 0;
}
输出:
2
4
6
8
10

以下实例通过循环输出指定区间范围的奇数。

#include <stdio.h>
 
int main() {
   int i;
 
   for(i = 1; i <= 10; i++) {
      if(i%2 != 0)
         printf("%d\n", i);
   }
   return 0;
}
输出:
1
3
5
7
9

16:判断元音/辅音

判断输入的字母是元音,还是辅音。
英语有26个字母,元音只包括 a、e、i、o、u 这五个字母,其余的都为辅音。y是半元音、半辅音字母,但在英语中都把他当作辅音。

#include <stdio.h>
 
int main()
{
    char c;
    int isLowercaseVowel, isUppercaseVowel;
 
    printf("输入一个字母: ");
    scanf("%c",&c);
 
    // 小写字母元音
    isLowercaseVowel = (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u');
 
    // 大写字母元音
    isUppercaseVowel = (c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U');
 
    // if 语句判断
    if (isLowercaseVowel || isUppercaseVowel)
        printf("%c  是元音", c);
    else
        printf("%c 是辅音", c);
    return 0;
}
输出:
输入一个字母: G
G 是辅音

17:判断三个数中的最大数

通过屏幕我们输入三个数字,并找出最大的数。

#include <stdio.h>
 
int main()
{
    double n1, n2, n3;
 
    printf("请输入三个数,以空格分隔: ");
    scanf("%lf %lf %lf", &n1, &n2, &n3);
 
    if( n1>=n2 && n1>=n3 )
        printf("%.2f 是最大数。", n1);
 
    if( n2>=n1 && n2>=n3 )
        printf("%.2f 是最大数。", n2);
 
    if( n3>=n1 && n3>=n2 )
        printf("%.2f 是最大数。", n3);
 
    return 0;
}
输出:
请输入三个数,以空格分隔: 1 2 3
3.00 是最大数。

18:一元二次方程

求一元二次方程:ax2+bx+c=0 的根。
输入三个实数a,b,c的值,且a不等于0。

#include <stdio.h>
#include <math.h>
 
int main()
{
        float a,b,c,x1,x2,d;
        printf("输入方程的三个系数:");
        scanf("%f %f %f",&a,&b,&c);
        if(a!=0)
        {
                d=sqrt(b*b-4*a*c);
                x1=(-b+d)/(2*a);
                x2=(-b-d)/(2*a);
                if(x1<x2) 
                    printf("%0.2f %0.2f\n",x2,x1); 
                else
                    printf("%0.2f %0.2f\n",x1,x2);
        }
        return 0;
}
输出:
输入方程的三个系数:1 2 1
-1.00 -1.00

19:判断闰年

用户输入年份,判断该年份是否为闰年。

#include <stdio.h>
 
int main()
{
    int year;
 
    printf("输入年份: ");
    scanf("%d",&year);
 
    if(year%4 == 0)
    {
        if( year%100 == 0)
        {
            // 这里如果被 400 整数是闰年
            if ( year%400 == 0)
                printf("%d 是闰年", year);
            else
                printf("%d 不是闰年", year);
        }
        else
            printf("%d 是闰年", year );
    }
    else
        printf("%d 不是闰年", year);
    
    return 0;
}
输出:
输入年份: 1990
1990 不是闰

20:判断正数/负数

用户输入一个数字,判断该数字是正数还是负数或是零。

#include <stdio.h>
int main()
{
    double number;
 
    printf("输入一个数字: ");
    scanf("%lf", &number);
 
    if (number <= 0.0)
    {
        if (number == 0.0)
            printf("你输入的是 0。");
        else
            printf("你输入的是负数。");
    }
    else
        printf("你输入的是正数。");
    return 0;
}
输出:
输入一个数字: 9
你输入的是正数。

21:判断字母

用户输入一个字符,判断该字符是否为一个字母。

#include <stdio.h>
 
int main()
{
    char c;
    printf("输入一个字符: ");
    scanf("%c",&c);
 
    if( (c>='a' && c<='z') || (c>='A' && c<='Z'))
        printf("%c 是字母",c);
    else
        printf("%c 不是字母",c);
 
    return 0;
}
输出:
输入一个字符: a
a 是字母

22:计算自然数的和

自然数是指表示物体个数的数,即由0开始,0,1,2,3,4,……一个接一个,组成一个无穷的集体,即指非负整数。

实例 - 使用 for

#include <stdio.h>
int main()
{
    int n, i, sum = 0;
    
    printf("输入一个正整数: ");
    scanf("%d",&n);
 
    for(i=1; i <= n; ++i)
    {
        sum += i;   // sum = sum+i;
    }
 
    printf("Sum = %d",sum);
 
    return 0;
}
实例 - 使用 while

#include <stdio.h>
int main()
{
    int n, i, sum = 0;
    
    printf("输入一个正整数: ");
    scanf("%d",&n);
 
    i = 1;
    while ( i <=n )
    {
        sum += i;
        ++i;
    }
 
    printf("Sum = %d",sum);
 
    return 0;
}
输出:
输入一个正整数: 100
Sum = 5050
实例 - 使用递归

#include <stdio.h>
int addNumbers(int n);
 
int main()
{
    int num;
    printf("输入一个整数: ");
    scanf("%d", &num);
    printf("Sum = %d",addNumbers(num));
    return 0;
}
 
int addNumbers(int n)
{
    if(n != 0)
        return n + addNumbers(n-1);
    else
        return n;
}

23:输出九九乘法口诀表

使用嵌套 for 循环输出九九乘法口诀表。

#include<stdio.h> 
 
int main(){  
    //外层循环变量,控制行  
    int i = 0;  
    //内层循环变量,控制列   
    int j = 0;   
    for(i=1;i<=9;i++){  
        for(j=1;j<=i;j++){  
            printf("%dx%d=%d\t",j,i,i*j);  
        }  
        //每行输出完后换行   
        printf("\n");     
    }  
}
输出:
1x1=1    
1x2=2    2x2=4    
1x3=3    2x3=6    3x3=9    
1x4=4    2x4=8    3x4=12    4x4=16    
1x5=5    2x5=10    3x5=15    4x5=20    5x5=25    
1x6=6    2x6=12    3x6=18    4x6=24    5x6=30    6x6=36    
1x7=7    2x7=14    3x7=21    4x7=28    5x7=35    6x7=42    7x7=49    
1x8=8    2x8=16    3x8=24    4x8=32    5x8=40    6x8=48    7x8=56    8x8=64    
1x9=9    2x9=18    3x9=27    4x9=36    5x9=45    6x9=54    7x9=63    8x9=72    9x9=81   

24:


输出:
  

25:


输出:
  

26:


输出:
  

27:


输出:
  

28:


输出:
  

29:


输出:
  

30:


输出:
  
相关标签: C语言 c语言