[c/c++] programming之路(4)、常量和变量
一、打开多个程序(温习)
#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)、常量和变量的更多相关文章
- day01_前言、入门程序、常量、变量
day01_前言.入门程序.常量.变量 sysout :System.out.println(); Java 概述 本节主要内容: java 概述.常 DOS 命令.JRE.JDK 与 JVM.环境搭 ...
- 【C++基础】008常量和变量
简介:常量和变量. 常量和变量 1. 常量 具体把数据写出来 2,3,4: 1.2,1.3: "Hello World!","C++": cout <&l ...
- swift 简介和常量与变量 --- swift 入门
一.思维导图 二. 代码 //创建UIView 和按钮 let views = UIView(frame: CGRect(x:20, y: 20, width: 100, height: 100))/ ...
- .NET 基础 一步步 一幕幕 [注释、命名规则、访问修饰符、数据类型、常量、变量]
注释.命名规则.访问修饰符.数据类型.常量.变量 话说一个不会写注释的程序猿的不是一个好吃货,我们本篇就从注释开始说起好了. 在C#中有三种注释: 第一种:单行注释 以//开头,后面的就是注释内容 ...
- [Java入门笔记] Java语言基础(二):常量、变量与数据类型
常量与变量 什么是常量和变量 常量与变量都是程序在运行时用来存储数据一块内存空间 常量: 常量的值在程序运行时不能被改变,Java中声明常量必须使用final关键字.常量还可以分为两种意思: 第1种意 ...
- 数据类型、常量、变量、printf、scanf和运算符
数据类型 常量 变量 printf函数介绍 scanf函数介绍 运算符 数据类型 数据类型是指数据在内存中存储的方式. C语言中有5大数据类型:基本类型.构造类型.指针类型.空类型.定义类型. C语言 ...
- 【C语言】C语言常量和变量
目录: [常量] · 定义 · 分类 · 特殊字符型常量 [变量] · 定义 · 定义变量 · 变量的使用 · 变量使用注意 · 变量常见问题 1.常量 · 定义 常量 ...
- 【C语言入门教程】2.2 常量 与 变量
2.2 常量 与 变量 顾名思义,常量是运算中不能改变数值的数据类型,变量是可改变数值的数据类型.根据需要,可将一些在程序中不必改变数值的类型定义为常量,这样也可避免因修改数值造成程序错误.任何改变常 ...
- 02_Swift2基础之常量和变量+注释+分号
1. 常量和变量 常量 和 变量 把一个名字(比如 'number' 或者 'welcomeMessage')和一个指定类型的值(比如数字'10'或者字符串 ' "Hello" ' ...
- C语言回顾-常量和变量
1.C语言共32个关键字 1)数据类型关键字 a.基本数据类型 void char int float double b.类型修饰关键字 short long signed unsigned c.复杂 ...
随机推荐
- securecrt配置经验总结(home.key和颜色)
还是用securecrt portable方便,配好了,换个机器,打包拷贝过去就行了.不用从两个地方去打包. 参考了网上的资料,颜色参考http://www.jackxiang.com/post/58 ...
- AutoMapper.Mapper.CreateMap报“System.NullReferenceException: 未将对象引用设置到对象的实例。”异常复现
>>Agenda: >>Ⅰ.国庆假期问题出现 >>Ⅱ.双休日异常再次出现 >>Ⅲ.排障 >>Ⅳ.异常复盘 >>Ⅴ.修复后监测 & ...
- 新节点在线加入PXC
环境 192.168.139.151 新增节点 192.168.139.148-150 集群节点 192.168.139.151 已经安装好PXC软件 计划: 选用192.168.139.150 节点 ...
- mysql----------局域网数据库:如何让navicat链接局域网其他的数据库。
1.找到被链接的数据库,打开以后有一个自带的mysql数据库,打开以后下面有一个user表,把里面的第一条数据的第一个字段改成% 百分号,然后保存,重启数据库,搞定 2.如果是linux下的话,记得把 ...
- 有复选框情况下,sql拼写技巧
复选框选中只取合格的数据,没有选中取所有的数据. string filterOk = (ckbOnlyOk.Checked ? " and (jyjg='合格') " : &quo ...
- install apache-activemq
进入bin/linux-x86-64下 cd apache-activemq-5.14.1/bin/linux-x86-64/ 启动 ./activemq start 五.启动成功后,访问 activ ...
- MYSQLi数据访问分页查询
<?php //分页工具 直接加载使用 /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录 ...
- leetCode-linkedListCycle判断链表是否有环
题目 Given a linked list, determine if it has a cycle in it. Follow up: Can you solve it without using ...
- 开源IOT平台
用于IoT应用程序开发的10大开源软件: 1. DeviceHive DeviceHive基于AllJoyn的Data Art设备,同时也是AllSeen的联盟成员.这一款免费开源机器和机器通信(M2 ...
- mysql分区/分片
一.分区概念 mysql 5.1 以后支持分区, 有点类似MongoDB中的分片概念. 就是按照一定的规则, 将一个数据库表分解成很多细小的表, 这些细小的表可以是物理的分区, 就是在不同的位置. 但 ...