菜鸟教程之C语言基础笔记

2023-06-0208:19:55编程语言入门到精通Comments3,050 views2字数 7378阅读模式

1、C程序结构:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

  1 #include <stdio.h>2 3 int main()4 {5         printf("hello world!\n");6         return 0 7 }

C程序主要包括几部分文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

预处理指令文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

函数文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

变量文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

语句或表达式文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

注释文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

2、C基本语法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

C程序由各种令牌组成(关键字、标识符、常量、字符串值、符号)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

(1)分号文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

(2)注释文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

(3)标识符文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

(4)关键字文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

关键字说明
auto声明自动变量
break跳出当前循环
case开关语句分支
char声明字符型变量或函数返回值类型
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循环语句的循环条件

3、数据类型:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

C语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

C语言有4种数据类型:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

(1)基本类型:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

算术类型(整数类型、浮点类型)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

(2)枚举类型:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

算术类型(被用来定义在程序中只能赋予其一定的离散整数值的变量)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

(3)void类型:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

(4)派生类型:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

指针类型、数组类型、结构类型、共用体类型和函数类型文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

PS:数组类型和结构类型统称聚合类型,函数类型指的是函数返回值的类型。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

(5)整数类型+浮点类型:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

关于标准整数类型的存储大小和值范围的细节:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

类型存储大小值范围
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

关于浮点类型的存储大小和值范围的细节:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

类型存储大小值范围精度
float4 字节到 3.4E+386 位小数
double8 字节到 1.7E+30815 位小数
long double16 字节到 1.1E+493219 位小数

void 类型指定没有可用的值。它通常用于以下三种情况下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

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

4、变量:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

(1)概念:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

变量是程序可操作的存储空间的名称。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

C中每个变量都有其特定类型,类决定了变量存储的大小和布局(指定范围内的值都可以存储到内存中,运算符作用变量上)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

变量的名称可以由字母、数字和下划线字符组成。
它必须以字母或下划线开头。
大写字母和小写字母是不同的,
C 是大小写敏感的。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

(2)变量类型:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

char(一个字节,整数类型)、int、float(单精度浮点值)、double(双精度浮点值)、void(类型缺失)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

C语言中也允许定义各种其他类型的变量,如枚举、指针、数组、结构、共用体等。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

(3)声明-->初始化文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

1)声明:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

变量声明向编译器保证变量以指定类型和名称存在。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

变量声明有两种情况:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

A:需要建立存储空间。如int a文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

B:不需要建立存储空间,通过使用extern关键字声明变量名。extern int a文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

2)初始化:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

5、常量:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

1)常量可以是任何基本数据类型:整数常量、浮点常量、字符常量、字符串字面值,枚举常量。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

2)字符常量:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

转义序列含义
\\\ 字符
\'' 字符
\"" 字符
\?? 字符
\a警报铃声
\b退格键
\f换页符
\n换行符
\r回车
\t水平制表符
\v垂直制表符
\ooo一到三位的八进制数
\xhh . . .一个或多个数字的十六进制数

3)定义常量:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

在C中,有两种简单的定义常量的方式:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

#define文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

const文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

 1 #include <stdio.h>2 3 #define A 104 5 int main()6 {7         const int a = 10;8         printf("%d\n",A);9         print("a\n",a);
10         return 0;
11         
12 }

6、存储类:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

(1)概念文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

存储类定义C程序中变量或函数的范围和生命周期。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

这些说明符放置在它们所修饰的类型之前。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

C程序中可用的存储类:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

auto\register\static\extern文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

(2)介绍:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

1)auto:是所有局部变量默认的存储类文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

1 {
2         int mount;
3         auto int month;//auto只能用在函数内,即只能修饰局部变量
4 }

2)register:用于定义存储在寄存器中而不是RAM中的局部变量。该变量的最大值等于寄存器的大小。不能对其进行一元&运算(没有内存位置)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

1 {
2         register int miles;//寄存器只用有于需要快速访问的变量
3 }

3)static:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

A:stati存储类指示编译器在程序的声明周期内保持局部变量的存在,文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

而不需要在每次它进入和离开作用域时进行创建和销毁,文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

故使用static修饰局部变量时可以在函数调用之间保持局部变量的值。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

B:static也可应用在全局变量。当修饰全部变量时,会使变量的作用域限制在声明它的文件内。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

全局声明一个static变量或方法可以被任何函数或方法调用,只要这些方法出现跟static变量或方法同一个文件。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

C:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

 1 #include <stdio.h>2 3 void func1(void);4 static int count=10;5 int main()6 {7         while(count)8         {9                 func1();
10         }
11         return 0;
12 }
13 void func1(void)
14 {
15         static int thingy=5;
16         thingy++;
17         printf("thingy is %d,count is %d\n",thingy,count);
18 }
19 ~

4)extern:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

extern 存储类用于提供一个全局变量的引用,全局变量对所有的程序文件都是可见的。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

