一、打开多个程序(温习)

 #include<stdio.h>
#include<stdlib.h> void main(){
int num=;
char str[];
scanf("%d",&num);//输入一个数据初始化给num
//sprintf(str,"for /l %%i in (1,1,%d) do echo china",num);//显式执行
sprintf(str,"for /l %%i in (1,1,%d) do @echo china",num);//隐式执行
//sprintf(str,"for /l %%i in (1,1,%d) do calc",num);//同步,上一个结束才能开始下一个
//sprintf(str,"for /l %%i in (1,1,%d) do start calc",num);//异步,同时进行
system(str);//执行指令
system("pause");//暂停
}

二、常量

 #include<stdio.h>
#include<stdlib.h>
#define X 10 //X替换成10
#define Y "notepad" //Y替换成“notepad”
void main(){
//X=3; 常量不可以被赋值
//const int num=10;//num常量
printf("我有%d个女朋友",X);
system(Y);
getchar();
}

三、写一个鬼都看不懂的代码(恶搞,^_^,其实是加密啦)

源代码如下:

 #include<stdio.h>
#include<stdlib.h>
void main(){
printf("hello world");
system("tasklist");
system("pause");
}

恶搞版如下:

 #include<stdio.h>
#include<stdlib.h>
#define _ void
#define __ main()
#define ___ {
#define ____   }
#define _____   printf
#define ______ system
#define _______ ("hello world");
#define ________    ("tasklist");
#define _________   ("pause");
_ __ ___
_____ _______
______ ________
______ _________
____

终极恶搞版如下(将define定义都封装到1.h头文件中,然后将所有的下划线都移到同一行):代码能够成功运行

 #include"1.h"  //自己写的头文件用“1.h”  系统自带的用<stdio.h>
_ __ ___ _____ _______ ______ ________ ______ _________ ____

四、const

 #include<stdio.h>
#define X 10 //内部外部都不可以
const int num=;//程序内部不可以修改,外部可以
void main(){
//printf("%x",&X); //常量不能取地址
printf("%x\n",&num);
printf("%d",num);
getchar();
}

五、dll移花接木

首先在项目属性中选择生成动态库(dll文件)

 #include<stdlib.h>
#include<windows.h>
//_declspec(dllexport)外部可以调用
_declspec(dllexport) void goA(){
while(){
MessageBoxA(,"你在与间谍聊天","请注意安全",);
}
} _declspec(dllexport) void go(){
while(){
int *p=(int *)malloc();//分配10000字节
}
}

然后用DLL注入工具选择一个进程进行“打针”

注入文件选择代码生成的“dll”文件

选择加载时执行的函数“go”

然后“calc”进程所占内存暴涨(这也就是许多黑客的惯用伎俩——伪装成其他应用,也是许多杀毒软件误报的原因)

