c语言编程节1

一、初识c语言

你好! C 语言是一种通用的、面向过程式的计算机程序设计语言。

二、新语言类型(按照编译方式分类)

(1)、编译语言:C、C++,需要通过编译器编译后才能运行,编译过程中会检查语法错误。
(2)、解释语言:Python、JavaScript,通过解释器直接一行一行解释运行,语法错误会在运行时报出。
(3)、虚拟机语言:Java,先编译成字节码,再通过虚拟机解释运行。

编程语言:c,c++,c#,java,VB,python,php,go,汇编,swift,脚本语言。

三、开发编译工具

1、Visual Studio

微软公司的开发工具包系列产品,是一个集成的开发环境,相对来说比较完整,它包括了整个软件生命周期中所需要的大部分工具,如代码完成工具、编译器、图形设计器、UML工具、代码管控工具、集成开发环境(IDE)等等,以简化开发人员构建应用程序的过程。通俗的讲,是一款编译器。
Visual Studio 2019有三种SKU:社区版(免费),专业版(得加钱!!!)和企业版(得加钱!!!)。
安装链接:https://visualstudio.microsoft.com/zh-hans/free-developer-offers/
点击免费下载,初学者安装社区版本(Communtiy版本)即可开始社区版本的下载。
安装事项:预留c盘足够大的内存空间,比较耗内存,安装路径可以选择D盘,安装时间有点漫长,,,安装好之后,可以选择个性化设置。

2、其他编译软件

Visual Studio Code(VSCode):一款现代化开源的、免费的、跨平台的、高性能的、轻量级的代码编辑器是一款免费开源的轻量级代码编辑,功能强大,支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。软件跨平台支持 Win、Mac 以及 Linux。针对于编写现代 Web 和云应用的跨平台源代码编辑器。它在性能、语言支持、开源社区方面,都做得很不错。通俗地讲,它是一款超级的文本编辑器。它定位在编辑器,而非 IDE ,但 VS Code 又比一般的编辑器的功能要丰富许多。可以这样理解:VS Code 的体量是介于编辑器和 IDE 之间。
vim:linux开发编辑工具。

四、第一个c语言程序Hello world

#include <stdio.h>
int main()
{
    printf("Hello, World! \n");
    return 0;
}

所有的 C 语言程序都需要包含 main() 函数。 代码从 main() 函数开始执行。
/* … */ 用于注释说明。
printf() 用于格式化输出到屏幕。printf() 函数在 “stdio.h” 头文件中声明。
stdio.h 是一个头文件 (标准输入输出头文件) , #include 是一个预处理命令,用来引入头文件。 当编译器遇到 printf() 函数时,如果没有找到 stdio.h 头文件,会发生编译错误。
return 0; 语句用于表示返回函数执行值。

五、c语言基本语法

C 程序由各种令牌组成,令牌可以是关键字、标识符、常量、字符串值,或者是一个符号。是编程语言的基本元素,它是程序中最小的不可分割单元。主要包括以下几种:
1、关键字:如if、else、for、int等,它们有特定的语义含义。
2、标识符:如变量名、函数名等,用来命名程序元素。
3、常量:如1、2.5、'a’等,它们的值在程序运行过程中不变。
4、字符串:一组字符,开始和结束都使用双引号" "。
5、运算符:如+、-、*、/等,用于进行运算,判断或赋值。
6、分隔符:如( ) { } [ ] , ; :用于分隔其他令牌。

1、分号 ;

C 程序中,分号是语句结束符。也就是说,每个语句必须以分号结束。它表明一个逻辑实体的结束。

2、注释

C 语言有两种注释方式

//单行注释:
/* 单行注释 */
/* 
 多行注释
 多行注释
 多行注释
 */

3、标识符

C 标识符是用来标识变量、函数,或任何其他用户自定义项目的名称。一个标识符以字母 A-Z 或 a-z 或下划线 _ 开始,后跟零个或多个字母、下划线和数字(0-9)。
C 标识符内不允许出现标点字符,比如 @、$ 和 %。C 是区分大小写的编程语言。因此,在 C 中,Manpower 和 manpower 是两个不同的标识符。

4、关键字

下表列出了 C 中的保留字。这些保留字不能作为常量名、变量名或其他标识符名称。

