[简明C语言]C语言概述P_1:C语言/C语言项目/数据类型
前言
第一章:C语言概述
在本章中介绍C语言中的基础知识,对C语言有一个大概的认识。
对知识点进行简单认识,不做详细讲解。
本章重点:
- 什么是C语言
- C语言项目
- 数据类型
- 变量、常量
- 字符串
- 转义字符
- 注释
- 选择语句
- 循环语句
- 函数
- 数组
- 操作符
- 常见关键字
- define定义常量和宏
- 指针
- 结构体
篇幅原因,本章节将拆分为四部分讲解,其余部分可在本文所在专栏中查阅。
1. 什么是C语言?
- C语言是一种通用的计算机语言
- C语言有国际标准
- C语言编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等
(1)机器语言,即由0、1组成的机器硬件可以识别的语言;
(2)低级语言,即汇编语言
(3)中级语言,如C语言
(4)高级语言,如C++,JAVA,C#等。
2. 第一个C语言项目
使用VS2022集成开发环境,其集成了MSVC这样的编译器,可以编译C/C++/C#等语言的代码。
(1)创建一个项目
- 打开VS2022,点击右侧创建新项目
- 选择空项目,点击下一步
- 配置项目名称和保存位置,点击创建
此时新项目已创建完成
(2)创建一个源文件
1.在解决方案资源管理器中,右键点击源文件,依次点击添加-新建项
2. 选择C++文件,更改项目名称后缀.cpp为.c
.cpp为C++的源程序,.c为C的源程序
3. 源文件界面
此时源文件已创建完成
(3)写代码
在屏幕上打印Hello World!
//写出主函数(main函数)
//函数的返回类型+函数名+()
//int代表整型
//{}内为函数体
//写代码,在屏幕上打印:Hello World!
//printf - 库函数 - 在屏幕上打印信息
//printf的使用需要打招呼 - 引用头文件stdio.h)
#include<stdio.h>
int main()
{
printf();
return 0;
}
stdio.h是*"stand input & output"的缩写,意思是标准输入输出头文件。
所以,源代码中如用到标准输入输出函数时,就要包含这个头文件!
要调用程序中的输出语句printf向控制台输出信息,必须引用*stdio.h文件。
一般地,在C语言或C++中,会把用来#include的文件的扩展名叫.h,称其为头文件。 #include文件的目的就是把多个编译单元(也就是c或者cpp文件)公用的内容,单独放在一个文件里减少整体代码尺寸;或者提供跨工程公共代码。
c语言中的预编译指令都是以"#"开头,如上面例子中的#include 。c语言程序的运行包括编译,链接,运行这几个过程,在程序的编译阶段,如果碰到#include指令,编译器就会将include后面文件中的内容自动加载到用户程序main函数的前面,比如本例中,#include <stdio.h>的作用就是将stdio.h中的内容加载到main函数的前面,这样就能保证程序的正常运行。
#号是预处理语句,表明在编译之前预先进行处理。
.h是header file的缩写,表面这是一个头文件。
include是文件包含命令,后面跟着引号""或者尖括号<>,意思是将引号或尖括号内指定的文件包含到本程序中,成为本程序的一部分,而包含的文件通常是由系统提供的。
区分引号“”或者尖括号<>:尖括号<>编译程序会先到标准函数库中找文件,引号""编译程序会先从当前目录中找文件。
main函数是C语言中的主函数,必不可少。main函数是程序的入口,一个工程中main函数有且只有一个。一个工程中可以有多个.c文件,多个.c文件中只能有一个main函数。
printf是指输出,分号内的就是要打印出来的内容
return 0代表函数结束
(4)编译代码并运行
编译运行代码方式:
- 使用本地Windows调试器
- 使用工具栏开始执行(快捷键Ctrl+F5)
- 编译运行结果,在控制台中打印出Hello World!
常见问题
出现报错:
一个工程中出现了多个main函数导致
3. 初识数据类型
计算机语言通过写程序来解决生活中的问题,必须要有能力来描述生活中的问题。
例1:购物商场要上架商品,商品价格为22.2元,是小数;在C语言中以浮点型表示 1.56*101
例2:一个人的年龄20岁,整数;在C语言中以整型表示
存在这么多的字符类型,是为了更加丰富的表达生活中的各种值。
字符类型
Data Type | *** 数据类型*** |
---|---|
char | 字符数据类型 |
short | 短整型 |
int | 整型 |
long | 长整型 |
long long | 更长的整型 |
float | 单精度浮点型 |
double | 双精度浮点型 |
long double | 长精度浮点型 |
int main()
{
//字符类型
char ch = 'a';
//整型
int age = 20;
//短整型
short num = 10;
//长整型 long
//更长的整型 long long
//单精度浮点型
float weight = 55.5;
//双精度浮点型
double d = 0.0;
//长精度浮点型 long double
return 0;
}
各种字符类型的大小
对于不同的字符类型来说,占用的空间大小各不相同。在实际运用中,选择合适的字符类型可以有效提高空间利用率。
打印每种字符类型所占空间的大小:
#include<stdio.h>
int main()
{
//printf("%d\n", 100);//打印一个整数 - %d
//sizeof - 关键字 - 操作符 - 计算类型或者变量所占空间的大小
printf("%d\n",sizeof(char));//ctrl+d复制这一行的代码
printf("%d\n",sizeof(short));
printf("%d\n",sizeof(int));
printf("%d\n",sizeof(long));
printf("%d\n",sizeof(long long));
printf("%d\n",sizeof(float));
printf("%d\n",sizeof(double));
printf("%d\n",sizeof(long double));
return 0;
}
打印结果:
sizeof的单位为字节byte
Data Type | 数据类型 | 所占字节数/byte |
---|---|---|
char | 字符数据类型 | 1 |
short | 短整型 | 2 |
int | 整型 | 4 |
long | 长整型 | 4 |
long long | 更长的整型 | 8 |
float | 单精度浮点型 | 4 |
double | 双精度浮点型 | 8 |
long double | 长精度浮点型 | 8 |
总结
本文初步介绍了C语言、C语言项目和数据类型,对C语言有了一个初步的认识。