版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章C语言程序设计基础-2-关系运算符与关系表达式常量与变量整型数据、实型数据、字符型数据算述运算符及表达式自增自减运算符及表达式赋值运算符及表达式自动转换与强制转换位运算及混合运算本章教学内容本章教学目标能熟练正确地使用关系运算符和关系表达式。理解基本类型及其常量的表示法熟练掌握各种基本类型变量的说明规则和变量的赋初值掌握各种运算符的使用方法和运算顺序能够将各种数学表达式转换成C语言表达式理解C语言的自动类型转换和强制类型转和赋值的概念掌握位运算的概念及相关运算-3--4-数据的表现形式概述在计算机高级语言中,数据有2种表现形式:常量和变量。常量
1.整型常量(1)十进制整型常量:只能出现
0~9的数字,且可带正、负号,如:3、100、-89等。
(2)八进制整型常量:以数字
0开头的八进制数字串,其中数字为
0~7。如:
0111(十进制
73)、
011(十进制
9)、
0123(十进制
83)等。
(3)十六进制整型常量:以
0x或
0X开头的十六进制数字串,其中每个数字可以是
0~9、a~f或
A~F中的数字或英文字母。如:
0x11(十进制
17)、
0Xa5(十进制
165)、
0x5a(十进制
90)等。-5-常量
实型常
(1)十进制小数形式:由数字和小数点组成,必须要有小数点,如1.34、0.45等。?注意
(2)十进制指数形式:类似数学中的指数形式,在C语言中,则以“e”或“E”后跟一个整数来表示以“10”为底数的幂数,如1.23可以表示为0.123E1、1.23e0、12.3e-1等形式。只要保证字母“e”或“E”前有数字,“e”或“E”后为整数即可。?注意-6-常量
3.字符常量
(1)普通字符:用单撇号('')括起来的一个字符,如'A','a',‘?’,‘+’。
(2)转义字符:转义字符是C语言中一种特殊形式的字符常量,一组以反斜杠(\)开头的字符序列,将反斜杠后面的字符转换成另外的意义。-7-【例题2-1】编写程序,输出多行信息。#include<stdio.h>intmain(){printf("a\b*******\n\'hello\'\n******\n");return0;}-8-常量
4.字符串常量
字符串是由零个或多个字符组成的有限序列,在C语言源程序中,字符串常量是用双引号(“”)括起来的0个或者多个字符组成的序列。
如“”,“howareyou”,“a”,“$123.45”等。字符串中的字符依次存储在内存中一块连续的区域内,并且把空字符‘\0’自动附加到字符串的尾部作为字符串的结束标志,故字符个数为n的字符串在内存中应占(n+1)个字节。
?“a”与‘a’的区别-9-常量
5.符号常量
符号常量在使用之前必须先定义,其一般形式为:
#define
标识符
常量-10-常量
变量
1.变量
变量在程序运行过程中其值是可以改变的量,变量有三种属性:变量名、变量类型和变量值。变量定义格式:数据类型符号变量名1,变量名2,…;-11-2.变量名
程序中使用的变量名、函数名、标号等统称为标识符,在C语言中,变量的命名需要符合标识符的定义,遵循以下规则。变量名可以由字母、数字和_(下划线)组合而成;变量名不能包含除_以外的任何特殊字符;变量名必须以字母或_(下划线)开头;变量名不能包含空白字符;保留字具有特殊意义,不能用作变量名;C语言区分大小写。-12-变量
2.2.1数据类型概述
-13-2.2.2整型数据
1.整型数据的类型
(1)整型常量的类型前缀、后缀可同时使用以表示各种类型的整型常量。
?前缀
?后缀(2)整型变量的类型整型变量表示能存放整型常量的变量。在C语言中,整型变量的值可以是十进制,八进制,十六进制,但在内存中存储着是二进制整数。-14-【例题2-3】编写程序,分别以十进制,八进制,十六进制输出整型变量。#include"stdio.h"intmain(){ inta,b,c; a=10;b=012; c=0xa; printf("a=%d,b=%d,c=%d\n",a,b,c); printf("a=%o,b=%o,c=%o\n",a,b,c); printf("a=%x,b=%x,c=%x\n",a,b,c); return0;}-15-2.2.2整型数据
2.整型变量的符号属性
-16-2.2.2整型数据
-17-2.2.2整型数据
【例题2-4】编写程序,整型变量的超出取值范围示。#include"stdio.h"intmain(){
inta,b,c,d;a=4;b=6;c=a+b;d=32767+1;printf("c=%d\n",c);printf("d=%d\n",d);return0;}-18-2.2.2整型数据
2.2.3实型数据
实型数据的类型
(1)实型常量的类型
?前缀
?后缀(2)实型变量的类型
实型变量表示能存放实型常量的变量。在C语言中,实型变量的值可以有小数形式和指数形式共2种表现形式。-19-2.2.3实型数据
-20-【例题2-5】编写程序,将实型常量按小数形式和指数形式输出。#include"stdio.h"intmain(){ floatf1; doublef2; f1=0.023f; f2=10234.0; printf("f1=%f,f2=%f\n",f1,f2); printf("f1=%e,f2=%e\n",f1,f2); return0;}2.实型变量的符号属性-21-2.2.3实型数据
【例题2-6】编写程序,实型变量的定义、赋值和输出示例。#include<stdio.h>intmain(){ floatx=0.1234567,y=0.0; doublez=0.0; y=123.0456789123456789; z=123.0456789123456789; printf("x=%f,y=%f,z=%lf\n",x,y,z); return0;}-22-2.2.3实型数据
字符型数据
1.字符与ASCII代码-23-字符型数据
【例题2-7】编写程序,字符’0’和整数0是不同的概念示例。#include<stdio.h>intmain(){ inta=0;charb=’0’; printf("a=%d,b=%c\n",a,a);printf("a=%d,b=%c\n",b,b); return0;}-24-字符型数据
2.字符型变量的符号属性-25-字符型数据
【例题2-8】编写程序,字符型数据的运算示例。#include<stdio.h>intmain(){charc1,c2;c1='A';//将字符'A'的ASCII代码放到c1变量中c2=c1+32; //得到字符'a'的ASCII代码,放在c2变量中printf("%c\n",c2);//输出c2的值,是一个字符printf("%d\n",c2);//输出c2的值,是字符'a'的ASCII代码return0;}-26-运算符与表达式概述
-27-算术运算符及表达式
1.
算术运算符-28-算术运算符及表达式
2.算术表达式-29-2.3.3自增自减运算符及表达式
-30-【例题2-10】编写程序,自增运算符的应用示例。#include<stdio.h>intmain(){inti,j,m,n;i=5;j=10;m=i++*5;n=++j*5;printf("i=%d,m=%d\n",i,m);printf("j=%d,n=%d\n",j,n);return0;}-31-2.3.3自增自减运算符及表达式
赋值运算符及表达式
1.赋值运算符与赋值表达式赋值运算符用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。2.复合赋值运算符与复合赋值表达式复合赋值表达式格式为:变量复合赋值运算符表达式例如:
a+=8在程序中等价于
a=a+8a+=b在程序中等价于
a=a+bb-=s+k在程序中等价于b=b-(s+k)c*=a+b在程序中等价于
c=c*(a+b)-32-赋值运算符及表达式
【例题2-11】已有变量a,其值为9,计算表达式a+=a-=a+a的值。-33-2.4.1自动转换
-34-2.4.2强制转换【例题2-12】编写程序,强制类型转换运算符的应用示例#include<stdio.h>intmain(){
inti;floatf=5.75;i=(int)f;
printf("(int)f=%d,f=%f\n",i,f);
return0;}-35-位运算概述
-36-按位取反
-37-按位与、或和异或
1.按位与运算符-38-按位与、或和异或
2.按位或运算符-39-按位与、或和异或
3.按位异或运算符-40-按位与、或和异或
【例题2-13】编写程序,按位与、或、异或运算的应用示例#include<stdio.h>intmain(){intx,y;x=3;y=5;printf("x&y:%d\n",x&y);printf("3&5=%d,3&4=%d\n",3&5,3&4);printf("3|5=%d,3|4=%d\n",3|5,3|4);printf("3^5=%d,3^4=%d\n",3^5,3^4);return0;}-41-按位左移和右移
1.按位左移运算-42-按位左移和右移
【例题2-14】编写程序,按位左移运算的应用示例#include<stdio.h>intmain(){inta1=7,a2=-7;unsignedintb=7;printf("有符号正数7<<2=%d\n",a1<<2);printf("有符号负数-7<<2=%d\n",a2<<2);printf("无符号正数7<<2=%d\n",b<<2);return0;}-43-按位左移和右移
2.按位右移运算-44-【例题2-15】编写程序,按位右移运算的应用示例#include<stdio.h>intmain(){inta1=28,a2=-28;unsignedintb=28;printf("有符号正数28>>2=%d\n",a1>>2);printf("有符号负数-28>>2=%d\n",a2>>2);printf("无符号正数28>>2=%d\n",b>>2);return0;}-45-按位左移和右移
-46-位运算的混合运算【例题2-16】编写程序,位运算的应用示例#include<stdio.h>intmain(){inta=5,b=1,t;t=a<<2|b;printf("5<<2|1=%d\n",t);return0;}-47-位运算的混合运算【例题2-17】编写程序,位运算的应用示例#include<stdio.h>intmain(){inta=4,b=2,c=2;printf("4/2&2=%d\n",a/b&c);printf("(4>>1)/(4>>2)=%d\n",(a>>1)/(a>>2));return0;}-48-位运算的混合运算本章小结
计算机处理的基本对象是数据,变量和常量则是程序的最基本的数据形式。C语言允许使用的数据类型有整型、实型、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼稚产业保护理论的局限性
- 呼伦贝尔学院《蒙古文字学》2021-2022学年第一学期期末试卷
- 呼伦贝尔学院《呼伦贝尔民族民间歌曲演唱》2021-2022学年第一学期期末试卷
- 呼伦贝尔学院《冰雪运动损伤与康复》2021-2022学年第一学期期末试卷
- 《大学动物学圆口纲》课件
- 青年员工职业发展问题研究
- 《社会转型》课件
- 2024干挂石材合同
- 地中海贫血健康教育
- 2024美容加盟店的合同范本
- 小区物业消防安全职责与日常检查
- 施工现场危险源辨识及风险评价表
- 烟草专卖许可证新办申请表(国)
- 玩转计算机网络-计算机网络原理智慧树知到课后章节答案2023年下青岛大学
- 安全隐患排查台账(附排查表)
- 核安全工程师-核安全综合知识-辐射防护基础-辐射防护剂量限值
- 音乐治疗学基础理论
- 小学二年级期中家长会课件
- 第六届大学生化学实验技能竞赛初赛笔试试题
- 质量通病防治施工措施及质量通病防治措施
- 英语作业纸打印版
评论
0/150
提交评论