关键字说明
auto声明自动变量
break跳出当前循环
case开关语句分支
char声明字符型变量或函数返回值类型
const定义常量,如果一个变量被 const 修饰,那么它的值就不能再被改变
continue结束当前循环,开始下一轮循环
default开关语句中的"其它"分支
do循环语句的循环体
double声明双精度浮点型变量或函数返回值类型
else条件语句否定分支(与 if 连用)
enum声明枚举类型
extern声明变量或函数是在其它文件或本文件的其他位置定义
float声明浮点型变量或函数返回值类型
for一种循环语句
goto无条件跳转语句
if条件语句
int声明整型变量或函数
long声明长整型变量或函数返回值类型
register声明寄存器变量
return子程序返回语句(可以带参数,也可不带参数)
short声明短整型变量或函数
signed声明有符号类型变量或函数
sizeof计算数据类型或变量长度(即所占字节数)
static声明静态变量
struct声明结构体类型
switch用于开关语句
typedef用以给数据类型取别名
unsigned声明无符号类型变量或函数
union声明共用体类型
void声明函数无返回值或无参数,声明无类型指针
volatile说明变量在程序执行中可被隐含地改变
while循环语句的循环条件

5、C 中的空格

只包含空格的行,被称为空白行,可能带有注释,C 编译器会完全忽略它。在 C 中,空格用于描述空白符、制表符、换行符和注释。空格分隔语句的各个部分,让编译器能识别语句中的某个元素(比如 int)在哪里结束,下一个元素在哪里开始。

六、C 数据类型

变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。

1、类型分类

基本数据类型
它们是算术类型,包括整型(int)、字符型(char)、浮点型(float)和双精度浮点型(double)。
枚举类型:
它们也是算术类型,被用来定义在程序中只能赋予其一定的离散整数值的变量。
void 类型:
类型说明符 void 表示没有值的数据类型,通常用于函数返回值。
派生类型:
包括数组类型、指针类型和结构体类型。

2、整数类型

下表列出了关于标准整数类型的存储大小和值范围的细节:

类型存储大小值范围
char1 字节-128 到 127 或 0 到 255
unsigned char1 字节0 到 255
signed char1 字节-128 到 127
int2 或 4 字节-32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647
unsigned int2 或 4 字节0 到 65,535 或 0 到 4,294,967,295
short2 字节-32,768 到 32,767
unsigned short2 字节0 到 65,535
long4 字节-2,147,483,648 到 2,147,483,647
unsigned long4 字节0 到 4,294,967,295

可以使用 sizeof 运算符。表达式 sizeof(type) 得到对象或类型的存储字节大小。例如下代码:

#include <stdio.h>
#include <limits.h>
int main()
{
   printf("int 存储大小 : %lu \n", sizeof(int));
   return 0;
}

3、浮点类型

类型存储大小值范围精度
float4 字节1.2E-38 到 3.4E+386 位有效位
double8 字节2.3E-308 到 1.7E+30815 位有效位
long double16 字节3.4E-4932 到 1.1E+493219 位有效位
#include <stdio.h>
#include <float.h>
int main()
{
   printf("float 存储最大字节数 : %lu \n", sizeof(float));
   printf("float 最小值: %E\n", FLT_MIN );
   printf("float 最大值: %E\n", FLT_MAX );
   printf("精度值: %d\n", FLT_DIG );
   return 0;
}

4、void 类型

序号类型与描述
1函数返回为空,C 中有各种函数都不返回值,或者您可以说它们返回空。不返回值的函数的返回类型为空。例如 void exit (int status);
2函数参数为空,C 中有各种函数不接受任何参数。不带参数的函数可以接受一个 void。例如 int rand(void);
3指针指向 void,类型为 void * 的指针代表对象的地址,而不是类型。例如,内存分配函数 void *malloc( size_t size ); 返回指向 void 的指针,可以转换为任何数据类型。

5、类型转换

类型转换是将一个数据类型的值转换为另一种数据类型的值,C 语言中有两种类型转换:
隐式类型转换:
隐式类型转换是在表达式中自动发生的,无需进行任何明确的指令或函数调用。它通常是将一种较小的类型自动转换为较大的类型,例如,将int类型转换为long类型或float类型转换为double类型。隐式类型转换也可能会导致数据精度丢失或数据截断。

int i = 10;
float f = 3.14;
double d = i + f; // 隐式将int类型转换为double类型

显式类型转换:
显式类型转换需要使用强制类型转换运算符(type casting operator),它可以将一个数据类型的值强制转换为另一种数据类型的值。强制类型转换可以使程序员在必要时对数据类型进行更精确的控制,但也可能会导致数据丢失或截断。

double d = 3.14159;
int i = (int)d; // 显式将double类型转换为int类型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值