主页 > 游戏开发  > 

一、C++上岸教程—C语言基础

一、C++上岸教程—C语言基础
一、介绍

进行软件开发之前,首先要知道软件开发,所依赖的基础,开发环境,以及编程语言,对于编程语言大体上可以分为如下两类:

1、编译型语言:C/C++, java 等,此类语言,均需要编译生成可执行文件(也就是软件)

2、解释性语言:python,javascript,php等,此类语言依赖代码解释器解析执行。

历史由来:C 语言诞生于 1972 年,由美国贝尔实验室的丹尼斯・里奇(Dennis Ritchie)在开发 UNIX 操作系统的过程中设计出来。当时,为了让 UNIX 系统具有更好的可移植性(之前的操作系统大多用汇编语言编写,移植困难),需要一种高级语言来替代汇编语言。

C语言,可以用来开发嵌入式软件,操作系统,游戏后台开发,数据库管理开发等;

二、前期准备

这里采用vscode + mingw的编译运行环境,可以参考如下博客配置环境:

VS Code 配置 C/C++ 编程运行环境(保姆级教程)_vscode配置c++环境-CSDN博客 blog.csdn.net/qq_42417071/article/details/137438374

代码注释符号介绍

// “//” 双斜杠这一行为注释行,是单行注释符号 /* 这里为注释包含行,可以跨多行注释 */

一行语句介绍用分号 ";"

{}:括号包起来的一段语句,为一个代码段;

本节代码仓库:

cPart1 · CuiQingCheng/cppstudy - 码云 - 开源中国 gitee /cuiqingcheng/cppstudy/tree/master/cPart1

开始之前对本节内容有个大概认识如下:

三、第一个程序

hello.c

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

执行结果显示如下:

四、变量常量与类型 数据类型:

(常用:bool/char/int/float/double)

1、布尔类型(bool): true/false;

2、字符类型:(char 有符号字符型,表数范围-128 - +127)和unsigned char(无符号字符型,表数范围0 - 255),用来表示一个字符数据,都占一个字节(1Byte=8bit)存储空间;

3、整型:

3.1、短整型:short(短整型,表数范围-32768 ~ +32767)和unsigned short(无符号短整型,表数范围0 ~ 65535)都占2Byte;

3.2、整型:int(整型,表数范围-21.47亿 ~ +21.47亿)和unsigned int(无符号整型,表数范围0 ~ +42亿)都占4Byte

3.3、长整型:long在大多数 32 位系统中,占用 4 个字节(32 位)的内存空间,表数范围跟int一致;但是在64位系统中占用 8 个字节,范围(-2^63 ~2^63 - 1);

4、浮点型:float(单精度浮点型,占4Byte,表数范围+10^-38 - +10^38和-10^38 - -10^-38)和double(双精度浮点型,占8Byte,表数范围+10^-308 - +10^308和-10^308 - -10^-308)

5、void(空类型,即不确定类型,通常作为类型占位符使用)

如下代码:

#include <stdio.h> #include <stdbool.h> // 引入bool类型 #define PI1 3.14 // 宏定义 int main() { bool b = true; // 布尔类型 char c = 'a'; // 字符 short s = 1; // 短整型 int i = 10; // 整型 long l = 100; // 长整型 float f = 0.1; // 单精度浮点数 double d = 8.8; // 双精度浮点数 const int cst = 999; // 常量 "aaaa"; // 字符串常量 return 0; }

这里数据后接着的字符表示的是变量;

变量

变量:可变的量,存放在内存中

变量命名规则:

1.要为C语言合法标识符(由字母、数字和下划线构成,并且不能以数字开头)

2.不能和关键字(有特殊意义的标识符)同名

C语言是大小写敏感的语言,即在C语言中,大小写不同的两个标识符会被认为是两个不同的标识符

常量:一旦定义就不能改变的量

定义常量的两种方式:使用define预处理命令或const关键字

字面常量:

'a'为字符型常量

"abcd"为字符串常量

五、运算符表达式

根据运算功能分类:

算术运算符:+,-,*,/,%(模运算符),++(自增运算符),--(自减运算符) 自增运算符分为前置自增和后置自增两种,自减运算符也一样

