Visual Studio集成开发环境的搭建
建议使用:Visual Studio 2019
Visual Studio的官方网站: https://visualstudio.microsoft.com/
注意
Visual Studio是一个集成开发环境,Visual Studio Code是一个文本编辑器。
安装Visual Studio 2019
- 下载社区版本
- 选择工作负载为C++
- 自定义安装位置
- 去喝杯水
- 激活Visual Studio(登陆你的微软账号~)
编写第一个C语言程序 Hello World
创建项目
- 打开Visual Studio,创建新项目
- 继续但无需代码->文件->新建->项目
- 项目模版:控制台应用
- 名称->位置->创建
创建源文件
- 解决方案管理器
- 点击开源文件
- 删除HelloWorld.cpp
- 在源文件右键->添加->新建项
- 选择C++文件.cpp
- 修改源文件名称
- 点击添加
C与C++拥有共同的子集,C++独有部分强大,而C的独有部分不常用,使用C++来编译C语言是木茅台的!
编写程序
#include <stdio.h>
int main()
{
printf("Hello World\n");
return 0;
}
生成->生成解决方案
运行程序
调试->开始执行(不调试)
Hello World!
基本的C语言语法知识
主函数
int main() // 这是主函数
{
return 0; // 主函数返回值
}
重要
每个C语言代码,只能有且仅有一个main函数
C语言标准中规定
主函数有返回值且必须是int
。如果程序正常结束,一般将返回值设置为0。
函数
函数
是执行特定任务的代码块,它可以接受参数并返回一个值。
返回类型 函数名(参数列表) {
// 函数体
// 可以包含多个语句
return 返回值;
}
函数体
一定要被花括号包括且不可省略
//例子
int add(int a, int b) {
return a + b;
}
变量
变量
需要先声明然后再定义。声明变量时,你需要指定变量的数据类型,然后在定义时分配内存来存储变量的值
//声明变量
数据类型 变量名;
//定义和初始化变量
数据类型 变量名 = 初始值;
提示
变量
必须先声明后使用
=
:赋值运算,将符号右边的值,装进左边的变量的一种运算符。
//例子
int ones; // 声明一个整数变量
ones = 1; // 定义并初始化变量
int age = 25; // 声明并定义并初始化一个整数变量
标识符
标识符
是用来标识变量、函数和其他命名实体的名称。
注意
标识符可以包含字母、数字、下划线或$符号
。但是,必须以字母、下划线(_)或$符号开头
。并且标识符区分大小写
。
务必避免使用C语言的关键词
。
//例子
int myVariable;
float averageScore;
关键词
C语言中有一些关键词
,它们具有特殊的含义,不能用作标识符名称。int
是C语言中的一个关键词 。
关键词列表(不完全)
关键词 | 说明 |
---|---|
break | 用于中断循环或开关语句 |
continue | 用于跳过当前循环的剩余迭代 |
default | 在开关语句中指定默认分支 |
do | 用于创建循环 |
else | 用于条件语句的替代分支 |
for | 用于创建循环 |
goto | 用于无条件跳转到代码的标签 |
if | 用于条件语句 |
return | 用于从函数中返回值 |
switch | 用于创建开关语句 |
while | 用于创建循环 |
数据类型关键词:
关键词 | 说明 |
---|---|
char | 用于声明字符类型 |
double | 用于声明双精度浮点数类型 |
enum | 用于声明枚举类型 |
float | 用于声明单精度浮点数类型 |
int | 用于声明整数类型 |
long | 用于声明长整数类型 |
short | 用于声明短整数类型 |
signed | 用于声明有符号类型 |
unsigned | 用于声明无符号类型 |
void | 用于声明无返回值或指针类型 |
存储类关键词:
关键词 | 说明 |
---|---|
auto | 用于自动存储类 |
extern | 用于外部链接存储类 |
register | 用于寄存器存储类 |
static | 用于静态存储类 |
typedef | 用于定义数据类型别名 |
其他关键词:
关键词 | 说明 |
---|---|
asm | 用于嵌入汇编语言代码 |
inline | 用于函数内联展开建议 |
restrict | 用于指示指针不会被别名化 |
_Bool | 布尔数据类型(C99引入) |
_Complex | 复数数据类型(C99引入) |
_Imaginary | 虚数数据类型(C99引入) |
_Alignas | 指定对齐方式的关键词(C11引入) |
_Alignof(或__alignof__) | 获取数据类型的对齐要求 |
请注意,这些关键词的使用可能受到编译器和C语言标准的影响,因此在编写代码时要谨慎选择和使用关键词。
不同的C标准可能会引入新的关键词或删除一些旧的关键词,因此在编写C代码时,要考虑所使用的C标准。
字面常量
字面常量
是固定的常量值,不会改变。在C语言中,有不同类型的字面常量,包括整数、浮点数和字符常量。
//整数字面常量
42
-10
//浮点数字面常量
3.14
-0.01
//字符常量
'a'
'9'
变量我们可以通过赋值来更改,常量不能更改,所以你不能对它进行赋值
。
include命令
#include
是C和C++编程语言中的一个预处理指令,用于将外部文件的内容包含(或插入)到源代码文件中。#include <stdio.h>
#include <header_file_name>
//或#include "header_file_name"
//使用尖括号 < > 表示包含标准库头文件,编译器会在标准库路径中查找。
//使用双引号 " " 表示包含用户自定义头文件,编译器会在当前目录或指定的目录中查找。
stdio.h里面并未定义printf函数,但是它里面有printf函数的函数声明。但是,在当前阶段里面,你可以 理解为stdio.h里面,写了printf的函数定义。
printf函数
printf
是C和C++编程语言中的一个标准库函数,用于将格式化的输出写入到标准输出(通常是终端窗口),它是一个 变参函数
printf 由单词 print(打印) 和单词 format(格式) 的首字母f组成,意为格式化打印。
printf("A=%d\nB=%d\n", 123, 456);
注意
printf的第一个参数必须是 字符串
!
字符串参数后面可以加任意多的替换参数。
要确保格式字符串中的 %
符号和后续的参数数量和类型匹配
//使用方法
printf("%d\n%d\n", 整型int1, 整型int2);
printf("XXX占位1 XXX 占位2 XXX占位3", 替换1, 替换2, 替换3);
丸子的C语言学习-Day1 by https://oneszhang.com/archives/54.html
你好
测试
测试