第一篇:C语言学习笔记6
六.循环结构程序设计
1.循环控制
a)程序中常用到顺序结构和选择结构,但只有这两种结构是不够的,还需要用到循环结构(重复结构)
b)对于某些问题,通过原始的方法需要分别编写若干个相同或相似的语句或程序段进行处理,工作量大、程序冗长、重复、难以阅读和维护,因而C语言提供了循环控制来处理需要进行的重复操作
c)循环结构、顺序结构、选择结构是结构化程序设计的3种基本结构,它们是各种复杂程序的基本构成单元
2.用while语句实现循环
while语句的一般形式为:
while(表达式)语句
a)“语句”就是循环体,循环体只能是一个语句,可以是一个简单语句,也可以是复合语句。循环体如果包含一个以上的语句,应该用花括号括起来作为复合语句出现,否则while语句的范围只到while后面的第1个分号处
b)在循环体中应当有使循环趋向于结束的语句,如果无此语句,则循环条件始终不变,循环永远无法结束
c)执行循环体的次数是由循环条件控制的,这个循环条件就是上面一般形式中的“表达式”,它也称为循环条件表达式
d)while语句的循环控制:当循环条件表达式为“真”(非0)时就立即执行循环体语句,当循环条件表达式为“假”(0)时就不再执行循环体语句
e)while语句的过程特点:先判断循环条件表达式,后执行循环体语句
3.用do…while语句实现循环
a)do „ while语句的一般形式 do 语句 while(表达式)a.1.为了使程序清晰、易读,建议把循环体用花括号括起来,以防看到第2行语句就误以为整个语句结束了
a.2.do „while语句的循环控制:先执行一次循环体语句,然后判断循环条件表达式,当循环条件表达式为“真”(非0)时返回再次执行循环体语句,如此反复,直到循环条件表达式的值为“假”(0)为止,此时本次循环结束
a.3.do „while语句的过程特点:先无条件执行循环体语句,再判断循环条件表达式
b)while语句与do „while语句的比较
b.1.对同一个问题,可以用while语句处理,也可以用do „while语句处理,while语句与do „while语句的结构可以互相转换
b.2.while语句可以一次也不执行循环体语句,而do „while语句至少执行一次循环体语句。因此当用while语句与do „while语句处理同一问题(循环体部分相同)时,若循环条件表达式的初始值为“真”(非0)时,则两种循环得到的结果相同,若循环条件表达式的初始值为“假”(0),则两种循环得到的结果不同
4.用for语句实现循环
a)for语句的一般形式
for(表达式1;表达式2;表达式3)语句
a.1.表达式1:设置初始条件,只执行一次,可以为0个、一个或多个变量设置初值。允许在表达式1中定义变量并赋初值,这样使程序简练、灵活方便,但所定义变量的有效范围只限于for循环中,在循环之外不能使用此变量
a.2.表达式2:是循环条件表达式,用来判定是否继续循环,在每次执行循环体之前先执行此表达式来决定是否继续执行循环体
a.3.表达式3:作为循环的调整使循环趋向于结束,例如使循环变量增值,它是在执行完循环体后才进行的
a.4.由上所述,for语句可以理解为:
for(循环变量赋初值;循环条件;循环变量增值)语句
b)关于for语句的一些说明 b.1.表达式1可以省略,即不设置初值,但表达式1后面的分号不能省略。由于for语句省略了表达式1,没有对循环变量赋初值,因而为了能正常执行循环,应当在for语句之前先给循环变量赋初值
b.2.表达式2可以省略,即不用表达式2来作为循环条件表达式,不设置和检查循环的条件。此时循环将无终止地进行下去,也就是认为表达式2始终为“真”(非0)
b.3.表达式3可以省略,但此时程序设计者应当另外设法保证循环能够正常结束,即使循环趋向于结束的操作不放在表达式3的位置,而是作为循环体的一部分,如果在循环体中没有这种语句,则循环体将无止境地执行下去
b.4.表达式1和表达式3可以都省略,只有表达式2,即只给定循环条件,但如c.1和c.3所述,应当在for语句之前先给循环变量赋初值,且在循环体中设置使循环趋向于结束的语句
b.5.表达式
1、表达式
2、表达式3可以都省略,即不设初值,不判断条件(此时认为表达式2始终为“真”),循环变量不增值,将无终止地执行循环体语句
b.6.可以把循环体和一些与循环控制无关的操作也作为表达式1或表达式3出现,这样使程序短小简洁,但过分利用这一特点会使for语句显得杂乱、可读性降低,因而最好不要把与循环控制无关的内容放到for语句中。
表达式1可以是设置循环变量初值的赋值表达式,也可以是与循环变量初值无关的其他表达式。
表达式3可以是与循环控制无关的任意表达式,for语句可以在表达式中完成本来应该在循环体内完成的操作,即for语句的循环体为空语句,把本来应该在循环体内处理的内容放到表达式3中,作用也是一样的
b.7.表达式1和表达式3可以是一个简单表达式,也可以是逗号表达式,即包含一个以上的简单表达式,中间用逗号间隔。在逗号表达式中按自左至右的顺序求解,整个逗号表达式的值为最右边的表达式的值
b.8.表达式2一般是关系表达式或逻辑表达式,但也可以是数值表达式或字符表达式,只要其值为非0(“真”)就执行循环体
b.9.for语句可以与while语句互相转换,二者无条件等价 即for(表达式1;表达式2;表达式3)语句 可以改写为 表达式1;while(表达式2){ 语句 表达式3;} c)for语句的执行过程 c.1.求解表达式1 c.2.求解表达式2,若此条件表达式的值为“真”(非0)则执行for语句中的循环体,然后执行第b.3步,若此条件表达式的值为“假”(0)则结束循环,转到第b5步
c.3.求解表达式3 c.4.转回第b.2步继续执行
c.5.循环结束,执行for语句下面的一个语句
5.循环的嵌套
a)一个循环体内又包含另一个完整的循环结构,称为循环的嵌套 b)内嵌的循环中还可以嵌套循环,这就是多层循环
c)3种循环(while循环、do „while循环、for循环)可以互相嵌套
6.3种循环方式的比较
a)3种循环都可以用来处理同一问题,一般情况下(循环条件表达式的初始值为“真”)它们可以互相代替
b)在while循环和do „ while循环中,只在while后面的括号内指定循环条件,因此为了使循环能正常结束,应在循环体中包含使循环趋向于结束的语句。for循环可以在表达式3中包含使循环趋向于结束的操作,甚至可以将循环体中的操作全部放到表达式3中,因此for语句功能更强,凡是while循环能完成的,用for循环都能实现
c)用while和do „ while循环时,循环变量初始化的操作应当在while和do „ while语句之前完成,而for语句可以在表达式1中实现循环变量的初始化
d)while循环、do „ while循环和for循环都可以用break语句跳出循环,用continue语句结束本次循环 7.改变循环执行的状态
一般情况下,都是根据事先指定的循环条件正常执行和终止循环,但当出现某种情况需要提早结束正在执行的循环操作时,可以用break语句和continue语句来实现提前结束循环
7.1.用break语句提前终止循环
a)break语句可以使流程跳出switch结构而继续执行switch语句下面的一个语句,还可以用来从循环体内跳出循环体,即提前结束循环,接着执行循环下面的语句,但break语句只能用于循环语句和switch语句而不能单独使用
b)break语句的一般形式为: break;c)执行break语句,流程跳转到循环体结束的花括号之外,即不再继续执行其余的几次循环而提前结束循环
7.2.用continue语句提前结束本次循环
a)有时不希望终止整个循环的操作,而只希望提前结束本次循环,而接着执行下一次循环,这时可以用continue语句
b)continue语句的一般形式为 continue;c)执行continue语句,流程跳转到循环体结束的花括号之前(不是花括号之外),即跳过循环体中continue语句下面尚未执行的语句而结束本次循环,然后接着执行后面的循环过程
7.3.break语句和continue语句的区别
a)continue语句只结束本次循环,而不是终止整个循环的执行;而break语句则是结束整个循环过程,不再判断循环条件是否成立
b)如果是双重循环,在内循环体中有一个break语句,则使用break语句提前终止循环是指提前终止内循环
第二篇:C语言面向对象编程学习笔记
C语言面向对象编程笔记
1、在底层驱动函数前加static标识符的作用:
a:加了static后表示该函数失去了全局可见性,只在该函数所在的文件作用域内可见 b:当函数声明为static以后,编译器在该目标编译单元内只含有该函数的入口地址,没有函数名,其它编译单元便不能通过该函数名来调用该函数,这也是对1的解析与说明
2、底层驱动的封装模板
通常将存储类,显示类,AD-DA类的外设驱动函数封装为以下几个函数: Void Open(void);
此函数用于开启外设,通常函数体中包涵IO和外设的初始化 Void Close(void)此函数用于关闭外设,特别是一些在休眠下功耗很大的外设,可用mos管控制其Vcc的通断,以此达到降低系统功耗的目的
Void Read(unsigned int address,unsigned char *data[],unsigned int count)
此函数用于读取数据,参数分别为:address,地址,*data[],存放数据的数组,count,要读取的字节数
Void Write(unsigned int address,unsigned char *data[],unsigned int count)此函数用于写数据,参数功能与读函数中相似。
Void control(unsigned char cmd,unsigned char data)此函数用于控制外设的工作状态,如休眠,低功耗等等
3、命名规则
A、宏定义全部用大写
如:#define OLED_CS PBout(12)B、驱动函数名称大小写,并且动词放置在末尾如
static long _OLED_Close(void)C、结构体的名称,结构体名大写,变量名小写,“驱动”的首字母大写
如:struct OLED_DEVICE oledDevice;
4、关于外设的数据手册
外设的数据手册应该去芯片的官网下载最新版本,特别注意芯片的是否有功耗控制方面的内容,
第三篇:c语言笔记总结
字体:font-family 字体大小:font-size
font-weight 设置或检索对象中的文本字体的粗细。
text-decoration 检索或设置对象中的文本的装饰。
font-style 设置或检索对象中的字体样式。line-height 设置或检索行距。
text-transform 检索或设置对象中的文本的大小写。
background-color 设置或检索对象的背景颜色。
background-image 设置或检索对象的背景图像。
background-attachment : 设置或检索背景图像是随对象内容滚动还是固定的。
background-position: 设置或检索对象的背景图像位置。必须先指定 background-image 属性。
display: 设置或检索对象是否及如何显示
margin 检索或设置对象四边的外补丁。默认值为 0 0。如果提供全部四个参数值,将按上-右-下-左的顺序作用于四边。如果只提供一个,将用于全部的四边。如果提供两个,第一个用于上-下,第二个用于左-右。如果提供三个,第一个用于上,第二个用于左-右,第三个用于下。
第四篇:C语言程序设计笔记
C语言程序设计的概论:
什么是程序设计:
编译环境 程序设计就是用户告诉计算机按程序员的思路一步一步的去工作
而C语言程序设计就是,通过c这门语言与计算机通信,并告诉计算机应如何工作
在微机上广泛使用的C语言编译系统有Microsoft C、Turbo C、Borland C等。虽然它们的基本部分都是相同的,但还是有一些差异,所以请大家注意自己所使用的C编译系统的特点和规定(参阅相应的手册)。我们所有使用的环境是WIN-TC(WINDOWS2000操作系统)。
简单的C程序 例1.1 main(){ printf(“This is a c program.n”);} 本程序的作用是输出一行信息: This is a c program 注意:
每一个C程序都必须有main()函数 函数体内由大括弧{ }括起来 大括弧内每条语句后必须有一个分号
符号和字母,都要用半角格式的(必须切换到英文输入法输入符号字母)Printf()输出函数
n 转义字母,代表换行(回车)
/* */注释符
试一试: 参照例题,编写一个C程序,输出以下信息: * * * * * * * * * * * * * * * * * * * very good!* * * * * * * * * * * * * * * * * * *
Printf(“******n”);n转意字符,代表换行 数据类型 1.2.3.整型:12, 0 ,-3 实型:4.6 ,-1.23 字符型:’a’ , ‘b’
算术运算符 1.2.3.4.5.+ 加法运算符-减法运算符 * 乘法运算符 / 除法运算符 % 求余运算符
算术运算符的优先级同数学:先括号,后乘除,再加减 题目:求两个数的余数的程序
什么是变量 : 其值可改变的量称为变量,也把变量看成用来装数据的容器 变量的作用 : 增加程序的灵活度,可以说任何一个程序基本上都用到了变量度 如何定义变量: 数据类型 变量名; int a;数据类型 变量名1,变量名2,„变量名N;float a,b,c;char c1,c2;变量命名规则:
只能以字母、数字、下划线三种字符组成,且第一个字符必须为字母或下划线。
在C语言中,变量名是区分大小写的。
int a=3 int A=4 变量命名的良好习惯──见名知意: 例如:年龄 intAge/intNl 变量数据类型:
int 代表整型类型 范围:-32768~32768 float 代表实型 范围:-3.14×10-38~ 3.14×1038 有效数字:6~7 char 代表字符型 该类型变量只能容纳一个字符 变量的赋值: int a=3 int a=3.4 错误 float a=3.4 char a=’c‘
或:int a =3,b=4;注意:定义什么类型的变量就赋什么类型的数据
%d 以整型的形式输出
printf()输出函数 :
例: printf(“this is what?”)直接把双引号内的字符串原样输出 printf(“this is what? n ”)n 转意字符 不原样输出该字符串,而是起到换行作用,将当前位置移到下一行开头
b 退格
„„„
Printf(“this is %d ”,i)%d 用来代替“,”后面的变量,并指定该变量以什么类型输出
%d 按整型输出
%f 按实型输出
%c 以字符形式输出,只输出一个字符 例:
scanf(“%d%d”,&a,&b)让用户输出两个整放,放到变量a,b中.注意:
变量前一定要加& 输入多个变量时,可用空格或回车间隔,但不能用”,” 1.用户输入圆半径,输出圆的周长和面积
2.用户输入两个整数,求两个数的和,差,积,余 3.用户输入两门成绩,输出总分,平均分 1.2.3.4.5.6.每一个C程序都必须有main()函数 函数体内由大括弧{ }括起来 大括弧内每条语句后必须有一个分号 符号和字母,都要用半角格式的
Printf()输出函数 n 转义字母,代表换行 /* */注释符
7.C语言结构化程序设计的三种基础结构介绍 8.关系运算符和关系表达式 9.逻辑运算符和逻辑表达式 10.if语句 11.条件运算符 选择结构是根据条件有选择的执行程序代码!如果(用户输入的密码是:123)输出:“密码正确” 否则
输出:“密码错误” if(判断式){判断式成立时所执行的语句} else {判断式不成立时所执行的语句} 说明: 只有当判断式成立时才会执行语句块1 否则执行语句块2 两者不会同时执行或不执行 关系运算符
所谓的“关系运算”实际上是”比较运算” C语言提供如下6种关系运算符
< 小于
<= 小于等于
> >= == 是否等于
!= 是否不等于 优先级
前四种关系运算符优先级相同,后两种也相同,但前4种大于后2种 关系运算符的优先级低于算术运算符 关系运算符的优先级低于赋值运算符 试一试:
用户输入密码,如密码是123,则输出恭喜你,登录成功,否则输出不要试我密码哦.!注意知识点: 提示:
If语句和}后都没有分号结束符
else 后没有条件表达式
如果IF或ELSE后的语句块只有一句的话,{} 可省略!
如果不满足IF后面的条件,什么都不做的话,可以省略else 题目: 根据上网用户输入的年龄,决定弹出信息,如年龄小于18则弹出“你太小了,还不能到网吧上网哦”否则弹出“OK,没问题祝你玩的愉快”; :
用户输入数,判断输出是奇数还是偶数
逻辑运算符
C 提供的三种逻辑运算符
&& 与(相当于and 且)
|| 或(相当于or 或)
!非(相当于not 取反)
例:
a&&b 若a,b为真,则a&&b为真
a||b 若a,b之一为真,则a||b为真
!a 若a为真,则!a为假 运算符优先级!(非)算术运算符 关系运算符 && 和 || 赋值运算符 由高往低 条件运算符
若if 语句中,在表达式为”真”,和”假”时,且都只执行一个赋值语句给同一个变量赋值时,可以用简单的条件运算符来处理,例:若有以下if语句: if(a>b)max = a;else max =b;可以用下面的条件运算符来处理
max =(a>b)? a:b;多分支选择结构
如果用IF ELSE的话。虽然可以做出徕,但要用到众多的IF ELSE非常的烦琐。像这种多分支的选择,我们一般采用下面的语句 switch(变量){ case 值1: 代码; break;
„„„..case 值n: 代码; break;default:语句 N;//当变量不等于上面所有值时,执行default后的语句; } 注意: 1.break退出{} 2.case 后只能跟一个值,而不能是一个表达式 3.switch(变量)后没有”;” {}前后都没有”;” 三种选择语句的比较 If //只有条件成立时执行
I f else //适用于只有两种情况出现,要么执行A,要么执行B Switch //适合多种情况,且变量是精确值时 注意
If(a>b>c)错误 If(a>b&&a>c)正确 字符一定要加’’引起来 Case,后不能是表示式 Default 后面不必加break
第五篇:小班语言教学笔记.
教育笔记
萨日娜
故事是幼儿最爱的一种文学形式.通过故事教学,能培养幼儿良好的品德,帮助幼儿发展语言的方法。对于小班的幼儿来说,是以教师讲述故事为重要部分。教师在讲述故事时,咬字要清楚,速度要适当,节奏要比平时谈话稍慢,使他们一边听一边想;讲述故事时,面部表情,眼神和手势都要随着故事情节的发展而有所变化,这样对小班幼儿的语言表达起辅助的作用。
作为教师,对故事教学中往往不是只讲一遍的而要讲多遍,并要注意方式的变换,培养幼儿倾听的积极性。而我在上《安全大使熊先生》的时候,我在讲述第一遍时就直接用上挂图,发现有些幼儿开始把注意集中在挂图上,对故事的倾听兴趣不高,在给幼儿第二,三遍讲述过程中还是简单的用了挂图的形式,没变换方式,以至在讲述第二遍的过程中幼儿的注意力更加不集中,甚至有的幼儿开始互相说话,因此整个活动来看效果不明显。其实现在来看,一般讲第一遍故事的时候,以不用直观的教具为宜,因为直观的教具容易分散幼儿的注意,不利培养幼儿倾听的习惯。
在故事中的提问,对于小班幼儿的心理发展水平,只能是一些简单,细小的问题。但作为教师要引导幼儿去回答,我们说答案虽然长些,但不要求每个幼儿能连贯的回答,教师自己示范,再让幼儿按顺序连贯的讲述,这样的效果会使幼儿很容易接受、理解。在这个过程中,对于回答不出的或回答错的幼儿,教师不应该表示厌烦,而要肯定他们愿意回答。教师应该是启发和提示,尽量帮助幼儿自己找到正确的答案,总之,要让全体幼儿都有回答问题的机会,提高幼儿语言能力。