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 |
++ | 自增运算符,整数值增加 1 | A++ 将得到 11 |
– | 自减运算符,整数值减少 1 | A– 将得到 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