C语言集训-徐赟-第一次作业

188 阅读3分钟

程序举例

在vscode中新建文件夹并输入如下代码,

#include <stdio.h>

int main(void)
{
    printf("欢迎大家学习C语言\n"return 0;
}

完成.png

所出现问题

原因:文件夹使用中文名称并且中文名称后未加分号,编码类型错误

出现问题1.png

解决措施

尽量使用英文名,修改编码类型为GBK

改错.png

改错..png

C语言概述

1.起源与发展:产生时间1972-1973 发展途中衍生出多种语言,大部分被淘汰,而C语言广泛使用并在不断发展中引申出多种更为高级复杂的语言

2.特点:优点:代码量小 速度快 功能强大

缺点: 危险性高 开发周期长 可移植性不强

3.应用邻域;系统软件开发 应用软件开发

4.C语言的重要性:一、有史以来最重要语言 二、所有大学工科和理科生必修课程 三、最重要系统软件:windows linus unlx均使用C语言开发 四、一名合格黑客必须掌握的语言 五、任何一个想终身从事程序设计和开发人员必须熟练掌握的语言 六、 大企业、外企招聘程序员必考的语言 七、为学习数据结构、C++、Java、C#奠定基础

常见问题

学学Java为什么建议要先学C
•学C就是在学Java,因为C语言至少80%的语法知识都被Java继承过来了
•C是面向过程语言的代表,学好C有助于学习Java中面向对象的思想
•学好C中的指针是理解Java中引用的基础!如果不懂指针就不可能对Java中的引用有深刻的理解,而引用是Java中一个最基本但又十分重要的概念
C语言的关键字
32个关键字:(由系统定义,不能重作其亡定义)
auto
break
case
char
contimüe default
do
double
enum
extern
float
for
if
int
long
register
short
signed
sizeof
static
switch
typedef
unsigned union
volatile
while
const
else
goto
return
struct
void
控制语句关键字
A循环语句 
(1) for:一种循环语句(可意会不可言传) 
(2) do :循环语句的循环体 
(3) while :循环语句的循环条件 
(4) break:跳出当前循环 
(5) continue:结束当前循环,开始下一轮循环 
B条件语句 
(1)if: 条件语句 
(2)else :条件语句否定分支(与 if 连用) 
(3)goto:无条件跳转语句 
C开关语句 
(1)switch :用于开关语句 
(2)case:开关语句分支 
(3)default:开关语句中的“其他”分支 
D返回语句
return :子程序返回语句(可以带参数,也看不带参数)

死机代码

# include <tdio.h>
# include <alloc.h>

int main(void)
{
    while (1)
    }
        int*p = (int*)malloc(10)
    }

    return 0;
}

死机时间取决于malloc后括号里的数

如何学习C语言

理清理论知识,多思考,完成当堂练习,多实践

多参考课外文献,例如:谭浩强《C语言程序设计》清华、《The C programming language》、《C和指针》...

学习目标

了解程序语言及发展历史 熟练掌握c语言的语法规则 掌握简单的算法 理解过程思想 能看懂、调试程序 将大问题转化为小问题来求解的思想 为将来学习高级语言做准备

一元二次方程示例

# include <stdio.h>
# include <math.h>

int main(void)
{
    //把三个系数保存到计算机中
    int a = 1; //=不表示相等,表示赋值
    int b = 2;
    int c = 1;
    double delta; //delt存放的是b*b - 4*a*c  
    double x1; //存放的是一元二次方程的其中一个解
    double x2; //存放的是一元二次方程的其中一个解
    
    delta = b*b - 4*a*c;
     
    if (delta > 0)
    {
       x1 = (-b + sqrt(delta)) / (2*a);
       x2 = (-b - sqrt(delta)) / (2*a);
       printf("一元二次方程有两个解,x1 = %f,x2 = %f\n", x1, x2);    
    }
    else if (delta == 0)
    {
        x1 = (-b)/(2*a);
        x2 = x1;//右边赋给左边
        printf("该一元二次方程有一个唯一解, x1 = x2 = %f\n",x1,x2);
    }
    else
    {
        printf("无解\n");
    }
}

image.png

输出内容显示无解 可更改系数的值重新计算

image.png

运行成功!