[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


习题

  1. 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表示假

关系运算符只有真和假(10)两种结果

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 ”, 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’ ‘’


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 指定目录

原文地址:https://www.cnblogs.com/tianhangzhang/p/4856310.html