C语言集训-谢世轩-第一次作业

282 阅读4分钟

课程笔记部分

一、c的起源与发展

  • c的起源 c语言是由1972年由美国的Dennis Ritchie设计发明的, 并首次在UNIX操作系统 的 DEC PDP-11 计算机上使用。它由早期的编程语言它由BCPL(也称b语言),发展而来。
  • c的发展 1982年,许多有识之士和美国国家标准协会为了使这个语言良好的发展下去,成立了c标准委员会,建立c语言的标准。1989年,ANSI发布了第一个完整的c语言标准,简称“c89”。1994年,ANSI/ISO联合委员会开始修订c标准,最终发布了“c99”。2011年发布了“c11”

参考于(baike.baidu.com/item/c%E8%A…)

二、为什么学c

  • c的特点

    优点:代码量小简洁 速度快 功能强大

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

  • c的应用

    系统开发:windows、UNIX、Linux

    驱动程序:主板驱动、显卡驱动、摄像头驱动

    数据库:DB2、Oracle、Sql sever、MySQL

    应用软件开发:wps,2D、3D游戏等(cs整个游戏的引擎都是用c写的)

  • c的重要性

    1.为学习其他语言(Java、c#、c++)打好基础

    2.有史以来最重要的语言

    3.一名合格黑客必须掌握的语言

    4.最重要的系统windows、UNIX、Linux均用c进行开发

    5.所有大学理工科必修课程

    6.任何一个想要终身从事程序设计和开发的人员必须熟练掌握的语言

三、怎样学c

最高境界绝对不是你去编两行代码,或者是几分钟能写几行代码,或者是用什么所谓的可视化工具产生最少的代码这些工作,这都不是真正的高手境界。即使是这样的高手,那也都是无知者的自封——梁肇新

  • 学习方法
  1. 实践很重要只听不动手等于白学
  2. 看书一本好的教材能引导你
  3. 学会总结
  4. 多思考,多实践
  5. 在动手写程序之前可以把思路写在纸上
  • 学习目标
  1. 了解程序语言及发展历史
  2. 熟练掌握c语言的语法规则
  3. 掌握简单的算法
  4. 理解面向过程的思想
  5. 为学习c++ 、Java、数据结构、c#打下良好基础
  6. 做出自己的作品

四、需要掌握的32个关键字

关键字说明
auto声明自动变量
short声明短整型变量或函数
int声明整型变量或函数
long声明长整型变量或函数
float声明浮点型变量或函数
double声明双精度变量或函数
char声明字符型变量或函数
struct声明结构体变量或函数
union声明共用数据类型
enum声明枚举类型
typedef用以给数据类型取别名
const声明只读变量
unsigned声明无符号类型变量或函数
signed声明有符号类型变量或函数
extern声明变量是在其他文件正声明
register声明寄存器变量
static声明静态变量
volatile说明变量在程序执行中可被隐含地改变
void声明函数无返回值或无参数,声明无类型指针
if条件语句
else条件语句否定分支(与 if 连用)
switch用于开关语句
case开关语句分支
for一种循环语句
do循环语句的循环体
while循环语句的循环条件
goto无条件跳转语句
continue结束当前循环,开始下一轮循环
break跳出当前循环
default开关语句中的“其他”分支
sizeof计算数据类型长度
return子程序返回语句(可以带参数,也可不带参数)循环条件

上述资料来自C语言中32个关键字详解 - 知乎 zhihu.com)

课程代码实践

1.“欢迎学习c语言”

#include<stdio.h>
int main(){
  printf("欢迎大家学习c语言");
  return 0;
}

下图为成功运行图示 helloworld.cpp - Visual Studio Code 2021_11_17 22_18_58.png 2.“死机代码”

# include <stdio.h> 
# include <malloc.h> 
  int main(void) { 

while (1) { int *p = (int *)malloc(100000); } 

return 0; }

include <malloc.h>需要向系统申请内存时要用到malloc函数,所以该代码将内存占满导致死机

3.“一元二次方程改进版”

#include<stdio.h>
#include<math.h>
int main()
{
    int a;
    int b;
    int c;
    printf("输入二次项系数:");
     scanf("%d",&a);
    printf("输入一次项系数:");
     scanf("%d",&b);
    printf("输入常数项");
     scanf("%d",&c);
    double delta;
    delta=b*b-4*a*c;
    if(delta>0){
        double x1=(-b+sqrt(delta))/2*a;
        double x2=(-b-sqrt(delta))/2*a;
        printf("该方程有两根x1=%f,x2=%f",x1,x2);
    }else if(delta==0){
        double x=-b/2*a;
        printf("该方程有两个相同的根%f",x);

    }if(delta<0){
        printf("无解");
    }

    
    return 0;
}

下图为成功图示

一元二次方程.cpp - Visual Studio Code 2021_11_18 21_10_19.png 4.“嘻嘻,哈哈”

# include <stdio.h>

int main(void)
{
    printf("嘻嘻\n");
    printf("哈哈");

    return 0;
}

下图为成功图示

kkk.cpp - Visual Studio Code 2021_11_18 13_03_18.png

学习总结

  • 学习中遇到的问题 1.因编码方式错误导致无法输出中文

如图所示 xuexi.cpp - Visual Studio Code 2021_11_18 20_17_38.png 解决方法如图所示

xuexi.cpp - Visual Studio Code 2021_11_18 20_17_38.png

xuexi.cpp - Visual Studio Code 2021_11_18 20_22_53.png

xuexi.cpp - Visual Studio Code 2021_11_18 20_24_51.png

2.经常误用中文分号或经常漏写分号