2021.5.25号开始在b站上跟着张鹏伟老师学习c语言,中途断断续续看了十多个小时网课,也在学校图书馆借了关于c语言设计方面的书用作参考。
奈何学校图书馆关于c语言设计书籍使用的编译软件都过于老旧,所以自己在京东买了一本C++primer。
经过这段时间的学习,自认为有所收获,但仍需继续努力。
————————————————————————————————————我--是--分--割--线————————————————————————————————————————————————
以下便是这段时间学到的一些代码。
编译软件:vs2019
首先是最简单的if语句
if选择语句
int main()
{
int input = 0;
printf("入学\n");
printf("好好学习?(1/0)>:");
scanf("%d", &input);
if (input == 1)
printf("好office\n");
else
printf("回家耕田\n");
return 0;
}
接着是while循环语句:
while循环语句
int main()
{
int line = 0;
printf("当程序员\n");
while (line < 200000)
{
printf("敲代码:%d\n",line);
line++;
}
if (line >= 200000)
printf("秃头\n");//我真的不想秃头
return 0;
}
然后是比较两数大小,一段用了函数,一段没用函数。
比较大小(无函数)
int main()
{
int a = 100;
int b = 200;
if (a > b)
printf("较大值为:%d\n", a);
else
printf("较大值为:%d\n",b);
return 0;
}
//函数求两值大小
int Max(int x,int y)
{
if (x>y)
return x;
else
return y;
}
int main()
{ int num1 = 10;
int num2 = 20;
int max = 0;
max = Max(num1, num2);
printf("较大值为:%d\n", max);
return 0;
}
这个代码是取反用的,第一次接触负数,初步了解了原反补码的关系:
int main()
{
int a = 3;
int b = ~a;//取反
printf("%d\n", b);
return 0;
}
了解了一下各种转义符的含义
int main()
{
int a = (int)3.14;//强制类型转换
printf("%d\n", a);
return 0;
}
初步接触到指针,听说这是c语言的重点,听课时格外认真
int main()
{
int a = 10;
int* b = &a;
printf("%d\n", &a);
*b = 20;
printf("%d\n", *b);
printf("%d\n",sizeof(b));
return 0;
}
在图书馆借的书上看到了计算一元二次方程实数根的代码,按照书上的算法描述图自己试着打了一下:
#include <stdio.h>
#include<math.h>
int main()
{
double a, b, c, delta, x1, x2;
printf("请输入3个系数,以求一元二次方程的根:");
scanf("%lf%lf%lf", &a, &b, &c);
if (a == 0)
{
if (b == 0)
{
if (c == 0)
{
printf("有任意解\n");
}
else
printf("无解\n");
}
else
x1 = -c / b;
printf("x1:%lf\n", x1);
}
else
delta = b*b-4*a*c;
if (delta > 0)
{
x1 = (-b + sqrt(delta)) / 2 * a;
x2 =(-b - sqrt(delta)) / 2 * a;
printf("有两个不同的实数根:x1=%lf,x2=%lf\n", x1, x2);
}
else
if (delta == 0)
{
x1 =-b/(2 * a);
printf("有两个相同的实数根:x1=x2:%lf\n", x1);
}
else
printf("方程无实数根\n");
return 0;
}
打这串代码打了好久,第一次打出来的时候一大片报错,慢慢改了好久,又是查书又是百度的
后来终于跑出来了,突然好有成就感(虽然头有点秃)。