传智播客C/C++:尹成C基础
标签(空格分隔): 传智播客 C
Day2
1.编辑、编译、链接三者的关系
- 1.编辑->源代码(.c)
- 2.编译->目标文件(.obj)
把源代码翻译成机器语言(仅仅是源代码的翻译,不能运行)- 3.链接->可执行文件(.out/.exe)
相关库文件全部链接、组装在一起,体积比obj大很多
2.转义字符
- \n:换行
- \a:发出声音
#include <windows.h> //sleep(1000)=等待1s
while(1){
printf("\a");
system("start calc");
sleep(1000);
}
//实现不停的弹窗口并且发出声音
* \b:退一格 * \t:制表符 * \r:让光标回到开头
3.常量与变量
3.1直接修改内存
int num = 10;//设置变量num
const cnum = 15;//设置常量num
printf("num=%p,cnum=%p",&num,&cnum);//获取num的内存地址
//直接在内存中修改num,cum的值
printf("\nnum=%d,cnum=%d", num, cnum);
//打印出的结果是修改的值,常量变量都能在内存中修改,
//常量只是C语言语法的规定,对内存来说不存在区别
3.2变量内存机制(利用汇编直接在内存中相加)
void main()
{
//用汇编实现加法
int a = 5;
int b = 10;
int c = 0;
_asm //汇编效率高,还可以装逼
{
mov ecx,a
add ecx,b
mov c,ecx
}
printf("c=%d", c);
getchar();
}
3.3标识符
定义:程序中用于表示变量、常量、函数的字符
规则:可以是数字,字母和下划线,不能数字开头,变量与函数可以重名,只要没有引用这个函数,如printf。
3.4整数变量的意义
#define _CRT_SECURE_NO_WARNINGS//关闭安全检查
#include <stdio.h>
#include <stdlib.h>
void main()
{
int x = 4;
printf("我有%d个对象", x);
char str[50];
sprintf(str, "for /L %%i in (1,1,%d) do start notepad", x);
system(str);
system("pause");
}
/*
for /l %%i in (1,1,5) do start notepad 是cmd命令,
sprintf:sprintf的作用是将一个格式化的字符串输出到一个目的字符串中,而printf是将一个格式化的字符串输出到屏幕。
*/
4.自己的IDE
4.1MFC初体验
1.修改Doc文件,去掉文本编辑器的格式化字符串
CRichEditDoc::m_bRTF = FALSE
2.窗口-资源视图添加新控件实现编译
:x86
if not exist "%~dp0bin\vcvars32.bat" goto missing
call "%~dp0bin\vcvars32.bat" %2 %3
cd C:\Users\Administrator\Documents\坚果云\传智播客c\Day2\C语言IDE
cl 1.c
1.exe
goto :SetVisualStudioVersion
//注意这里插入的三个语句的位置,call之前,会找不到头文件,goto之后,程序就跳到别的地方,不会执行后面的代码
4.2中文编程
将C语言的所有关键字全部封装在一个头文件里,用#define设置别名,实现所谓的中文编程
#include <stdio.h>
#include <stdlib.h>
#define 终端 break
#define 字符 char
#define 恒定 const
#define 整数 int
#define 返回 return
······
#include <stdio.h>
#include <stdlib.h>
#define 整数 int
#define 恒定 const
#define 主函数 main
#define 参数开始 (
#define 参数结束 )
#define 语句结束 ;
#define 空值 void
#define 函数开始 {
#define 函数结束 }
#define 打印 printf
#define 系统调用 system
空值 主函数 参数开始 参数结束
函数开始
打印 参数开始"Hello World\n"参数结束 语句结束
系统调用 参数开始 "pause" 参数结束 语句结束
函数结束