[c/c++] programming之路(4)、常量和变量的更多相关文章

  1. day01_前言、入门程序、常量、变量

    day01_前言.入门程序.常量.变量 sysout :System.out.println(); Java 概述 本节主要内容: java 概述.常 DOS 命令.JRE.JDK 与 JVM.环境搭 ...

  2. 【C++基础】008常量和变量

    简介:常量和变量. 常量和变量 1. 常量 具体把数据写出来 2,3,4: 1.2,1.3: "Hello World!","C++": cout <&l ...

  3. swift 简介和常量与变量 --- swift 入门

    一.思维导图 二. 代码 //创建UIView 和按钮 let views = UIView(frame: CGRect(x:20, y: 20, width: 100, height: 100))/ ...

  4. .NET 基础 一步步 一幕幕 [注释、命名规则、访问修饰符、数据类型、常量、变量]

    注释.命名规则.访问修饰符.数据类型.常量.变量 话说一个不会写注释的程序猿的不是一个好吃货,我们本篇就从注释开始说起好了. 在C#中有三种注释: 第一种:单行注释  以//开头,后面的就是注释内容 ...

  5. [Java入门笔记] Java语言基础(二):常量、变量与数据类型

    常量与变量 什么是常量和变量 常量与变量都是程序在运行时用来存储数据一块内存空间 常量: 常量的值在程序运行时不能被改变,Java中声明常量必须使用final关键字.常量还可以分为两种意思: 第1种意 ...

  6. 数据类型、常量、变量、printf、scanf和运算符

    数据类型 常量 变量 printf函数介绍 scanf函数介绍 运算符 数据类型 数据类型是指数据在内存中存储的方式. C语言中有5大数据类型:基本类型.构造类型.指针类型.空类型.定义类型. C语言 ...

  7. 【C语言】C语言常量和变量

    目录: [常量]   · 定义   · 分类   · 特殊字符型常量 [变量]   · 定义   · 定义变量   · 变量的使用   · 变量使用注意   · 变量常见问题 1.常量 · 定义 常量 ...

  8. 【C语言入门教程】2.2 常量 与 变量

    2.2 常量 与 变量 顾名思义,常量是运算中不能改变数值的数据类型,变量是可改变数值的数据类型.根据需要,可将一些在程序中不必改变数值的类型定义为常量,这样也可避免因修改数值造成程序错误.任何改变常 ...

  9. 02_Swift2基础之常量和变量+注释+分号

    1. 常量和变量 常量 和 变量 把一个名字(比如 'number' 或者 'welcomeMessage')和一个指定类型的值(比如数字'10'或者字符串 ' "Hello" ' ...

  10. C语言回顾-常量和变量

    1.C语言共32个关键字 1)数据类型关键字 a.基本数据类型 void char int float double b.类型修饰关键字 short long signed unsigned c.复杂 ...

随机推荐

  1. apache分割数组和集合的分法

    public static void main(String[] agrs){    String[] array={"1","2","", ...

  2. linux申请strace ,lstrace, ptrace, dtrace

    ltrace命令是用来跟踪进程调用库函数的情况. ltrace -hUsage: ltrace [option ...] [command [arg ...]]Trace library calls ...

  3. Spring @Value注解 and Spring Boot @ConfigurationProperties注解

    一.Spring的@Value Spring EL表达式语言,支持在XML和注解中表达式,类是于JSP的EL表达式语言. 在Spring开发中经常涉及调用各种资源的情况,包含普通文件.网址.配置文件. ...

  4. CSU 1849 Comparing answers(数学矩阵)

    Comparing answers 离散数学真的要好好学啊:一个邻接矩阵(这个矩阵一定是n×n的方阵,n是图的节点个数),表示的是从i到j有几条通路的时候,矩阵的1次方就代表从从i到j长度为1的路径通 ...

  5. Javascript-do_while....

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  6. JavaScript 深入了解对象中的属性

    本篇主要介绍JS中对象的属性,包括:属性的分类.访问方式.检测属性.遍历属性以及属性特性等内容. 目录 1. 介绍:描述属性的命名方式.查找路径以及分类 2. 属性的访问方式:介绍'.'访问方式.'[ ...

  7. windows中查看端口占用情况

    说几个命令, netstat 用于查看进程端口占用情况,用法可以使用netstat -h 查看 tasklist 列出当前进程,有进程号 findstr 用于过滤字符串 大致过程就是: 1. 使用 n ...

  8. hdu3511 圆的扫描线

    http://blog.csdn.net/firenet1/article/details/47041145 #include <iostream> #include <algori ...

  9. 【Redis学习之四】Redis数据类型 string

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 redis-2.8.18 一.redis客户端基础命令1.帮 ...

  10. 转:wcf大文件传输解决之道(2)

    此篇文章主要是基于http协议应用于大文件传输中的应用,现在我们先解析下wcf中编码器的定义,编码器实现了类的编码,并负责将Message内存中消息转变为网络发送的字节流或者字节缓冲区(对于发送方而言 ...