版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,C语言程序设计,主讲:闫雒恒,2,程序的概念,程序:是按某种顺序排列的,使计算机能执行某种任务的指令集合。 程序=算法+数据结构 程序设计语言:编写计算机程序所用的语言,程序设计语言按语言的级别可分为低级语言和高级语言。 常见高级语言:BASIC 、FORTRAN、 PASCAL、C、C+、JAVA等。,3,第2章 数据类型、运算符和表达式,4,2.1:一个简单的C程序例子,#include /*函数功能:计算两个整数相加之和 入口参数:整型数据a和b 返回值: 整型数a和b之和 */ int Add(int a, int b) return (a + b); /*主函数*/ main()
2、 int x, y, sum = 0; printf(Input two integers:); scanf(%d%d, /*输出x和y相加之和*/ ,并列的两个函数 其中一个是 程序的入口,程序注释,5,说明,1. C程序由函数构成。 2. 一个C程序有且只有一个main函数,但可有多个自定义函数。 3. C程序总是从main函数开始执行 4. 每个C语句均以分号结束。 5. 养成良好的程序书写风格。 如:一行一条语句 在适当的位置加注释 /* */,6,2.2 C程序常见符号分类,关键字(Keyword) 又称为保留字,C语言中预先规定的具有固定含义的一些单词 数据类型修饰符int,控制语
3、句return等 标识符(Identifier) 系统预定义标识符,main,printf 等 用户自定义标识符,Add, x, y 等 运算符(Operator) 34种,详见附录2 分隔符(Separator) 空格、回车/换行、逗号等 其它符号 大花括号“”和“”通常用于标识函数体或者一个语句块 “/*”和“*/”是程序注释所需的定界符 数据(Data) 变量(Variable) 常量(Constant),7,2.3 数据类型,2.3.1 引入数据类型的目的 便于对数据按不同方式和要求进行处理 不同类型的数据代表不同的 数据表示形式 合法的取值范围 占用内存空间大小 可参与的运算种类,8
4、,9,2.3.3 类型修饰符,short short int,短整数,一般2个字节长。 通常简写为short long long int,长整数,一般是4个字节长。通常简写为long long double,长双精度(高精度)浮点数,一般是10个字节长。 signed 用来修饰char、int、short和long unsigned 用来修饰char、int、short和long,10,2.3.4 标识符命名,是由字母、下划线和数字三种字符组成; 第一个字符必须为字母或下划线; 不允许与关键字重名; C区分大小写。,例: a3B _b +a b? Int,11,2.4 常量,C程序中数据以常量
5、和变量形式表示,定义:程序执行过程中值不发生改变的数据,12,C语言中可以用3种数制表示整型常量 (1)十进制整型常量。 (2)十六进制整型常量。(以0 x开头) 例:0 x123 (3)八进制整型常量。 (以0开头) 例:0123,如果在整型常量加上后缀L或l表示该常量为长整型常量,加上后缀U或u表示无符号整型常量。 例:123l,2.4.1 整型常量,例: -18 0789 0 x1f,13,2.4.2 实型常量,(1)小数表示法 : 例:-2.5、3.0、4.、.34,(2)科学计数法 : 例:-2.510-3 -2.5E-3 注意字母e(或E)之前必须有数字,且e后面指数必须为整数 例
6、: 1103 E3 1E3.0 1E3,只能用十进制表示。,14,2.4.3 字符常量,以单引号括起来的单个字符 A 1 特殊字符常量: n 换行 r 回车 b 退格 t 制表(横向跳格) 单引号(单撇号) 双引号(双撇号) ddd 13位八进制数所代表的ASCII码字符 xhh 12位十六进制数所代表的ASCII码字符 f 走纸换页 反斜杠字符,例: 101 x41 A,15,2.4.4 字符串常量,由一对双引号括起来(“”)的字符序列。 例: “Welcome” “HELLO” 说明: (1)字符序列中的字符个数称字符串长度。 例:课后P47,4 (2)“”称为空串,即字符串长度为0。 (
7、3)字符串常量中的字符是连续存储的,并在最后自动加上字符0作为字符串结束标志。,16,2.4.5 符号常量(宏常量),定义:用一个标识符代表一个常量。 #include #define PI 3.1415926 void main( ) float s,r,l; r=10.0; l=2.*PI*r; s=PI*r*r; printf(l=%f s=%fn,l,s); printf(PI=%fn,PI); 课本 P25 中常见错误,#define 标识符 字符串,17,2.4.6 枚举常量,当某些量仅由有限个数值组成时,可用枚举类型表示。 枚举类型定义: enum 枚举标记枚举常量1,枚举常量n
8、; 例: enum weeks SUN, MON, TUE, WED, THU, FRI, SAT; enum weeks today; 说明: 中的每个符号代表一个整数值,而不是字符串;,18,2.5 变量,定义:随着程序的执行,值会发生改变的量。 变量的本质:定义一个变量就是在内存开辟若干内存单元,用来存放相应类型数据。 变量的属性三要素:变量名,变量的地址 ,变量的值。 变量使用原则: “先定义,后使用”,19,2.5.1 变量声明与初始化,一般语法: 类型关键字 变量名1,变量名2,变量名n; 整型:int 实型: 单精度 float 双精度 double 字符型: char 例:,2
9、0,变量的初始化:在定义变量的同时为其赋初值。 一般语法: 类型关键字 变量名1=常量1,变量名n=常量n; 例:,21,1 整型变量,用于存放整型数据的变量称为整型变量。 (1) 基本整型变量 int 变量表列; (2)长整型 long int 变量表列; (3)短整型 short int 变量表列; (4)无符号整型 unsigned int/long/short 变量表列; 例:,22,2 实型变量,用于存放实型数据的变量称为实型变量。 实型变量 单精度 7位有效数字 双精度 1516位有效数字 单精度变量的定义: float 变量表列; 例: float a1,a2; 双精度变量的定义
10、: double 变量表列; 例:double b1,b2;,23,char 变量表列; 例: char c1,c2; 说明: 字符变量存放的是字符的ASCII码,因此字符变量可以和整型变量通用 例: A+1 C-A 例2.4 e2_4.c 例2.5 e2_5.c,3 字符型变量,24,2.5.3 注意事项,1. 变量须 “先定义,后使用”; 2. int型变量默认为有符号整型变量; 3. 可用sizeof计算类型或变量所占内存的字节数。 sizeof(类型名) sizeof 变量名 例2.3 e2_3.c,25,4. 实型数据在内存中的存储方式,定点表示法:约定小数点隐含在某一固定位置上 浮
11、点表示法:小数点位置可以任意移动,N =M2J,数符,尾数,阶符,阶码,26,例: 256.8125 =(100000000.1101)B= 0.1000000001101 2 1001 0 0001001 0 1000000 00110100 00000000,5. float 提供7位有效数字 double 提供16位有效数字 例2.6:e2_6.c,27,2.6 运算符和表达式,程序的核心,处理,输入,输出,28,1.运算符的优先级 运算符的优先级是指不同的运算符在表达式中进行运算的先后次序。 例: a+b*c 2.运算符的结合性 当一个运算对象的两侧的运算符的优先级相同时,运算的结合方
12、向称为结合性。 自左向右: +、-、*、/ 自右向左:,2.6.1 运算符的优先级和结合性,29,基本算术运算符有: + - * / %: 求余 9%4 11%3 说明: (1)两个整型数据相除依然得整型数据; 例:5/3=1 2/3=0 (1/3)+(1/3)+(1/3) (2)求余运算只适用于整型数据,运算结果的符号与被除数的符号相同。 例: 13%-7 6 -13%7 -6 (3) 优先级: (4)结合性:自左至右,2.6.2 算术运算符及算术表达式,30,例:,31,C语言中的关系运算符共有六种,它们是: = b x=(y+z) m!=n p = = q 说明: (1)关系运算结果有两
13、个: “真” - 1 “假” - 0 例:int x =10,y=5; xy,2.6.3 关系运算,32,(2)C中,非零值表示“真”,零表示“假”。 例: 判断num是否为奇数 (3)优先级:前4个高于后2个 (4)结合性:自左至右 例: int i=1,j=2,k=3; i=kj 4j+k,33,2.6.4 逻辑运算,在C语言中,逻辑常量只有两种:值非零表示“真”,值为零表示“假”。其基本的逻辑运算符有以下3个: int m=1,n=1; (m=ab) x=10; y=x+5; 说明: (1)在C语言中,“”为赋值运算符,而不是等号; (2)赋值运算符“”左边必须是变量名,不能是表达式;
14、例: x+y=5;,38,(3)赋值运算符“”两端的类型不一致时,系统将表达式的类型自动转换为左侧变量的类型。 例:int k; k=3.5; (4)赋值表达式有值,可以进一步参与运算 例: i = 4+(j = 7) i = (j = 3)+(k = 8) (5)结合性:自右至左 ,当连续有多个赋值运算时,是从右至左逐个赋值 . 例: x=y=5; int x; double y; y=x=3.14;,39,C语言允许在赋值运算符之前加上其它运算符,构成复合 的赋值运算符 例: a=a+10 a+=10 x=x*(y+1) x*=y+1 常用复合赋值运算符 += -= *= /= %= 例:
15、 int a=1,b=2; a += a -= b + 2;,40,2.6.6 自增、自减运算,“+” 增1运算符 “-” 减1运算符 运算对象只能是整型或字符型变量 运算符可在运算对象前面: +n;-m; 运算符可在运算对象后面: n+; m-;,41,说明: (1)当增1运算符或减1 运算符位于运算对象之前时,表示在使用该运算对象之前使它的值先增1或减1,然后再使用它,即使用的是增1或减1后的值。(先自增,再使用) x=+n; n=n+1; x=n; (2)当增1运算符或减1 运算符位于运算对象之后时,表示在使用该运算对象之后才使它的值先增1或减1,即使用的是增1或减1前的值。(先使用,再
16、自增) x=n+; x=n; n=n+1;,42,#include void main( ) int a, b, c; b=5; c=5; a=+b+c-; printf(%d,%d,%dn, a, b, c); a=(b-)-c; printf(%d,%d,%dn, a, b, c); a=(-b+)+c; printf(%d,%d,%dn, a, b, c); ,(3)单目运算都是“右结合”的。 例: m=-n+;,43,2.6.7 强类型转换符,一般形式为: (类型名) 表达式 或 : (类型名) (表达式) 但: 类型名 (表达式) 例: (int)(x+y) 说明:强类型转换并不改变变量本身的值。 例: e2_7.c,44,2.6.8 位运算, !x, x|y, x a=2,a+=1,a+2 说明: (1)优先级:最低 例:x=3+4,5+7,10*4 x=(3+4,5+7,10*4) (2)结合性:自左至右,2.6.9 逗号运算符,47,整型、单精度、双精度及字符型数据可以进行混合运算。当表达式中的数据类型不一致时,首先转换为同一类型,然后再进行运算。C语言有两种方法实现类型转换:一是自动类型转换,另一是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 疼痛护理中的团队合作
- 泌尿系统常见疾病护理
- 2026年中小学校德育课程体系构建与实施方案
- 2026年培育“中国服务”品牌:服务业国家标准健全与品牌化路径
- 2026年麦迪科技603990与优必选合资康养陪伴机器人功能解析
- 2026年中小银行绿色金融债入局策略与差异化竞争路径
- 头颈部检查的解剖和方法
- 2026年网络安全防护意识
- 2026年施工安全标准化培训
- 美容护理中的职业规划与发展
- 2024年宜昌产投控股集团有限公司招聘笔试冲刺题(带答案解析)
- 货币资金的内部控制课件
- 初中英语单词实用趣味记忆法课件(PPT42张)
- GB/T 6892-2023一般工业用铝及铝合金挤压型材
- 银行保安服务方案(全套)
- 烹饪原料知识PPT完整全套教学课件
- 《小学生C++创意编程》第1单元课件 软件下载安装
- 汽车保险与理赔试卷
- 最科学养羊技术
- 优质课一等奖初中家庭教育《青少年成才优秀家庭教育案例:家庭春雨 润物无声》
- GB/T 17492-2019工业用金属丝编织网技术要求和检验
评论
0/150
提交评论