版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
主讲:廖智蓉项目2简易计算器常量和变量数据存储的本质
数据类型
常量
1.常量-在程序运行过程中,其值不能被改变的量称为常量。C语言中有4种基本常量:整型常量、实型常量、字符常量、符号常量1、28、-68等1.23、28.6、1.2e3等‘a’、’8`、’+’等#definePI3.14
整型常量
*十进制整数
:由数字(0-9)和正负号表示例如:123、-456、0等*八进制整数:以0开头数是八进制数例如:0123即(123)8=(83)10(123)8=182+281+380=(83)10*十六进制整数:以0x或0X开头例如:0x123即(123)16=(291)10-0x12即(-12)16=(-18)100x2F即(2F)16=(47)10
实数常量
表示形式有如下两种:
十进制数形式:由数字和小数点及正负号组成。(注意:必须有小数点)
例如:23.678.67823.
指数形式:由数字、小数点、字母e或E及正负号组成。(注:e或E之前必须有数字,且后指数必须为整数)例如:3.5E-52e3
正确
E23.6e3.5.e6e
不正确
字符型常量
(1)字符常量:用单引号括起来的一个字符。例如:‘a’‘A’‘$’‘!’
‘a’与‘A’是不同的字符常量。
(单引号中的大小写代表不同的字符常量)‘‘也是一个字符常量
(单引号中的空格符也是一个字符常量)‘abc’是非法的
(字符常量只能包含一个字符)(2)说明:
变量
1.变量—在程序运行过程中,其值可以被改变的量称为变量。(1)变量名:每个变量都必须有一个名字──变量名。命名规则:由字母或下划线开头,后面跟字母、数字和下划线。(2)变量值:在程序运行过程中,变量值存储在内存中。在程序中,通过变量名来引用变量的值。2.变量的两个要素
整型变量
1.分类
根据占用内存字节数的不同,整型变量又分为4类:
基本型:以int表示
短整型:以shortint或short表示类型长整型:以longint或long表示无符号基本型(unsignedint)
无符号型无符号短整型(unsignedshort)
无符号长整型(unsignedlong)2.占用内存字节数与值域
上述各类型整型变量占用的内存字节数,随操作系统而异。在32位操作系统中,一般用4字节表示一个int型变量。
实型变量
实型变量可分为:单精度(float型)双精度型(double型)说明:float型变量在内存中占4个字节;
double型变量在内存中占8个字节。2.单精度实数(float)提供7位有效数字;双精度实数(double)提供15~16位有效数字。
字符型变量
1.字符型的形式:char2.变量值的存储(1)字符变量在内存中占一个字节。(2)在内存中,是把字符对应的ASCII码值放到存储单元中.(3)字符型数据与整型数据之间可以通用.
变量的定义
定义变量的一般格式:
数据类型变量名1[,变量名2......];说明:
(1)数据类型名,int,longint,float,double,char类型。(2)变量名只要合法标识符,但习惯取见名知意的变量名。intnum,age;//学号,年龄变量。floatsalary,sum;//工资,总数变量charsex;//性别
变量的初始化
(1)定义变量的同时进行初始化:
数据类型变量名=[初值,变量名2=初值......];intnum=1,age=20;floatsalary=2000.0,sum=0;charsex=‘M’;
(2)先定义变量,后初始化intnum,age;floatsalary,sum;charsex;num=1;age=20;salary=2000;sum=0;sex=‘M’;
预习下讲输出函数printf主讲:廖智蓉项目2简易计算器输出函数printf的使用printf函数的使用在使用C语言库函数时,要使用预处理命令。使用printf函数时,使用预处理命令是:
#include<stdio.h>
或#include“stdio.h”
简单输出的用法
注意:C语言所涉及的符号都要求是英文状态下输入,否则编译会出错。格式:printf(“需要输出的内容”);例如#include<stdio.h>main(){printf(“我是一名C程序初学者\n”);}
换行
格式化输出用法
格式:printf(“格式控制”,输出列表);“普通字符或格式控制符号”,其中普通字符原样输出需要输出的变量或表达式等,若出现多个用逗号分开
格式化输出用法
“格式控制”是由%+格式字符构成格式字符说明d,i用来输出有符号的十进制整数u用来输出无符号的十进制整数o用来输出八进制整数x,X用来输出十六进制整数c用来输出单个字符s用来输出字符串fe,Eg,G以小数形式输出实数以指数形式输出实数选用%f或%e格式中较短的一种格式,不输出无意义的0。ld用来输出有符号的十进制长整数
格式化输出用法
[例]:#include<stdio.h>main(){inta=3;floatb=4;printf(“a=%d,b=%f\n”,a,b);}格式说明(格式字符)普通字符输出表列f格式符,用来输出实数(float,double),
以小数形式输出.有以下几种用法:floatx=123456.125;printf(“%f”,x);
输出结果:123456.125000[1]%f,不指定字段宽度,由系统自动指定,使整数部分全部如数输出,并输出6位小数,不足6位补上0,否则四舍五入输出6位小数。floatx=12
.3456125;printf(“%f”,x);
输出结果:12.345613[2]%m.nf,指定输出的数据共占m列,其中有n位小数.
若数据长度小于m,则左端补空格.若超出实际长度按实际输出
结果:123.461:floatx=123.456789;printf(“%6.1f”,x);2:floatx=123.456789;printf(“%3.2f”,x);
结果:123.5[3]%–m.nf,与%m.nf基本相同,只是使输出的数值向左端靠,右端补空格.
1:floatx=123.456789,y=345.123;printf(“%-6.1f%.2f”,x);
结果:123.5345.12d格式符.用来输出十进制整数.有以下几种:[1]%d--按整型数据的实际长度输出。[2]%md--m为指定的输出字段的宽度.
若数据的位数小于m,则左端补以空格;
若大于m,则按实际位数输出。[3]%ld--输出长整型数据.
也可以对长整型数据指定字段宽度。结果:1231:inta=123;printf(“%d”,a);2:inta=123,b=12345;printf(“%-4b=d%4d”,a,b);
结果:123b=12345#include<stdio.h>main(){inta=5,b=7;floatx=67.6321,y=-789.123;printf(“%d%d\n”,a,b);printf(“%3d%3d\n”,a,b);printf(“%-3d%-3d\n”,a,b);printf(“%d,%d\n”,a,b);printf(“%f%f\n”,x,y);printf(“%-10f%-10f\n”,x,y);printf(“%-10.2f%-10.2f\n”,x,y);printf(“%.1f%.1f\n”,x,y);}
课后练一练
请写出对应行的结果,再与机器上运行结果作比对。预习下讲输入函数scanf主讲:廖智蓉项目2简易计算器输入函数scanf的使用scanf函数的使用在使用C语言库函数时,要使用预处理命令。使用scanf函数时,使用预处理命令是:
#include<stdio.h>
或#include“stdio.h”
格式化输入scanf
格式:scanf(“格式控制”,地址列表);它主要是由“%”和“格式符”组成的。它主要是由“&”和“变量名”组成的。若出现多个用逗号分开功能:是将输入数据转化为指定格式后存入到有地址表所指的相应变量中。
格式化输入用法
“格式控制”是由%+格式字符构成格式字符说明d,i用来输入有符号的十进制整数intu用来输入无符号的十进制整数o用来输入八进制整数x,X用来输入十六进制整数c用来输入单个字符chars用来输入字符串flf
以小数形式输入实数float以小数形式输入实数double
ld用来输入有符号的十进制长整数longint
格式化输入用法
[例]:#include<stdio.h>main(){inta;floatb=4;scanf(“%d”,&a);
printf(“a=%d,b=%f\n”,a,b);}格式说明(格式字符)地址表列
格式化输入用法
[例]:#include<stdio.h>main(){inta;floatb;scanf(“%d%f”,&a,&b);
printf(“a=%d,b=%f\n”,a,b);}格式说明(格式字符)地址表列“格式控制”部分的每个格式说明符都必须在“地址表”中有一个变量与之对应,且格式说明符必须要与相应变量的类型一致。
格式化输入用法
[例]:#include<stdio.h>main(){inta;floatb;scanf(“%d%f”,&a,&b);
printf(“a=%d,b=%f\n”,a,b);}当格式说明符之间没有任何字符时,在输入数据时,在两个数据之间以一个或多个空格间隔,也可以用回车键、跳格键tab。
格式化输入用法
[例]:#include<stdio.h>main(){inta;floatb;scanf(“a=%d,b=%f”,&a,&b);
printf(“a=%d,b=%f\n”,a,b);}格式说明包含了其他符号若格式说明符之间包含其他字符,则输入数据时,应输入与这些字符相同的字符做间隔。
格式化输入用法
[例]:#include<stdio.h>main(){chara,b,c;printf(“请输入3个字母分别给a,b,c变量”);scanf(“%c%c%c”,&a,&b,&c);printf(“a=%c,b=%c,c=%c\n”,a,b,c);}若格式说明符是%c,当输入多个字符数据时,不能用空格、回车、tab来间隔。
课后练一练
假定个人所得税的征收依据如下:按工资收入的15%征收个人所得税。编写一个程序,当从键盘输入职工工资时,计算出实发工资并输出(保留3位小数)。该如何编写这个程序呢?预习下讲知识延伸主讲:廖智蓉项目2简易计算器知识延伸(算术运算等)算术运算符1.算术的运算符
+(加法)、-(减法)、*(乘法)、/(除法)、%(求余数)(1)/运算符C语言规定,两个整数相除,其值为取整,
若两个数中有一个是实数,则就是商值。(2)求余数运算%
要求两侧的操作数均为整型数据,否则出错。例如:5%3=2,但是,5.2%3是语法错。例如:1/2=1.0/2=00.5
算术表达式
(1)概念:用运算符和括号将运算对象(常量、变量和函数)连接起来的、符合C语言语法规则的式子,称为表达式。(2)算术表达式的概念,表达式中的运算符都是算术运算符。例如:3+2*5、(x+y)/2+3、5%2+3都是算术表达式。(3)算术运算符的优先级是:先*,/,%,再+,-。有括号的先做括号。
数据类型转换
高double←float
↑
long
↑
unsigned
↑低int←char,short自动类型转换(隐式转换)
(1)float型数据一律转换成double型数据。(2)char和shortint型数据一律转换成int型数据。
以上两条转换原则说明:即使两个操作数类型相同,但只要它们同属char,shortint或float类型,则转换一定发生。2.500000强制类型转换形式:(类型名)(表达式)例如:(double)(a+b)
说明:
(1)表达式应用括号括起例如:(int)(x+y);(int)x+y;
将x+y的结果转化为整型将x的内容转化为整型,再与y相加(2)在强制类型转换时,得到一个所需类型的中间变量,原来变量类型未发生变化。例如:floatx=8.6;inty;
y=(int)x;
数据类型转换
数据类型转换
华氏温度转化为摄氏温度的公式为C=(F-32)*5/9;假设F是整数。方法1:C=(F-32)*5.0/9方法2:C=1.0*(F-32)*5/9方法3:C=(float)(F-32)*5/9
赋值运算
1.简单的
赋值运算赋值符号“=”就是赋值运算符,它的作用是将一个表达式的值赋给一个变量。赋值运算符的一般形式为:变量=赋值表达式例如:x=5//将5赋给变量xx=6+7//将6+7的值赋给变量x5=x是错误的x+y=z也是错误的。
赋值运算
2.复合赋值运算复合赋值运算是C语言特有的一种运算。复合赋值运算的一般格式为:变量复合运算符表达式复合算术运算符有五种,分别是:+=,-=,*=,/=,%=
x+=3等价于x=x+3x+=5+8等价于x=x+(5+8)x*=y+2等价于x=x*(y+2)x/=x+y等价于x=x/(x+y)x/=8等价于x=x/8x%=7等价于x=x%7x%=(4-2)等价于x=x%(4-2)
字符串常量
(1)定义:括在一对双引号之内的字符序列或转义字符序列称为字符串常量。例如:“Howareyou!”“a”“*abc\n\t”(2)存储:字符串中的字符依次存储在内存中一块连续的区域内,并且把空字符‘\0’自动附加到字符串的尾部作为字符串的结束标志。故字符个数为n的字符串在内存中应占n+1个字节。‘b’与‘B’是否相同?‘b’与“b”是否相同?b为98,B为66'b'是字符常量,“b"是字符串常量注意:在源程序中书写字符串常量时,不必加结束字符‘\0’,否则画蛇添足。如果有一个字符串为“CHINA”,则它在内存中的实际存储如下所示:CHINA\0
转义字符
转义字符表及其含义字符形式含义\n换行,将当前位置移到下一行开头\t水平制表(跳到下一个tab位置)\b退格,将当前位置移到前一列\r回车,将当前位置移到本行开头\f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 承包草地合同(2篇)
- 2025年度数据中心农民工用工合同4篇
- 二手房交易法律合同模板2024一
- 2025年度个人贷款合同风险评估与管理规范4篇
- 二零二五年度国际货物保险合同条款及理赔细则3篇
- 2025年度临时临时临时停车场租赁合同2篇
- 2025年度个人股权分割及转让合同3篇
- 个人与个人2024年度汽车租赁合同3篇
- 二零二五年度宁波劳动合同模板:包含员工劳动合同变更条款
- 二零二五年度外汇借款合同风险防范与应对策略
- 2024年资格考试-对外汉语教师资格证笔试参考题库含答案
- 软件研发安全管理制度
- 三位数除以两位数-竖式运算300题
- 寺院消防安全培训课件
- 比摩阻-管径-流量计算公式
- GB/T 42430-2023血液、尿液中乙醇、甲醇、正丙醇、丙酮、异丙醇和正丁醇检验
- 五年级数学应用题100道
- 西方经济学(第二版)完整整套课件(马工程)
- 高三开学收心班会课件
- GB/T 33688-2017选煤磁选设备工艺效果评定方法
- 科技计划项目申报培训
评论
0/150
提交评论