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

关系运算符只有真和假(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 指定目录

[C++] Pen questions & linux cmd的更多相关文章

  1. Linux Cmd Tool 系列之—script & scriptreplay

    Intro Sometime we want to record cmd and outputs in the interactive shell sessions. However history ...

  2. linux/cmd中python路径导入ModuleNotFoundError: No module named 'xxx'

    在linux或者直接在cmd中运行python文件时 会遇到导包错误的情况ModuleNotFoundError: No module named 'xxx’由于不在pycharm中 所以这里不能将上 ...

  3. Linux Cmd Tool 系列之—alias

    The alias cmd list your current aliases. For example : alias Use alias to shorten a long cmd in curr ...

  4. Linux Cmd Tool 系列之—history & search command history

    History cmd is for list Bash's log of the historical cmd you typed 1. List last n commands history n ...

  5. [Linux]cmd to use

    0x01 Linux Perfermance Analysis in 60s 1> uptime ---load averages 2> dmesg -r | tail ---kernel ...

  6. linux cmd: ps

    每天一个linux命令(41):ps命令 http://www.cnblogs.com/peida/archive/2012/12/19/2824418.html Linux中的ps命令是Proces ...

  7. linux cmd: netstat

    每天一个linux命令:netstat  http://www.cnblogs.com/peida/archive/2013/03/08/2949194.html netstat命令用于显示与IP.T ...

  8. linux cmd: linux下解压命令大全

    linux下解压命令大全 .tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————— ...

  9. linux cmd

    Linux查找包含特定字符串的文件名的方法 Pasted from <http://www.jbxue.com/LINUXjishu/9790.html> find .|xargs gre ...

随机推荐

  1. ubuntu 修改分辨率为自定义分辨率

    在ubuntu14.04虚拟机上修改自定义大小的桌面屏幕分辨率,使用的命令:cvt,xrandr 0.首先查看下当前已经提供的分辨率设置:xrandr -q root@xxx:/home/xxx/De ...

  2. Micro-PaaS(Docker+K8S)

    1.概述 Docker是一种Linux容器工具集,它是为构建(Build).交付(Ship)和运行(Run)分布式应用而设计的. Kubernates:是开源的容器集群管理系统.它构建在Docker技 ...

  3. emacs之开始就加载tag

    ~/emacsConfig/original-tags.el (setq tags-table-list ' ( "~/emacsConfig/etags/muduo" " ...

  4. boost 编译 安装

    首先到 boost.org 下载 boost_1_54_0.tar.gz 上传到 linux 环境下 解压缩 给解压缩出来的文件斌权限 chmod 777 ./* 执行己写好的 shell脚本 boo ...

  5. 后台判断ajax请求的请求后字段

    headers设置:X-Requested-With:XMLHttpRequest    后台我就是根据这个来判断的

  6. python 将html实体转回去

    参考资料: http://www.360doc.com/content/17/0620/16/44530822_664927373.shtml https://blog.csdn.net/guzhou ...

  7. java,js 解unicode

    import java.util.regex.Matcher; import java.util.regex.Pattern; public class UnicodeDecodeDataConver ...

  8. C语言经典面试题 与 C语言面试宝典

    1 预处理 问题1:什么是预编译?何时需要预编译? 答: 预编译又称预处理,是整个编译过程最先做的工作,即程序执行前的一些预处理工作.主要处理#开头的指令.如拷贝#include包含的文件代码.替换# ...

  9. Ajax的基础应用

    什么是ajax Ajax: asynchronous  javascript  and  xml (异步js和xml) 其是可以与服务器进行(异步/同步)交互的技术之一. ajax的语言载体是java ...

  10. yum ftp本地源

    一. 准备工作1. 安装系统centos7.32. 环境 10.10.10.14 controller-1 10.10.10.15 computer-1 3. 在14主机上安装FTP服务yum ins ...