环境搭建
选择:Visual Studio Community 2017
适用于学生、开源和个人开发人员的功能完备的免费 IDE无脑下一步,然后到这里的时候注意选择。我这么选主要是因其稍微显得轻便,因为我的目的是首先C艹语法入门,有个基本的就够了,其他的选上下载可能就要5,6G吧,当然你网速快也可以选上其他的。
留心一点路径设置什么的,这里就不啰嗦了,到这儿环境也算搭好了。
IDE基础使用
- 文件—新建—项目
鼠标右击好的项目文件夹中的”源文件”—右击弹出菜单内选择”新建项”—按照下图图示点选创建文件
运行项目,注意下面那个log区域就是你输出的东西
如何打开一个项目? -> 文件 -> 打开 -> 项目/解决方案
vs2017,风格更换,字体更换
工具—>选项->按照图示操作
vs2017常用快捷键
https://blog.csdn.net/kangluo1/article/details/78444764?locationNum=7&fps=1
https://blog.csdn.net/u011511601/article/details/71698563 //注释和取消注释,WTF,反人类,还是studio好用给vs2017换一个骚气的背景图(TODO)
vs2017,同个项目编译多个cpp文件
你直接在源文件里面添加新的文件,然后把之前的源文件移除,注意是移除而不是删除哦,你如果想调用它,再打开已有项,它还在那儿。所以,不用再新建一个项目。生成get set方法
ctrl+R,ctrl+E这两个组合键,可以自动生成属性中的get和set方法。
参考:https://blog.csdn.net/lc547913923/article/details/47998303
一波基础语法
1:helloWorld
//c头文件,
#include <stdlib.h>
//名称为main的类似于java的方法
void main() {
//system是系统函数
system("tasklist");//在控制台输出列出系统任务列表
system("pause"); //程序运行时窗口一闪而过解决
}
头文件的后缀是 .h
头文件中一般存放一些定义,很少作实际的运算,头文件的好处是可以通用。如一些通用的定义,可以用作其他文件来调用它,这样就节省了代码量,并且带来了方便,h就是head(头)的代称。
另外如果你排除了运行还是有问题,请先停止上一次的调试,再进行一次新的调试。
关于尖括号和引号
include <stdlib.h>
include "stdlib.h"
""和<>都可以,他们的区别在于搜索顺序不同
#include <>指的是先从标准c语言库中读取某头文件内容
如果未搜索到,则搜索个人文件夹的自定义头文件
#include ""指的是先从自定义头文件的文件夹中进行某头文件搜索
如果没有搜索到,则再搜索系统自带的标准头文件文件夹
2:sizeof 函数测试
printf("int占了%d个字节数\n", sizeof(int));
printf("st占了%d个字节数\n", sizeof(short));
printf("float占了%d个字节数\n", sizeof(float));
输出:
int占了4个字节数
st占了2个字节数
float占了4个字节数
3:一波循环
//一波循环
for (int n = 0; n < 10; n++) {
printf("%d\n", n);//int 占位符是 %d
}
PS:windows的c++和linux的c++有区别。
输出:
0
1
......
8
9
4:输入输出函数scanf
注意,这个 子是有个宏定义。
#define _CRT_SECURE_NO_WARNINGS //宏定义
#include <stdio.h>
void main() {
int i;
printf("请输入一个整数:");
//赋值
scanf("%d", &i); //控制台输入,&取地址符
//打印
printf("i的值为:%d\n", i);
system("pause");
}
输出结果:
请输入一个整数:asdad
i的值为:-858993460
请按任意键继续. . .
5.关于头文件和system函数
include stdlib.h ,C艹标准库默认头文件,include stdio.h ,C标准库默认头文件,stdio.h这个头文件内没有声明system这个函数(#include
6:指针来了
#include <stdio.h>
#include <Windows.h>
//指针
//指针存储的是变量的内存地址
//内存地址,系统给数据分配的编号(门牌号)
void main(){
int i = 90;
//指针变量,创建一个int类型的指针,指针也分类型,这里是int类型
int* p = &i; //&是取地址符 取i的地址 p的值就是i这个变量的内存地址
printf("%#x\n",p);// %x=>50fb50 %#x=>0x50fb50 这个#只是一个0x的格式
float f = 89.5f;
//创建一个float类型的指针
float *fp = &f;
printf("%#x\n", fp);
system("pause");
}
输出
0x50fb50
0x50fb38
请按任意键继续. . .
7:观察内存,修改内存
接着上一步,我们查到了指针地址,然后去内存检测里看。
然后搜索这个地址:0x50fb50
根据搜索结果,可以看到内存对应的内容值是90
8:什么是变量名?
变量名是对内存空间上的一段数据的抽象
比如int i = 90,那么i就是堆内存上这个90这段数据的一个抽象
9:通过指针修改内存数据
#include <stdio.h>
void main() {
int i = 20;
int *p = &i;
*p = 666;
printf("i==%d",i);
getchar();
}
输出
i==666
输出占位符
Demo
本文代码地址:https://github.com/zj614android/c-c-/tree/master/Lis1