c语言学习记录

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;
}

打这串代码打了好久,第一次打出来的时候一大片报错,慢慢改了好久,又是查书又是百度的

后来终于跑出来了,突然好有成就感(虽然头有点秃)。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱喝柠檬茶的小明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值