一、今日所学内容

具体内容如下:

文件的相关操作

文件操作:

1.创建:touch 文件名 / touch 文件名1 文件名2 文件名3 (文件名加后缀)
2.删除:rm 文件名
rm //:通配符可以代替所有字符,全部删除
(Tab键:自动补全,上下键查找指令记录,补充最少的字符)
3.移动:mv 目标文件 目标路径 / mv 目标路径下的文件 目标路径
mv 文件1 文件2(如果文件2不存在,相当于给文件1命名文件2)
mv 目标路径下的文件 .(当前目录)
4.复制:cp 目标文件 目标路径 / cp 目标路径下的文件 目标路径
cp 目标路径下的文件 .(当前目录)
5.查看文件内容:cat 文件名
如:查看鼠标设备:/dev/input和mouseX
cd /dev/input
ls
sudo cat mouse2
(输入密码,移动鼠标查看输入字符,ctrl+c停止)

6.修改文件权限:chmod 文件权限每组相应的八进制转换成十进制数的组合 文件名

r w x
1/0 1/0 1/0

【注】:1代表赋值给相应权限,0代表没有,用421组合
如:

r w x
1 1 1
r w x
1 0 0
r w x
1 1 0

chmod 746 1.c
【注】表示含义:当前用户可读可写可执行 当前用户组可读 当前其他用户可读可写

注意:在家目录以外操作文件,需要管理员权限,即sudo 指令

文件夹操作:

1.创建:mkdir 文件夹名 / mkdir 文件夹名1 文件夹名2 文件夹名3
mkdir -p 文件夹/文件夹/文件夹(递归创建)
2.删除:rm -r 文件夹名/rm -r 文件夹名1 文件夹名2 文件夹名3
3.移动:mv 文件夹名 目标路径/mv 文件夹名1 文件夹名2 文件夹名3 目标路径
4.复制:cp -r 文件夹名 目标路径
5.查看:ls
6.修改文件权限:chmod 文件权限每组相应的八进制转换成十进制数的组合 文件名(和文件的修改权限相同)

VI编辑器:全编辑器

打开格式:vi 文件名
三种模式:
命令行模式:默认模式,此模式下可实现文本的粘贴,复制等功能。
模式切换:‘a’\‘i’\‘o’进入插入模式
‘shift’+‘:’进入低行模式
插入模式:文本编辑模式
模式切换:‘esc’返回命令行模式
底行模式:此模式下可实现文本的保存、退出等操作
模式切换:‘esc’返回命令行模式

命令行模式:
yy:复制光标所在行(移动光标)
nyy:复制光标所在行向下n行内容
p:粘贴光标下一行
dd:剪切光标所在行
ndd:剪切光标所在行向下n行内容
u:撤销
ctrl R:恢复撤销
nG:把光标跳转到第n行行首
底行模式:
保存:w
退出:q
若有编辑内容,但又并不想保存:强制退出:q!
保存退出:wq/x
指令+!:强制执行指令操作

到最后一行:底行模式下,G
查找字符:底行模式下,
/字符(按n向下查找,按N向上查找)
替换字符:底行模式下,
50,100s/要替换字符/替换成的字符/g
删除行:底行模式下,
n行,m行d

【注】:若不正常关闭vi编辑器,就会出现报错
ls -a()查看文件以及隐藏文件
rm .文件名.swp(删除相应隐藏文件)

【c程序分析】

  1. #include<stdio.h>//头文件,printf函数的声明在stdio.h文件里面
  2. int main()//主函数,程序执行的入口
  3. {
  4. printf("hello world!\n");//格式化输出函数
  5. \n’:换行符
  6. return 0;//返回值,执行到这里,函数结束
  7. }

程序从编写到执行流程:
1.vi编辑器编写代码并保存
2.gcc编译工具编译代码生成二进制可执行文件
gcc 文件名//生成的可执行文件默认叫a.out
注意:gcc 文件名 -o 自定义可执行文件名
这样 可以生成自定义名字的可执行文件
3.执行可执行文件:./可执行文件名

