[C++] Pen questions & linux cmd
1.宏替换,完全展开替换,注意带来副作用
#include <stdio.h>
#define 打印语句 printf(“hello”);
Void main(void)
{
If (1)
打印语句;;
Else
….;
}
Void main(void)
{
If (1)
printf(“hello”);
;
Else
….;
}
2.程序编译链接的过程
.c 经过预处理,编译,汇编,链接,最终生成可执行程序(.exe/ELF)
3.常量,定义以后其值不能改变的数
宏定义一个常量
#define PI 3.14
C语言关键字const
const int TIEMS = 10;
例题:
Const int b;
b = 10;
4.变量,拥有固定大小的存储空间,里面存放的数值可以修改
5.标识符命名规则
6.变量的基本类型
char
short
Int
Long
Long long
float
Double
隐式类型转换规则
小字节向大字节类型转换,低级别向高级别类型转换
例题:
double result;
result = 3 * 5 -2 + ‘a’ * 1.1
强制类型转换
Char ch = ‘a’;
Int b = 3 + (long)ch;
什么是表达式?
3
3+5
b-a
(int)(3*4-5+6/7+2.3)
精度丢失
void main(void)
{
int num = 0x12345678;
char ch;
ch = num;
printf(“%x”, ch);
printf(“%d”, num);
}
笔试题:测试当前电脑是大端存储还是小端存储数据。
小字节向大字节类型赋值时
无符号类型,高位直接填充0
有符号类型,高位填充符号位
-1 -》 1000 0001 -》1111 1110 –》1111 1111
例题:
Char b = 3; ->0000 0011
Short c = b; ->0000 0000 0000 0011
char b = -3; ->1000 0011 -> 1111 1100 -> 1111 1101
Short c = b; ->1111 1111 1111 1101
习题
-
65543转换为2进制,8进制,16进制
65543 … 1
32771 … 1
16385 …
字节单位转换
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
操作数, 运算符, 表达式,语句
4 + 7;
;空语句
If (表达式)
语句;
Else
语句;
While(表达式)
语句;
Int fun(void)
{
Return 5;
}
Main()
{
Int num = 4+ fun();
printf(“%d”, num);
}
小括号应用
(4+5)*(9-2)
5%1.2 4.5%2
C语言当中1表示真,0表示假
关系运算符只有真和假(1和0)两种结果
3 ==5 -》 0
5 > 1 -> 1
1 > 5 -> 0
输入:1234
输出:4321
1234%10 =》4
1234 /10 =》123
123 % 10 =》3
123/10 =》 12
12%10 =》2
12/10 => 1
1 % 10 => 1
1/10 =》 0
自增自减运算符
Int i = 3;
Int a ;
a = i++; a =3; i= 4;
a = ++i; a=4; i=4;
5++; ?
(i+2)++; ?
i = 3;
Printf(“%d, %d, %d, %d, %d”, i++, ++i, ++I, i++, --i);
i = ++i - ++i;
int num;
num = 5;
num = i+3;
double item = 3.1415926;
num = item;
=与==
num = 5;
if (num = 8)
语句1;
else
语句2;
左值,可以看成是一个变量,左值是一个可以改变里面存储数据的变量。
int a;
a = 4;
const int b;
b = 5;
3+4 = 1;
int a;
a = 123;
&a = 123; &a 0xffff8000
a += 3; => a = a+3; => 3+=a; 3 = 3 + a;
短路操作
int a = 5;
if (4 < 3 && a = 2)
语句1;
else
语句2;
printf(“%d\n”, a);
计算数123的各位相加和。如1+2+3=6
123%10 = 3
123/10 = 12
12%10 =2
12/10 =1
1%10 =1
1/10 =0
加密字典,所有字符+10.,当相加和超过127,从32‘ ’空格字符从新开始排序。
I love you =》 s*vy o*#y口
‘0’ ‘\0’
Ubuntu linux 环境基本使用
开启一个终端
CTR+ALT+t
关闭一个终端
ALT+f4 exit
shell:单词语义贝壳,计算机语义命令解释器。
shell提示符
#:一般表示你是超级用户,root
$:一般表示你是普通用户
清除屏幕
clear 快捷键CTR+l
察看当前目录下有哪些文件
ls
察看当前目录
pwd
自动补齐路径和命令
tab键
进入目录
cd 目录路径(绝对路径,相对路径)
创建目录
mkdir 目录名
rmdir 删除空目录
rm -r 删除非空目录
rm 删除一个文件
回家命令
cd
根目录讲解
/ 称之为根目录
切换到字符控制台
CTR+ALT+SHIFT+(f1-f6)
切换回图形界面
ALT+f7
在命令行下翻屏
shift+pgup
shift+pgdn
进程管理命令
察看进程信息
ps aux
kill -9 进程号
kill -SIGKILL 进程号
终止当前shell里面的前台进程
ctr+c
根据文件名查找文件
find 路径 -name ”文件名“
根据文件内容查找文件
grep "内容" 路径 -R(递归查找的意思)
tar.gz打包命令
tar zcvf test.tar.gz test
tar.gz解包命令
tar zxvf test.tar.gz
tar zxvf test.tar.gz -C 指定目录
tar打包命令
tar cvf test.tar test
tar解包命令
tar xvf test.tar
tar xvf test.tar -C 指定目录
bz2包打包命令
tar jcvf test.bz2 test
bz2包解包命令
tar jxvf test.bz2
tar jxvf test.bz2 -C 指定目录