




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,C语言程序设计,主讲:皇甫中民,2,程序的概念,程序:是按某种顺序排列的,使计算机能执行某种任务的指令集合。程序=算法+数据结构程序设计语言:编写计算机程序所用的语言,程序设计语言按语言的级别可分为低级语言和高级语言。常见高级语言:BASIC、FORTRAN、PASCAL、C、C+、JAVA等。,3,第2章数据类型、运算符和表达式,4,2.1:一个简单的C程序例子,#include/*函数功能:计算两个整数相加之和入口参数:整型数据a和b返回值:整型数a和b之和*/intAdd(inta,intb)return(a+b);/*主函数*/main()intx,y,sum=0;printf(Inputtwointegers:);scanf(%d%d,/*输出x和y相加之和*/,并列的两个函数其中一个是程序的入口,程序注释,5,说明,1.C程序由函数构成。2.一个C程序有且只有一个main函数,但可有多个自定义函数。3.C程序总是从main函数开始执行4.每个C语句均以分号结束。5.养成良好的程序书写风格。如:一行一条语句在适当的位置加注释/*/,6,2.2C程序常见符号分类,关键字(Keyword)又称为保留字,C语言中预先规定的具有固定含义的一些单词数据类型修饰符int,控制语句return等标识符(Identifier)系统预定义标识符,main,printf等用户自定义标识符,Add,x,y等运算符(Operator)34种,详见附录2分隔符(Separator)空格、回车/换行、逗号等其它符号大花括号“”和“”通常用于标识函数体或者一个语句块“/*”和“*/”是程序注释所需的定界符数据(Data)变量(Variable)常量(Constant),7,2.3数据类型,2.3.1引入数据类型的目的便于对数据按不同方式和要求进行处理不同类型的数据代表不同的数据表示形式合法的取值范围占用内存空间大小可参与的运算种类,8,9,2.3.3类型修饰符,shortshortint,短整数,一般2个字节长。通常简写为shortlonglongint,长整数,一般是4个字节长。通常简写为longlongdouble,长双精度(高精度)浮点数,一般是10个字节长。signed用来修饰char、int、short和long,unsigned用来修饰char、int、short和long,10,2.3.4标识符命名,是由字母、下划线和数字三种字符组成;第一个字符必须为字母或下划线;不允许与关键字重名;C区分大小写。,例:a3B_b+ab?Int,11,2.4常量,C程序中数据以常量和变量形式表示,定义:程序执行过程中值不发生改变的数据,12,C语言中可以用3种数制表示整型常量(1)十进制整型常量。(2)十六进制整型常量。(以0 x开头)例:0 x123(3)八进制整型常量。(以0开头)例:0123,如果在整型常量加上后缀L或l表示该常量为长整型常量,加上后缀U或u表示无符号整型常量。例:123l,2.4.1整型常量,例:-1807890 x1f,13,2.4.2实型常量,(1)小数表示法:例:-2.5、3.0、4.、.34,(2)科学计数法:例:-2.510-3-2.5E-3注意字母e(或E)之前必须有数字,且e后面指数必须为整数例:1103E31E3.01E3,只能用十进制表示。,14,2.4.3字符常量,以单引号括起来的单个字符A1特殊字符常量:n换行r回车b退格t制表(横向跳格)单引号(单撇号)双引号(双撇号)ddd13位八进制数所代表的ASCII码字符xhh12位十六进制数所代表的ASCII码字符f走纸换页反斜杠字符,例:101x41A,15,2.4.4字符串常量,由一对双引号括起来(“”)的字符序列。例:“Welcome”“HELLO”说明:(1)字符序列中的字符个数称字符串长度。例:课后P47,4(2)“”称为空串,即字符串长度为0。(3)字符串常量中的字符是连续存储的,并在最后自动加上字符0作为字符串结束标志。,16,2.4.5符号常量(宏常量),定义:用一个标识符代表一个常量。#include#definePI3.1415926voidmain()floats,r,l;r=10.0;l=2*PI*r;s=PI*r*r;printf(l=%fs=%fn,l,s);printf(PI=%fn,PI);,#define标识符字符串,17,2.4.6枚举常量,当某些量仅由有限个数值组成时,可用枚举类型表示。枚举类型定义:enum枚举标记枚举常量1,枚举常量n;例:enumweeksSUN,MON,TUE,WED,THU,FRI,SAT;enumweekstoday;说明:中的每个符号代表一个整数值,而不是字符串;,18,2.5变量,定义:随着程序的执行,值会发生改变的量。变量的本质:定义一个变量就是在内存开辟若干字节内存单元,用来存放相应类型数据。变量使用原则:“先定义,后使用”,19,2.5.1变量声明与初始化,一般语法:类型关键字变量名1,变量名2,变量名n;整型:int实型:单精度float双精度double字符型:char例:,20,变量的初始化:在定义变量的同时为其赋初值。一般语法:类型关键字变量名1=常量1,变量名n=常量n;例:,21,2.5.3注意事项,1.变量须“先定义,后使用”;2.可用sizeof计算类型或变量所占内存的字节数。sizeof(类型名)sizeof变量名例2.3e2_3.c3.字符变量存放的是字符的ASCII码,因此255范围内的字符数据可以和整型数据通用例:A+1C-A例2.4e2_4.c例2.5e2_5.c,22,2.6运算符和表达式,程序的核心,处理,输入,输出,23,1.运算符的优先级运算符的优先级是指不同的运算符在表达式中进行运算的先后次序。例:a+b*c2.运算符的结合性当一个运算对象的两侧的运算符的优先级相同时,运算的结合方向称为结合性。自左向右:+、-、*、/自右向左:,2.6.1运算符的优先级和结合性,24,基本算术运算符有:+-*/%:求余9%411%3说明:(1)两个整型数据相除依然得整型数据;例:5/3=12/3=0(1/3)+(1/3)+(1/3)(2)求余运算只适用于整型数据,运算结果的符号与被除数的符号相同。例:13%-76-13%7-6(3)优先级:(4)结合性:自左至右,2.6.2算术运算符及算术表达式,25,例:,26,C语言中的关系运算符共有六种,它们是:=bxb)x=10;y=x+5;说明:(1)在C语言中,“”为赋值运算符,而不是“等号”;(2)赋值运算符“”左边必须是变量名,不能是表达式;例:x+y=5;,33,(3)赋值运算符“”两端的类型不一致时,系统将表达式的类型自动转换为左侧变量的类型。例:intk;k=3.5;(4)赋值表达式有值,可以进一步参与运算例:i=4+(j=7)i=(j=3)+(k=8)(5)结合性:自右至左,当连续有多个赋值运算时,是从右至左逐个赋值.例:x=y=5;intx;doubley;y=x=3.14;,34,C语言允许在赋值运算符之前加上其它运算符,构成复合赋值运算符例:a=a+10a+=10 x=x*(y+1)x*=y+1常用复合赋值运算符+=-=*=/=%=例:inta=1,b=2;a+=a-=b+2;,35,2.6.6自增、自减运算,“+”增1运算符“-”减1运算符运算对象只能是整型或字符型变量运算符可在运算对象前面:+n;-m;运算符可在运算对象后面:n+;m-;,36,说明:(1)+、-位于运算对象之前:在使用该运算对象之前使它的值先增1或减1,然后再使用它,即使用的是增1或减1后的值。(先自增,再使用)x=+n;n=n+1;x=n;(2)+、-位于运算对象之后:在使用该运算对象之后才使它的值先增1或减1,即使用的是增1或减1前的值。(先使用,再自增)x=n+;x=n;n=n+1;,37,#includevoidmain()inta,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+;,38,2.6.7强类型转换符,一般形式为:(类型名)表达式或:(类型名)(表达式)但:类型名(表达式)例:(int)(x+y)说明:强类型转换并不改变变量本身的值。例:e2_7.c,39,2.6.8位运算,!x,x|y,xa=2,a+=1,a+2说明:(1)优先级:最低例:x=3+4,5+7,10*4x=(3+4,5+7,10*4)(2)结合性:自左至右,2.6.9逗号运算符,42,当表达式中的数据类型不一致时,首先转换为同一类型,然后再进行运算。C语言有两种方法实现类型转换:一是自动类型转换,另一是强制类型转换。,2.7类型转换,1.自动类型转换C编
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 运动员饮食调理方案分析
- 太阳能发电隐患排查分析报告
- 生活垃圾生物质能发电前景分析报告
- 青岛六上数学试卷
- 钱桥中学期末数学试卷
- 鲁迅外国语学校数学试卷
- 2025年大气污染防治设备项目合作计划书
- 梁化一中初二数学试卷
- 锌锰电池停车场系统维护成本分析报告
- 2025年甘肃省陇南市成县招聘城镇公益性岗位人员31人笔试参考题库附答案解析
- 2025年成都教师招聘考试教育公共基础知识真题及答案
- 中学语文教学资源开发与利用指南
- 《幼儿园工作规程》知识测试卷(含答案)
- 2025年材料管理岗位考试题库
- 年级主任职责详解及管理要点
- 2025至2030中国乙烯醋酸乙烯酯(EVA)树脂行业产业运行态势及投资规划深度研究报告
- 【25秋】统编版小学语文二年级上册-《第八单元大单元设计》课件
- 2025年长沙中考化学试卷真题解读及复习备考指导
- 糖尿病足病的防治课件
- 车辆交通安全课件
- 临床营养学病例报告
评论
0/150
提交评论