【无标题】

准备工作

软件使用

Typora(Markdown)

采自Markdown 基本语法 | Markdown 官方教程

常用的一些编辑语法讲解,如下

标题语法

使用#加空格创建标题,标题级别由#的数目决定

字体类型语法

使用**所要填写的字符**进行加粗显示

使用*所要填写的字符*进行斜体显示

代码表示语法

使用` ````加要撰写的语言,如c、python、shell

#include<stdio.h>
int main(void)
{
    printf("hello world");
    return 0;
}
#解释型语言
print("hello world");
#解释型语言
echo "hello world"
分割线语法

使用---加空格得到分割线


列表语法

使用-加空格创建无序型列表,如需创建二级标题则继续添加-加空格

  • 无序型列表1
  • 无序型列表2
    • 无序型列表2-1
    • 无序型列表2-2

使用1.创建有序型列表,如需创建二级列表则添加1.

  1. 有序型列表1
  2. 有序型列表2
  3. 有序型列表3
  4. 有序型列表4
    1. 有序型列表4-1
    2. 有序型列表4-2
表格语法

要添加表,请使用三个或多个连字符---创建每列的标题,并使用管道|分隔每列。您可以选择在表的任一端添加管道。例:|Syntax|Description|加回车

SyntaxDescription

Xmind(思维导图)

用于整理每天学习的内容:

  • 掌握了哪部分
  • 欠缺的那部分
  • 未掌握那部分

FeiQ

教学中的文件共享工具

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rqUWDv1r-1681559296737)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20230410170002057.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zno8sOj4-1681559296737)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20230410170101474.png)]

计算机基础

计算机基础结构

  1. 1949冯·诺伊曼计算机(EDVAC)
  2. 冯·诺依曼原理:二进制、数列式执行任务
  3. 进制类型:
    • 十进制:逢十进一
    • 二进制:逢二进一
      • 位:bit (b) 计算机的最小单位
      • 字节:Byte (B) 计算机的最小分配单位
      • 1字节 == 8位
  4. 拓展问题:二进制、八进制、十进制、十六进制之间转换
  5. 计算机构成:输入设备、输出设备、存储器、CPU(运算器、控制器)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2Xmn3ZAP-1681559296737)(…/…/…/…/…/AppData/Roaming/Typora/typora-user-images/image-20230410170739914.png)]

程序

程序简介
  1. 广义上讲,为实现一个特定的目标而预先设计的一组可以操作的工作步骤,称之为程序
  2. 程序 = 算法 + 数据结构
  3. 用计算机语言解决问题的方法步骤
程序发展
  1. 机器语言:直接使用机器指令(0、1),可被计算机直接识别
  2. 汇编语言:机器指令的符号化,与机器指令存在着直接的对应关系,但可以直接访问系统接口(在高级语言无法完成某些特殊功能时使用汇编语言)
  3. 高级语言:面向用户,基本上独立于计算机种类与结构的语言,形式上接近于自然语言,例如:python,C,shell
程序设计步骤
  1. 分析建模,

    • 输入一个整数,输出该整数是奇数还是偶数?

      • 输入一个数,判断是奇数还是偶数
      • 须先了解奇数偶数的概念,即能否被二整除
    • 输入一个整数,输出该整数是质数还是合数?

    • 输入一个整数,判断该整数是否为水仙花数?

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G7cDVI4o-1681559296738)(…/…/…/…/…/AppData/Roaming/Typora/typora-user-images/image-20230411152657766.png)]

  2. 画流程图及流程图框分类

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KrQ5Eetr-1681559296738)(…/…/…/…/图片/Saved Pictures/QQ图片20230411094303.jpg)]

  3. 将流程图转化为C语言代码,使用IDE(Visual Studio 2022)

  4. Visual studio安装

    • 简介

      Windows平台下的Microsoft开发的集成开发环境(IDE)软件

      编辑器(vim) + 编译器(gcc/g++) + 调试器(gdb) + 运行环境 ——>> 集成开发环境(IDE)

    • 使用版本:Visual Studio 2022 Community

  5. 在Viusal Sutdio 2022中编译源代码

程序学习参考

有两个编程语言学习网站

  1. w3school 在线教程
  2. 菜鸟教程 - 学的不仅是技术,更是梦想! (runoob.com)

Linux系统

准备工作

安装Ubantu操作系统

  • 安装版本:ubantu22.04 LTS
  • 安装位置:
    • Vmware Workstation pro 17
    • WSL子系统

配置Linux的C开发环境

  1. 安装gcc编译器

    例:gao@ubuntu:~$sudo apt install gcc
    
  2. 安装gdb调试器

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P7lUo46f-1681559296738)(…/…/…/…/…/AppData/Roaming/Typora/typora-user-images/image-20230414165229813.png)]

    • 想要使用调试器对程序进行调试,需要在编译阶段添加-g参数,例:gcc -g demo1.c -o demo1

    • gdb一般使用命令:

      例:
      运行:gdb j
      (gdb) b main 设置断点 (breakpoint)
      Breakpoint 1 at 0x772: file square.c, line 5.
      (gdb) b 10
      (gdb) r (run)运行
      (gdb) n (next) 不进子函数
      7 int length=0;
      (gdb) s (step) 进子函数,库函数也进
      8 int len=0;//周长
      (gdb)
      (gdb) p length (print 打印一下变量的值)
      $1 = 10
      (gdb) q (quit)
      
  3. 通过ssh进行Windows与Linux的文件交换

    • 配置VMware的网络

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7ad2nrGU-1681559296738)(…/…/…/…/…/AppData/Roaming/Typora/typora-user-images/image-20230414164838085.png)]

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xRVwGCDf-1681559296738)(…/…/…/…/…/AppData/Roaming/Typora/typora-user-images/image-20230414164941881.png)]

    • 配置Linux的ssh设置![

      ](…/…/…/…/…/AppData/Roaming/Typora/typora-user-images/image-20230414164658979.png)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BgkV29Ba-1681559296739)(…/…/…/…/…/AppData/Roaming/Typora/typora-user-images/image-20230414164743222.png)]

    • 连接Windows与Linux

      • 使用WinSCP软件实现
        • 打开此软件,在其中配置Linux的ip地址、用户名与密码,点击登录即可连接
      • 在Linux上需要安装ssh
        • sudo install openssh-server,sudo service ssh reboot
        • sudo apt install net-tools

Linux结构

Linux组件
  1. Linux内核
  2. 文件系统
  3. Shell
  4. 应用程式

Linux文件系统

下面将Windows系统的文件系统与Linux的文件系统进行对比

  1. Windows文件系统:
    • 存在盘符之分,例如C:,D:等
    • 文件目录以盘符为起点,为绝对路径地址
  2. Linux文件系统
    • 不存在盘符
    • 是以根目录的形式存储
    • 根目录下文件分别被划分为不同的用途,如root,home,etc,bin等
    • 用户文件存在/home/"user"/
    • 绝对路径为从根目录开始的地址信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ejHVmzwj-1681559296739)(…/…/…/…/…/AppData/Roaming/Typora/typora-user-images/image-20230413164201199.png)]

系统使用(终端Terminal)

Shell程式 <=> Terminal终端,又称为命令行解释器,作用为用户可通过此APP,与Linux内核进行交互

界面操作指令(部分)

  • ctrl+alt+T :打开Terminal

  • ctrl+shirt+(+):放大字体

  • ctrl+(-):缩小字体

  • Tab:自动补全

    • 按一次Tab

      gao@ubuntu:~$ ls
      1.c Documents examples.desktop Pictures Templates
      Desktop Downloads Music Public Videos
      
      gao@ubuntu:~$ cd M 然后按Tab键盘 自动补全Music
      
    • 按两次Tab:按一次不启作用时,按两次会将以D开头全部显示出来

      gao@ubuntu:~$ ls
      1.c Documents examples.desktop Pictures Templates
      Desktop Downloads Music Public Videos
      
      gao@ubuntu:~$ cd D
      Desktop/ Documents/ Downloads/
      

Shell指令(部分)

  • sudo shutdown :关机

    • -h now:即刻关机
    • -h +30:设定30mins关机
    • sudo reboot:重启
  • ls:为 list 的缩写,通过 ls 命令不仅可以查看 linux 文件夹包含的文件,而且可以查看文件权限(包括目 录、文件夹、文件权限)查看目录信息等等,加后缀可实现更多功能

    • -R查看自当前路径以下所有文件信息,包含文件夹中包含的信息
    • -a额外查看以.开头文件名的隐藏文件
    • -l查看当前路径下的文件信息,并显示其权限信息、创建者、工作组、创建时间信息
  • cd:切换路径

    • .:为当前路径
    • ..:上一级路径
    • /:根目录路径
    • 文件夹名:到达指定文件路径下
  • pwd:查看当前路径地址

  • rm:删除

    • -r:删除文件夹及其下的内容
    • -d:删除空文件夹
  • mv:移动文件夹或文件等

    • 格式为:mv [option] [dest],例:mv demo1.c day4 或 mv demo1.c home/day4

    • 也可用于重命名文件或文件夹(要求option与dest的文件类型是相同的),例 mv demo1.c demo2.c

  • mkdir:“make directory”,创建文件夹

    • 格式为:mkdir sth
    • -p:在创建文件夹时报错,必要时帮助创建父文件夹,例:mkdir home/sth -p
  • cp:“copy”,复制文件或文件夹

    • 格式为:cp [option] [dest],例:**cp demo1.c day5 **
    • -r:复制文件夹,例:cp day4 home/day5 -r
  • touch:创建空文件

  • vi:vim编辑器创建C文件,格式例为:vi demo1.c

    • 命令模式

      • nyy:复制n行,yy默认复制1行
      • ndd:剪切n行,dd默认剪切1行
      • p:粘贴到光标所在行的下一行
      • P:粘贴到光标所在行的上一行
    • 底行模式

      • 在命令模式下按:进入底行模式
      • w:“write”,保存
      • q:“quit”,退出
      • set nu:设置行号
    • 插入模式

      • i:当前光标插入
      • I:当前行开头插入
      • O:上一行插入
      • o:下一行插入
      • 退出插入模式,按ESC
  • cat:适合查看的文档

  • more:适合查看的文档

    • enter往下行进一行
    • space往下行进一页
    • b往上行进一页
    • q退出
  • head:默认打印前10行,加-n代表打印前n行

  • tail:默认打印最后10行,加-n代表打印最后n行

  • date:打印当前日期

  • cal:打印当月日历

C语言

概要

数据类型

基本数据类型
  1. 整数int,short,long,long long,例如:12,14,89
  2. 浮点型float,double
    • 小数,例如:12.5,47.7
    • 科学计数型,例如:1.3e7
  3. 字符char
    • 非转义字符,例如:‘a’,‘c’,‘r’
    • 转义字符,例如:\n\\\t
复合数据类型
  1. 指针
  2. 数组
  3. 函数
  4. 结构体
  5. 共用体
  6. 枚举

运算符

  1. 算术运算符,例如:+,-,*,/,%
  2. 比较运算符,例如:<,>,==,<=,>=,!=
  3. 逻辑运算符,例如:&&,||
  4. 条件运算符
  5. 位运算符
  6. 逗号运算符

结构语句

  1. 顺序结构
  2. 选择结构
  3. 循环结构

算法

基础语法

语法案例

在显示屏上输出“hello world!!!”

  • 分析建模:输出字符串“hello world!!!”

  • 画流程图

    image-20230412090112187
  • 翻译流程图为C语言

    //举例,通行写法
    /*功能:打印“hello world!!!”
    */
    #include<stdio.h>	//printf()的头文件
    
    int main(void)
    {
        printf("hello world!!!");	//函数名(参数列表)
        
        return 0;
    }
    

添加注释

写给程序员,进行对本程序的解释,//单行注释,/*。。。*/多行注释(功能注释)

引入头文件

例如:#include<stdio.h>

入口函数main函数

  • main函数:计算机执行C语言代码的入口函数
  • 一个源文件中只能有一个main函数

定义变量(分配空间)

  • 类型名(指的数据类型) 变量名(要求尽量言达其意)
  • 带有()为函数,带有[]为数组,带有{}为程序
  • 变量名的命名规范:
    • 使用字母,数字或下划线组成,但首字符不能使用数字
    • 不能命名为C语言预设好的特殊函数的名称,例如int,main等此类
  • 定义变量的分配空间是在内存中随机分配地址空间

标准输入scanf()、输出printf()函数

scanf()标准输入函数
  • scanf(参数列表)
  • scanf(“格式化符号”,变量首地址列表) &+空间的名字 空间的首地址
  • scanf(“%d”,&i); //通过键盘将整数输入变量i中
  • scanf(“%f”,&f1); //通过键盘将小数输入变量f1中
  • scanf(“%c”,&ch);//通过键盘将字符输入变量ch中
printf()标准输出函数
  • printf(参数列表)
  • printf(“helloworld\n”); //字符串原样输出 ,'\n’转义字符(C中有多少转义字符)换行
  • printf(“字符串+格式化符号”,变量列表) 参数1中有多少个格式化符号,列表就会有几个变量
  • printf(“%d\n”,i); 把变量i中的值以整形格式输出
  • printf(“%f\n”,f1); 把变量fl中的值以小数格式输出
  • printf(“%c\n”,ch); 把变量ch中的值以字符格式输出
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值