菜鸟学习TASK1

本文是关于C语言的学习笔记,涵盖了基础数据类型、构造类型、指针、C与C++的区别,以及条件语句、循环语句的使用。任务包括理解ASCII码、学会格式化输入输出函数、掌握if-else与switch-case、熟悉各种循环结构,以及数组和结构体的使用。还提及了函数、指针的操作,并鼓励进行调试和代码规范。

C语言

TASK第1期

鸽子部第一次TASK当然能鸽掉,但是进度很迷,所以打算先对照TASK把概要大概写下,然后把发展方案写下,然后再一点点完善细节。

1

TASK:了解c语言的几大数据类型(包括数组与字符串)。了解ASCII码和char类型的关系,有兴趣的可以进一步了解Unicode

基础数据类型:
  1. 整型:
    短整型short,整型int,长整型long及对以上三者附加前缀的unsigned
    short,int,long所占字节取决于系统位数(16,32,64……),可以通过sizeof()函数得知。
    unsigned即把符号位拿出来当数值位,数值默认正数。
  2. 浮点型:float,double
    单精度float,双精度double
    待补充:二者区别
  3. 字符型:char
    ASCII码是数值与符号配对时,符号对应的数值。现用先查,也可以通过类型转换自己打一份ASCII表,不过前面一部分效果不可视。
构造类型:

根据基础数据类型构造一个整体的存储单元。

  1. 数组
    每个基础数据类型,包括结构体都可以再创建数组。数组维度可以开很大。
  2. 结构体
    struct 结构体名{
    int xxx;
    char xxx;
    ……
    };
    }后面也可以直接跟着定义变量。
    定义结构体后,结构体名也成为关键字,可以像int之类直接定义变量。
    4.== 共用体==
    咕咕咕
    5.== 枚举类型==
    咕咕咕
指针:

指向存储单元的开头位置

c与c++:

c++的数据类型添加了布尔型bool,字符串string。

2

Task:学会使用格式化输入输出函数printf()和scanf()等,自行查资料认识sprintf()和sscanf()。
scanf("%d",&a);
printf("%d",a);
基本格式大致如此。功能上可以格式读取,可以转换数据格式输出。占位符可以记一下常用的。
特别注意,scanf写变量前面加个“&”取地址[记得好像是这个意思]。
强制类型转换不知道是不是c++独有的。
sscanf和sprintf大概理解为向字符数组写入内容。
待补充:溢出问题

3

Task:学习if_else与switch_case语法,重点注意两者的区别以及switch、break关键字的组合。学习while、do_while、for循环,重点注意for循环括号内三个语句的执行时间。学习在循环内部使用break、continue关键字,并思考两者区别。

条件语句:

if可以描述更加复杂的条件,switch更像对某一条件的枚举处理。
break可以跳出switch检查条件的流程,检查到正确条件时若不加break结束,程序会继续运行之后的对应内容,即使条件不同。default类似else,对未枚举的情况做处理。

循环语句:

while先检查条件后循环,do_while先走一遍循环再检查条件。
for(1;2;3)
{}
先运行1(可以定义局部变量),后运行2,满足2则运行3,后2,……直到2的条件不满足,退出循环。
continue:跳过之后的循环内容以及检查条件环节,进入下一次循环。
break:结束循环。

4

Task:学会一维数字数组和一维字符数组的声明方法;学会一维数字数组的初始化方法(利用{。。。}),一维字符数组的初始化方法(char *s="…");学会初始化二维数字数组({{},{}})和二维字符数组初始化
定义没啥好说的……注意数组下标是从0开始的。
数组防止越界溢出。
int a[10]={0,1,2,3,4,5,6,7,8,9,10};
字符注意用单引号引出:‘A’。
二位的在大括号中嵌入大括号表示第一个下标变化时,相应第二下标对应的数组内容。
待补充:数组的不完全定义,整体赋值。
可以考虑memset对数组一次性赋值或者初始化。

5

Task:了解 ‘{‘ , ‘}’ 对变量作用域的划分。学习使用struct定义结构体和使用结构体获得结构体内部的数据,以及typedef的使用。
{}之内的变量通常不会在全局跨{}互相影响共用。可以定义全局变量。
注意形参,实参的区别(函数方面)。

6

Task:学习C语言函数的简单知识,定义与调用,以及函数返回值的相关知识
注意c全局使用的函数要在主函数之前声明一次,函数体的具体内容则没有位置限制。
注意函数是否有返回值,返回何值。
函数拓展算法:递归,深搜,排序(特)……

7

Task:学会指针的赋值,求值及取值,取指针地址;写for循环打印数组(char,int,float。。。)中各变量的地址,并发现规律;学会指针的简单操作。
指向地址……操作经历比较少……

杂话

最近上c语言课,发现会用一点c,但是不都会讲出来,不能带人入门,应该境界不够。
调试是常有的事,必须注意语法规范,同时添加注释,关注变量名,增强程序可读性。
我承认高中搞过noip来看这个进度最近确实有点咕了…借口就不说了…

leetcode

只要写核心源码。读写,头文件自动解决。今天开始卡了特别久不知咋写。卡了挺久才能正经做题。
暂时写这些。以后慢慢修正。
欢迎指点,欢迎交流。

六自由度机械臂ANN人工神经网络设计:正向逆向运动学求解、正向动力学控制、拉格朗日-欧拉法推导逆向动力学方程(Matlab代码实现)内容概要:本文档围绕六自由度机械臂的ANN人工神经网络设计展开,详细介绍了正向与逆向运动学求解、正向动力学控制以及基于拉格朗日-欧拉法推导逆向动力学方程的理论与Matlab代码实现过程。文档还涵盖了PINN物理信息神经网络在微分方程求解、主动噪声控制、天线分析、电动汽车调度、储能优化等多个工程与科研领域的应用案例,并提供了丰富的Matlab/Simulink仿真资源和技术支持方向,体现了其在多学科交叉仿真与优化中的综合性价值。; 适合人群:具备一定Matlab编程基础,从事机器人控制、自动化、智能制造、电力系统或相关工程领域研究的科研人员、研究生及工程师。; 使用场景及目标:①掌握六自由度机械臂的运动学与动力学建模方法;②学习人工神经网络在复杂非线性系统控制中的应用;③借助Matlab实现动力学方程推导与仿真验证;④拓展至路径规划、优化调度、信号处理等相关课题的研究与复现。; 阅读建议:建议按目录顺序系统学习,重点关注机械臂建模与神经网络控制部分的代码实现,结合提供的网盘资源进行实践操作,并参考文中列举的优化算法与仿真方法拓展自身研究思路。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值