当使用extern时,对于无法初始化的变量,会把变量名指向以恶搞之前定义过的存储位置。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

当有多个文件且定义了一个可以在其他文件中使用的全局变量或函数时,可以在其他文件中使用extern来得到已定义的变量或函数的引用。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

即extern是用来在另一个文件中声明一个全局变量或函数。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

extern修饰符通常用于当有两个或多个文件共享相同的全局变量或函数时候。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

7、运算符:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、杂项运算符文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

(1)算术运算符:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

运算符描述实例
+把两个操作数相加A + B 将得到 30
-从第一个操作数中减去第二个操作数A - B 将得到 -10
*把两个操作数相乘A * B 将得到 200
/分子除以分母B / A 将得到 2
%取模运算符,整除后的余数B % A 将得到 0
++自增运算符,整数值增加 1A++ 将得到 11
--自减运算符,整数值减少 1A-- 将得到 9

(2)关系运算符:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

运算符描述实例
==检查两个操作数的值是否相等,如果相等则条件为真。(A == B) 不为真。
!=检查两个操作数的值是否相等,如果不相等则条件为真。(A != B) 为真。
>检查左操作数的值是否大于右操作数的值,如果是则条件为真。(A > B) 不为真。
<检查左操作数的值是否小于右操作数的值,如果是则条件为真。(A < B) 为真。
>=检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。(A >= B) 不为真。
<=检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。(A <= B) 为真。

(3)逻辑运算符:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

运算符描述实例
&&称为逻辑与运算符。如果两个操作数都非零,则条件为真。(A && B) 为假。
||称为逻辑或运算符。如果两个操作数中有任意一个非零,则条件为真。(A || B) 为真。
!称为逻辑非运算符。用来逆转操作数的逻辑状态。如果条件为真则逻辑非运算符将使其为假。!(A && B) 为真。

(4)位运算符:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

(5)位运算符:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

运算符描述实例
&按位与操作,按二进制位进行"与"运算。运算规则:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html
0&0=0;   
0&1=0;    
1&0=0;     
1&1=1;
(A & B) 将得到 12,即为 0000 1100
|按位或运算符,按二进制位进行"或"运算。运算规则:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html
0|0=0;   
0|1=1;   
1|0=1;    
1|1=1;
(A | B) 将得到 61,即为 0011 1101
^异或运算符,按二进制位进行"异或"运算。运算规则:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html
0^0=0;   
0^1=1;   
1^0=1;  
1^1=0;
(A ^ B) 将得到 49,即为 0011 0001
~取反运算符,按二进制位进行"取反"运算。运算规则:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html
~1=0;   
~0=1;
(~A ) 将得到 -61,即为 1100 0011,一个有符号二进制数的补码形式。
<<二进制左移运算符。将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)。A << 2 将得到 240,即为 1111 0000
>>二进制右移运算符。将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。

(6)赋值运算符:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

运算符描述实例
=简单的赋值运算符,把右边操作数的值赋给左边操作数C = A + B 将把 A + B 的值赋给 C
+=加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数C += A 相当于 C = C + A
-=减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数C -= A 相当于 C = C - A
*=乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数C *= A 相当于 C = C * A
/=除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数C /= A 相当于 C = C / A
%=求模且赋值运算符,求两个操作数的模赋值给左边操作数C %= A 相当于 C = C % A
<<=左移且赋值运算符C <<= 2 等同于 C = C << 2
>>=右移且赋值运算符C >>= 2 等同于 C = C >> 2
&=按位与且赋值运算符C &= 2 等同于 C = C & 2
^=按位异或且赋值运算符C ^= 2 等同于 C = C ^ 2
|=按位或且赋值运算符C |= 2 等同于 C = C | 2

(7)杂项运算符:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

运算符描述实例
sizeof()返回变量的大小。sizeof(a) 将返回 4,其中 a 是整数。
&返回变量的地址。&a; 将给出变量的实际地址。
*指向一个变量。*a; 将指向一个变量。
? :条件表达式如果条件为真 ? 则值为 X : 否则值为 Y

(8)运算符的优先级:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

下表将按运算符优先级从高到低列出各个运算符,具有较高优先级的运算符出现在表格的上面,文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

具有较低优先级的运算符出现在表格的下面。在表达式中,较高优先级的运算符会优先被计算。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

类别运算符结合性
后缀() [] -> . ++ - -从左到右
一元+ - ! ~ ++ - - (type)* & sizeof从右到左
乘除* / %从左到右
加减+ -从左到右
移位<< >>从左到右
关系< <= > >=从左到右
相等== !=从左到右
位与 AND&从左到右
位异或 XOR^从左到右
位或 OR|从左到右
逻辑与 AND&&从左到右
逻辑或 OR||从左到右
条件?:从右到左
赋值= += -= *= /= %=>>= <<= &= ^= |=从右到左
逗号,从左到右

8、判断:C语言把任何非零和非空的值定为true,把零和null定为false文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

