C语言相关1

所以 最近很闲 所以开始学c语言

准备步骤

我使用了visual studio code配置c语言环境的方法来实现程序的调试和运行
我所参考的教程

学习笔记啥的

一.经典到不能再经典的hello world

#include <stdio.h>
 
int main()
{
    /* 我的第一个 C 程序 */
    printf("Hello, World! \n");
 
    return 0;
}

实例解析:

  • 所有的 C 语言程序都需要包含 main() 函数。 代码从 main() 函数开始执行。
  • /* … */ 用于注释说明。
  • printf() 用于格式化输出到屏幕。printf() 函数在 “stdio.h” 头文件中声明。
  • stdio.h 是一个头文件 (标准输入输出头文件) , #include 是一个预处理命令,用来引入头文件。 当编译器遇到 printf() 函数时,如果没有找到 stdio.h 头文件,会发生编译错误。
  • return 0; 语句用于表示退出程序。

二.关于定义变量和变量的类型

(1)单纯的计算

#include <stdio.h> //这个是类似于import的东西 没有它printf会失效
int x;// 这里是我定义了x
int y;// 这里是我定义了y
int wow()// 定义一个叫wow()的进程
{
    extern int x;// 借用外部定义好的x
    extern int y;// 借用外部定义好的y
    x = 1222;
    y = 1999;// 为x y赋值
    return x*y;// 程序的结果是输出x乘以y的数字
}
int main()// 主程序 不能缺少
{
    int jieguo;
    jieguo = wow(); //用jieguo这个定义好的变量来表示wow()的结果
    printf("你得到的结果是:%d",jieguo);//将输出的东西表示出来
    return 0;//结束程序
}

输出结果:

你得到的结果是:2442778

题外话:
printf()中的%d指输出整数,实际显示的时候会被逗号后的结果所代替。

(2)利用scanf()加入互动环节

#include <stdio.h> //这个是类似于import的东西 没有它printf会失效
int x=0;// 这里是我定义了x
int y=0;// 这里是我定义了y
int wow()// 定义一个叫wow()的进程
{
    extern int x;// 借用外部定义好的x
    extern int y;// 借用外部定义好的y
    printf("请输入x值\n");
    scanf("%d",&x);
    printf("请输入y值\n");
    scanf("%d",&y);
    return x*y;// 程序的结果是输出x乘以y的数字
}
int main()// 主程序 不能缺少
{
    int jieguo;
    jieguo = wow(); //用jieguo这个定义好的变量来表示wow()的结果
    printf("你得到的结果是:%d",jieguo);//将输出的东西表示出来
    return 0;//结束程序
}

输出:

请输入x值
9
请输入y值
11
你得到的结果是:99

题外话:
scanf()中输入的东西是他所需要获取的 如加入逗号或者空格后不按照格式输入
理论来说会无法读取
\n代表换行
scanf(“%d, %d, %d”,&a,&b,&c); ←复合用法

三.循环与if else

(1)while

#include <stdio.h>
int main()
{
    int i=0;
    while (i<=100)
    {
        i++;
        printf("第%d",i);
        printf("次\n");
    }
    return 0;
}

结果:

第1次
第2次
第3次
第4次
第5次
第6次
第7次
第8次
第9次
(中略)
第101次

说真的 c语言和python蛮像哈?
下表显示了 C 语言支持的所有算术运算符。假设变量 A 的值为 10,变量 B 的值为 20,则:

运算符描述实例
+把两个操作数相加A + B 将得到 30
-从第一个操作数中减去第二个操作数A - B 将得到 -10
*把两个操作数相乘A * B 将得到 200
/分子除以分母B / A 将得到 2
%取模运算符,整除后的余数B % A 将得到 0
++自增运算符,整数值增加 1A++ 将得到 11
自减运算符,整数值减少 1A– 将得到 9

(2)if else与switch-case

以下两种代码实现的是一种功能

#include <stdio.h>
int main(){
    int type=0;
    printf("请输入1-5以内的数字来获取回应\n");
    scanf("%d",&type);
    if ( type==1 )
        printf("1");
    else if ( type==2 )
        printf("2");
    else if ( type==3 )
        printf("3");
    else if ( type==4 )
        printf("4");
    else if ( type==5 )
        printf("5");
    else
        printf("格式错误");
}
#include <stdio.h>
int main(){
    int type=0;
    printf("请输入1-5以内的数字来获取回应\n");
    scanf("%d",&type);
    switch (type) {
        case 1:
        print("1");
        break;
        case 2:
        printf("2");
        break;
        case 3:
        printf("3");
        break;
        case 4:
        printf("4");
        break;
        case 5:
        printf("5");
        break;
        default:
        printf("格式错误");
        break;
    }

结论都是一样的

四、while和do while

(1)while

#include <stdio.h>
int main(){
    int o=0;
    while ( o<10)
    {
        o++;
        printf("%d",o);
        printf("\n");
    }
}

简称来说就是当条件成立时 一直重复运行某物

输出:

1
2
3
4
5
6
7
8
9
10

(2) do while

#include <stdio.h>
int main(){
    int i=0;
    do
    {
        i++;
        printf("%d",i);
        printf("\n");
    } while ( i != 10);
    return 0;
}

while的换了个顺序版本
结果都是一样的就不放出来了

五、整合一下先

(1)比大小

#include <stdio.h>
int main(){
    int a,b,c,max;
    printf("请输入三个数字 以逗号隔开\n");
    scanf("%d,%d,%d",&a,&b,&c);
    if(a>b){  
	    max = a;
    }else{
	    max = b;
    }
    if(c>max){
	    max = c;
    }
    printf("max=%d", max);
    return 0;
}

输出:

请输入三个数字 以逗号隔开
3,1,6 
max=6

(2)九九乘法表

#include <stdio.h>
int main()
{
    int n=9;
    int i,j;
    i=1;
    while (i<=n)
    {
        j=1;
        while (j<=i)
        {
            printf("%d*%d=%d",j,i,j*i);
            if ((i*j<10))
            {
                printf("   ");
            } else {
                printf("  ");
            }
            j++;
        }
        printf("\n");
        i++;
    }
    return 0;
}

输出:

1*1=1   
1*2=2   2*2=4   
1*3=3   2*3=6   3*3=9   
1*4=4   2*4=8   3*4=12  4*4=16  
1*5=5   2*5=10  3*5=15  4*5=20  5*5=25  
1*6=6   2*6=12  3*6=18  4*6=24  5*6=30  6*6=36  
1*7=7   2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49  
1*8=8   2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64
1*9=9   2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81