第一篇:笔记c2问题
1.Why does the man go to see the woman? A.To complain about customers.B.To request an increase in his pay.C.To ask for a change in his work schedule.D.To apply for a job playing music in the dining hall.2.What activity does the man want to be able to do at dinnertime? A.Prepare for his morning music classes.B.Rehearse with a school music group.C.Play jazz for the faculty in the dining hall.D.Eat with classmates from his music class.3.The woman asks the man to consider a different job.What kind of work would the man have to do for the new job? A.Get ingredients ready for a meal.B.Clean kitchen equipment for the cooks.C.Prepare the weekly menu for the dining hall.D.Coordinate schedules for student workers.4.What does the man imply about his job as a waiter? A.It allows him to get to know the professor better.B.It is his first job at the university.C.It does not pay as much as other jobs.D.It interferes with his studies.1.Why does the studentgo to see the professor? A.To obtain notes from a class she missed B.Todiscuss a conference she attended C.To ask about a possible topic for a research paper D.To clarify information about volunteering in the community
2.What does the student say about the conferenceshe attended? A.It will help convince students to get involved in the community B.It taught her a lot about marine ecosystems C.It helped her gain a volunteer position at a local organization D.Few students were involved in the conference
3.What caused the woman to become interested in bioluminescence? A.It was mentioned in the notes from a class she missed B.She observed the phenomenon while on a recent trip to a conference C.A volunteer she worked withtold her about seeing some bioluminescent fish D.She heard a talk about bioluminescence at a conference she attended
4.According to the professor, why were the jellyfish that the student sawglowing? A.They were avoiding predators by blending in with their surrounding B.They were trying to confuse predators with bright flashes of light C.They were communicating with each other D.They were trying to light up the dark water so they could see prey
5.What does the professor imply about the student’s proposed research topic? A.A variety of bioluminescent organisms should be included in the research B.Writing about the topic might be difficult because there is so muchinformation on it C.The student should choose a topic that has already been covered in class D.The student should explain how bioluminescence benefits various species of jellyfish differently
第二篇: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
第四篇: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语言设计 学习笔记
早晨: 06:40
起床
07:20——08:20 上午: 08:30——10:30 10:50——11:30 中午: 12:00——02:00
下午: 02:30——04:30
晚上: 05:30——08:00 08:00——09:00 09:00——11:00
11:30
英语 1小时
新概念英语(单词、语法、听读背)大学英语(单词、语法、听读背)
计算机基础 2小时 计算机科学技术导论 计算机组成原理 微机原理及接口技术
Intel微处理器结构编程与接口 深入理解计算机系统 80x86汇编语言程序设计
8086-8088宏汇编语言程序设计教程 BIOS研发技术剖析 自己动手写操作系统 操作系统原理
Windows操作系统原理 Windows内部原理系列 Windows程序内部运行原理 计算机网络第五版
午休
计算机应用及编程
Windows用户管理指南、AD配置指南、网络专业指南、Windows即学即会教程
Windows下32位汇编语言程序设计、C#编程 锻炼、晚餐 辅导
专业基础 2小时
大学数学、大学物理、电机及拖动、电力电子技术、通信技术 休息
目 录
第一章 C语言概述.................................................................................................................................1.1 C程序结构特点16................................................................................................................1.2 C程序上机步骤17...................................................................................................................第二章 程序的灵魂——算法23............................................................................................................2.1 算法24.....................................................................................................................................2.2 算法的三种基本结构...............................................................................................................2.3 结构化程序设计方法42..........................................................................................................第三章 数据类型 运算符与表达式48..................................................................................................3.1 C语言的基本元素48...............................................................................................................3.2 C的数据类型48.......................................................................................................................3.3 常量与变量48..........................................................................................................................3.4 基本类型...................................................................................................................................3.5 变量63.....................................................................................................................................3.6 不同类型数据间的混合运算...................................................................................................3.7 函数的调用过程(补充).......................................................................................................第四章 最简单的C程序设计——顺序程序设计77...........................................................................4.1 字符数据的输入输出...............................................................................................................第五章 选择结构的程序设计97............................................................................................................第六章 循环结构程序设计.....................................................................................................................6.1 语句标号...................................................................................................................................6.2 break语句和continue语句......................................................................................................第七章 数组132......................................................................................................................................7.1 构造类型...................................................................................................................................7.2 数组133...................................................................................................................................7.3 二维数组...................................................................................................................................7.4 字符串——字符数组...............................................................................................................7.5 字符串处理函数 #include
1.1 C程序结构特点16
1、C程序的基本构件——函数。
2、一个函数由函数首部和函数体两部分构成。
函数首部一般包括函数类型、函数名、函数参数等。
函数体一般包括声明部分和执行部分。其中:在声明部分中定义所用到的变量;执行部分则由若干个语句组成。
3、C程序只有一个main函数,且总是从main函数开始执行。
4、C语言语句必须以“;”结束。
5、用/*
*/作为注释。
6、C编译器一般自顶向下顺序编译C源程序,如果被调函数定义在主调函数之后位置时,要在主调函数前,给出被调函数的原型说明。以便编译器在编译被调函数的调用语句时,对调用语句进行参数检查。
如果不进行原型说明,则无法通过编译检查。
原型说明:类型说明 函数名(参数类型,参数类型,„„)
7、头文件——头文件包含了C语言的标准函数库的原型说明。
C语言通过使用#include <>预处理命令,将库函数的原型说明插入到源文件中。
1.2 C程序上机步骤17
1、编辑源文件.c;
2、编译成目标文件.obj;
3、连接——将目标程序和库函数及其他目标程序连接起来,生产可执行文件,文件扩展名为.exe;
4、执行。
结构体、共用体、枚举型。
3、指针类型:用于存储地址的一类数据类型。
4、空类型:
编译器根据变量的数据类型,给变量分配存储单元。
3.3 常量与变量48
1、符号常量——符号常量在其作用域内不能改变,也不能被赋值。#define 符号常量(大写)常量
2、变量——变量由变量名和变量值标识。数据类型 变量;
变量名实际上是一个符号地址,编译连接程序时给每个变量名分配一个内存地址,当程序访问变量值时,实际上是通过变量名找到相应的内存地址,从其存储单元中读取数据。
3.4 基本类型
1、整形数据在内存中的存放,是以补码形式存放的。
2、实型数据:单精度 双精度。 在内存中以指数形势存放。
若数据超过有效位,则超过C语言规定有效位的数据将被舍去,故产生误差。
3、字符型数据:用一个字节存储单元存储。即将字符的ASCII码存储到内存单元中。
用单引号括起来的一个字符。
转义字符——特殊字符常量或者控制字符常量,它们都以“”开头。 Char、unsigned char区别:char用7位数表示,最大表示编码为127的字符;unsigned char用8位数表示,最大表示编码为255的字符。 字符数据与整型数据可以相互赋值。
字符数据可以以字符数据输出,也可以以整型数据形式输出。
4、字符串常量:C语言中,必须是用字符数组来保存字符串常量。在内存中顺序存储。
用一对双引号括起来的字符序列。
(2)一般把建立存储空间的声明称为变量定义,把不需要建立存储空间的声明成为变量声明。
3.6 不同类型数据间的混合运算
不同类型数据进行混合运算时,不同类型的数据要先转换成同一类型,按照类型级别由低到高(char,short—int——unsigned—long—double;float—double)的顺序进行转换。
强制类型转换——(类型名)表达式。强制类型转换也就是将存储数据的内存单元强制转换为另一种数据类型的单元大小。即强制将存放数据的内存单元改变。
赋值时进行类型转换:将数据复制给变量时,将会将数据强制转换为要赋值变量的类型。一般短类型转换为长类型时,进行符号扩展;长类型转换为短类型时,仅赋值低位,难以保证数据的正确性。
3.7 函数的调用过程(补充)
C函数其实就是一个程序模块。
C函数在编译时,单独编译成一个指令模块,在函数模块开始处定义保护现场指令,将用到的CPU寄存器压入堆栈。在返回时定义了恢复现场指令,将堆栈数据恢复到CPU寄存器。
在调用函数时,一般利用堆栈传递输入参数;利用EAX传递输出参数,注意在函数调用完成后,要维持堆栈平衡,且函数返回输出参数在EAX中,在使用输出参数前,不要改变EAX的值。
第四章 最简单的C程序设计——顺序程序设计77 4.1 字符数据的输入输出
1、C语言没有输入输出语句,IO操作通过调用系统函数实现。
2、在程序的开头,要有:#include “stdio.h”或 #include
stdio.h 输入输出语句
2、数组——数组必须先定义后引用。静态数组变量定义时编译器自动初始化数据元素为0,动态数组变量在程序执行时分配存储空间,在未被赋值初始化之前其值随机。
3、C语言只能逐个引用数组元素,不能一次引用整个数组。
4、数组引用是“数组名+下标”引用,数组下标均为整数。如a[2]。
7.3 二维数组
1、数组元素为数组。
2、在内存中,C语言的二维数组中数组元素的存放顺序是按行存放的。
3、二维数组引用是“数组名+下标+下标”。如a[1][2]。
7.4 字符串——字符数组
1、一般用 来标识字符串结尾。 占用一个字符变量空间。
2、用字符串赋值字符数组时,C编译器在字符串后自动加 赋给字符数字。
3、字符数组可以一次引用整个字符串数组。如整个字符串(数组)的输入输出,用%s格式,且在输入字符数组时,用数组名代表数组的首地址,对于二维数组,仅仅写行下标不写列下标,也可以代表给行数组的首地址。
在用%s输入输出字符串数组时,遇到 结束。
7.5 字符串处理函数 #include
1、gets(字符数组名)
从键盘输入一个字符串(以回车结束),并返回字符数组的起始地址。如get(str)。
2、puts(字符数组名/字符串)
将数组中的字符串( 结尾的字符序列)输出到终端上,输完换行。如puts(str),puts(“ok”)。
3、strcpy(目的字符数组1名,源字符串/字符数组2名)拷贝时,将“ ”一起拷贝过去。
4、strcat(字符数组1名,字符串/字符数组2名)将字符串/字符数组2连接到字符数组1中。
在某个复合语句中定义的变量。
2、全局变量——在函数之外定义的变量。有效范围是从定义变量的位置开始到源文件结束。
8.4 变量的存储类别
变量的存储类别,即生存期。内存中供用户使用的存储空间包括:程序区、静态存储区、动态存储区。
1、静态存储区——在编译时分配空间,在程序运行完后才释放存储空间。存储静态局部变量和全局变量。
局部静态变量在编译时赋初值,在执行时可改变该值,但该存储空间一直保存到程序结束。
定义局部静态变量,如果没有赋初值,编译时会自动赋默认初值。 局部静态变量只能在定义它的函数中使用。 全局变量都是静态的。
利用extern 外部变量方式表示变量的定义在别的文件中,提示编译器遇到此变量时,在其他模块中寻找其定义。而函数则是利用函数原型来声明。 用static 关键字说明一个不能在其他源文件中引用的全局变量。即静态全局变量在声明它的整个文件都是可见的,但是在文件之外是不可见的。
2、动态存储区——仅在在执行时分配空间,用完后释放存储空间。存放自动变量和形式参数。
寄存器变量——用register关键字说明。寄存器变量对寄存器的占用是动态的。
第九章 预处理命令197 9.1 预编译命令作用
预编译命令主要完成宏定义、文件包含、条件编译三种功能。
1、宏定义——指用一个指定的标识符(名字)来代表一个字符串。在预编译时,将宏名替代成字符串的过程称为宏展开。如:
# define PI 3.1415926 定义宏, # undef PI
终止宏定义的作用域。
#define V(a,b,c)a*b*c 定义带参数的宏。当宏展开时,将引用宏名语句中的实参字符串代替宏定义的形参字符串。int v =V(2,3,4)则宏展开后为:int v= 2*3*4;
2、文件包含——指一个源文件可以将另一个源文件的全部内容包含进来。如: #include “文件名”或
#include <文件名> 编译预处理时,将包含文件的全部内容复制到源文件中。在编译时作为一个源程序来编译。
3、条件编译——在预编译处理时,确定编译时要编译的部分。如:
0
而数组名的值不可以改变。
6、函数的指针专门用来存放函数的入口地址,当把函数的地址赋值给它时,它就指向该函数的入口地址。
声明格式:数据类型(*指针变量名)()如:int(*P)();
赋值格式:p=max; 注max为定义的函数名;函数名代表该函数的入口地址。引用格式:c=(*p)(a,b);等价——c=max(a,b);
7、只能将变量已分配的地址赋值给指针变量,不能直接将整数赋值给指针变量。
8、指针变量可以有null值,防止指针误作用。
第十一章 结构体270 11.1 结构体270
1、作用——将不同类型的数据组合成一个有机的整体。
2、结构体的定义——结构体是一种数据结构,按照某种规则定义,将若干个不同数据类型(也可相同)的数据项的组合成的一个有机整体。
3、声明结构体类型的形式:struct 结构体类型名字 {成员列表}; 成员列表形式:类型符 成员名
如:int num;
11.2 声明结构体类型变量的方法271
1、先定义结构体类型:struct 结构体类型名字 {成员列表};再定义结构体变量:struct结构体类型名字 结构体变量名。
2、可在定义结构体类型时,定义结构体类型变量。struct 结构体类型名字 {成员列表}结构体类型变量1,结构体类型变量2,„„;
11.3 结构体变量引用273
1、不能将一个结构体变量作为一个整体进行输入输出,只能对结构体变量成员分别赋值。
2、结构体变量成员引用方式:结构体变量名.成员名
3、如果结构体变量成员是另一个结构体变量,则要用若干个成员运算符,一级一级找到最低一级的成员。
11.8 共用体 297
1、共用体指将几种不同类型的变量存储在同一段内存单元中。
2、共用体变量的存储单元大小等于最长成员变量所占内存的长度
3、共用体变量中起作用的是最后一次存放成员。
4、共用体类型声明方式:union 公用体类型名称 {成员变量列表};
5、共用体变量声明方式:(1)union 公用体类型名称 {成员列表}共用体变量;(2)先声明共用体类型,然后声明共用体变量,union 公用体类型名称 共用体变量。
11.9 枚举类型301
1、枚举类型——指将变量的值一一列举出来,变量的值只限于列举出来的值的范围内的一个。
2、声明枚举类型:enum 枚举类型名称 {枚举常量列表};
3、声明枚举变量:enum 枚举类型名称 枚举类型变量;
普通文件——指磁盘文件。
2、从操作系统的角度看:每一个与主机相关联的输入输出设备都可看作一个文件。
(1)根据文件的组织形式分为:顺序存取文件 和 随机存取文件。(2)根据文件的存储形式分为:ASCII文件 和 二进制文件。
13.3 C语言对文件的处理方法319 C语言中对文件的存取是以字符(字节)为单位的,一个输入输出流就是一个字节流或二进制流。
文件的存储方式分为缓冲文件系统和非缓冲文件系统。区别是缓冲文件系统是系统自动开辟缓冲区,非缓冲文件系统是由程序为每个文件设定缓冲区。
ANSI C标准只采用 缓冲文件系统 来处理文件。
13.4 文件结构体类型321 缓冲文件系统中,每个被使用的文件都在内存中开辟一个FILE结构体类型的区,用来存放文件的有关信息(文件名字、文件状态、当前位置、缓冲区等有关信息),FILE结构体类型原型: typedef struct{
short level;
/*缓冲区“满”或“空”的程度*/
unsigned flags;/*文件状态标志*/
char fd;
/*文件描述符*/
unsigned char hold;/*如无缓冲区不读取字符*/
short bsize;
/*缓冲区的大小*/
unsigned char *buffer;/ *数据缓冲区的位置*/
unsigned char *curp;/*指针,当前的指向*/
unsigned istemp;/*临时文件,指示器*/
short token;/*用于有效性检查*/}FILE;
13.5 文件结构体数组和指针321 FILE *fp——声明了一个指向FILE类型结构体的指针变量。
buffer:是一个指针。对fread 来说,它是读入数据的存放地址。对fwrite来说,是要输出数据的地址(均指起始地址)。
size:
要读写的字节数。
count: 要进行读写多少个size字节的数据项。fp:
文件型指针。
6、格式化读写函数:
fprintf(文件指针,格式字符串,输出表列); fscanf(文件指针,格式字符串,输入表列);
注意:
用fprintf和fscanf函数对磁盘文件读写,使用方便,容易理解,但由于在输入时要将ASCII码转换为二进制形式,在输出时又要将二进制形式转换成字符,花费时间比较多。因此,在内存与磁盘频繁交换数据的情况下,最好不用fprintf和fscanf函数,而用fread和fwrite函数。
7、以“字”或者整数为单位读写函数: putw(int i,FILE * fp); int i = getw(FILE * fp);
8、以“字符串”为单位读写文件的函数:
fgets(str,n,fp);从fp指向的文件读出n-1个字符,在最后加一个’ ’。返回值:str的首地址。如果遇到EOF则读入结束。
fputs(“china”,fp);把字符串写入到fp指向的文件。第一个参数可以是字符串常量、字符数组名或字符型指针。字符串末尾的′\0′不输出。
13.7 文件的定位333
1、将文件当前的位置指针重新返回到文件的开头位置:无返回值。 rewind(fp);执行后,将文件的位置指针重新定位到文件的开头。
2、随机读写:改变文件的位置指针,一般用于二进制文件。 fseek(文件类型指针,位移量,起始点);无返回值。起始点:文件开头
SEEK_SET
0
文件当前位置
SEEK_CUR
文件末尾
SEEK_END
putw()把一个字输出到指定文件
fread()从指定文件中读取数据项
fwrite()把数据项写到指定文件中
fscanf()从指定文件按格式输入数据
fprintf()按指定格式将数据写到指定文件中
第十四章 C++对C的扩充 338 14.1 C++的特点338
1、C++保留了C语言原有的所有优点,增加了面向对象的机制。
2、C++源文件以.cpp为后缀。
3、除了可以用 /*……*/ 形式的注释行外,还允许使用以// 开头的单行注释。
4、除了可以用printf函数输出信息外,还可以用cout进行输出。cout的作用是将<<运算符右侧的内容送到输出设备中输出。使用cout需要用到头文件iostream.h,在程序的第一行用#include命令将该头文件“包含”进来。
cout <<“ This is a c++ program.n” ;
14.2 C++的输入输出 339 C++为了方便使用,除了可以利用printf和scanf函数进行输出和输入外,还增加了标准输入输出流cout和cin。cout是由c和out两个单词组成的,代表C++的输出流,cin是由c和in两个单词组成的,代表C++的输入流。它们是在头文件iostream.h中定义的。在键盘和显示器上的输入输出称为标准输入输出,标准流是不需要打开和关闭文件即可直接操作的流式文件。
14.3 C++的输出cout
1、cout必须和输出运算符<<一起使用。<< 在这里不作为位运算的左移运算符,而是起插入的作用,例如:cout<<“Hello!n”;的作用是将字符串“Hello!n” 插入到输出流cout中,也就是输出在标准输出设备上。
2、也可以不用n控制换行,在头文件iostream.h中定义了控制符endl代表回车换行操作,作用与n相同。endl的含义是end of line,表示结束一行。
0
存。在C++中,这种输入操作称为“提取”(extracting)或“得到”(getting)。>> 常称为“提取运算符”。
2、cin要与 >> 配合使用。例如:
3、C++为流输入输出提供了格式控制,如:dec(用十进制形式),hex(用十六进制形式),oct(用八进制形式),还可以控制实数的输出精度等。
14.5 函数的重载342
1、C++允许在同一作用域中用同一函数名定义多个函数,这些函数的参数个数和参数类型不同,而且函数类型也可不同,这就是函数的重载,即一个函数名多用。
2、系统会根据参数的类型和个数找到与之匹配的函数,并调用不同的函数。
14.6 带缺省参数的函数344 C++允许实参个数与形参个数不同。办法是在形参表列中对一个或几个形参指定缺省值(或称默认值)。
例如某一函数的首部可用如下形式:
void fun(int a,int b,int c=100)在调用此函数时如写成fun(2,4,6),则形参a,b,c的值分别为2,4,6(这是与过去一样的)。如果写成fun(2,4),即少写了最后一个参数,由于在函数定义时已指定了c的缺省值为100,因此a,b,c的值分别为2,4,100。请注意:赋予缺省值的参数必须放在形参表列中的最右端。例如:
void f1(float a,int b,int c=0,char d=′a′)(正确)void f2(float a,int c=0,char d=′a′,int b)
(不正确)注意:不要同时使用重载函数和缺省参数的函数,因为当调用函数时少写一个参数,系统无法判定是利用重载函数还是利用缺省参数的函数,会发生错误。
14.7 变量的引用类型345
1、“引用”(reference)是C++的一种新的变量类型,是对C的一个重要扩充。它的作用是为一个变量起一个别名。
2、假如有一个变量a,想给它起一个别名b,可以这样写:
int a;
实参把变量名传给形参。i的名字传给引用变量a,这样a就成了i的别名。同理,b成为j的别名。a和i代表同一个变量,b和j代表同一个变量。在swap函数中使a和b的值对换,显然,i和j的值同时改变了。
当读者看到&a这样的形式时,怎样区别是声明引用变量还是取地址的操作呢?请记住,当&a的前面有类型符时(如int &a),它必然是对引用的声明;如果前面无类型符(如&a),则是取变量的地址。
14.8 内置函数 348 调用函数时需要一定的时间,如果有的函数需要频繁使用,则所用时间会很长,从而降低程序的执行效率。C++提供一种提高效率的方法,即在编译时将所调用函数的代码嵌入到主调函数中。这种嵌入到主调函数中的函数称为内置函数(inline function),又称内嵌函数。
例如:
#include
{ if(b>a)a=b;if(c>a)a=c;return a;} void main(){int i=7,j=10,k=25,m;m=max(i,j,k);cout<<“max=”< 14.9 作用域运算符349 1、作用域运算符∷,∷aa表示全局作用域中的变量。 2、不能用∷ 访问函数中的局部变量。 425-