(1)if:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

 1 #include <stdio.h>2 int main()3 {4         int a = 10;5         if(a < 20)6         {7            printf("a < 20\n");8         }9         printf("a is %d\n\n",a);
10         return 0;
11 }

(2)if else:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

 1 #include <stdio.h>2 int main()3 {4         int a = 10;5         if(a < 20)6         {7                 printf("a < 20\n");8         }9         else{
10                 printf("a > 20\n",a);
11         }
12         printf("a is %d\n",a);
13         return 0;
14 }
15 ~

(3)嵌套if:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

 1 #include <stdio.h>2 int main()3 {4         int a = 100;5         int b = 200;6 7         if(a == 100)8         {9                 if(b ==200 )
10                 {
11                         printf("a from 100 to 200\n");
12                 }
13         }
14         printf("a is %d\n",a);
15         printf("b is %d\n",b);
16         return 0;
17 }

(4)switch:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

 1 #include <stdio.h>2 int main()3 {       4         char grade = 'B';5 6         switch (grade)7         {8                 case 'A':9                         printf("nice\n");
10                         break;
11                 case 'B':
12                         printf("not bad\n");
13                         break;
14                 default:
15                         printf("well\n");
16         }
17         printf("your grade is %c\n",grade);
18         return 0;
19 }

(5)嵌套switch:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

 1 #include <stdio.h>2 int main()3 {       4         int a =100;5         int b ==200;6         switch(a)7         {8                 case 100:9                         printf("this is one\n");
10                         switch(b)
11                         {
12                                 case 200:
13                                         printf("this is two\n");
14                         }
15         }
16         printf("a is %d\n",a);
17         printf("b is %d\n",b);
18         return 0;
19 
20 }

(6)三元运算符(?:)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

exp1 ? exp2 : exp3;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

如果exp1为真则运行exp2,否则运行exp3文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

1 #include <stdio.h>
2 int main()
3 {
4         int num;
5         printf("input a number:\n");
6         scanf("%d",&num);
7         (num%2==0)?print("T"):print("J");
8 }
 1 ubuntu@ubuntu:~/c_demo$ ./12 input a number:33 J4 ubuntu@ubuntu:~/c_demo$ cat 1.c5 #include <stdio.h>6 int main()7 {8     int num;9     printf("input a number:");
10     scanf("%d",&num);
11     (num%2==0)?printf("T\n"):printf("J\n");
12 }
13 ubuntu@ubuntu:~/c_demo$

9、循环:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

循环:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

(1)while文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

 1 #include <stdio.h>2 int main()3 {4         int a = 10;5         while (a < 20)6         {7                 printf("a is %d\n",a);8                 a++;9         }
10         return 0;
11 }

(2)for文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

1 #include <stdio.h>
2 int main()
3 {
4         for (int a=10;a< 20;a = a+1)
5         {
6                 printf("a is %d\n",a);
7         }
8         return 0;
9 }

(3)do while文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

 1 #include <stdio.h>2 int main()3 {       4         int a = 10;5         do6         {7                 printf("a is %d\n",a);8                 a = a+1;9         }
10         while(a < 20);
11         return 0;
12 }

(4)嵌套循环:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

 1 #include <stdio.h>2 int main()3 {       4         int i ,j;5         for (1 = 2;i <100;i ++)6         {7                 for (j=2;j <=(i/j);j ++)8                 {9                         if (!(i/j))
10                                 break;
11                         if (j > (i/j)) 
12                                 printf("%d is well\n",i) ;
13                 }
14         }
15         return 0;
16 }

循环控制语句:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

(1)break文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

 1 #include <stdio.h>2 int main()3 {       4         int a = 10;5         while (a < 20)6         {7                 printf("a is %d\n",a);8                 a++;9                 if (a >15)
10                 {
11                         break;
12                 }
13         }
14         return 0;
15 }

(2)continue文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

 1 #include <stdio.h>2 int main()3 {4         int a = 10;5         do6         {7                 if (a == 15)8                 {9                         a = a +1;
10                         continue;
11                 }
12                 printf("a is %d\n",a);
13                 a++;
14         }
15         while(a < 20);
16         return 0;
17 }

(3)goto:C语言中的goto语句允许把控制无条件转移到同一个函数内被标记的语句。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

 1 #include <stdio.h>2 int main()3 {4         int a = 10;5         LOOP:do6         {7                 if (a ==15)8                 {9                         a = a+1;
10                         goto LOOP;
11                 }
12                 printf("a is %d\n",a);
13                 a ++;
14         }
15         while (a <20);
16         return 0;
17 }

无限循环:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html

 1 #include <stdio.h>2 int main()3 {       4         for (;;)5         {6                 printf("well");7         }8         return 0;9 }
10 
11 int main2()
12 {
13         while (true) //1
14         {
15                 printf("well");
16         }
17         return 0;
18 }
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/44036.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ymba/44036.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定