当前位置: 首页 > news >正文

网站制作视频教程全飞虎队网站建设

网站制作视频教程全,飞虎队网站建设,网络强国建设的未来,团购网站模板 免费目录 关键字分类#xff1a; 第一个C程序 - 补充内容 变量的定义与声明 - 补充内容 变量的分类 - 补充内容 变量的作用域 - 补充内容 变量的生命周期 - 补充内容 auto 关键字 register 关键字 static 关键字 static 修饰变量#xff1a; static修饰函数 sizeof 关键字 基本数… 目录 关键字分类 第一个C程序 - 补充内容 变量的定义与声明 - 补充内容 变量的分类 - 补充内容 变量的作用域 - 补充内容 变量的生命周期 - 补充内容 auto 关键字 register 关键字 static 关键字 static 修饰变量 static修饰函数 sizeof 关键字 基本数据类型 sizeof介绍 signed、unsigned 关键字 整型在内存中的存储 大小端 补充 整型取值范围 if else 关键字 什么是语句 什么是表达式 if else 语句 关键字分类 C语言中总共有多少个关键字呢一般我们所见的书上都是32个但是这些书是按照C90或C89的标准其实C99后又新增了5个关键字不过我们目前的主流编译器对C99的支持并不好接下来我们主要按照C90标准来讲解即认为32个关键字接下来我们先简单看一下这32个关键字 下面我们一个一个的来详解这32个关键字  在了解之前我们得深入认识理解一些知识 第一个C程序 - 补充内容 以代码的形式解释说明 //编写第一个C程序hello world #include stdio.h int main() {printf(hello world!\n);return 0; } //运行程序的方式当然可以用vs直接启动 //当然也可以在vs项目中找到代码生成的二进制可执行程序双击即可。 //所以我们的角色是写代码编译器的角色是把文本代码变成二进制可执行程序。 //双击不就是windows下启动程序的做法吗 //那么启动程序的本质是什么呢就是将程序数据加载到内存中让计算机运行 变量的定义与声明 - 补充内容 因为有些关键字是用来修饰变量的我们在介绍关键字之前先来深度了解一下变量 什么是变量是什么         在内存中开辟特定大小的空间用来保存数据 如何定义变量怎么用         int x 10;         char ca;         double d3.14;         类型 变量名 默认值 为什么要定义变量         计算机是为了人类计算能力不足的问题而诞生的即计算机是为了计算的。而计算就需要数据而在计算的时候任何一个时刻不是所有在内存中的数据立马被计算有时部分数据是不参与运算的而不需要计算的数据就要被临时的保存起来等待后续处理而这些数据我们用变量保存以供我们后续的使用使用那个数据就拿取其对应的变量即可 变量定义的本质         我们知道1、程序运行需要加载到内存。2、程序计算需要使用变量。那么定义变量的本质就是在内存中开辟一块空间用来保存数据为何一定要保存到内存因为定义变量也是程序逻辑的一部分程序已经加载到内存中了所以变量是在内存中定义的 变量声明的本质         通俗一说就是提前告诉编译器我定义了一个变量 注意定义只能有一次而声明可以有多次 变量的分类 - 补充内容 局部变量         包含在代码块也就是大括号{}中的变量叫做局部变量局部变量具有临时性。进入代码块自动形成局部变量出了代码块自动释放 全局变量         在所有函数外定义的变量叫做全局变量全局变量具有全局性 代码块         用{}括起来的区域就是代码块 上代码 #include stdio.h int g_value 20;//全局变量 int main() {//main函数也是函数也有{}代码块int a 10;//局部变量printf(%d\n, a);return 0; } 变量的作用域 - 补充内容 作用域的概念         变量的作用域指的是该变量可以被正常访问的代码区域 局部变量的作用域         作用域也就是该变量的作用范围通俗点说就是该变量只能在定义它的代码块{}内使用而出了代码块就不能使用了 全局变量的作用域         全局变量具有全局性在整个程序运行期间都有效作用于整个程序 上代码 //局部变量 //只作用于本代码块{} #include stdio.h int main() {int x 10;if (x 10) {int y 20;printf(局部: x: %d, y: %d\n, x, y);//y只能在本代码块内有效}printf(局部: x: %d, y: %d\n, x, y); //报错y不能被访问return 0; }//全局变量 //作用于整个程序 #include stdio.h int sum 100;//全局变量 void test(void) {printf(test 全局%d\n, sum); } int main() {printf(main 全局%d\n, sum);test();return 0; }//全局变量和局部变量命名冲突时 #include stdio.h int a_b 25;//全局变量 int main() {int a_b 30;printf(%d\n, a_b);//30//局部变量和全局变量命名冲突时优先使用局部变量//强烈不建议这样写return 0; } 变量的生命周期 - 补充内容 生命周期         指的是该变量从定义到释放的时间范围所谓释放指的是曾经开辟的空间被释放 局部变量的生命周期         进入代码块形成局部变量也就是开辟空间生命周期开始退出代码块释放 局部变量生命周期结束 全局变量的生命周期         定义完成之后程序运行的整个生命周期内该变量一直有效 生命周期通俗点讲可以理解为变量存活的时间局部变量的作用域跟生命周期都是在出了代码块就失效了也就是出代码块就死了而全局变量的生命周期就是整个程序结束才失效          auto 关键字 最宽宏大量的关键字-auto 一般定义在代码块中的变量即局部变量默认都是由auto修饰的不过省略不写auto关键字一般默认修饰局部变量而全局变量不是默认auto 修饰的注意我们所听到的局部变量自动变量临时变量都是一回事我们统称为局部变量 上代码 #include stdio.h //全局变量不是默认auto修斯的 auto int g_va 100;//vs编译器会有警告int main() {//局部变量默认都是由auto修饰的不过一般省略不写auto int a 10;//auto修饰局部变量ifor (auto int i 0; i 10; i) {printf(i%d\n, i);if (1){//auto修饰局部变量jauto int j 0; //自动变量printf(before: j%d\n, j);j 1;printf(after : j%d\n, j);}}return 0; } register 关键字 最快的关键字 - register 在了解register关键字的作用之前我们得先了解寄存器的概念 寄存器         计算机中cpu主要是负责计算的硬件单元但是为了方便运算一般第一步需要先把数据从内存读取到cpu内那么也就需要cpu具有一定的数据临时存储能力注意cpu并不是当前要计算的时候才把特定的数据读到cpu里面那样太慢了。所以现在的cpu内都集成了一组叫做寄存器的硬件用来做临时数据的保存通俗一点讲就是把常用的数据放到寄存器中或者是将快要计算的数据拿到寄存器中然后cpu直接从内部的寄存器中使用这样速度更快效率高! 寄存器存在的本质         在硬件层面上提高计算机的运算效率因为不需要在内存中读取数据了速度块  register 修饰变量         尽量将所修饰的变量放入CPU寄存区中从而达到提高效率的目的register关键字是修饰变量的那么怎样的变量可以采用register修饰呢 register可修饰的变量 1、修饰局部变量不可修饰全局变量全局会导致CPU寄存器长时间被占用 2、不会被写入的变量写入就继续写会内存而register是优化到寄存器中的 3、高频读取使用的提高效率 4、 如果要使用不要大量使用寄存器数量有限 注意register 修饰的变量不能被取地址因为register修饰的变量会被存放在寄存区中而地址的概念是对于内存而言的所以不能取地址 上代码 #include stdio.h int main() {//用register 修饰变量//尽量将所修饰的变量放入寄存区中//注意尽量这个词说明也有可能没有被放到寄存区中还是存放在内存中register int s 20;printf(%d\n, s);register int a 0;printf(a %p\n, a);//编译器报错错误 1 error C2103: 寄存器变量上的“”//注意这里不是所有的编译器都报错目前我们的vs2019是报错的。//有些编译器不报错的原因是有可能修饰的变量没有被优化到寄存区中//还是存放在内存中所以可以取地址return 0; } 建议在实际应用中该关键字不用管因为现在的编译器已经很智能了能够进行比人更好的代码优化。早期编译器是因为需要认为指定register来进行手动优化现在不需要了现在的编译器会自动给你优化好且优化能力比人为更好 static 关键字 static - 最名不符实的关键字 认识多文件         在C程序中我们可以定义多个源文件但在源文件之间函数和全局变量是可以跨文件访问的跨文件访问的前提是需要在使用的文件或者是在头文件中进行声明之后才可以访问然而函数可以不进行声明直接访问但是会有警告 上代码 //定义两个源文件让其跨文件访问//test.c文件里的代码 #include stdio.hint g_value 100;//全局变量 int a 200;//全局变量void show(void)//函数 {printf(hehe\n); }//main.c文件里的代码 #include stdio.h //extern int a 200;//声明的时候不可进行赋值操作会报错 extern int g_value;//声明全局变量 extern void show(void);//声明函数 int main() {show();//不用声明也可跨文件访问但会有警告//声明了就没有警号printf(%d\n, g_value);//声明之后才可跨文件访问return 0; } 对于上述代码我们其实还可以优化直接用一个头文件来声明函数、全局变量...等在用的时候只需要让源文件包含该头文件即可 上代码 //创建一个头文件来声明我们所需要的数据 //再创建两个源文件进行交互操作//test.h 头文件的内容 #pragma once //防止头文件被重复包含 #include stdio.h #include string.h extern int g_value;//声明全局变量 extern void show(void);//声明函数//test.c 文件的内容 #include test.h//包含头文件int g_value 100;//全局变量 int a 200;//全局变量void show(void)//函数 {printf(hehe\n); }//main.c文件的内容 #include test.h//包含头文件 int main() {show();printf(%d\n, g_value);//声明之后才可跨文件访问return 0; }两个结论 1、全局变量是可以跨文件被访问的 2、全局函数是可以跨文件被访问的 为什么会跨文件访问         因为有一定规模的项目一定是多文件来写的多个文件之间后续是一定是要进行数据”交互“的也就是互相使用的为了很好的让多个文件的数据进行交互所以必须是能够跨文件访问的。如果不能跨文件访问交互的成本就比较高了总之为了更好的实现交互所以就得跨文件访问 static 修饰变量 修饰全局变量         该全局变量只能在本文件内被使用static修饰全局变量改变的是其作用域全局变量的生命周期是不变的 上代码 //创建一个头文件来声明我们所需要的数据 //再创建两个源文件进行交互操作//test.h 头文件的内容 #pragma once //防止头文件被重复包含 #include stdio.h extern void he(void);//声明函数//test.c 文件的内容 #include test.h//包含头文件 static int g_va 300;//全局变量 void he(void) {printf(%d\n, g_va);//只能在本文件内使用影响的是其作用域 //不能被其它文件直接使用但可以被间接的使用 }//main.c文件的内容 #include test.h//包含头文件 int main() {//printf(%d\n, g_va);//不能直接使用static修饰的全局变量会报错//可以通过函数调用间接使用he();return 0; }​​​​ 修饰局部变量              static修饰局部变量改变的是变量的生命周期不改变其作用域将局部变量的临时生命周期改为全局生命周期但作用域没改变通俗点说就是让局部变量存活的更久但使用的时候只能在它所在的{}代码块中使用 static修饰局部变量的本质         我们先来了解一张布局图 static修饰的局部变量会被放到全局数据区内但具体放到那个区域是由编译器决定的而全局数据区内的变量在整个进程中生命周期都是有效的即static修饰局部变量改变其生命周期  上代码 #include stdio.h void fun1() {//没有任何修饰//每次函数调用都会给变量开辟空间//函数结束空间会被释放int i 0;i;printf(no static: i%d\n, i); } void fun2() {//用static修饰//函数在第一次调用的时候开辟好空间//后续调用的时候不再开辟空间//函数结束也不会被释放//生命周期变为全局生命周期//作用域没变只能在函数的{}代码块内使用static int i 0;i;printf(has static: i%d\n, i); } int main() {for (int i 0; i 10; i) {fun1();fun2();}return 0; } //结论static修饰局部变量变量的生命周期变成全局周期。作用域不变 static修饰函数 static修饰函数         其实跟修饰全局变量类似被修饰的该函数只能在本文件内使用不能被其它文件直接访问改变的是其作用域生命周期不变也就是将全局范围的作用域改为局部范围的作用域虽然不能被其它文件直接访问但可以被间接访问 上代码 //创建一个头文件来声明我们所需要的数据 //再创建两个源文件进行交互操作//test.h 头文件的内容 #pragma once //防止头文件被重复包含 #include stdio.h extern void poos(void);//声明函数 extern void ass(void);//声明函数//test.c 文件的内容 #include test.h//包含头文件 static void poss(void) {printf(static修饰的poss函数调用(访问)成功\n);printf(static修饰函数只能在本文件test.c内使用不能被其它文件直接访问\n);printf(但是可以被其他文件间接访问\n); }void ass(void) {printf(通过ass函数内部调用static修饰的poss函数\n);poss(); }//main.c文件的内容 #include test.h//包含头文件 int main() {//poss();//static修饰的函数 不能被其它文件直接访问会报错ass();//通过ass函数间接访问static修饰的poss函数return 0; }//结论static修饰函数该函数只能在本文件中使用改变的是其作用域sizeof 关键字 基本数据类型 在C语言中有内置类型以及我们自定义的类型 数据类型介绍   如何看待数据类型 前面说过定义变量的本质是在内存中开辟一块空间用来保存数据然而定义一个变量是需要数据类型的这个是基本语法决定的。那么类型决定了变量开辟空间的大小 为什么要存在数据类型         有一个问题为什么要根据数据类型开辟一块空间直接使用内存整体不好吗 答案不好因为在计算机中程序运行需要加载到内存而在任何时刻都不是你的一个程序在运行还有很多其它程序也在运行假设你的程序运行用了整块内存那其它程序就无法正常运行了。另外还有一点假设你整块内存都用了但是你基本上全部空间都用不完站在计算机的角度来说给你空间你用不完就是浪费最好的解决方法就是一个程序用多大的空间计算机就给它合理安排多大的空间使用。 那么问题又来了一个程序使用内存使用多大空间是由什么决定的呢         其实就是你的使用场景决定的你的计算场景决定了你使用什么类型的变量进行计算。你所使用的类型决定了你所开辟的空间大小 sizeof介绍 sizeof也是C语言的关键字同时它也是一个操作符它的作用就是用来计算数据类型以及变量等...所占空间的大小单位是字节注意sizeof是一个操作符不是函数 sizeof用途 我们知道定义变量的本质是在内存中开辟一块空间用来保存数据而定义一个变量是需要类型的类型决定了变量开辟空间的大小而sizeof就可以帮我们计算出它所开辟的空间的大小单位是字节 上代码 #include stdio.hint main() {//计算每种数据类型的大小单位是字节//%zd是sizeof操作符匹配的占位符//当然%d也是可以打印出来的//%u也是可以的printf(%zd\n, sizeof(char)); //1printf(%zd\n, sizeof(short)); //2printf(%zd\n, sizeof(int)); //4printf(%zd\n, sizeof(long)); //4printf(%d\n, sizeof(long long)); //8printf(%d\n, sizeof(float)); //4printf(%u\n, sizeof(double)); //8return 0; } sizeof和函数的书写区别         sizeof在计算变量以及自定义类型的大小的时候是允许不带括号的而函数就必须要有括号总之sizeof是一个操作符不是函数 上代码 //定义一个结构体 struct AA {int a;float b;char c; };int main() {//计算结构体的大小printf(%zd\n, sizeof(struct AA));//必须带括号//定义结构体变量struct AA s { 0 };//可以带括号也可不带printf(%zd\n, sizeof(s));//带括号printf(%zd\n, sizeof s);//不带括号int a 10;printf(%zd\n, sizeof(a));printf(%zd\n, sizeof a);//对于类型必须带括号printf(%zd\n, sizeof(int));printf(%zd\n, sizeof(float));printf(%zd\n, sizeof(double));return 0; } sizeof 在数组中运用         1、sizeof(数组名表示整个数组的大小 上代码 #include stdio.hint main() {//定义一个整型数组int arr[] { 1,2,3,4,5 };//用sizeof计算整个数组的大小printf(%d\n, sizeof(arr));//表示整个数组的大小printf(%d\n, sizeof arr);//sizeof计算数据类型的时候要带括号其它情况下后面也可以不带括号return 0; } signed、unsigned 关键字 整型在内存中的存储 signed 表示有符号unsigned 表示无符号 有符号整数 和 无符号整数介绍  原反补的概念         我们知道一个变量的创建是要在内存中开辟空间的空间的大小是根据类型而决定的那么数据在所开辟的空间中如何存储的呢 有符号数         定义两个变量int a20; int b-10;  我们知道编译器对变量a和b分别开辟4个字节的空间那么这些数值该如何存储呢        首先对于有符号数一定要能表示该数据是正数还是负数。所以我们一般用最高比特位来进行充当符号位。 原码、反码、补码 计算机中的有符号数有三种表示方法即原码、反码和补码。 三种表示方法均有符号位和数值位两部分符号位都是用0表示“正”用1表示“负”而数值位三种表示方法各不相同。 如果一个数据是负数那么就要遵守下面规则进行转化 原码直接将二进制按照正负数的形式翻译成二进制就可以。 反码将原码的符号位不变其他位依次按位取反就可以得到了。 补码反码1就得到补码。 如果一个数据是正数 那么它的原反补都相同。 无符号数 不需要转化也不需要符号位原反补相同。 对于整形来说 数据存放内存中其实存放的是补码。 取数据 我们从开辟的空间里面取数据的时候因为空间里面存的是二进制的补码我们取的时候要显示的原码所以在取的时候有符号数和无符号数也略有差异 对于有符号数 如果该数是一个负数先将补码转为原码补码转原码的方法有两种第一种是将原码转补码倒着回去让补码-1得到反码再让反码符号位不变其它位按位取反得到原码。第二种是重新让补码再走一遍原码转补码的过程让补码符号位不变其他位按位取反得到一个二进制序列再让这个二进制序列1得到原码 如果该数是一个正数正数的原码、反码、补码相同直接不加转换的取出来即可 对于无符号数 取得时候压根不关心符号位它的最高位也是数值位空间中放的是什么二进制序列就将这个二进制序列的符号位当作数值位直接取出来 上代码 #ifndef _CRT #define _CRT #include stdio.h #endifint main() {//数据的存:signed int a 20;//20是正整数// 正数的原反补相同// 原码就是补码//补码0000 0000 0000 0000 0000 0000 0001 0100//内存中存的就是补码signed int b -10;//-10是负数//原码1000 0000 0000 0000 0000 0000 0000 1010//反码1111 1111 1111 1111 1111 1111 1111 0101//补码1111 1111 1111 1111 1111 1111 1111 0110//内存中存的是补码// unsigned int c -10;//c是一个无符号数 空间里面存放的是-10的补码//数据的取printf(%d\n, a);//%d是以有符号的形式取将有符号数a取出来结果还是20printf(%d\n, b);//b是负数取得时候补码转成原码//补码转原码//方法一先 - 1在符号位不变按位取反。//方法二将原码到补码的过程在来一遍。printf(%u\n, c);//%u是无符号的形似取直接将空间里的二进制序列转出数值//把该二进制的符号位当作是数值位直接取//也就是将-10的补码且将符号位看成数值位直接取出来printf(%d\n, c);//然而以%d有符号的形式取的时候取出来的是-10//但会有警告return 0; } 深入理解变量内容的存入和取出 代码形式注释说明 #include stdio.h int main() {signed int b -10;unsigned int d -10; //(是否合的printf(%d\n, b);//取得时候补码转回原码printf(%u\n, d);//取得时候直接将补码当成数值取出来不考虑符号位//结论//存字面数据必须先转成补码在放入空间当中。//所以,所谓符号位完全看数据本身是否携带-号。和变量是否有符号无关//取取数据一定要先看变量本身类型然后才决定要不要看最高符号位。如果不需要直接二进制转成十进制。// 如果需要则需要转成原码然后才能识别。(当然最高符号位在哪里又要明确大小端)return 0; } 十进制二进制快速转换         1后面跟几个0就是2的几次方 上代码          #include stdio.h int main() {int a 10;//10可以分解为82 等同于 2^3 2^1//根据口诀 2的几次方就是1后面有几个0//10的二进制原码1010//补齐32比特为0000 0000 0000 0000 0000 0000 0000 1010return 0; } 为什么存的都是补码         在计算机系统中数值一律用补码来表示和存储。原因在于使用补码可以将符号位和数值域统一处理 同时加法和减法也可以统一处理CPU只有加法器。此外补码与原码相互转换其运算过程是相同的不需要额外的硬件电路。 大小端 补充 大小端其实就是对数据的不同存储方式产生的两种存储方式全称是大端字节序存储 和 小端字节序存储 因为计算机厂商的不同对于内存设计的存储方式不同所以才会产生两种不同的存储方式大端存储和小端存储 大小端是如何存储         我们知道数据有高权值为和低权值位之分打个比方存在数字123则数字1是权值最高的位而3是权值最低的位内存也有高地址和地址之分。在存储的时候是将数值按照字节为单位存入到内存中的 小端字节序存储         数据的低权值位存到内存的低地址处高权值位存到高地址处数据倒着存) 大端字节序存储         数据的高权值位存到内存的低地址处低权值位置存倒高地址处(数据顺着存 画图理解   数据的取 1、先考虑大小端         按照大小端存进去就按照大小端取出来也就是怎么存进去就怎么取出来 2、在看变量的类型         以何种方式取就按照那种方式来解读存进去的这段二进制序列 整型取值范围 为了方便介绍这里使用char类型来介绍char也是整型家族的一员 char又分为unsigned char 和 signed char 两种 signed char的取值范围-128~127 为什么         我们知道char类型的数据在内存中占1个字节也就是8个比特位而signed char 是有符号的char所以在8个比特位中最高的那个比特位表示符号位(1表示负数0表示正数剩余的7位才是数值位然而它的取值范围其实就是8个二进制位的排列组合解析如下   unsigned char 的取值范围0~255 为什么         char类型的数据占1个字节也就是8个比特位unsigend char是无符号的char 所以压根就不考虑符号的问题8个二进制位都是数值位。按照排列组合可知取值范围就是 0~255 解析 几道经典题目  以代码的形式注释讲解 第一题 #include stdio.h #include string.hint main() {char a[1000];int i;for (i 0; i 1000; i){a[i] -1 - i;}printf(%d, strlen(a)); //strlen函数碰到\0就结束 \0的ASICC码值是0//答案是255//解析// 当i0a[0] -1(-i)-1// 当i1a[1] -1(-1)-2// 当i2a[2] -1(-2)-3// 当i3a[3] -1(-3)-4// 当i4a[4] -1(-4)-5// .........// 因为a数组是有符号char类型的// 当i128a[128] -1(-128)127 // 当i129a[129] -1(-129) -1(-128)(-1)126 // 当i130a[130] -1(-130)125 // ......// 当i255a[255] -1(-255)0//而\0的ASICC值是 0 strlen遇到0就停止计算0之前的个数//就是255return 0; }第二题 #include stdio.hint main() {int i -20;unsigned int j 10;printf(%d\n, i j);//-20原码10000000 00000000 00000000 00010100//-20反码11111111 11111111 11111111 11101011//-20补码11111111 11111111 11111111 11101100// 正数的原、反、补相同//10的补码00000000 00000000 00000000 00001010 //-2010的补码11111111 11111111 11111111 11110110 //-2010的反码10000000 00000000 00000000 00001001 //-2010的原码10000000 00000000 00000000 00001010 -10 } 第三题 #include stdio.hint main() {unsigned int i;for (i 0; i 0; i) {printf(%u\n, i);} //unsigned int 是无符号整数 取值范围是0 ~ 4294967295 //而无符号数在任何情况下都是0的是一个死循环 //当i到4294967295的时候再1 取到的结果又是0所以是死循环return 0; } if else 关键字 什么是语句 在C语言中由一个分号隔开的就是一条语句 上代码 #include stdio.h int main() {int a 10;//这是一条语句printf(%d\n, a);//这是一条语句int b 0; char c 0;//这是两条语句return 0; } 什么是表达式 C语言中用各种操作符把变量或数值连起来形成有意义的式子就叫做表达式 操作符-*/%  ......等! 上代码 #include stdio.h int main() {int a 10l;int b 20;int c 30;int d 28;char e a;float f 3.25f;float ret a b c d e;//这就是一条表达式printf(%f\n, ret);return 0; } if else 语句 选择语句 语法结构1.单分支 if (表达式)语句; 2.双分支 if (表达式)语句1; else语句2; 3. 多分支 if (表达式1)语句1; else if (表达式2)语句2; else语句3; 4. 嵌套 if (表达式1)  {语句1;if (表示式x) {语句x;} else{语句y;} }  else if (表达式2) {语句2; }  else {语句3; } 执行顺序         1、求出表达式的结果         2、执行判断功能         3、执行分支功能 先计算条件表达式的结果若结果为真则执行语句1为假执行语句2在C语言中数字0表示假非0数字表示真 上代码 //先计算括号里面的表达式的结果通常用1表示真0表示假//再执行选择功能看要执行那一块的代码//最后再执行分支功能执行代码#include stdio.h int main() {//单分支int a 10;if (a 10){printf(a%d\n, a);}//双分支int b 20;if (10 b){printf(b 10\n);}else{printf(b ! 10\n);}//多分支int c 30;if (10 c){printf(c 10\n);}else if(20 c){printf(c 20\n);}else{printf(c ! 10 c!20\n);}//嵌套int d 40;if (50 d){if (40 d){printf(d 40\n);}else{printf(d 50\n);}}else if (d 50){if (d 60){printf(d 60\n);}}else{printf(d的值为%d\n, d);}return 0; }
http://www.pierceye.com/news/956364/

