C语言快速入门
- 格式:doc
- 大小:160.55 KB
- 文档页数:13
(四)说到这里,我们来讲讲数码管的显示方式,可分为两种:动态扫描和静态显示。
上面我们所说的即为静态显示。
但是如果我们采用动态扫描显示,那么就可以解决上面的问题,即可以显示多个数码管了。
上面我们所说的静态显示把数码管的COM脚接至VCC或GND端,其他的接至PX口上,这样只要PX口上输出相应的高低电平,就可以显示对应的数字或字符。
但是如果我们采用动态扫描的方法,比如显示6个数码管,硬件连接可以这样解决:a--dp还是接至P0.0--P0.7上,还有6个COM脚再接至另外口的P2.0--P2.5。
P0口作段选(控制数字字符)P2口作位选(选通哪个数码管导通)这样我们控制P0和P2口就可以控制6个数码管了。
但是,细心的朋友,会问这样的问题:P2位选,是让数码管一个一个亮的,那还是不能控制6个一起亮或灭嘛!?^_^ 想想好象是对的哦?怎么办...难道错了?嘿嘿,问你个问题?黑夜里,拿着一支烟,在你面前快速的晃动,你会发现什么样的现象?是不是原本不连续的点变成了一条看上去连续的曲线或者直线!再回过头来,仔细想想我们的数码管!原理是一样的,你可别忘了,我们的单片机可是一个计算机哦,计算机的运算速度,大家可想而知吧!这里再说说51单片机的机器周期和时钟周期等概念。
所谓机器周期就是访问一次存储器的时间。
而1个机器周期包括12个时钟周期。
如果单片机工作在12M晶体下,那么一个时钟周期为:1/12微妙。
一个机器周期12*1/12 = 1微妙。
如果晶体为6M,时钟周期和机器周期各是多少呢?在汇编中,我们还要关心,指令执行的机器周期长短不一,有1个周期、2个周期和4个周期等。
说着说着,跑了这么远了...还是回到原来的话题,如果我们把位选的P2也看作上面的“烟”一划而过,那么我们看到的是不是6个一起亮或一起灭了!^_^ 哈哈,原来如此... 记住,在任何某一时刻,有且只有一个数码管能发光。
如果你能把这句话理解了,你是真明白我的意思了!朋友,现在给你个任务,让6个数码管分别显示1、2、3、4、5、6。
C语言快速入门--以C语言为例,学一门计算机语言BY DieHeart, Dec 30th, 2007前言入门,是一种思考方法的转变。
这本小册子最初是在上学时完成初稿,曾经命名《C语言4小时通》、《C语言速成》等,主要供学弟学妹参考,侧重点与现在有所不同。
经过仔细筛选和整理,现为其命名《C语言快速入门》,主要介绍和分析入门阶段经常遇到的问题,从开始就认清写计算机书骗钱的人的本质。
阅读本文的朋友也许已经阅读过很多C语言的书,那么也许你会发现这本与其他的书有很大的不同。
这是一本笔记:简明扼要,提纲挈领,读起来也许会口干舌燥,却不至于失去方向;本书的叙述顺序可能更象一本手册,纯粹为增强层次感和阅读方便而编辑。
语言是一种交流的工具。
和中文、英语不同的是,计算机编程语言是人与计算机之间的交流,不是人与人之间,也不是计算机与计算机之间。
其实,交流也谈不上,计算机只是按照人的意思机械地执行。
计算机基础知识本节及下节中涉及的词语比较适合放在引擎中搜索。
组成:CPU主频指令MEM内存计算机运行程序之处DISK磁盘计算机存储数据之处IO接口串行单车道并行多车道USB网卡VGA显示DEVICE设备键盘鼠标打印机计算机语言函数名字数据结果数据控制函数细节取得函数结果运算函数直观结构顺序条件循环0 C语言概览在讲授编程语言时,经常把编程与日常的其他工作相类比,这里摘录两个典型的类比的例子。
编程的过程如同炒一盘菜。
原料构成数据,加工过程是函数,先后次序和逻辑关系构成程序结构,最终,得到了一盘大菜。
编程就象写文章。
字母构成词汇,词汇和标点构成句子,句子和结构形成文章。
对于某种特定的语言,把它当成特定的菜系或文章的体例好了。
程序=算法+语言+工具+编程技术这4个方面是一个程序设计人员所应具备的知识。
本文的目的是使初学知道怎样编写一个C程序,进行编写程序的初步训练,因此,只介绍语言的初步知识,以及针对简单要求的具体算法,并把编程技术的内容融入各章节。
我们在单片机最小系统上接个LED,看我们能否点亮它!对了,上面也有好几次提到过单片机最小系统了,所谓单片机最小系统就是在单片机上接上最少的外围电路元件让单片机工作。
一般只须连接晶体、VCC、GND、RST即可,一般情况下,A T89C51的31脚须接高电平。
#include<reg51.h> //头文件定义。
或用#include<at89x51.h>其具体的区别在于:后者定义了更多的地址空间。
//在Keil安装文件夹中,找到相应的文件,比较一下便知!sbit P1_0 = P1 ^ 0; //定义管脚void main (void){while(1){P1_0 = 0;//低电平有效,如果把LED反过来接那么就是高电平有效}}就那么简单,我们就把接在单片机P1_0上的LED点亮了,当然LED是低电平,才能点亮。
因为我们把LED的正通过电阻接至VCC。
P1_0 = 0; 类似与C语言中的赋值语句,即把0 赋给单片机的P1_0引脚,让它输出相应的电平。
那么这样就能达到了我们预先的要求了。
while(1)语句只是让单片机工作在死循环状态,即一直输出低电平。
如果我们要试着点亮其他的LED,也类似上述语句。
这里就不再讲了。
点亮了几个LED后,是不是让我们联想到了繁华的街区上流动的彩灯。
我们是不是也可以让几个LED依次按顺序亮呢?答案是肯定的!其实显示的原理很简单,就是让一个LED灭后,另一个立即亮,依次轮流下去。
假设我们有8个LED分别接在P1口的8个引脚上。
硬件连接,在P1_1--P1_7上再接7个LED即可。
例程如下:#include<reg51.h>sbit P1_0 = P1 ^ 0;sbit P1_1 = P1 ^ 1;sbit P1_2 = P1 ^ 2;sbit P1_3 = P1 ^ 3;sbit P1_4 = P1 ^ 4;sbit P1_5 = P1 ^ 5;sbit P1_6 = P1 ^ 6;sbit P1_7 = P1 ^ 7;void Delay(unsigned char a){unsigned char i;while( --a != 0){for(i = 0; i < 125; i++); //一个; 表示空语句,CPU空转。
C语言入门必学—10个经典C语言算法C语言是一种广泛使用的编程语言,具有高效、灵活和易学的特点。
它不仅在软件开发中被广泛应用,也是计算机科学专业的必修课。
在学习C语言的过程中,掌握一些经典的算法是非常重要的。
本文将介绍10个经典C语言算法,帮助读者更好地了解和掌握C语言。
一、冒泡排序算法(Bubble Sort)冒泡排序算法是最简单、也是最经典的排序算法之一。
它通过不断比较相邻的元素并交换位置,将最大(或最小)的元素逐渐“冒泡”到数组的最后(或最前)位置。
二、选择排序算法(Selection Sort)选择排序算法是一种简单但低效的排序算法。
它通过不断选择最小(或最大)的元素,并与未排序部分的第一个元素进行交换,将最小(或最大)的元素逐渐交换到数组的前面(或后面)。
三、插入排序算法(Insertion Sort)插入排序算法是一种简单且高效的排序算法。
它通过将数组分为已排序和未排序两个部分,依次将未排序部分的元素插入到已排序部分的合适位置。
四、快速排序算法(Quick Sort)快速排序算法是一种高效的排序算法。
它采用了分治的思想,通过将数组分为较小和较大两部分,并递归地对两部分进行排序,最终达到整个数组有序的目的。
五、归并排序算法(Merge Sort)归并排序算法是一种高效的排序算法。
它采用了分治的思想,将数组一分为二,递归地对两个子数组进行排序,并将结果合并,最终得到有序的数组。
六、二分查找算法(Binary Search)二分查找算法是一种高效的查找算法。
它通过不断将查找范围折半,根据中间元素与目标值的大小关系,缩小查找范围,最终找到目标值所在的位置。
七、递归算法(Recursive Algorithm)递归算法是一种通过自我调用的方式解决问题的算法。
在C语言中,递归算法常用于解决树的遍历、问题分解等情况。
八、斐波那契数列算法(Fibonacci Sequence)斐波那契数列是一列数字,其中每个数字都是前两个数字的和。
C 语言入门必须掌握的 75个知识点1、 C 语言中整数默认为 INT 型,两个整数相除(如 1/2结果仍然是整数,要得到带小数点的答案则要改成 1.0/22、在 C 语言中, “ =”是赋值运算符,表示把某个值赋给某个变量(X=0即把 0值赋给 X 变量; “ ==”是关系运算符,表示“等于” (X==0即 X 等于 0 ,在编写 C 程序时要注意区分。
3、 1个字节等于 8位二进制(某整形数据按照 2字节在内存中分配空间,即该数据对应的二进制形式是 16位二进制 ; 在 AS C Ⅱ码中,英文字母(不分大小写、英文标点占一个字节,中文汉字、中文标点占两个字节。
4、基本运算符的优先等级 ------(PS:手机无法显示部分符号“! ” than 算术运算符 (+/-/*than关系运算符 than 逻辑运算符 than 赋值运算符 (=;要想从 C 菜鸟变成 C 老手,一些基本的优先等级是必须知道的(C 运算符的优先等级详见附录 C5、关于 putchar 函数 ------putchar 函数即字符输出函数,表示向输出设备(显示器输出一个字符。
无论用户输作何种输入,函数都只会输出字符(putchar(65输出结果是“ A ” , putchar(… 65‟ 输出结果是“ 65” ; putchar 函数可以通过输出控制字符,让程序执行某种指令(putchar(… \n‟ 则程序会执行换行指令。
6、教材在介绍格式符的章节里有不准确的地方(见 P33 ------d 格式符、 s 格式符、 f 格式符的介绍里, “ m ”应是最少输出位数(书上的描述是“总位数” :%md, %ms, %mf,分别对应 ------输出最少 m 位整型数据, m 位字符串, m 位浮点数 , 位数不足时左补空格。
7、对于我们来说, C 语言不仅是一门必修课。
现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机,单片机的前景是很广阔的(有兴趣的同学可以向老师咨询或者上网了解 , 要设计出现代化的电子产品无疑要懂得用单片机。
c语言基础知识入门大全整理用一个简洁的c程序例子,介绍c语言的基本构成、格式、以及良好的书写风格,使小伙伴对c语言有个初步熟悉。
下面是我为大家整理的关于c语言基础学问入门,盼望对您有所关心。
欢迎大家阅读参考学习!▼名目▼◆什么是程序,计算机编程语言,编译?◆◆赋值运算符与赋值表达式◆◆关系运算符和关系表达式◆◆位运算◆◆数据类型◆什么是程序,计算机编程语言,编译?程序:一组计算机所能够识别和执行的指令,每条指令能够让计算机执行特定操作,完成相应的功能计算机编程语言:让人与计算机都挺能识别的语言编译:将高级语言编写的程序“翻译”为计算机可以直接执行的二进制机器指令,这个过程称为“编译”编辑器、编译器、集成开发环搭建编辑器:用来编写代码的软件,如记事本,notepad++,editplus,UltraEdit等编译器:将源程序编译成可执行文件的软件如MicrosoftC++Compiler 、gcc集成开发环境:为程序开发供应环境的应用软件,内部供应编辑器和编译器如vstudio Dev C++ Code::Blocks编写第一个C语言程序:.c文件,生成可执行程序查看编译结果,运行程序常见错误创建一个hello.c的文件文件的内容如下#include void main(){ printf(Hello World!);}3、使用IDE的自带编译器,进行编译调试,得到可执行文件hello.exe4、点击运行可执行文件hello.exe返回名目赋值运算符与赋值表达式一、赋值运算符与赋值表达式赋值符号“=“就是赋值运算符,作用是将一个数据赋给一个变量或将一个变量的值赋给另一个变量,由赋值运算符组成的表达式称为赋值表达式。
一般形式为:变量名= 表达式在程序中可以多次给一个变量赋值,每赋一次值,与它相应的存储单元中的数据就被更新一次,内存中当前的数据就是最终一次所赋值的那个数据。
例:a=12; 此表达式读作“将10的值赋值给变量a”。
c语言入门100题C语言是一种广泛应用于计算机编程的高级编程语言,它简洁、高效、灵活,被广泛应用于软件开发、嵌入式系统、游戏开发等领域。
对于初学者来说,掌握C语言的基本语法和常用函数是非常重要的。
下面将介绍一些C语言入门的100道题目,帮助初学者快速入门。
1. 输出"Hello, World!"。
2. 输入两个整数,计算它们的和并输出。
3. 输入一个整数,判断它是否为偶数。
4. 输入一个字符,判断它是否为字母。
5. 输入一个年份,判断它是否为闰年。
6. 输入一个整数,判断它是否为素数。
7. 输入一个字符串,计算它的长度。
8. 输入一个字符串,将其中的大写字母转换为小写字母。
9. 输入一个字符串,将其中的小写字母转换为大写字母。
10. 输入一个字符串,判断它是否为回文串。
11. 输入一个字符串,统计其中的单词个数。
12. 输入一个字符串,将其中的数字字符删除。
13. 输入一个字符串,将其中的空格字符删除。
14. 输入一个字符串,将其中的标点符号删除。
15. 输入一个字符串,将其中的元音字母删除。
16. 输入一个字符串,将其中的辅音字母删除。
17. 输入一个字符串,将其中的大写字母移到字符串的末尾。
18. 输入一个字符串,将其中的小写字母移到字符串的末尾。
19. 输入一个字符串,将其中的数字字符移到字符串的末尾。
20. 输入一个字符串,将其中的空格字符移到字符串的末尾。
21. 输入一个字符串,将其中的标点符号移到字符串的末尾。
22. 输入一个字符串,将其中的元音字母移到字符串的末尾。
23. 输入一个字符串,将其中的辅音字母移到字符串的末尾。
24. 输入一个字符串,将其中的大写字母移到字符串的开头。
25. 输入一个字符串,将其中的小写字母移到字符串的开头。
26. 输入一个字符串,将其中的数字字符移到字符串的开头。
27. 输入一个字符串,将其中的空格字符移到字符串的开头。
28. 输入一个字符串,将其中的标点符号移到字符串的开头。
C语言基础知识1.每个C程序有且只有一个主函数main(),且程序必须从main()函数开始执行,并在main()函数中结束。
2.在C语言中,用e来表示科学计数法时,规定在e的前面必须有数字,后面必须为整数。
3.用单引号括起来的一个字符常量只能存放一个字符;C语言中没有字符串变量,只能用字符数组来存储字符串。
4.外部变量在编译时由系统分配永久的内存空间,所以外部变量的类型不是自动存储类别。
5.在一个函数内的复合语句中定义的变量,只能在这个复合语句范围内有效。
6.用sizeof(int)计算int类型数据的字节数。
7.C语言运行时,首先系统检查语法的正误,再运行程序的语法;C语言中,可以在一个函数中嵌套一个函数,但是不能在一个函数中定义一个函数;只有在函数外部定义的函数才是外部函数;C语言的子程序有过程和函数两种。
8.预处理命令行的位置没有规定,只是习惯放在前面;在源文件中的可以有多条预处理命令,但一行只能写一条;宏名的大写只是习惯性的表示;宏替换不仅不占用运行时间还不分配内存空间。
9.feof函数的作用是检查文件是否结束,当结束时返回的值为非零,否则为零。
10.当定义了数组后,在给其赋值时,不能直接把字符串赋给数组名。
11.在赋值表达式中,赋值运算符“=”右侧不能为表达式;在求余运算符中的两侧都必须为整型;在强制类型转换时,类型名应用括号括起来。
12.静态局部变量,只有当程序结束后,其值才释放。
13.当调用函数时,实参是一个数组名,则向函数传送的是数组每一个元素的地址。
14.算法的特点为有零个或多个输入,有一个或多个输出,当相同的输入时,其结果相同;算法正确的程序最终一定会结束。
15.在C语言中,预处理命令行都以“#”开头;当需要时才用#include<stdio.h>;预处理的作用就是实现宏定义和条件编译。
16.当数组元素的下标超出了定义的下标范围时,系统不给出“下标越界”的字样,而是得出错误的答案,因此在编程时务必检查下标是否越界。
C语言快速入门——请按顺序耐心学习掌握语法结构,理解名词意思,看懂每一行代码。
最终能自己写出程序。
目录一,简单认识变量,函数,参数,头文件二,认识main()和简单的输入输出流函数printf(),scanf()三,常用的数据类型和说明int char float四,数组等储存类型五,数学计算,赋值以及算符优先级六,选择结构和使用if switch七,循环结构和使用for while八,关键字和命名规则九,函数的定义和使用十,指针的定义和使用简单认识变量,函数,参数,头文件main(){ printf(“Hello World!”); }这是一个简单的程序,大家喜欢叫它hello world ,他是编程的入门第一课。
它的主要功能就是输出一句话,hello world这里边包括了一个主函数,一个输出函数,一个字符串 这个就是主函数了。
一个程序里,有且只有一个main()函数。
这句话可以先记得不理解。
printf()是一个输出函数,主要负责把内容输出到屏幕上。
这里的结构是printf(“字符串”);所谓字符串就是很多字符组成的字符集合。
Hello+空白+World !,这是一个字符串。
下边再看一个例子 #include<stdio.h> A(){ printf(“A ”); }B(int y){ printf(“%d ”,y); }main(){ int x=1; printf(“%d ”,x); A(); printf(“%d,%d ”,x+1,x); B(3); }这里边包括了一个主函数main(),然后还有A ()函数,printf ()函数,x 变量,stdio 头文件。
主函数是整个程序开始运行的开始地方,也叫程序入口。
从上到下的顺序执行。
函数的写法是 函数名字(参数){ 函数体 }函数名字不用解释了,随便定义一个名字就可以了。
参数就和字面意思一样,就是这个函数运行的时候附带的一个数字,上边B 函数里y 就是一个参数,在主函数main ()里的时候,参数被赋值了3。
函数体就是函数运行的部分。
函数需要调用的时候,直接写函数名字(参数)就可以了,如果没有参数,就可以不写。
例如A (),B(3)。
变量就是上边程序的x 。
int x=1;这句话的意思是定义一个变量,是int 类型,名字叫做x ,初始的时候,它的值是1。
参数就是上边程序的y ,int y ,表示定义一个参数,叫Y ,是int 类型这里你会发现参数和变量区别不是很大,只是参数的赋值比较灵活,在调用的时候才赋值。
头文件就是程序第一行。
# include<stdio.h>,加载头文件stdio.h ,头文件的意义是让程序可以调用一些库函数,也是内部定义好的函数,比如Max()变量的名字是有规定的,而且要先定义,后使用。
main(){…}输出的结果: 1A2,13认识main()和简单的输入输出流函数printf(),scanf() main(){int a=1;char b=”b”;printf(“a=%d,b=%c\n”,a,b);scanf(“%d,%c”,&a,&b);printf(“a=%d,b=%c\n”,a,b);}printf()是一个输出函数,主要负责把内容输出到屏幕上。
常用的结构便是printf(“控制字符”,变量);其中控制字符指%和%后的一个字符,例如%d,%c变量就是之前定义过的变量,例如a,b围观和理解如下例子printf(“%d”,a); printf(“%d\n”,a); printf(“a=%d”,a);printf(“asdasdasdasd%d”,a); printf(“%d%d”,a,a); printf(“%d,%d”,a,a);printf(“%d\n%d”,a,a); printf(“%d%d%d”,a,a,a); printf(“%d”,a+a);scanf()是以个输入函数,主要负责接收从外部输入至程序的信息。
常用的结构是scanf(“控制字符”,&变量1,&变量2,&变量3,&变量4…);它的用法和printf()基本一致,只是变量前多了一个&,具体含义可以先不理printf(“%5d”)和printf(“%d”)的区别%5d输出的数字,占5个位置,例如printf(“%5d”,4) 输出____4 而printf(“%d”,4) 输出 4常用的数据类型和说明int char float之前我们说过变量,变量有许多数据类型,实际上,函数也有数据类型常用的数据类型有int 整数,float小数,double和float类似,也是小数一种char字符,long表示加长,例如long int ,long double。
short反之,表示短型,short int.如果需要用到字符串,我们写char[],[]是数组,表示char类型的一个队列组合不同的数据类型,控制字符也是不同的下边是一个演示程序main(){int a=1;float b=1,1;double c=3.0;char d=”A”;char e[]=”BCD”;printf(“%d,%f,%lf,%c,%s”,a,b,c,d,e);}数组等储存类型之前我略提了下数组,这里我会重点讲它的之前我们懂得了定义一个整数型是用int,但是,如果需要定义几百个乃至几千个int型,我们没必要一个一个的写,数组是专门来解决这个问题的int a[];这是定义了一个数组a,是int类型。
这只是大概定义方式常用的定义方式还有int a[5]; int a[]={1,2,3,4,5};完整方式为数据类型数组名字[数组长度]={ 内容1, 内容2, 内容3, 内容4……}我下边说他们的区别:int a[],只定义了数据类型和名字int a[5],只定义了数据类型,名字和数据长度int a[] ={1,2,3,4,5};,只定义了数据类型,名字和数据内容调用的时候只要写名字和编号就可以了。
要特别记得一点,编号是0开始的int a[] ={1,2,3,4,5};a[0]=1,a[1]=2,a[2]=3…..a[4]=5;其他的储存类型还有链表,结构体,类链表和数组类似,只是多了一个头尾指针,结构体和类类似,属于面向对象的储存;如下struct boy{char name[10];int age;float heigh;};这是一个叫boy的结构体,它包含了3个属性,一个叫name,是char[]类型,一个叫age,是int类型,一个叫height,是float类型,当然,需要其他的属性或者不需要什么属性都可以直接修改代码。
当我们定义一个孩子的时候可以这样定义struct boy{char name[10];int age;float heigh;}A;main(){=”shaX”;A.age=38;A.heigh=1.414;}于是我们得到一个叫shaX的孩子,芳龄38,身高根号2具体的使用以后再说。
数学计算,赋值以及算符优先级在编程里,常用的数学计算除了加减乘除外,还有其他的。
计算名称计算符号使用例子说明结果加+ 1+1 求和 2减- 1-1 求差0乘* 1*1 求积 1除/ 1/1 求商 1模% 1%1 求余0赋值= A=1 赋值A的值为1大于> 2>1 判断 1大于等于>= 1>=1 判断 1等于== 2==2 判断 1不等于!= 2!=1 判断 1小于< 1<2 判断 1小于等于<= 1<=1 判断 1这里要注意,判断也是有结果的,假如判断为真,结果便是1或者true,为假,结果便是0或false 例如a=(3>1),这个时候,a=1,特别强调一点,比较是否相等不是用一个=,而是两个=下边说几个特别的计算a++,++a,a--,--a这些式子都表示a自增(减)1,什么叫自增自减?看下边int a=1;a=a+1;这个计算后,a就是2了就是先计算右边的值,然后赋给左边的变量。
a=a+1还有一种写法,a+=1,这是比较方便的自增写法,同理有a-=1,a+=3….最后,还可以写成a++,或者++a,不过这样只能自增1,同等与a+=1,a=a+1。
然后注意a++和++a,这2个是有区别的int a=1,b=1,c=1,d=1;b=++a;d=c++;这三行代码运行下来,最终a=2,b=1,c=2,d=2。
因为如果是++a的话,要先用a的值来进行赋值计算,赋值完毕后,a才自增如果是a++的话,要先用a自增,完毕后,a的值来进行赋值计算,这个时候a已经是新值了。
这里涉及到一个优先级,就是进行计算的先后,数字越小越优先(高优先级)。
常用的优先级括号最先,赋值最后,and比or早,四则运算不变简单来说从先到后为括号》单目运算》双目运算》三目运算》逗号具体可以参照下边的优先级别表选择结构和使用if switchif 结构main(){ int a=1; if(a>1) printf(“1”); else if(a==1) printf(“2”); else printf(“3”); }结果:2if 是表示判断,就像一个岔路一样,满足条件就执行if 里的部分,否则就执行else 的部分 结构为if(bool 类型){ 执行1}else{ 执行2 }上边是最基本的结构,如果执行代码只有一个整体,可以把大括号省略。
每个else 必须要对应一个if ,中间不能间隔代码。
可以只有if ,没有else if(a>1){ printf(“1”); printf(“2”); }else printf(“3”); if(a==1) printf(“4”) 然后再看下边一个推导:由于if-else 是一个整体 if(a>1){printf(“1”);}else{if(a==1){printf(“2”);}else{printf(“3”);}同理可以推导出if ——else if ——else if ——else if ——……——else boolif(a>1) printf(“1”); printf(“2”); else printf(“3”); 错误的 f(a>1) printf(“1”); else if(a==1) printf(“2”); else printf(“3”); 去掉括号 f(a>1) printf(“1”);else if(a==1)printf(“2”);else printf(“3”);Switch结构main(){int a=1;switch(a) {case0:printf("0 ");break;case1:printf("1 ");break;case2:printf("2 ");break;default:printf("* ");}}结果:1;其实switch个人觉得是很冷门的东西,这个玩意很少用了结构:switch(选择的变量) {case满足的值:执行代码;case满足的值:执行代码;……default: //其他值执行代码}这个和if—else if—else结构类似选定的值和满足值做比较,然后执行代码这个地方有一点要特备注意,记得用break,不然会把case依次执行过一次,直到swich结束或者出现break循环结构和使用for whileformain(){ int a; for(a=0;a<10;a++) printf(“%d\n ”,a); }这个程序是输出10行数字,数字的值是i 0 1 (9)for 是一个循环体,结构为for(初始化参数;执行循环的条件;过度变化){ 执行代码 }初始化参数就是给参数定义一个值,运行的时候只是首次执行。