第02章基本数据类型和基本操作
高等教育自学考试Java语言程序设计(一)第二章数据和表达式课件
第二章数据和表达式目录第一节基本语法元素第二节基本数据类型第三节表达式01 基本语法元素1.空白在java程序中,换行符及回车符都可以表示一行的结束,它们可被看作是空白,另外空格键,水平定位键(Tab)亦是空白,编译器会忽略多余的空白。
2.注释(1)单行注释://一行内的注释(2)多行注释:/*一行或多行注释*/(3)文档注释:/**文档注释*/3.语句、分号和块语句是Java程序的最小执行单位,程序的各语句间以分号“;”分隔。
一个语句可以写在连续的若干行内。
大括号“{”和“}”包含的一系列语句称为块语句,简称块。
语句块可以嵌套,即语句块中可以含有子语句块;关键字Java语言定义了许多关键字,关键字也称为保留字,他们都有各自的特殊意义和用途。
*标红的为预留关键字,尚未使用标识符1.标识符是由字母、数字、下划线(_)或美元符($)组成的字符串,其中数字不能作为标识符的开头。
2.标识符区分大小写,长度没有限制。
3.标识符中不能含有其他符号,例如+、=、*、及%等,当然也不允许插入空白。
4.标识符可用作变量名、方法名、接口名和类名。
5.Java源代码采用的是Unicode码,用16位无符号二进制数表示一个字符,Unicode字符集中的字符数可达65535个,汉字也是字符,所以也可以出现在标识符中,例如“这是一个标识符”也是一个正确的标识符。
Java编程风格编写程序时应该注重自己的编程风格,增加必要的注释和空格,采用缩进格式。
定义的各种标识符也要遵从惯例注意大小写。
程序中尽量不使用没有含义的标识符。
最好能望名知义,例如,变量用于计数,可将它命名为counter;用变量保存税率,可将它命名为taxRate。
·类名或接口名:多为名词,含有大小写,每个单词的首字母大写如HelloWorld、Customer、SortClass 等。
·方法名:多是动词,含有大小写,首字母小写,其余各单词的首字母大写。
基本数据类型
7.1 C语言的输入与输出
所谓输入输出是以计算机为主机而言的。 从计算机向输出设备(如显示器、打印机等) 输出数据称为输出。 从输入设备(如键盘、鼠标、扫描仪等)向计 算机输入数据称为输入。
7.1 C语言的输入与输出
C语言本身不提供输入输出语句。输入和输 出操作是由C函数库中的函数来实现的。 C函数库中有一批“标准输入输出函数”, 它是以标准的输入输出设备为输入输出对象 的。其中有putchar、getchar、printf、 scanf、puts、gets。 使用“标准输入输出函数”的源文件在引用 这些函数前必须:#include <stdio.h>。
类型
float (单精度) double (双精度) long double (长双精度型)
比特数
32 64 128
有效数字
6~7 15~16 18~19
数值范围
-1.2×10-38~3.4×1038 -2.2×10-308~1.8×10308 -1.2×10-4932~3.4×104932
6.2 浮点型变量
4.1 整型变量
类型
[signed] int unsigned [int] [signed] short [int] unsigned short [int] [signed] long [int] unsigned long [int]
比特数
32 32 16 16 32 32
取值范围
-2147483648~2147483647 0~4294967295 -32768~32767 0~65535 -2147483648~2147483647 0~4294967295
8.1 格式输出函数
1. 2. 3. 4. 格式修饰符: -:输出的数字或字符在域内向左靠拢。 l:长整型整数。 m:数据最小宽度 n:对实数,表示输出的小数位数;对字符 串,表示截取的字符个数。
C语言习题答案1-7章
程序设计基础(C语言版)习题第01章绪论一.选择题1.以下叙述中正确的是________。
A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整参考答案:D【解析】程序设计通常分为问题建模、算法设计、编写代码和编译调试四个阶段。
所以选项A)、B)、C)说法都不完整。
2.以下关于简单程序设计的步骤和顺序的说法中正确的是。
A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构参考答案:B【解析】设计一个能解决实际问题的计算机程序需要经过以下几个过程:①建立模型。
②算法设计:给出解决问题的步骤,即算法。
③算法表达:选择一种表达算法的工具,对算法进行清晰的表达。
④编写程序:选择一种程序设计语言,把以上算法程序化,这称为编写程序。
⑤程序调试:对编写好的程序进行调试,修改程序中的错误。
⑥程序文档编写与程序维护。
综上所述,B)选项是符合上述描述的,其他选项不恰当。
3.以下叙述中正确的是________。
A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句C)简单C语句必须以分号结束D)C语句必须在一行内写完参考答案:C【解析】函数是C程序的基本组成单位;C语言书写风格很自由,不但一行可以写多个语句,还可以将一个语句写在多行中。
故本题答案为C)。
4.以下叙述中正确的是。
A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,要求一行内只能写一个语句C)C程序书写格式自由,一个语句可以写在多行上D)用C语言编写的程序只能放在一个程序文件中参考答案:C【解析】在C语言中,注释可以加在程序中的任何位置,选项A)错误。
C语言答案(删减版)
C语言答案()第一章C语言程序设计基础习题参考答案1-1 冯·诺依曼体系结构的基本原理:五大构成部分:输入、输出、CPU、控制器、存储器;程序存储、自动执行、逻辑判断功能;二进制的信息表示。
1-6 编辑、编译、链接、执行。
1-7 必须有一个主函数,它是程序执行的起点;一个C语言程序由函数构成;每一条可执行语句都必须由分号结束;函数的代码段必须由花括号对括住。
一个函数中的语句组由声明区和可执行语句区两部分构成。
1-8 三个一缩;每遇到一个结构时均缩格,每结束一个结构时回退;缩格格式必须对齐。
1-9 试给出以下问题的程序设计过程描述:1) 求两个数中之最大者。
#include<stdio.h>int main(void){float fA,fB;clrscr();printf("Please input two values(fA,fB)::"); /*输入要比较的两个数fA,fB*/scanf("%f,%f",&fA,&fB); /*格式化输入fA,fB*/if(fA>=fB) printf("the max is %f",fA);if(fA<fB) printf("the max is %f",fB);return 0;} /*main()函数结束*/2) 求三个数中之最大者。
#include<stdio.h>int main(void){float fA,fB,fC,fMax;printf("Please input three values(fA,fB,fC)::");/*fA,fB,fC是输入的3个数,fMax存放最大值*/scanf("%f,%f,%f",&fA,&fB,&fC);fMax=fA;/*假定fA最大*/if(fMax<fB) fMax=fB;if(fMax<fC) fMax=fC;printf("The max is %f\n",fMax);/*输出最大值*/return 0;} /*main()函数结束*/3) 求1+2+3+…+100,即。
C语言——第02章数据类型1
例2.2 整型变量的定义与使用
#include <stdio.h> void main() { int a,b,c,d; unsigned u; a=12;b=-24;u=10; c=a+u;d=b+u; printf(“a+u=%d,b+u=%d\n”,c,d);
}
(4) 整型数据的溢出 例2.3 数据的溢出 #include <stdio.h> 2 void main() 3 { 4 short a,b; 5 a=32767; 6 b=a+1; 7 printf("%d,%d\n",a,b); 8 }
区分变量名和变量值是两个不同的概念
练习:为变量a和b分别赋一个实数,求
a-b
a+b
的结果.
#include<stdio.h> void main() { float a,b; scanf(“%f%f”,&a,&b); printf("%f\n",(a-b)/(a+b)); }
§2.4 整型数据
练习:
编写:定义2个单精度变量a和b,求其和存入变量sum中; 定义2个双精度变量c和d,求其积存入变量tim中,a、b、 c、d的值任意给。
#include <stdio.h> void main() { float a,b,sum; double c,d,tim; scanf(“%f%f%f%f”,&a,&b,&c,&d); sum=a-b; tim=c*d; printf(“sum=%f tim=%f\n”,sum,tim); }
“规范化的指数形式‛,即在字母e(或E)之前 的小数部分中,小数点左边应有一位(且只能有 一位)非零的数字。 一个实数在用指数形式输出时,是按规范化的指 数形式输出的。 例如: 123.456可以表示为: 123.456e0, 12.3456e1, 1.23456e2, 0.123456e3, 0.0123456e4, 0.00123456e5 其中的1.23456e2称为“规范化的指数形式”。
C语言基本数据类型及运算题库有答案
C语言基本数据类型及运算题库有答案第二章基本数据类型及运算一、选择题1. 若以下选项中的变量已正确定义,则正确的赋值语句是。
A) x1=26.8%3; B) 1+2=x2; C) x3=0x12; D) x4=1+2=3;答案:C2. 设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面两位,并将第三位四舍五入的是。
A) x=x*100+0.5/100.0 B) x=(x*100+0.5)/100.0C) x=(int)(x*100+0.5)/100.0 D) x=(x/100+0.5)*100.0答案:C3. 下列C语言中运算对象必须是整型的运算符是。
A) %= B) / C) = D) *=答案:A4. 若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是。
A) 0 B) 0.5 C) 1 D) 2答案:A5. 设x和y均为int型变量,则以下语句:x+=y; y=x-y; x-=y; 的功能是。
A) 把x和y按从大到小排列 B) 把x和y按从小到大排列C) 无确定结果 D) 交换x和y中的值答案:D6. 下列变量定义中合法的是。
A)short_a=1-.le-1; B)double b=1+5e2.5;C)long do=0xfdaL; D)float 2_and=1-e-3;答案:A7. 以下4个选项中,不能被看作是一条语句的是。
A) {;} B) a=0,b=0,c=0;C) if (a>0); D) if (b==0)m=1;n=2;答案:D8. 设x=1,y=-1,下列表达式中解为8的是。
A)x&y B)~x│x C)x^x D)x<<=3答案:D9. 在C语言中不合法的整数是。
A)20 B)0x4001 C)08 D)0x12ed答案: C10. 以下选项中不正确的实型常量是A)2.607E-1 B)0.8103e0.2 C)-77.77 D)456e –2答案:B)11.若变量已正确定义并赋值,符合C语言语法的表达式是A)a=a+7 B)a=7+b+c,a++C)int(12.3%4) D)a=a+7=c+b答案:B)12.以下十六进制数中不合法的是A)oxff B)0Xabc C)0x11 D)0x19答案:A)13. 设int i=2,j=3,k=4,a=4,b=5,c=3;,则执行表达式(a=i<j)&&(b=j>k)&&(c=i,j,k)后,c值是。
C语言第02章 数据类型、运算符与表达式
回到 首页
运算符和结合性 P325,附录3
2.8 算术运算符和算术表达式
3、自增、自减运算符
自增运算符++和自减运算符--均是单目运算符, 功能是使变量的值增1或减1。其优先级高于所有 双目运算符,结合性为右结合性(自右至左)。
回到 首页
例如:++i或i++ 等价于i=i+1; --i或i-- 等价于i=i-1;
2.7数值型数据之间的混合运算
回到 首页
1、整型、实型、字符型数据之间可以混合运 算
整型(包括int,short,long)和实型(包括float,double)数据可 以混合运算,另外字符型数据和整型数据可以通用,因此,整 型、实型、字符型数据之间可以混合运算。 例如,表达式10+'a'+1.5-8765.1234*'b'是合法的。
2.9赋值运算符和赋值表达式
1、赋值运算符和赋值表达式
赋值运算符:“=”为双目运算符,右结合性。 赋值表达式:由赋值运算符组成的表达式称为赋值表达 式。 赋值表达式一般形式: 变量 赋值符 表达式 如 a=5 类型转换:将高精度的数据类型赋值给低精度的数据类 型,可能出错。
回到 首页
2.9赋值运算符和赋值表达式
2.8 算术运算符和算术表达式
3、自增、自减运算符
回到 首页
y=++x;等价于先计算x=x+1(结果x=6),再执行y=x,结果y=6。 y=x++;等价于先执行y=x,再计算x=x+1,结果y=5,x=6。 y=x++*x++;结果y=25,x=7。x++为后缀形式,先取x的值进行“*” 运算,再进行两次x++。 y=++x*++x;结果y=49,x=7。
C语言02 数据类型及输入输出
– 注意在不同系统中长度可能不同,可用sizeof查看(举例),int 类型在VC中是4B, 而在TurboC中为2B
• • • • •
声明一个变量,类型名 后跟变量名
– 如 char a;
声明多个变量时,变量之间用逗号隔开
– 如:int a,b,c;
用signed修饰符说明有符号数,signed可以省略
适用
输出 输入和输出 输入和输出 输入和输出 输出 输出 输入 输入和输出 输入和输出 输入和输出
ቤተ መጻሕፍቲ ባይዱ
误差来源: 尾数是有限的,有些十进制数变成二进制存储时,长度 超过容纳范围丢失产生误差 在运算中,对阶移位而使部分尾数移出容纳范围而产生 误差
整型常量的表示
• • • • 十进制表示和数学中相同,如35,-36 八进制数用零做前缀,如023,-012, -079(错) 十六进制数用零加x做前缀表示,如0x2a,-0x1f 用L做后缀表示长整数常量,U后缀表示无符号数常量,如 123456789ul • 示例: – #include "stdio.h" – void main(){ – int a,b,c; – a=23;b=023;c=0x23; – printf("%d,%d,%d\n",a,b,c); – }
• 字符串常量用双引号做定界符表示, 如:”a”, ”sdhjfdshjfhjsd”,“”(空串),“ ”(由一个空 格组成的字符串)
实数输出举例
• • • • • • • #include "stdio.h" void main(){ float a=34.5678; printf("%f,%d\n",a,a); } 输出结果:34.567799,-1610612736 说明前面存储时产生误差,后者格式错误输出 完全错误
C语言-基本数据类型、常量和变量
4
3. 类型修饰符
(1)short和long可以提供不同的数据长度以满足实际使用的需要。
C规定:长度 short int ≤ int ≤ long int
VC++ 6.0
16bit 32bit 32 bit
C规定:长度 float ≤ double ≤ long double
VC++ 6.0
32bit 64bit 64bit
整理ppt
5
VC++ 6.0数据类型和取值范围
类型 char [signed] char unsigned char int [signed] int unsigned [int] short int
长度(字节) 1 1 1 4 4 4 2
取值范围 -128~127 -128~127 0~255 -2147483648~2147483647 -2147483648~2147483647 0~4294967295 -32768~32767
在整数后面加上后缀l或L则构成长整数,如
-124783648l,1234567890L
在整数后面加上后缀ul或UL则构成无符号长整数,如
3456ul,1234567890ul
整理ppt
8
(2)八进制整数 以数字0打头,后跟0~7组成的数字串。例如:
0123表示八进制常数123,相当于十进制数83。 八进制整数可以加上后缀u(U),l(L)或ul(UL)分别构成八进制
基本数据类型与输入输出
2.2 基本数据类型—sizeof操作符
01
03
05
02
04
06
变量名的命名原则:
2.3 变量定义—命名变量名
2.3 变量定义—命名变量名
请判断下列变量名是否合法: way_cool RightOn NumberOfStudent case 9iOralce A lot Sin
√
√
√
x
x
x
x
常量,是常数或代表固定不变值的名字,常量定义,使用“const”修饰符: const 数据类型 变量1=初始化值1,[变量2=初始化值2,…];
定义成常量后,程序只能读取该常量的值,不能修改该常量,不能放在赋值语句的左边;
常量在程序运行前就应该知道其值,常量定义中的初始化值可以是一个常量表达式,如: const int size = 300*sizeof(int);//正确
定点数形式,由数字和小数点组成(注意必须有小数点),如0.123,.3415,0.0;
指数形式,如123e5表示123*105;
在C++中,一个实型常数如果没有任何说明,表示double型,要表示float型,必须在实数后面加上f或F,如34.5f、34.5、34.5l分别代表float型、double型、double型数;
练习
给出下面程序输出的结果: #include <iostream.h> void main( ) { int a; char ch; ch='a' ; ch++; a=ch; cout<<a; }
第二章 基本数据类型与输入输出
单击此处添加副标题
202X/XX/XX
精品课件-JAVA语言程序设计教程(张席)-第2章
第2章 数据类型、运算符、表达式和语句 程序运行结果如图2.3所示。
图2.3 一维数组应用举例
27
第2章 数据类型、运算符、表达式和语句 2.5 运算符与表达式
对各种类型的数据进行加工的过程称为运算,表示各 种不同运算的符号称为运算符,参与运算的数据称为操作数。 Java语言运算符如图2.4所示。
byte a=100;
//定义整型变量 a,且赋初值为 100
short b=1000; //定义整型变量 b,且赋初值为 1000
int c=10000;
//定义整型变量 c,且赋初值为 10000
long d=100000L; //定义整型变量 d,且赋初值为 100000
float e= 5.12f ; //指定变量 e 为 float 型,且赋初值为 5.12
char byte、short byte、short、int byte、short、int、long byte、short、int、long、float
int int long float double
17
第2章 数据类型、运算符、表达式和语句
2.3.2 强制类型转换
高优先级数据要转换成低优先级数据,需用到强制类型转换,
其转换格式为
(类型名)(数据或表达式)
例如:
int x;
short a=(short)x;
/*把int型变量x强制转换为short
型*/
18
第2章 数据类型、运算符、表达式和语句 2.4 数 组
2.4.1 数组的概念 数组是相同类型的数据按顺序组成的一种复合数据类型,通
过数组名加数组下标来使用数组中的数据,下标从0 开始。
21
C语言课件 第02章
2.2 常
的形式一般有两种。 字面量。 符号常量。
量
在C语言中有不同类型的常量,如整型常量、浮点 常量、字符常量和字符串常量。常量在C语言中出现
2.2.1 整型常量 C语言中普通整常量在机器中占一个字长。 在C语言中,整常量又分为十进制整常量、八进制 整常量和十六进制整常量。 1.十进制整常量 十进制整常量是带正负号的整数。 2.八进制整常量 八进制整常量是以数字0开头的八进制数字串,其 中只能出现数字0~7。 3.十六进制整常量 十六进制整常量是以0x或0X开头的十六进制数字 串,可用的数字有:0~9、a~f或A~F。
(1)十进制数形式
3.14、0.618、.618、10.0和123.。必须有小数点, 并且小数点的前面或者后面必须有数字。 (2)指数形式 2.98e6( 或2.98E6)、3.0e8(或3.0E8)、6.E-5、6e-
5和.123E+4。必须有阶码标志e(或E),并且e之前必须
有数字,e之后的指数必须是整数。
void main()
{ int a,b=-550; char c='7'; float f1=3.142,f2;
a=b/c; /* integer divided by a character */
printf(″a=%d\n″,a);
a=f1; /* float to integer conversion */ printf(″f1=%f……a=%d\n″,f1,a); f1=b;/* integer to float conversion */ printf(″b=%d……f1=%f\n″b,f1); f2=b/50.0;/* integer divided by a float */ printf(″b=%d,f2=%f\n″,b,f2); } 输出结果是: a=-10 f1=3.142000……a=3 b=-550……f1=-550.000000 b=-550,f2=-11.000000
Excel2016数据处理与分析 第02章 数据输入
数据输入常用技巧
1、自动换行
2、插入换行符 选中单元格,把光标定位到文本中需要强制换 行的位置,例如在“微软”之后,按 <Alt+Enter>组合键插入换行符,再适当调整列 宽。
自动更正
依次单击【文件】→【选项】,打开【Excel选 项】对话框。切换到【校对】选项卡,在【自 动更正】选项区域单击【自动更正选项】按钮, 在打开的【自动更正】对话框中可以看到内置 的自动更正项目。
03、文本 文本通常是指非数值的文字、符号等,例如企业的部门名称、学生的考试科目、个人的姓名等。
04、公式 公式以等号“=”开头,可以是简单的数学公式,也可以包括Excel的内嵌函数,甚至是用户自定义 函数。
Excel中的数据类型
05、逻辑值 逻辑值包括TRUE(真)和FALSE(假)两种类型。
06、错误值 用户在使用Excel过程中,可能会遇到一些错误值信息,例如#N/A!,#VALUE!等。出现这些错误 的原因有很多种,通常是公式无法计算正确结果造成的。比如在需要数字的公式中使用了文本、 删除了被公式引用的单元格等。
快速填充
快速填充能够让一些不复杂的字符串处理工作变得极 其简单,例如日期的拆分、字符串的分列和合并等。 需要注意的是,快速填充只能在数据区域的相邻列才 能使用,在横向填充时不起作用。在处理缺乏规律性 的数据时,快速填充会无法得到准确的结果。
快速分析
使用快速分析工具,能够快速选择条件格式、 图表、数据透视表等常用的Excel工具快速方便 地分析数据。 如果用户在工作表中使用鼠标选取了部分单元 格区域,会在所选区域的右下角显示【快速分 析】按钮,单击该按钮,Excel会根据用户所选 取的数据类型和数据结构,智能地给出快速分 析的参考,其中包括格式化、图表、汇总、表 格以及迷你图等。
第2章基本数据类型及运算符原始解读
在C语言中,大小写字母有不同的含义,例如:num, Num,NUM为三个不同的标识符。 在构造标识符时,应注意做到“见名知意”,即选择 有含义的英文单词(或汉语拼音)作标识符,以增加程 序的可读性。如表示年可以用year,表示长度可用 length,表示和可以用sum等。 C语言中有一些标识符被称为关键字,在系统中具有 特殊用途,不能作为一般标识符使用,如用于整型变量 定义的int关键字,就不能再用作变量名。 有些标识符虽不是关键字,但C语言总是以固定的形 式用于专门的地方,因此,用户也不要把它们当做一般 标识符使用,以免造成混乱。这些常用的标识符有: define,include,ifdef,ifndef,endif,elif。
2. 实型(浮点型)常量
实型常量是由整数部分和小数部分组成的,它只有十 进制的两种表示形式。 (1)定点数形式。它由数字和小数点组成。整数和小 数部分可以省去一个,但不可两者都省,而且小数点不 能省。如:1.234,.123,123.,0.0等。 (2)指数形式(或称科学表示法)。它是在定点数形 式表示法后加e(或E)和数字来表示指数。指数部分可 正可负,但须为整数,且应注意字母e(或E)之前必须 有数字。如:1.234e3,12.34e2均合法地代表了 1.234×103;而e3,1e2.3,.e3,e均不合法。 另外,实型常量的后缀用F(或f)表示单精度型,而 后缀用L(或l)表示长双精度型。如:0.5e2f表示单精 度数,3.6e5L表示长双精度数。
变量
在程序运行过程中,其值可以被改变的量称为变量。变量有两个要素: 变量名。每个变量都必须有一个名字,即变量名。变量命名应遵循标识符的命名规 则。 变量值。在程序运行过程中,变量值存储在内存中;不同类型的变量,占用的内存 单元(字节)数不同。在程序中,通过变量名来引用变量的值。 【程序2-3】用来输出两个整数相加、相减和相乘的结果,代码如下。 /* 文件名:chap02_3.cpp */ #include <stdio.h> void main(){ int x,y; printf("请输入两个整数,中间用空格隔开:"); scanf("%d%d",&x,&y); printf("%d+%d=%d\n",x,y,x+y); printf("%d-%d=%d\n",x,y,x-y); printf("%d*10%d=%d\n",x,y,x*y); } 程序运行结果: 请输入两个整数,中间用空格隔开:10 5↙ 10+5=15 10-5=5 10*5=50 本程序中,x和y定义成整型变量,用于接受用户输入的值。
第02章 基本数据类型与表达式
31
字符串 “WORLD”: 字符串 “A”: 字符 ‘A‟:
W O R L D \0 A \0 A
字符串中可以包含转义字符: cout<<"\x07operating\tsystem"; 字符串中有几个字符?占多少字节? 17个字符,占18个字节 如何显示? 响铃并显示:operating system
\a \n \r \t \v \b \\ \" \„ 0x07 0x0A 0x0D 0x09 0x0B 0x08 0x5C 0x22 0x27 bell(响铃) 换行 回车 制表符 垂直跳格 Backspace ‘\‟ 双引号 单引号
27
转义字符
转义字符还可以直接使用八进制数或十 六进制数,这时,可以表示所有的 ASCII字符:
profit myScore; 即:double myScore;
typedef unsigned short int UINT16 ; UINT16 i ;
19
2.3.2 常量
严格来说,常量又分成符号常量和常数。
符号常量是指代表一个固定不变值的名字; 常数是指在程序中使用的具体的数据。
5
2.1.3 标识符
标识符是程序员声明的单词,它命名程序正 文中的一些实体,如函数名、变量名、类名、 对象名等。 例如:
合法的标识符: apple、_Student、_123、 no1、max_num 不合法的标识符:51job、max num、-abc int new=123; //Error
int a='b'; char c=97; cout<<a<<endl; cout<<c<<endl;
C++ 第02章 数据类型、运算符和表达式
已知 a=0, b=5 则 a&&b 的值是 0 则 a||b 的值是 1 则 !a&&b 的值是 1
注意: 在C++程序中, 欲表示数学关系 0≤x≤10 , C++的逻辑表达式必须写成 0<=x && x<=10, 而不能写成 0<= x <=10。
为什么?
2.4.6 位运算符和位运算表达式 位运算是对整型数据的运算(可以操作到位), 符号位参与运算, 主要用于系统程序设计。 位运算符共有6 种: 它们是:按位与(&) 按位或(|) 按位异或(^) 按位取反(~) 左移(<<) 右移(>>)
第二部分 面向对象的程序设计
第2章
数据类型、运算符与表达式
[例1.1]一个简单的C++程序
#include <iostream.h> void main( void ) C++ 程序的构成: { (1)数据描述 int num, square ; cout << "num=" ; (2)执行步骤( 算法) cin >> num ; square = num*num; cout << "num的平方为:" << square << '\n'; }
注意:int 型变量与 unsigned int 型变量的区别 32 位
int 型: (补码)
符号位 32 位 unsigned int 型: 无符号位
范围 -231~ (231 - 1) 范围 0~ (232 - 1)
《新概念C语言能力教程》第2章基本数据类型
• 其中的l(long)和h(short)称为长度修饰符,是附加的格式说明符。
格式字符串与数据类型
• unsigned short a = -1u; • 语句printf("%hu", a);中格式字符串hu(无符号短整型)准确地匹配了变量a
printf函数的输出结果不会是22亿。这条语句有逻辑错误。
分析下面语句的输出结果。
• printf("%lu", 2200000000); • printf("%ld", -1); • printf("%lu", -1u); • printf("%hd", -1); • printf("%hu", -1u); • printf("%hu", -2);
编码和解码
• 现实世界中的数据转换成由0和1组成的二进制串,计算机才能存储和处理。 由数据得到01串称为编码;由01串得到数据称为解码。
• 每类数据都各有特点,只用一种编码规则统一编码是不现实的。不同类型的 数据如整数和小数,采用了不同的编码规则。
• 多种编码规则导致不同数据的编码结果可能相同,因此,只有确定了编码规 则,才能正确解码。
功的识别的16。 • 当用户输入32789↙时,全部识别成功,但短整型变量m的实际值不会是
的类型,printf函数正确地输出变量a的实际值65535。 • 语句printf("%hd", a);中格式字符串hd(短整型)与变量a的类型不匹配,
2006C程序设计-第2章(补充)
例 int a=1234; float f=123.456; char ch=‘a’; printf(“%8d,%2d\n”,a,a); printf(“%f,%8f,%8.1f,%.2f,%.2e\n”,f,f,f,f,f); printf(“%3c\n”,ch);
••••1234,1234 123.456000,123.456000,•••123.5,123.46,1.23e+02 ••a
程序设计 –庞振平等 华南理工大学出版社
第二章 基本数据类型及运算
(9)g格式符,用来输出实数,自动选择f格式或e格式 例:g格式输出 f=123.456 printf(“%f\n”,f); printf(“%e\n”,f); printf(“%g\n”,f); 输出结果: 123.456000 1.234560e+002 123.456
C程序设计 –庞振平等 华南理工大学出版社
第二章 基本数据类型及运算
(5)c格式符,用来输出一个字符 char c=‘a’;printf(“%c”,c); #include <stdio.h> main() { char c=‘a’;int i=97; printf(“%c,%d”,c,c); printf(“%c,%d”,i,i); }
00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 16位 16位
//0000123.46
//000+1234
//000+123.46
例: #的使用方法 例 int a=123; printf(“%o,%#o,%X,%#X\n”,a,a,a,a); 例: l的使用方法 //173,0173,7B,0X7B //0, • 65536
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章:基本数据类型和基本操作学习目标♦编写简单的Java程序♦理解标识符、变量和常量♦基本数据类型:z Byte, short, int, long, float, double, char, boolean ♦运算符:z+, -, *, /, %, +=, -=, *=, /=, %=, ++, --♦表达式♦熟悉Java的文档管理、程序设计风格和命名习惯♦理解语法错误、运行时错误和逻辑错误标识符命名规则:♦标识符必须以字母、下划线(_)或美元符号($)开头。
由字母、下划线、$和数字组成,但是不能以数字开头。
♦标识符不能包含运算符,如+, — 等。
♦标识符不能是关键字,如class, public等。
♦标识符不能是true, false 或 null。
布尔型字面量true,false不是关键字,对象值null也没有列入关键字,但是不能把它们派做其它用途。
(见书后附录A)♦标识符可有任意长度。
注意:Java区分大小写,X和x是两个不同的标识符。
合法的例子:abc , _isTrue , $123非法的例子:123,%isTrue, 9_xy命名习惯:推荐使用较长,有一定含义的标识符。
增加可读性。
是区分高级程序员和初级程序员的标志之一变量♦变量用于存储数据——输入、输出和中间数据。
变量声明♦变量用来表示多种不同类型的数据。
为了使用变量,需要说明它并告诉编译器变量名及其所代表的数据类型。
♦说明变量的语法如下:datatype variableName;(数据类型变量名;)例如:int x; // Declare x to be an integer variable;double radius; // Declare radius to be a double variable;char a; // Declare a to be a character variable;赋值语句♦进行变量说明后,可以用赋值语句给它赋一个值,赋值语句语法如下:variable = value;variable = expression;♦注意:在赋置语句中,左边变量的数据类型必须与右边值的数据类型相容。
例如:int X = 1.0;是非法的,因为X是整型int型,不能把double型的数值赋给X例如:x = 1; // Assign 1 to x;radius = 1.0; // Assign 1.0 to radius;a = 'A'; // Assign 'A' to a;X = 5*(3/2)+3*2; //Assign the value of the expression to x;注意:变量名必须在左边,1 = X就是错误的。
♦表达式表示值、变量和运算符的运算。
是程序的基本单位之一。
可以是语句的一部分,也可以是单独的。
它的值就是组成部分运算后所得。
运算主要由运算符规定。
例如:area = radius*radius*3.14159;在一步中说明和初始化变量变量通常有初值,可以在一步中说明变量并对其初始化:♦int x = 1;♦double d = 1.4;♦float f = 1.4;思考:上述语句都正确吗?常量♦变量的值在程序执行过程中可能会改变,常量则表示永远不变的数据。
♦常量的语法如下:final datatype CONSTANTNAME=VALUE;(final 数据类型 常量名=值;)♦常量必须在使用前给予说明和初始化。
只要对其进行了说明就不能改变它的值。
例如:final double PI = 3.14159;final int SIZE = 3;数值数据类型Java有六种数值类型:四种整型和两种浮点数。
(了解各种类型的值域/范围,见书P25)byte 8 bits short 16 bitsint 32 bits long 64 bitsfloat 32 bits double 64 bits数值字面量字面量是在程序中直接出现的基本类型的数据值。
♦int i = 34;(34就是字面量)♦long l = 1000000;♦float f = 100.2f;或float f = 100.2F;♦double d = 100.2d;或double d=100.2D;注意:浮点型字面量默认为double型。
①整型注意:[1]java中的数据类型的长度是固定的,也是与平台无关的,而c/c++不是,他们的数据长度与硬件平台和操作系统都有关系。
比如16位的操作系统和32位的操作系统中数据长度是有区别的。
[2]Long型的常量需要加l 或 L :1234L②浮点型[1]float和double的区别:长度不同 32/64;精确度不同,double的精确度高。
[2]提到之前的思考题:其中,语句float f = 1.4;是错误的,因为符点型字面量默认为double 型,不能将double型的数值直接赋给float型的变量,正确写法:float f = 1.4f; [3]与C不同,没有无符号型(unsigned)。
算术运算符♦数值类型的标准算术运算符包括:+, -, *, / 和 %。
♦整数除法的结果是整数,如5/2= 2而不是2.5。
整型除法中对于不能整除的部分做截断处理:1/2=0;为了避免,做除法运算时可以使用浮点型。
♦运算符%得出除法的余数,如5%2=1 。
简捷赋值运算符运算符 例 等价于+= i+=8 i = i+8-= f-=8.0 f = f-8.0*= i*=8 i = i*8/= i/=8 i = i/8%= i%=8 i = i%8增量运算符和减量运算符♦前置增量/减量运算符:变量先加1或减1,再参与表达式中的运算。
♦后置增量/减量运算符:变量先参与表达式的运算,再加1或减1。
例如:x = 1;y = 1 + x++; ——(y = 2, x = 2)y = 1 + ++x; ——(y = 3, x = 2)y = 1 + x--; ——(y = 2, x = 0)y = 1 + --x; ——(y = 1, x = 0)数值类型转换考虑下面的语句:byte i = 100;long l = i*3+4;double d = i*3.1+l/2;int x = l; ———— (错误)long l = x; ———— (正确,隐式类型转换)这些语句正确吗?♦Java允许用于二元运算的数值变量和值具有不同类型。
当两个类型不同的运算对象进行二元运算时,Java自动把精度较低的类型转换成另一个精度较高的类型。
♦总可以将低精度类型的值赋给高精度类型的变量。
但是,如果不进行类型转换,就不能将高精度类型的值赋给低精度类型的变量。
类型转换♦类型转换是一种操作,它把一种数据类型的值转换成另一种数据类型。
♦将一个小范围类型的变量转换为大范围类型称为拓宽类型;把大范围类型的变量转换为小范围类型称为缩窄类型。
例如:float f = (float)10.1; ——(缩窄类型)int i = (int)f; ——(缩窄类型)精度由高到底排序:♦double♦float♦long♦int♦short♦byte隐式类型转换(自动类型转换):这种转换由Java编译系统自动完成,不需要程序另作特别说明。
double d = 3; (拓宽类型)显式类型转换(强制类型转换):由于目标数据类型的取值范围小于待转换数据类型的取值范围,转换过程中会出现取模或截断的现象,会造成溢出或精度下降。
int i = (int)3.0; (缩窄类型)int x = 5/2.0; 正确吗?错误。
不能把double型的数值直接赋给int型变量x,正确写法:int x = (int)(5/2.0);字符数据类型♦字符数据类型char用于表示单个字符。
如:char letter = 'A';char numChar = '4';更正书P28错误:char numChar = 4;是正确的。
字符型变量的取值可以使用字符型和整型的常数,但不能使用整型的变量。
♦Char型只表示一个字母,表示一串字符要用叫做String的数据结构。
♦字符串必须用双引号引住,一个字符的字面量是单引号括住的单个字符。
♦Java采用统一码(Unicode),它是一种16位的编码方案,占两个字节,书写上用以\u开头的4位十六进制数表示,范围从’\u0000’到’\uFFFF’。
j ava使用16位的Unicode字符集,c/c++使用8位的ASCII。
Unicode字符集是Unicode协会推出的一种用以取代ascii字符集的新的字符编码标准。
增加了许多非拉丁语字符。
♦大多数计算机使用ASCII码,Unicode包含ASCII码。
在Java程序中,可以使用ASCII 字符,也可以使用Unicode。
例如,下面的语句是等价的:char letter = 'A'; (ASCII)char letter = '\u0041'; (Unicode)♦可以利用类型转换将字符转换为数值编码,反之亦然。
如:int decimalCode = (int) '0';变量decimalCode的值变为48。
♦Java也允许用转义序列表示特殊字符。
如:char tab = ‘\t’;♦特殊字符对应的转义序列表如下:Description Escape Sequence Unicode退格键 \b \u0008Tab键 \t \u0009换行符 \n \u000a回车键 \r \u000d斜杠 \\ \u005c单引号 \’ \u0027双引号 \” \u0022布尔数据类型♦布尔数据类型来自布尔代数,它的值域包括两个值:真(true)和假(false)。
例如:boolean lightsOn = true;boolean lightsOn = false;♦用布尔值进行运算的运算符是比较运算符(关系运算符)和布尔运算符(逻辑运算符)。
比较运算符运算符 名称 例 结果< 小于 1<2 true<= 小于等于 1<=2 true> 大于 1>2 false>= 大于等于 1>=2 false== 等于 1==2 false!= 不等于 1!=2 true逻辑运算符运算符 名称 描述! 非 逻辑否定,取反&& 与 逻辑与,并且|| 或 逻辑或,或者^ 异或 逻辑异或,排同运算符 & 和 |♦Java也提供 & 和 | 运算符。
♦运算符 & 和 | 的两个运算对象都要计算。