所以 最近很闲 所以开始学c语言
准备步骤我使用了visual studio code配置c语言环境的方法来实现程序的调试和运行我所参考的教程
学习笔记啥的 一.经典到不能再经典的hello world1 2 3 4 5 6 7 #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)单纯的计算1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #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;//结束程序 }
输出结果:
题外话: printf()中的%d指输出整数,实际显示的时候会被逗号后的结果所代替。
(2)利用scanf()加入互动环节1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #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;//结束程序 }
输出:
1 2 3 4 5 请输入x值 9 请输入y值 11 你得到的结果是:99
题外话: scanf()中输入的东西是他所需要获取的 如加入逗号或者空格后不按照格式输入 理论来说会无法读取 \n代表换行 scanf(“%d, %d, %d”,&a,&b,&c); ←复合用法
三.循环与if else (1)while1 2 3 4 5 6 7 8 9 10 11 12 #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 10 11 第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
++
自增运算符,整数值增加 1
A++ 将得到 11
–
自减运算符,整数值减少 1
A– 将得到 9
(2)if else与switch-case以下两种代码实现的是一种功能
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #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("格式错误"); }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 #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)while1 2 3 4 5 6 7 8 9 10 #include <stdio.h> int main(){ int o=0; while ( o<10) { o++; printf("%d",o); printf("\n"); } }
简称来说就是当条件成立时 一直重复运行某物
输出:
(2) do while1 2 3 4 5 6 7 8 9 10 11 #include <stdio.h> int main(){ int i=0; do { i++; printf("%d",i); printf("\n"); } while ( i != 10); return 0; }
while的换了个顺序版本 结果都是一样的就不放出来了
五、整合一下先 (1)比大小1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #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; }
输出:
1 2 3 请输入三个数字 以逗号隔开 3,1,6 max=6
(2)九九乘法表1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 #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 2 3 4 5 6 7 8 9 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