赋值运算符:=,+=, -=

关系运算符:,>=,!=,运算结果是一个布尔(逻辑)值,即真或假

逻辑运算符:!(逻辑非),&&(逻辑与),||(逻辑或)

条件运算符: ?:

位运算符:~(按位取反),&(按位与),|(按位或),^(按位异或)

cBase.c

#include <stdio.h> #include <stdbool.h> // 引入bool类型 #define PI1 3.14 // 宏定义 int main() { bool b = true; // 布尔类型 char c = 'a'; // 字符 short s = 1; // 短整型 int i = 10; // 整型 long l = 100; // 长整型 float f = 0.1; // 单精度浮点数 double d = 8.8; // 双精度浮点数 const int cst = 999; // 常量 "aaaa"; // 字符串常量 // 算术运算符 i = s + l; i = l - s; i = s*l; i = l/s; int r = i % s; // 取余,就是i 数据除以 s数据的余数; ++i; s++; --i; s--; // 赋值运算符 i+=s; i-=s; // 关系运算符 b = (i > s); printf("i = %d, s = %d, b = %d\n", i, s, b);// 这里的%d,是控制符,表示控制整型数据输出 bool b1 = (l < i); printf("l = %d, i = %d, b1 = %d\n", l, i, b1); bool b2 = (s >= l); printf("l = %d, s = %d, b2 = %d\n", l, s, b2); bool b3 = (s <= l); printf("l = %d, s = %d, b3 = %d\n", l, s, b3); bool b4 = (s != l); printf("l = %d, s = %d, b4 = %d\n", l, s, b4); // 逻辑运算符 b3 = b && b2; printf("b3 = %d\n", b3); // 逻辑与:全真即真 b3 = b1 || b2; printf("b3 = %d\n", b3); // 逻辑或:有真则真 b3 = !b3; printf("b3 = %d\n", b3); // 逻辑非 // 位运算符 转换成二进制数,进行左移右移,取反,异或等操作,常用于嵌入式设备中,控制某个状态的迁移 s = s << 1; printf("s = %d\n", s); s = s << 2; printf("s = %d\n", s); s = s >> 3; printf("s = %d\n", s); // 条件运算符, 条件成立,输出 l >i 否则输出 l < i l > i ? printf("l > i\n"):printf("l < i\n"); return 0; } 六、流程控制

流程控制相当于程序执行的执行路径, 执行流程均可嵌套,建议,不要嵌套层数,不要超过三层,否则会影响代码的执行效率。

1、分支控制

1.1、if 语句

1.2、switch case

2、循环控制

2.1、for

2.2、while

2.3 、do while

cContrl.c

#include <stdio.h> #include <stdbool.h> // 引入bool类型 void main() { int i = 4; int j = 8; if(i < j) {// i < j 条件成立执行括号内代码 i += j; printf("i < j , i = %d, j = %d\n", i, j); } if(i < j) { i = j-i; printf("1 i < j , i = %d, j = %d\n", i, j); } else { ++i; printf("i > j , i = %d, j = %d\n", i, j); } if(i < j) { i = j-i; printf("2 i < j , i = %d, j = %d\n", i, j); } else if(i == 13) { ++i; printf("i = %d, j = %d\n", i, j); } else{ printf("i > j , i = %d, j = %d\n", i, j); } switch(j) {// break的作用是跳出当前执行代码段 case 1: { printf("j == 1"); } break; case 2: { printf("j == 2"); } break; case 8: { printf("j == 8"); } break; default: break; } // 循环语句 int sum = 0; for (int a = 1; a <= 5; a++) { sum += a; } printf("sum = %d\n", sum); int s = 1; int sum1 = 0; while (s <= 10) { sum1 += i; s++; } printf("1 到 10 的整数和为:%d\n", sum); int num = 20; do { if (num % 2 == 0) { printf("%d 是偶数。\n", num); } else { printf("%d 不是偶数。\n", num); } num--; } while (num > 0); return ; }

代码运行输出:

标签:

一、C++上岸教程—C语言基础由讯客互联游戏开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“一、C++上岸教程—C语言基础