C语言初识
开始正式的学习啦,首先让我们开始认识下C语言
最简单的C语言程序
int main()
{
return 0;
}
//入口函数
//int: 数据类型 代表整数的意思
//main: 函数名---->固定的函数名,每个C语言必须要有,并且只有一个
最简单的错误类型
error C2084: 函数“int main()”已有主体: 主函数多个
error LNK2019: 无法解析的外部符号 main,函数 “int __cdecl invoke_main(void)” (?invoke_main@@YAHXZ) 中引用了该符号
- 学会创建项目
- .cpp要改为.c
- 学会编译运行项目
- ctr+f5
- 调试菜单中-- 开始执行
- 找到exe
头文件
- 头文件: 类似一个工具箱
- #include <stdio.h> vs中标准库目录下查找
- #include “stdio.h” 路径的方式
- 自己写的放在标准库,也可以用<>
- 通过配置项目属性方式,添加第三方的库
- 路径的知识
- 绝对路径 (带盘符用\\取代\)
- 相对路径(相对某一个文件)
入口函数
多个项目,将项目设置为启动项,启动时才是被运行的
常见错误知识
error LNK2019: 无法解析的外部符号 main (程序没有入口)
main函数写错了
无法打开错误,没关掉!!!
int是函数返回值,和return的数据类型相同
return后面的值有特殊含义,0表示运行成功,无异常(行规)
错误代码查找工具:工具->错误查找(根据返回值,判断错误信息)
入口函数的详解
- 一个解决方案创建多个项目
- 入口函数写法
- 写法上
- 错误代码查找工具
- 写法上
编译运行过程
编译顺序: 入口函数进来,从上往下
运行顺序: 从main开始 ,读程序从main开始
程序生成过程: 源代码–>目标程序–>可执行程序–>运行
编辑.c,编译.obj,链接.exe(二进制文件也叫可执行文件),运行(win环境下)
错误分类
编译错误:所有的编译错误都可以通过vs定位
- 所有的编译错误一般都是语法问题,或者手残打错了
运行错误:通过断点调试(预估错误位置,打断点)
-
程序莫名崩掉
-
返回异常错误代码
刷题的错误–>逻辑错误(OJ) -
逻辑错误–>思想错误–>算法错误(靠自己)
system函数
system(“字符串”)函数就是把字符串反馈给操作系统等效于直接在cmd中执行字符串
- 使用的时候加头文件stdlib.h
- 应用场景
- 执行cmd命令
- pause:按任意键继续,防止闪屏(执行太快,退出了)
- cls:清屏
- calc计算器
- notepad:记事本
- mode con lines=50 cols=50窗口大小
- color f0白色
- shutdown -a取消关机
- shutdown -s -t 600 10分钟关机
- 一些路径是不可运行的,需要配置环境变量
- 路径有空格,不能直接打开(转义字符或者环境变量)刚配置完要重启vs
- 执行cmd命令
最后附上作业
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
int main()
{
system("mode con lines=50 cols=50");//设置窗口大小
system("color f0");//设置窗口颜色
system("shutdown -s -t 600");//十分钟后关机
system("calc");//打开计算器
system("shutdown -a");//取消关机
system("pause");
return 0;
}