学习笔记day1
1.1开发环境
VMware:虚拟机(模拟计算机)
linux_env:镜像文件
Terminal
用户和系统进行交互的一个工具
Is
列出当前目录下的文件
vi编辑器的使用
vi专门用来写代码的工具
vi hello.c //如果hello.c存在就打开,不存在就新建
命令行模式、底行模式转为插入模式:
-
i:进入插入模式,在光标所在位置前面开始新增资料
-
I:从光标所在列的第一个非空白字符前面开始插入资料
-
o:在光标所在列下新增一列并进入插入模式
-
O:在光标所在列上新增一列并进入编辑模式
-
a:从光标所在位置后面开始新增资料
-
A:从光标所在列最后面的地方开始新增资料
vi hello.c //新建一个c文件
//helloworld文件
gcc hello.c //编译文件 生成可执行文件
./a.out //运行可执行文件
vi文件操作指令
-
:q 结束编辑退出vi
-
:q!不保存编辑过的文档
-
:w 保存文档,其后可加要保存的文件名
-
:wq 保存文档并退出
-
:zz 同上
-
:x 同上
vi的删除/修改与复制
-
剪切
-
nx 剪切从光标所在的字符开始的n个字符
-
ncb 剪切光标所在的前n个单词
-
ncw 剪切光标所在的后n个单词
-
c$ 剪切从光标所在的字符到行尾的所有字符
-
ndd 剪切自光标所在行开始的n行,如果不够则到字符段截止为止
-
复制
-
y$ 复制从光标所在的字符到行尾
-
nyy 复制下n行
-
粘贴
-
p 将缓冲区内的字符粘贴到光标所在位置
-
u 撤销
C语言注释
//单行注释
/*...*/多行注释
C语言变量
变量定义及输出
int a;//定义一个变两
int a = 100;//定义并赋初值
数值转换
数的表示形式
-
2进制
-
8进制 在c语言中0开头表示8进制
-
10进制 0x开头表示16进制
-
16进制
输入语句
求和
求平均值
逻辑表达式
-
== 相等
-
!= 不相等
-
>
-
<
-
>=
-
<=
例子:输入一个数,判断此数是不是0
例子:
-
显示:“please input a number”
-
用户输入
-
判断用户输入的数是不是>90
练习:用户输入一个整数,判断这个数是不是偶数,如果是偶数,打印evev,如果是奇数打印odd
继续:如果是偶数判断这个数的一般是不是偶数
//作业:
-
判断一个数是否满足条件: a) 是7的倍数 b) 不是3的倍数 如果满足,输出yes,不满足输出no
-
计算某一时间的下一秒(笔试编程题) 20 59 59 下一秒 21:00:00 要求,如果用户输入了错误的时间,退出 25点退出, 61秒退出
```c
#include<stdio.h>
int main()
{
int a,b,c;
scanf("%d%d%d",&a&b&c);
if(a<24)
{
if(b<60)
{
if(c<60)
{
c++;
}
else
{
return 0;
}
}
else
{
return 0;
}
}
else
{
return 0;
}
if(c>=60)
{
c=0;
b++;
}
if(b>=60)
{
b=0;
a++;
}
if(c>=24)
{
a=0
}
if(a<10)
{
printf("0%d",a);
}
else
{
printf("%d",a);
}
printf(":");
if(b<10)
{
printf("0%d",b);
}
else
{
printf("%d",b);
}
printf(":");
if(c<10)
{
printf("0%d",c);
}
else
{
printf("%d",c);
}
return 0;
}
```
Gcc概述
gcc编译流程
-
预处理
-
编译
-
汇编
-
链接
语法:gcc[option|filename]
option
-E:可以使编译器在预处理阶段结束时就停止编译
-S:能使编译器在进行完编译之后就停止
编译流程分析
-
预处理阶段
-
gcc-E-o [目标文件] [编译文件]
-
.i文件为经过预处理的c原始文件
-
将头文件加入到.c文件中形成.i文件
-
编译阶段
-
检查代码的规范性、是否有语法错误
-
把代码翻译成汇编语言
-
将.i程序翻译成.s汇编语言原始程序
-
汇编阶段
-
将汇编语言转化为二进制目标代码
-
连接阶段
-
连接系统函数库
-