欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    第二章关于C语言的基本知识.ppt

    • 资源ID:5954487       资源大小:964.54KB        全文页数:80页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第二章关于C语言的基本知识.ppt

    关于C语言的基本知识,第 2 页,第二章 关于C语言的基本知识,第一节 C语言概述第二节 C语言的数据类型第三节 C语言的运算符和表达式第四节 关于类型转换第五节 关于C函数的一般概念,第 3 页,2-1 C语言概述,什么是程序设计语言?,人,程序设计语言,机器,语言解释系统,程序设计语言的具体形式:事先约定的一组记号和语法规则.,一、程序设计语言的发展程序设计语言:编写程序所采用的语言,程序设计语言有很多种,C语言是其中一种.,人,自然语言,人,第 4 页,程序设计语言的发展,3.高级语言,1.机器语言,源程序,目标程序,c语言既可用于编写应用程序,也可编写系统程序,2-1 C语言概述,第 5 页,语言简练,使用方便,灵活。仅有32个关键字(P208附录);9种控制语句;书写格式自由,限制少。表达能力强运算符丰富(11种40多个)(P209附录)数据类型丰富访问物理地址和进行位运算结构化目标代码质量高,程序执行效率高可移植性好,char short int unsigned long float double struct union void enum signed const volatile typedef auto register static extern break case continue default do else for goto if return switch while sizeof,1)if(表达式)语句1 else 语句2 2)switch(表达式)case 常量表达式1:语句1;.3)while(表达式)语句4)do 语句 while(表达式);5)for(表达式1;表达式2;表达式3)语句6)break语句7)continue语句8)return语句9)Goto语句,2-1 C语言概述,二、C语言简介,第 6 页,C语言的不足:运算符和运算优先级多,不便记忆语法定义不严格,编程自由度大,编译程序查错纠错能力有限,对不熟练的程序员带来困难。,2-1 C语言概述,第 7 页,小,大,2-1 C语言概述,三、C语言程序的基本结构1.C语言的基本组成,第 8 页,2、基本字符集 C语言编程中可以使用的字符。ASCII字符集。数 字:0 1 2 3 4 5 6 7 8 9 字 母:a b c z A B C Z 运算符:+-*/%=!=特殊符号:_(下划线)空格 回车(r)换行(n)制表符(t)其它转义字符,2-1 C语言概述,3、标识符 字符组成的串,用来对各种用户自定义对象命名。例如:变量名、常量名、数组名、函数名、文件名、类型名等。合法的标识符:由字母或下划线开头,由字母、数字或下划线组成。字母:大小写的az,下划线:_,数字:09例如:a _ry test31 string_1不能以数字开头不能包含除下划线外的运算符和其他符号大小写区分,判断哪些是合法的标识符:C x1 1x x+y sum_5 sum-5 count _z3$x_8*Z3,2-1 C语言概述,第 10 页,4、关键字 C语言中由系统特殊定义的32个具有特定含义的标识符,不能作为用户自定义对象的名字。auto breakcase char constcontinue defaultdo double elseenum externfloat for gotoif intlong register returnshort signedsizeof static structswitch typedefunion unsigned voidvolatile while,例如:变量名不能是int,2-1 C语言概述,第 11 页,5、语句 int a,b,sum;sum=a+b;printf(sum=%d,sum);6、函数main()int a,b,sum;sum=a+b;printf(sum=%d,sum);,ff(int x)int a,b,sum;sum=a+b;main()int a=0;ff(a);printf(“this is a test);,2-1 C语言概述,函数函数说明,int add(x,y)int x,y;,2-1 C语言概述,第 12 页,第 13 页,四、简单的C语言程序介绍,C语言程序例1:/*example1.c*/屏幕上显示一句话 main()printf(This is a C program.n);运行结果是在屏幕上显示:This is a C program.,思考:n的作用是什么?,函数声明部分,函数体,C程序由函数组成对于一个C程序,至少有一个main函数,称为主函数,main是C语言中主函数的专用名,是程序执行的起点和终点。,2-1 C语言概述,第 14 页,例2:/*example2.c*/两个固定的数求和main()int a,b,sum;/*定义三个整型变量*/a=1;/*变量a赋值等于1*/b=2;/*变量b赋值等于2*/sum=a+b;/*计算变量a与b的和,赋值给sum*/printf(sum=%d,sum);/*输出运算结果*/运行结果是在屏幕上显示:sum=3,函数说明,思考:printf(a=%d,b=%d,sum=%d,a,b,sum);,函数可分为函数说明部分和函数体注释:/*/不是程序有效部分,a=1,b=2,sum=3,2-1 C语言概述,第 15 页,例3:/*example3.c*/根据用户输入,求和main()/*主函数*/int a,b,sum;/*定义变量类型*/printf(“please inputn”);/*调用库函数printf,输出“please input”*/scanf(“%d,%d”,/*输出运算结果*/运行结果是在屏幕上显示:please input 10,12 a=10,b=12,sum=22,2-1 C语言概述,第 16 页,例4:/*example4.c*/int max(int x,int y)/*定义求最大值的max函数,函数值为整型,x,y是整型形参,后面无分号*/int m;/*定义函数体重所用变量m的类型*/if(xy)m=x;/*求最大值放在m中*/else m=y;return(m);/*将m的值返回*/main()/*主函数*/int a,b,maxnum;/*定义变量类型*/scanf(“%d,%d”,/*输出最大值*/,输入:2,5运行结果是:2,5maxnum=5,输入两个数,输出较大的数,程序可由main函数和其他用户自定义函数组成main函数是执行起点和终点,2-1 C语言概述,输入:15,7运行结果是:15,7maxnum=15,第 17 页,五、C程序的基本结构:C程序源文件(*.c)C程序由一个或多个函数构成,函数是C程序的基本单位C程序至少包含一个main函数;从main函数开始执行,也从main函数结束执行函数一个函数由函数说明和函数体两部分组成。函数说明部分包括函数名,函数类型,函数参数(形参)名,形参类型。函数体可由变量的说明部分和执行部分组成语句每条语句以;结尾。注意:函数说明语句后边无分号。注释/*/,2-1 C语言概述,2-1 C语言概述,第 18 页,第 19 页,六、c语言程序上机步骤,(一)C语言程序调试运行的基本流程:,1.编写程序,形成源程序(*.C)文件。2.编译源程序,形成目标程序(*.Obj)文件。3.连接目标程序文件和调用的库函数,形成可执行程序(*.exe)文件。4:运行可执行文件,得到运行结果。,2-1 C语言概述,第 20 页,Turbo c 是一种c语言编译系统,可以完成c程序的编辑、编译、连接、执行的全过程。,2-1 C语言概述,(二)Turbo C2.0环境下调试C语言程序,第 21 页,C程序的上机执行过程,运行,编辑,编译,连接,编辑程序,C源程序.C,编译程序,连接程序,目标程序.obj,可执行程序.exe,用户,结果,TC编译系统,其它目标文件,C语言函数库,2-1 C语言概述,第 22 页,TC开发环境,Turbo c,所有操作由键盘实现,鼠标无效安装后,会在硬盘上产生一个TC(或turboc2)文件夹TC(或turboc2)文件夹下有个tc.exe文件,双击它进入Turbo c.,tc.exe,2-1 C语言概述,第 23 页,-4 TC开发环境,主菜单,信息窗口,编辑区,快捷键,2-1 C语言概述,第 23 页,第 24 页,打开文件 Load F3打开最近编辑过的8个文件 Pick Alt-F3新建文件 New 保存 Save F2另存为 Write to调入DOS命令程序 OS shell退出 TC Quit Alt X,进入下一级菜单用回车,返回上一级按ESC,File:所有文件操作,包括:新建、打开、保存文件,选主菜单:按Alt+首字母 或 F10和左右键,2-1 C语言概述,第 25 页,-4 TC开发环境,运行 Run Ctrl F9显示运行结果 User screen Alt F5,2-1 C语言概述,第 25 页,第 26 页,第一步:新建文件:Alt+F(F10,左右键),用上下键选New,回车,2-1 C语言概述,第 27 页,第二步:编辑c程序源文件,2-1 C语言概述,第 28 页,第三步:保存c程序源文件:修改文件名,按回车 默认保存在安装文件夹下,2-1 C语言概述,第 29 页,第四步:Ctrl+F9运行c程序源文件(包括编译、连接、运行三过程),第五步:ALT+F5查看运行结果,按回车返回编辑窗口,2-1 C语言概述,第 30 页,信息窗口列出错误信息在信息窗口,用F6键在编辑区和信息窗口间进行切换。,如果程序有错误,在按Ctrl-F9后提示错误信息。修改程序后,再运行程序。程序有误,不能执行,2-1 C语言概述,第 31 页,打开c程序:load Pick:最近编辑过的8个文件,2-1 C语言概述,第 32 页,更改保存c程序的目录:change dir:设置保存文件的路径 write to:允许保存到非安装目录,2-1 C语言概述,第 33 页,清屏幕,1.OS Shell,2.输入cls,3.输入exit,回车,2-1 C语言概述,第 34 页,TC环境路径设定 Directories,安装TC后,常遇见的错误,2-1 C语言概述,第 35 页,常用快捷键:,Alt+主菜单首字母-选择指定主菜单。例如Alt+F,打开File菜单 F10-从编辑窗口,切换到主菜单F2-save保存文件F6-信息窗口和编辑窗口相互切换Ctrl+F9-运行程序,包括编译,连接和运行。Alt+F5-输出结果。TURBO C 热键说明 F1:帮助 Alt+F1:上一个帮助 Ctrl+F1:当前词帮助 F2:保存 F10:打开菜单F3:打开文件 Alt+F3:历史文件 F5:缩放窗口 F6:切换窗口 Alt+F6:切换文件Alt+F9:编译程序 F9:构建.EXE Ctrl+F9:编译运行 F4:运行至光标处F7:单步跟踪 F8:大步跟踪 Ctrl+F7:加入监视 Ctrl+F8:加入断点 汉字系统热键说明 Ctrl+F7:汉字开关 Ctrl+F8:内码转换 Ctrl+F5:退出系统Shift+F2:拼音输入法 Shift+F5:五笔输入法 右Shift键:隐藏工具条注意:部分TurboC热键与汉字系统热键冲突,须先按右Shift键关闭工具条!,2-1 C语言概述,第 36 页,上机作业:,4个文件4段程序:example1.c,example2.c,example3.c,example4.c 以上4个程序例子,要求在TC中编辑和运行,1)熟悉TC的基本操作:如何编辑,编译,运行程序,以及查看程序结果 2)了解c语言程序的基本结构,目的:,2-1 C语言概述,第 37 页,2-2 C语言的数据类型,第 37 页,构造数据类型,基本数据类型,数据类型,整型,实型,字符型,数组,结构体,枚举,指针,空类型,共同体,数据类型,数据:是程序加工处理的对象,数据,程序运行过程中,值不允许改变的数据,程序运行过程中,值允许改变的数据,main()int a,b,sum;a=2;b=3;b=c;sum=a+b;,#define pi 3.1415926main()int r;float s;r=1;s=3.1415926*r*r;s=pi*r*r;,常量的使用:直接常量是直接引用符号常量要先定义再引用,由数字和字符直接表示,常量值即数据本身,用一个标识符代表常量,区分常量名和常量值,常量,常量,变量,直接常量,符号常量,2-2 C语言的数据类型,第 38 页,2-2 C语言的数据类型,变量是用一个符号来表示一个数据变量名:变量的名字,一个变量有唯一的变量名变量的值:变量中存放的数据,值可变变量的类型:限定变量值的类型 整型,实型,字符型,2,a,1)变量的概念,main()int a,b,sum;a=2;a=3;sum=a+b;,任何变量都具有这三个属性,变量,第 39 页,2-2 C语言的数据类型,变量与常量使用的对比,直接常量的使用:直接引用(没有定义和赋值)a=2;a=3.14;符号常量的使用(无赋值)1)定义#define pi 3.1415926 2)引用 s=pi*r*r;,变量的使用:1)变量定义:int a;2)变量赋值 a=2;3)变量的引用:sum=a+b;,什么时候用常量和变量?,第 40 页,2-2 C语言的数据类型,第 41 页,各种类型的常量 按照数据类型划分,直接常量,整型常量,实型常量,字符型常量,字符常量,字符串常量,2-2 C语言的数据类型,第 42 页,整型常量,三种表示形式:十进制:以非0打头,+,-,09八进制:以0打头,+,-,07十六进制:以0 x打头,+,-,09,AF.(0是零),举例:int a;a=20;a=020;a=0 x20;,一般编程使用十进制,但是考试中,给你一个数要能区分,2-2 C语言的数据类型,第 43 页,字符型常量-实型常量,数学表示实数 常用形式:科学记数法:,两种表示形式:十进制形式:指数形式:,举例:double a;a=314.15;a=3.1415E2;,练习:a=-3.1415E-2;,C实型常量只使用十进制。,2-2 C语言的数据类型,第 44 页,字符常量,字符常量 用一对单引号括起来的一个字符 例如:a,A,2,+字符取自ASCLL字符集(255个)ASCLL码:一个字符对应一个数值(0255)字符的存储:在计算机中存储的是字符对应的ASCLL 码例如:char c;c=A;有时,字符数据与整型数据能通用int c;c=A;等价c=65;,65,C,思考:输出什么?char c;c=A+1;printf(“c=%c”,c);,2-2 C语言的数据类型,第 45 页,字符型常量-字符常量,字符常量 分为 1.可显示字符:az,09等,原样输出 2.转义字符:打头的字符*:n,0,t,r,”等,不是原样输出,而是各自表示一定控制意义 例如:n 回车换行 0 字符串结束*:ddd,八进制数ddd对应的ASCLL字符 例如:101-A xhh,十六进制数hh对应的ASCLL字符 例如:x41-A,举例:printf(“abcndef”);printf(“abc0def”);,举例:printf(“abc101e”);printf(“abcx41e”);,转义字符是一个整体,例如:n,101被看做一个字符,不能拆开,2-2 C语言的数据类型,第 46 页,例2.3 分析下面的运行结果。main()printf(123456t101aaa ndeftx42n);,2-2 C语言的数据类型,第 47 页,注意:1)字符串常量与字符常量不可混淆 例如:”a”与a a)定界符不同 b)字符常量只能是一个字符 c)存储方式不同 2)在字符常量和字符串常量内,空格是一个字符,Ascll码是32“”与”不同,前者字符长度是2,后者是1,字符型常量-字符串常量,字符串常量 用一对双引号括起来的多个字符字符串数据的存储:每个字符串常量末尾,系统自动添加一个转义符0 例如:”CHINA”,字符长度6,ASCII码值,举例:”CHINA”,”a”,a,2-2 C语言的数据类型,第 48 页,各种类型的变量 按照数据类型划分,变量,整型变量 int,实型变量,字符型变量 char,单精度 float,双精度 double,2-2 C语言的数据类型,第 49 页,整型变量,1)基本整型:类型说明符:int,存储占内存两个字节举例:int a;a=2;数据范围:-3276832767(-215(215-1)2)短整型类型说明符:short int(short),占字节和范围与int一样3)长整型类型说明符:long int(long),存储占4个字节数据范围:(-231(231-1)举例:long a;a=40000;4)无符号整型 类型说明符:unsigned int(unsigned),unsigned short,unsigned long。5)整型数据的输出printf:%d 十进制整数%ld 十进制长整数,2-2 C语言的数据类型,第 50 页,举例:整型变量,main()int i;long int long_i;/*变量定义放在前面*/i=40000;/*溢出*/printf(i=%dn,i);long_i=40000;/*改用long int*/printf(long_i=%ldn,long_i);,结果:i=-25536 long_i=40000,整数,如果数据范围超过32767或-32768用long int,整型变量,2-2 C语言的数据类型,第 51 页,整型变量,修饰符:signed带符号数,unsigned无符号数signed int,等价int 2字节-32768 32767unsigned int 2字节 0 65535signed short 同signed intunsigned short 同unsigned intsigned long,等价long 4个字节-2147483648 2147483647unsigned long 4个字节 0 4294967295,存储占字节数没有改变取值范围改为从0开始,正数的范围扩大一倍,举例:unsigned int i;i=40000;printf(“i=%u,i);,i=40000,signed和unsigned比较:,2-2 C语言的数据类型,第 52 页,实型变量,实型变量分为单精度型和双精度型1)单精度浮点:类型说明符:float,存储占4个字节数据范围 10-38(1038)精度:有效数字7位举例:float f;2)双精度浮点:类型说明符:double,存储占8个字节数据范围:10-308(10308)精度:有效数字15-16位举例:double d;3)实型数据的输出printf:%f 小数形式,6位小数%e 指数形式,main()float f1;f1=12.14;printf(f1=%f,f1);printf(f1=%e,f1);,结果:f1=12.141593d1=12.1415926,main()float f1;double d1;f1=12.1415926;printf(f1=%fn,f1);/*7位有效数字*/d1=12.1415926;/*改用double*/printf(d1=%10.7fn,d1);,结果:12.1400001.21400e+01,精度与数据范围的区别,2-2 C语言的数据类型,第 53 页,字符型变量,1)字符型变量:类型说明符:char,存储占1个字节数据范围:0 255(28-1)举例:char c;c=a;/*用于存放字符常量*/c=“a”;/*错误*/2)没有字符串变量 字符串要用字符数组来存放3)某些情况下,char型与int型数据可以互换4)字符型数据的输出:pirntf:%c输出数对应的字符%s 输出字符串,char ch;ch=a;printf(“ch=%d”,ch);printf(“ch=%c”,ch);printf(“ch=%s”,”a”);,char c1;int d1;c1=97;d1=a;printf(c1=%d,d1=%dn,c1,d1);printf(c1=%c,d1=%c,c1,d1);,2-2 C语言的数据类型,第 54 页,注意:,所有变量都在函数开头就定义,而不是在引用变量的前面定义,main()int a,b,sum;a=2;a=3;sum=a+b;,main()int a,b;a=2;a=3;int sum;sum=a+b;,2-2 C语言的数据类型,第 55 页,变量赋初值(也称为变量初始化),1)赋初值:在变量定义的同时给变量赋予初值.举例:int a=5;等价于 int a;a=5;2)可以给定义变量中的所有或一部分变量赋初值 char a,b,c=a;等价于 char a,b,c;c=a;float a=0.1,b=0.4,c=0.5;等价于 float a,b,c;a=0.1;b=0.4;c=0.5;,2-2 C语言的数据类型,第 56 页,变量,整型变量 int,实型变量,字符型变量 char,单精度 float,双精度 double,直接常量,整型常量,实型常量,字符型常量,字符常量,字符串常量,小结:,符号常量,常量,2-3 C语言的运算符和表达式,第 57 页,运算符,每一种运算符代表一种运算操作.例如:+-加法,1)表达式由运算符和运算分量组成 例如:a+b a,b是运算分量 2)不同运算符对应表达式的格式不同 例如:运算符+,表达式:a+b 双目运算符 运算符+,表达式:a+单目运算符 运算符?:,表达式 a?b:c 三目运算符3)多个表达式又可以组成一个表达式 例如:a*c+a/b+a,表达式 表示一种运算关系的算式,2-3 C语言的运算符和表达式,第 58 页,运算符,按运算类型分类 1.算术运算符 2.自增、自减运算符 3.赋值运算符 4.关系运算符 5.逻辑运算符 6.条件运算符 7.逗号运算符按运算分量的数目分类 单目运算 例如:自增运算符 a+双目运算 加法运算符 a+b 三目运算 条件运算符 a?b:c,主要学习:1)每种运算符的运算含义,构成表达式的格式。举例:a+b2)运算符之间:一个表达式中包含多个不同运算符,存在优先级、结合性问题 优先级关系:一个表达式中包含多个不同运算符时,运算优先次序 结合性:相同优先级的运算符进行运算时的次序,例如:a*c+a/b+a,2-3 C语言的运算符和表达式,第 59 页,算术运算符与算术表达式,1)算术运算符2)算术表达式的格式:求负是单目运算符,-a 其它都是双目运算符,a+b,a-b,a*b,a/b,a%b3)优先级-(求负)(*,/,%)(+,-)4)结合性:自左向右注意:1)整数/整数 结果仅保留整数 举例:5/2 实数/整数 整数/实数 结果包含小数 举例:5.0/23)整数%整数 5.0%2 余数符号是被除数符号-7/3-1 7/-3 1,举例:int a=8,b=5,c=2,d;d=(a+b*c)d=(a/b*b)d=(a%b*c),d=18d=5d=6,/与%的区别:9/2 与 9%2,减与求负区别:9-2 与-2,2-3 C语言的运算符和表达式,第 60 页,自增、自减运算符(增量运算符),1)运算符2)表达式的格式:单目运算符,自增:后置形式a+,前置形式+a 自减:后置形式a-,前置形式-a 前置与后置的区别:+a:先自增,再参与运算-a:先自减,再参与运算 a+:先参与运算,再自增 a-:先参与运算,再自减 举例:y=+a;等价 a=a+1;y=a;a先加1再赋值 y=a+;等价 y=a;a=a+1;a先赋值再加1 3)优先级+,-同级注意:运算分量只能是变量,不能是常量或表达式 2+错误(a+b)+错误,2-3 C语言的运算符和表达式,第 61 页,x=3,z=3 x=3,y=6,z=3*6=18 x=3,y=6,z=2*6=12 x=3,y=6,z=3*5=15 x=3,y=6,z=2*5=10 x=4,z=4*4=16,自增自减运算实例,实例 已知:int x=2,y=5,z;z=+x;x?z?z=+x*+y;z=x+*+y;z=+x*y+;z=x+*y+;z=+x*+x;,2-3 C语言的运算符和表达式,第 62 页,赋值运算符,复合赋值运算符,1)赋值运算符2)赋值表达式的格式:变量=表达式 例如:a=2;a=2*b;注意:1)左边必须是变量,不能是常量或表达式 例如:2=2 错误(a+b)=2 错误 2)赋值表达式的值就是被赋值变量的值 a=(b=10);a?b?3)复合赋值运算符 op=op可以是+,-,*,%,位运算符4)优先级:=与op=同级 5)结合性:自右向左,e1 op=e2 等价于:e1=e1 op(e2),例:x+=2;等价 x=(x+2);x*=y+1;等价 x=x*(y+1);不等价 x=x*y+1;,a=b=10;等价 a=(b=10)a=3;b=a*=a;等价 b=(a*=a),2-3 C语言的运算符和表达式,第 63 页,实例 已知:int a=3,b=-4,c=5,x=2.5,y=4.7;b%=c+a-c/7 a+-c+b+a+=b+3(a+=b)+3,-4,运算实例,()自增、自减运算符算术运算符赋值运算符,高,-6,2,2,2-3 C语言的运算符和表达式,第 64 页,关系运算符与关系表达式,1)关系运算符 用于比较两个分量的大小关系,2)关系表达式格式:双目运算符 例如:ab,a=b,a!=b3)关系运算结果:只有两种结果(0和1)1-“成立”,0-“不成立”例如:95 2,=,=c5)结合方向:从左到右 例如:ab=c6)注意:区分=与=举例:int a;a=2;与 a=2的区别 写表达式:判断a是否能被2整除?满足返回1,否则返回0,a%2=0,数学,c语言是=数学,c语言是=数学,c语言是!=数学=,c语言是=,2-3 C语言的运算符和表达式,第 65 页,关系运算符实例,实例 已知:int a=13,b=2,c=1;aba!=ba=b(ab)=cab=c,成立,结果为 1成立,结果为 1不成立,结果为 0成立,结果为 1与上面等价,结果为 1,如何判断数学中的逻辑关系:0a9?,等价于(0=a)=9,10 结果恒为1,0=a=9,2-3 C语言的运算符和表达式,第 66 页,逻辑运算符与逻辑表达式,1)逻辑运算符,与:当两个分量同时为真(非0)时,结果为1,其余为0 举例:5&,|从左到右 举例:a|b|c,2-3 C语言的运算符和表达式,第 67 页,逻辑运算符,2)数学表达式 0 x9 在c语言中如何写?(0=x)&(x=9),举例:,注意:1)表达式1|表达式2 1|a 恒为1 如果表达式1,已经为1,不再计算表达式2举例:int a=1,b=3,c;c=(a+)|(b+);a?b?c?2)表达式1 a?b?c?,a=2,b=3,c=1,a=-1,b=3,c=0,1)a=1,b=3,c=0;!a&b|a&(c+1)?,1,条件1满足,并且条件2满足 条件1&条件2条件1满足,或条件2满足 条件1|条件2,2-3 C语言的运算符和表达式,第 68 页,逗号运算符与逗号表达式,1)逗号做分隔符 例如:int a,b,c;printf(“%d,%d”,a,b);2)逗号做运算符,3)表达式格式:表达式1,表达式2,表达式n 例如3+5,6+8,3+14)执行过程:先执行表达式1,再执行表达式2,依次执行下去,最后求表达式n的值 整个表达式的值是表达式n的值 举例:3+5,6+8 的值是14 5)逗号运算符的优先级比其他所有运算符都低 举例:1)a=3*5,a*4的值?2)(a=3*5,a*4),a+15的值?,60,30,2-3 C语言的运算符和表达式,第 69 页,条件运算符表达式格式:表达式1?表达式2:表达式3 举例:(52)?4:1 或者(ab)?(a+1):(a/b)功能:如果表达式1成立(表达式的值为非0)则整个表达式的值取表达式2的值;否则,取表达式3的值,例:max=(ab)?a:b;,举例:52?4:1 的值?,4,求变量a与b的最大值,唯一的三目运算符,条件表达式能根据表达式1的值来选择结果,条件运算符与条件表达式,2-3 C语言的运算符和表达式,第 70 页,C语言程序举例,例4:/*example4.c*/int max(int x,int y)int m;if(xy)m=x;else m=y;return(m);main()int a,b,maxnum;scanf(%d,%d,运行结果是:2,5maxnum=5,输入两个数,输出较大的数,int max(int x,int y)int m;m=(xy)?x:y;return(m);,2-3 C语言的运算符和表达式,第 71 页,条件运算符,结合性:从右向左,举例:a=1,b=2,c=3,d=4,表达式ab?a:cb?a:(cd?c:d)结果:3,ab?a:cd?c:d,等价于 ab?a:(cd?c:d),2-3 C语言的运算符和表达式,第 72 页,运算符间的优先级,()括号 改变表达式中的优先级关系单目运算符+-!-(负)算术运算符*/%+-关系运算符=!=逻辑运算符&|条件运算符?:右结合赋值运算符=+=-=*=/=%=右结合逗号运算符,高,低,优先级不同时:运算符优先级的高低决定进行运算的先后次序优先级相同时:同优先级运算符的运算次序由结合性决定。,第 73 页,在一个表达式中,允许不同数据类型的数据进行混合运算 例如:3.14+2-c+56/8.0运算要求:运算分量1 OP 运算分量2 两个运算分量必须先转换为相同类型,再运算数据类型转换方式有三种:“隐式的”类型转换“强制的”类型转换“赋值表达式”类型转换,2-4 数据类型转换,第 74 页,2-4 数据类型转换,例如:3.14+2-c+56/8.0 运算:运算分量1 OP 运算分量2 两个运算分量必须先转换为相同类型,再运算“隐式的”类型转换是一种自动转换,只要两个分量是不同类型就自动转换 举例:32+1;1.4+2.1;c+a 但 2+3.1,2+a转换规则 较低类型较高类型 举例:a+32 字符 整型 32+3.14 整型 实型 float f;double d;f+d;,例如:3.14+2-c+56/8.0 运算:运算分量1 OP 运算分量2 两个运算分量必须先转换为相同类型,再运算“隐式的”类型转换是一种自动转换,只要两个分量是不同类型就自动转换 举例:32+1;1.4+2.1;c+a 但 2+3.1,2+a转换规则 较低类型较高类型 举例:a+32 字符 整型 32+3.14 整型 实型 float f;double d;f+d;,举例:int i=3;float f=0.1;double d=3.4;long e=2;求10+a+i*f-d/e,5)107.3-1.7,-,-,在内存占字节少的类型,向占字节多的转换,注意类型间的隐式转换,第 75 页,2-4 数据类型转换,2、强制类型转换 强制将表达式值的类型转换为指定类型(类型名)表达式 类型名是int,float,double,char之一 例如:1)(int)(5.6)+3 2)int a=5;(float)a/2 3)x=1.6,y=2.5;(int)x+y与(int)(x+y)的区别,8/*隐式转换是double,强制为整型*/,2.5,表达式不是单个数据加(),举例:已知:int a=3,b=-4,c=5,x=2.5,y=4.7;int(y)+y(float)(a+b)/2+(int)x%(int)y,1.5,8.7,小数部分全部舍掉,不会四舍五入,2-4 数据类型转换,第 76 页,3、赋值表达式的类型转换 int i;i=2;int i;i=3.1;变量=表达式;赋值号右边的类型赋值号左边变量的类型 例如:int a;a=3.14;float f;f=4;int d;d=f+1;,a=3f=4.0d=5,举例:三种类型转换 int a,b;求表达式:(a=3.4)+4.5+(float)(2),9.5,第 77 页,2-4 数据类型转换,实例 设a=5;则a+=a*=a+a运算后,a=,100,运算实例,()括号单目运算符+;-;!;-(负)算术运算符*;/;%+;-关系运算符;=;=;!=逻辑运算符%=逗号运算符,高,0,5,设int a=6;a/=a+a运算后,a=,int a=5,b=2;表达式b+=(float)(a+b)/2,设a=3,b=-4,c=5;+a-c+b,2-4 数据类型转换,2-5 关于C函数的一般概念,C函数,标准库函数,用户自定义函数,用户不用设计,可直接调用(P210附录),用户根据需要自己编写的函数,如果调用这些函数,只需在程序开头加上一个#include 命令,指出有关头文件,2-5 关于C函数的一般概念,举例:求解一元二次方程2x2+6x+3=0的根。#include“math.h”main()int a,b,c,w;float x1,x2;a=2;b=6;c=3;w=b*b-4*a*c;x1=(-b+sqrt(w)/(2*a);x2=(-b-sqrt(w)/(2*a);Printf(“x1=%f x2=%fn”,x1,x2);,运行结果:X1=-0.633975 x2=-2.366025,

    注意事项

    本文(第二章关于C语言的基本知识.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开