linux系统的安装和使用
=======================
1. 安装
第一步:先安装虚拟机,wmware workstation,最后一步需要你输入密钥
第二步:解压ubuntu(乌邦图)压缩包,在虚拟机中直接打开即可
如果你是自己去网站上下载的镜像文件(iso文件),你就需要新建虚拟机,设置之后就可以了
2. 配置ubuntu联网,下载软件工具
配置ubuntu自动获取ip
点击网络配置,见笔记截图
3. ubuntu下载软件工具的命令
更新软件源 sudo apt-get update
下载软件 sudo apt-get install 软件的名字
在linux中写代码
========================
1. 打开ubuntu上的shell终端
快捷键:ctrl+alt+t或者双击terminal图标
2. 打开或者新建一个文件
vim 文件的名字 (输入i或者o或者a进入插入模式才可以输入,按下ESC键,输入冒号wq保存退出)
gedit 文件的名字
C语言基础
=====================
1. 学习方法
多看+多敲+多思考总结
2. C语言历史
机器码: 01二进制去写代码,困难很大 10+11运算
+ ---》 01001
汇编语言:用助记符替换掉机器码中的序列
+ ---》add
B语言
1972年: 设计unix系统而发明了C语言
3. C语言中变量类型及其使用
变量:用来存放各种类型的数据
商品的价格---》小数表示 4.0 3.5
商品的数量---》整数
商品的名称---》中文字符串或者英文字符串
变量类型:int(整型) float(单精度浮点型) double(双精度浮点型) short(短整型) long(长整型) long long int(长长整型) char(字符类型) bool(类型) struct(结构体) union(联合体) enum(枚举) unsigned(无符号数)
变量的使用:
语法规则: 类型 变量名字;
int ab123;
float price; //英文单词,或者缩写
float jiage; //最恶心的
C语言命名规范:
第一个:变量的名字中只能有字母,数字和下划线组成,并且首字母不能是数字 ab Ab ab78 a79 _abc 7mn(非法) a#b(非法) h@c(非法)
第二个:命名的时候尽量通俗易懂,不要用汉语拼音,用英文单词缩写
(1)整型
大小: 4个字节,32位二进制,知道大小是为了防止使用的时候数据溢出了(超出取值范围了)
存储:
原码:一个整数原本的二进制编码
比如: 8的二进制原码 1000(短除法求)
反码:把原码依次取反
原码:1101 --》反码0010
补码:反码加1
原码:1101 --》补码0010+1 --》0011
正数在计算机中采用原码存放,并且最高位是符号位,0表示正数,1表示负数
1010
负数在计算机中采用补码存放 -88
练习: 熟悉一下短除法,求各种进制
-1的二进制是多少
(2)浮点型
float占4个字节
double占8个字节
小数在计算机中是无法精准存储的
比如: 12.5
12.6
(3)short 2个字节
long 32位系统4字节 64位系统8字节
long long int 12字节
(4)char 存放单个字符的ASCII码值 占1个字节
@ # $ % 'a' 'b' 'c' '1' '6' 8 9 0
美国人制定了ASCII码表,把字符编码成整数
man ASCII命令可以查看ASCII码表
'A' -->65
'a' -->97
'0' -->48
char a='@'; //C语言规定字符必须用单引号括起来
(5)布尔类型bool --》判断真假的,跟C语言的条件判断相配合
注意: 添加#include <stdbool.h>
只有两个值: true 真 false 假
定义: bool a=true; //等价于 bool a=1;
bool b=false; //等价于 bool b=0;
(6)无符号数
unsigned int a; //无符号数a,不区分正负,当成纯粹的数字来计算,最高位不是符号位了
unsigned float b;
unsigned char c;
练习:
第一题:
char b='b';
char c=b+5; //请问c是多少
第二题:
char a=389; 请问打印a的值是多少?? 为什么??
考察数据溢出之后计算机是如何处理的
第三题:
字符跟整数之间的换算
'9' -->转换成整数 9
'9'-'0' 或者 '9'-48 结果就是整数9
整数9 -->转换成字符'9'
9+'0' 或者9+48 结果是57
C语言程序的结构
=======================
1. 最简单的C语言程序
#include <stdio.h> //头文件
int main() //C语言程序的入口,main函数
{
printf("hello world!\n"); //帮助我们在屏幕上打印一句话
return 0; //结束整个main函数
}
2. linux中编译C语言程序
gcc hello.c -o hello
gcc --》linux中编译器的名字
-o --》 output 输出
3. linux中执行C语言程序
./程序的名字
C语言的格式控制符号以及输入和输出
==================================
1. 格式控制符号
作用:由于C语言区分不同的数据类型,在输入输出这些数据的时候需要使用不同的格式控制符号来跟变量类型对应
八进制数的标准写法:
int a=10; 二进制10 --》2
八进制10 --》8
十六进制10 --》16
// int a=b10; //二进制
int a=010; //八进制10
int a=0x10; //十六进制10
int a=10; //十进制的
对应关系:
%d --> int
%f -->float 默认保留6位有效数字
%lf -->double
%hu -->short
%ld -->long
%lld -->long long int
%c -->char 输出的是字符本身
%d -->char 输出是字符的ASCII码值
%x -->十六进制,字符小写打印
%X -->十六进制,字符大写打印
%#x -->标准形式打印十六进制,前面加上0x
%o -->八进制
%#o -->标准形式打印八进制,前面加上0
%10.2f -->前面10表示位宽 后面的2表示保留2个小数位
%-10.2f -->前面10表示位宽 后面的2表示保留2个小数位
%.9f --》指定了保留9个小数位,位宽没有指定,默认位宽
%10d -->10是位宽,靠右对齐,左边补空格
%-10d --> 靠左对齐,右边补空格
%s -->字符串
%5s
%p -->变量地址
作业:二进制,八进制,十六进制加减法
二进制 0110-1 结果
八进制 75-67等于多少
十六进制 4F-54等于
F0-3D等于
2 8 10 16进制之间的相互转换
二进制--》转换八进制
二进制--》转换16进制