练习:把1-10的和输出到终端

  1. #include<stdio.h>
  2. int main(int argc, const char *argv[])
  3. {
  4. printf("%d\n",1+2+3+4+5+6+7+8+9+10);
  5. //%d是输出整型数据
  6. printf("%s\n","hello world");
  7. //%s是输出字 符串
  8. return 0;
  9. }

【变量常量】

变量:在程序执行期间数值可以发生变化的量

定义格式:
存储类型 数据类型 变量名
存储类型决定变量在内存中的位置
//注意,一般定义变量时不加存储类型,系统默认在栈区
给变量开辟空间
数据类型:变量在内存中的存储格式以及变量占据内存的
大小
00000000 1111111
基本数据类型:
char 字符型 1字节
int 整型 4字节
short 短整型 2字节
long 长整型 4字节
float 单精度浮点型 4字节
double 双精度浮点型 8字节
float和 double区别:float保留到小数点后6-7位
double保留到小数点后15-16位

面试题:

  1. int b;//if(b==0)<br /> float a;问:如何判断a是否等于0<br /> 答案:if(a>-0.0000001&&a<0.0000001)

练习:计算不同类型变量占据空间的大小

  1. #include<stdio.h>
  2. int main(int argc, const char *argv[])
  3. {
  4. char a;
  5. int b;
  6. short c;
  7. long long d;
  8. float e;
  9. double f;
  10. a = 'f';
  11. b = 10;
  12. printf("%d\n",sizeof(a));
  13. printf("%d\n",sizeof(b));
  14. printf("%d\n",sizeof(c));
  15. printf("%d\n",sizeof(d));
  16. printf("%d\n",sizeof(e));
  17. printf("%d\n",sizeof(f));
  18. return 0;
  19. }

sizeof(变量名)

常量:程序在运行期间数值不可以发生改变的量

分类:
整型常量:进制数
浮点型常量:3.14,科学计数法表示形式
字符常量:’a’ ‘\n’ ‘\t’ ‘ ‘
//字符常量在代码中需要加单引号
字符串常量:”hello world“ “nihaoa”
//需要加双引号
注意:在字符串最后 会有一个看不见的’\0‘

面试题:请问 a ,’a’, “a”的区别

<br />    标识常量:宏定义<br />    定义格式:<br />    #define 标识  目标<br />    ex:#define M   6+7<br />    <br />    注意:宏定义本质上就是定义一个名称来替换常量表达式<br />            只是简单的替换<br />            

面试题:

#include<stdio.h>
#define M 5+6
#define N 8*M//8*5+6

int main(int argc, const char *argv[])
{
    printf("%d\n",N);
    return 0;
}

二、今日感受和收获

通过姜浩老师一天的授课,今天学了很多内容,包括对文件和文件夹得操作,vi编辑器得使用,以及程序得编写,编译运行,还有一些C语言的基础知识,收获了很多,感觉很充实。
下午袁文建老师对我们做了一些考研的分享,对我收获颇大,认清了自己,面对现在的考研局势,需要更加努力。

三、问题疑惑

四、未来规划

五、建议

六、作业截图如下

1、
1.png2、
2.png
3&4、
2.png
5、
2.png
6、
6.png
7、
7.png
8、
8.png
vi编辑器1234、
vi编辑器1234.png
vi编辑器5、
vi编辑器5.png
vi编辑器6、
vi编辑器6.png
vi编辑器7、
vi编辑器7.png
vi编辑器8、
vi编辑器8.png
vi编辑器9、
vi编辑器9.png
vi编辑器10、
vi编辑器10.png
vi编辑器11、
vi编辑器10.png
vi编辑器12、
vi编辑器12.png
vi编辑器13、
vi编辑器13.png
vi编辑器14&15、
vi编辑器15.png