相关文章:

  • ps学做翻页相册网站wordpress导航图标
  • 模板网站的弊端在哪杨家平网站建设
  • 网站模板带手机站手表网站十大品牌
  • 物流网站功能设计师招聘网站有哪些
  • 知名网站开发哪里有重庆公司网站建设价格
  • 南头做网站公司重庆建设厂招聘信息网站
  • 网站建设的基本条件外贸建设网站制作
  • 移动电子商务平台就是手机网站奉化首页的关键词优化
  • 公司怎么建立一个网站展示型网站模板代码
  • 益阳网页设计十堰seo优化服务
  • discuz论坛建站教程微商城开发小程序开发
  • 饰品网站建设炫丽的网站
  • 网站建设制作介绍河南企业建站多站点管理系统
  • 网站盗号怎么做设计说明模板200字
  • 赣州人才网站搜索引擎广告是什么
  • 广州app开发网站建设与网站优化销售
  • 做淘客哪个网站好点如何做好网站建设销售
  • 手机端网站开发视频wordpress删除评论
  • 台州网站建设推广公司随州有哪些网站建设的公司
  • 定制商品的网站建设word超链接网站怎样做
  • 南昌做网站流程安徽省建设厅网站打不开
  • 雄安智能网站建设方案做涉黄的视频网站用什么服务器
  • 公司网站必须做可信认证吗免费关键词排名优化软件
  • 基金公司网站建设网站有哪几种
  • 广州住房和城乡建设部网站首页福建建站公司
  • 福州网站制作有限公司可玩儿小程序代理
  • 佛山市企业网站建设平台注册公司多少钱起步
  • 网站开发好的语言网站维护上海
  • 民宿网站建设网站如何添加统计代码
  • 哪里培训做网站wordpress plugin development