版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章C简单程序设计,清华大学李征,目录,2.1 C语言概述,2.2基本数据类型和表达式,2.3数据输入和输出,2.4基本控制结构,2.5算法,2.6自定义数据类型,2.7深度探索总结,2,2.1.1 C,C从C语言演变而来,首先介绍了一个更好的C类机制。起初,c被称为“c与类”。从1989年开始,c语言的标准化工作开始了。1994年,ANSI C标准草案被制定,并于1998年11月被国际标准化组织批准为国际标准。2.1.2 C的特性与C兼容,保持了C的简单、高效、接近汇编语言的特点,并对C的类型系统进行了改造和扩展,同时C还支持面向过程的编程,这不是一种纯面向对象的语言,支持面向对象的方法。
2、4.2.1c语言概述,2.1.3 C程序示例2-1,5.2.1c语言概述,/2 _ int main() cout Hello!endl欢迎来到c!endl返回0;运行结果:你好!欢迎来到c!2.1.4 C字符集,大小写英文字母:az,AZ数字字符:09特殊字符:#%。()、6,2.1 C语言概述、2.1.5词法符号、关键字C预定义词标识符程序员声明词,它命名程序体中的一些实体词,并直接使用程序中的符号数据操作符来实现各种操作()、空格、制表符(由制表符生成的字符)、竖线制表符、换行符、回车符和用于分隔每个词法标记或程序体的注释的通称,7,2.1 C语言概述,标识符形成规则,以大写字母、小写字
3、母或下划线(_)开始。它可以由大写字母、小写字母、下划线(_)或数字09组成。大写字母和小写字母代表不同的标识符。2.1.5词法符号、2.2.1基本数据类型、9.2.2基本数据类型和表达式以及2.2.2常量。所谓常量是指程序运行全过程中不变的值,即直接用符号(词)表示的值。例如,12、3.5和a都是常数。10、2.2基本数据类型和表达式、整数常数、文字形式的整数,包括正整数、负整数和零。十进制形式:几个09的数字与几个09的数字相加,但数字部分不能以0开始,正数前的正号可以省略。八进制形式:从0开始,几个数字为07,十六进制形式:从0开始,几个数字为09,字母为AF(大写和小写)。由于八进制和
4、十六进制形式的整数常量通常用于表示无符号整数,因此它们不应以符号开头。后缀字母l(或l)是一个长整数,后缀字母U(无符号)(或U)表示无符号类型,或者它可以以l和U作为后缀(不考虑大小写)。11,2.2基本数据类型和表达式2.2.2常量、实数常量、文字形式的实数。一般形式:例如,12.5,-12.5等。指数形式:例如,0.345E 2,-34.4E 3字母e可以是大写或小写。整数部分和小数部分之一可以省略。默认情况下,实际常数是两倍。如果后缀f(或f)可以使它浮动,例如:12.3f,12,2.2基本数据类型和表达式2.2.2整数和实数类型的常量示例,13,2.2基本数据类型和表达式2.2.2常
5、量,#包括使用命名空间标准;int main()常量int PRICE=30整数,总计;双v、r、h;num=10total=num * PRICEcout总计endlr=2.5h=3.2v=3.14159 * r * r * h;cout v endl返回0;字符常量,用单引号括起来的字符,如:a、D、$ C转义字符列表,14,2.2基本数据类型和表达式2.2.2常量,2.2.3变量,变量的声明和定义声明语句如下:数据类型变量名1,变量名2,变量名n;在定义一个变量时,你也可以给它分配一个初始值,例如:int a=3;变量auto的存储类型:内存空间由堆栈分配,属于临时存储,其存储空间可以被
6、多个变量多次覆盖和使用。寄存器:存储在(通用寄存器?)。外部:它可以在所有函数和程序段中引用。静态:它存储在内存中的固定地址,在整个程序运行期间有效。15,2.2基本数据类型和表达式,2.2.4符号常量,声明时必须分配初始值,但它们的值不能在程序中间更改。常量数据类型描述符常量名称=常量值;或者:数据类型说明符常量常量名称=常量值;示例:常量浮点PI=3.1415926;16,2.2基本数据类型和表达式,算术运算符和算术表达式,基本算术运算符-*/(如果整数被除,结果被舍入)%(如果取余数,操作数是整数)优先级和组合首先被乘和除,然后被加和减,相同的级别是从左到右。-(自增自减)例:一;-j;
7、17,2.2基本数据类型和表达式2.2.5运算符和表达式,赋值运算符和赋值表达式简单赋值运算符=,例如,n=n 5表达式类型赋值运算符左对象类型表达式值赋值运算符左对象赋值后,18,2.2基本数据类型和表达式2.2.5运算符和表达式,有10种复合运算符:=,-=,*=,/=,%=,=,25,2.2基本数据类型和表达式2.2.5运算符和表达式,条件运算符和条件表达式(续注意:条件运算符的优先级高于赋值运算符,而低于逻辑运算符的表达式2和3可以有不同的类型。条件表达式的最终类型是2和3中的较高者。例如:x=a b?a : b;26、2.2基本数据类型和表达式2.2.5运算符和表达式、sizeof运
8、算符、语法形式sizeof(类型名称)或sizeof表达式结果值:由“类型名称”指定的类型或“表达式”的结果类型占用的字节数。示例:sizeof(short) sizeof x,27,2.2基本数据类型和表达式2.2.5运算符和表达式,按位“与”(,29,2.2基本数据类型和表达式2.2.5运算符和表达式,按位“异或”(),运算规则异或的两个操作数:如果对应的位相同,结果是该位为0。结果显示该位为1,例如:计算071052 0713360 0011001 052:()001010101012 按位异或()(续),目的:翻转一个特定的位(异或为0时保持其原始值,异或为1时取反)。 例如,要翻转0
9、1111010的低四位:0.1111010()、0.000111.1011.110101、31、2.2基本数据类型和表达式2.2.5运算符和表达式,位操作否定(),单目运算符,示例:025:0000000001010101 025:111111101010,32,2.2基本数据类型和表达式2.2.5运算符和表达式,位移位,右移位后的左移位操作(),低位:丢弃高位:无符号数:补0有符号数:补“,=位操作插入/提取操作表达式语句cout y;39,2.2基本数据类型和表达式2.2.6语句、复合语句和多个语句由一对大括号括起来,形成复合语句,如sum=sum I;I .40,2.2基本数据类型和表达
10、式2.2.6语句,2.3.1输入/输出流,在C语言中,从一个对象到另一个对象的数据流被抽象为“流”。流应该在使用前创建,使用后删除。从流中获取数据的操作称为提取操作,向流中添加数据的操作称为插入操作。数据的输入输出通过输入输出流实现,cin和库特是预定义的流类对象。Cin用于处理标准输入,即键盘输入。Cout用于处理标准输出,即屏幕输出。41,2.3数据输入和输出,2.3.2预定义的插入器和提取器,“表达式表达式.在一个输入语句中,提取器可以连续写几次,每次都跟在表达式后面,表达式通常是一个用来存储输入值的变量。例如:int a,b;CIN a b;42,2.3数据输入和输出,2.3.3简单输
11、入/输出格式控制,43,2.3数据输入和输出,常用输入/输出流类库运算符,例如: coutsetw (5)设置精度(3)3.1415;/2 _ 2 . CPP #包含使用命名空间stdint main()整数年;布尔岛;cout年;is layear=(year % 4=0,44,2.4)算法的基本控制结构,示例2-2,输入一年来判断是否是闰年,2.4.1使用if语句实现选择结构,If语句的语法形式,if (expression)语句示例:If(x y)cout y)cout x;否则你会。If(表达式1)语句1else if(表达式2)语句2else if(表达式3)语句3 else语句n,
12、45,2.4算法的基本控制结构2.4.1用if语句实现选择结构,2.4.2嵌套if结构具有多个选择结构,46,2.4算法的基本控制结构#包括使用命名空间标准;int main() int x,y;cout x y;if (x!=y)?if(x y)cout y endl;else cout x y endlelse cout x=y endl返回0;示例2-3:输入两个整数,并比较这两个数字的大小。示例2-3(续),47,2.4算法2.4.2多重选择结构的基本控制结构,运行结果1:输入x和y:5 8 x y,嵌套if结构(续),语法形式if() if()语句1 else语句2 else if()语句3 else语句4注意语句1,2,3,48,2.4算法的基本控制结构2.4.2多重选择结构,切换语句,示例2-4:输入06的整数并将其转换为每周输出。49,2.4基本控制结构2.4.2多重选择结构,50,2.4基本控制结构2.4.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年山东省德州市宁津县八年级下册期末质量检测数学试题 含答案
- 2026年广东省台山市高二生物下册期末考试测试卷【研优卷】附答案
- 2026年河南省林州市高二生物下册期末考试考试卷及参考答案【达标题】
- 2026年山西省高平市高二生物下册期末考试考试卷及完整答案【易错题】
- 2025年黑龙江省虎林市高二生物下册期末考试模拟卷及参考答案(满分必刷)
- 2026年河南省辉县市高二生物下册期末考试试卷AB卷附答案
- 2025年黑龙江省铁力市高二生物下册期末考试模拟卷有答案
- 2025年浙江省慈溪市高二生物下册期末考试测试卷含答案【典型题】
- 2025年浙江省东阳市高二生物下册期末考试检测卷含答案(突破训练)
- 2026年湖北省潜江市高二生物下册期末考试模拟卷附参考答案(达标题)
- T/CEPPEA 5029-2023电力建设工程地质灾害危险性评估技术要求
- 深圳市《房屋市政工程生产安全重大事故隐患检查手册(2024版)》
- 铁路机车整备管理制度
- 伺服控制器说明书-图文
- 乡愁朗诵课件
- 河南科技大学《电动力学》2021-2022学年期末试卷
- 大学学院资产管理与招标采购应知应会手册
- 西班牙社会与文化智慧树知到期末考试答案章节答案2024年天津外国语大学
- 五年级沪教版语文下册课外知识阅读理解专项习题含答案
- 植物微生物组的系统生物学探究
- 森林消防员劳务派遣服务投标方案技术标
评论
0/150
提交评论