当前位置:文档之家› 第2章 基本数据类型与输入输出

第2章 基本数据类型与输入输出

第2章 基本数据类型与输入输出
第2章 基本数据类型与输入输出

第2章基本数据类型与输入输出

2·1字符集与关键字

组成C语言的字符(字符集)包括:

26个小写字母a~z

26个大写字母A~Z

10个数字0~9

其它可以显示的字符+-*/=,._:;?\”’~|!#%&()[]{}^<>

空白字符空格、制表、换行、回车等等

在C源程序中,编译器识别的基本元素是“语言符号“,包括:

关键字

标识符

常量(文字常量)

运算符

标点字符

关键字是C编译器中具有特定意义的单词。

auto break case char

const continue default do

double else enum extern float for goto if

int long register return short signed sizeof static struct switch typedef union unsigned void volatile while

2·2基本数据类型

整形

字符型单精度型

实型(浮点型)

枚举型双精度型

数组类型

数据类型构造类型结构体类型

公用体型

指针类型

当声明一个对象(变量或常量)时,必须说明是什么数据类型(简称“类型“);

对象类型的描述确定了其内存所占空间大小,也确定了其表示范围;

对象类型的描述确定了其所能进行的操作;

在不同的计算机上,每个对象类型所占用的内存空间的长度不一定相同。

基本数据类型的分类

整数类型

符号表现形式数据长度数值范围

带符号int 32 -2147483648~2147483647

short 16 -32768~32767

long 32 -2147483648~2147483647

无符号unsigned int 32 0~4294967295

unsigned short 16 0~65535

unsigned long 32 0~4294967295

实数类型

符号表现形式数据长度数值范围

带符号float 32 7位精度

double 64 15~16位精度

字符类型

符号表现形式数据长度数值范围

带符号char 8 -128~127

无符号unsigned char 8 0_255

2·3变量

在程序运行过程中,其值可以改变的量称为变量。一个变量有一个名字,在内存中占据一定的存储空间。

2.3.1变量的命名

用来标识变量名、常量名、函数名、类型名、文件名的有效字符序列称为标识符(identifier)。标识符的命名规则

(1)必须以字母或者下划线开始;

(2)名称的其余部分必须由字母、数字和下划线组成;

(3)不能是C语言的关键字;

(4)C语言区分大小写;

(5)不要太长,一般不超过31个字符;

(6)不要与C语言中的库函数名和常量名相同。

例如:

way_cool,RightOn,Bits32,iPtr,myCar //合法

case,52Select,A Lot,-VV //非法

sin,Case,string //不合适

2.3.2变量定义方式

变量就是一个存储对象,必须在声明之后才能使用;

声明变量即定义了变量,意味着给变量分配了内存空间;

声明可以在任何代码块顶端的开始{符号之后出现;

如果使用一条语句声明多个同一类型变量时,变量使用都号分割;

在同一语句里不能混合定义不同类型的变量。

2.3.3量赋值与初始化

用赋值运算符“=”给变量复制

int nCount;

nCount = 0; /*赋初值*/

在定义变量的同时赋值,称为初始化

int nCount = 0;

例如:

2.3.4 字符数据在内存中的存储形式及其使用方法

C语言使字符型数据和整数数据之间可以通用;

一个字符数据既可以以字符形式输出,也可以以整数形式输出;

可以对字符数据进行算术运算。

2·4常量

在程序运行中,其值不能被改变的量称为常量。

用文字代表一个常量,称为文字常量。如radius = diameter/2.0;2.0就是一个文字常量。用一个标识符代表一个常量,称为符号常量,即标识符形式的常量。

2.4.1 常量定义

使用编译预定以指令#define

#define 常量名 文字常量 如 #define PI 3.1415926

area = PI * radius * radius; area = 3.1415926 * radius * radius;

使用const 修饰词

在变量声明的开始使用const 修饰语创建一个变量(符号变量)。 如 const double PI = 3.1415926; area = PI * radius * radius; 符号常量必须初始化;

常量名不能出现在赋值语句的左边。

const int size = 100 * sizeof(int); //ok const int number = max(15,23); //error

2.4.2 整型常量 1· 十进制整数。如123、-456、0。 2· 八进制整数。以0开头的数是八进制数。如0123=(123)8)123(8=1*64+2*8+3=83;

-011=8)11(-=-1*8+1=-9。

3· 十六进制整数。以0x 开头的数是十六进制数。如0x123=16)123(=1*16*16+2*16+3=291; -0x12=16)12(-=-16+2=-18

2.4.3 实型常量 1· 十进制数形式。如0.123、.123、12

3.0、123.、0.0 2· 指数形式。如123e3或123E3 2.

4.4字符型常量

C 的字符常量是用单引号括起来的一个字符。如’a’,’A’,’*’,’%’。 字符形式 功能

\n

换行 \t

横向跳格 \v

竖向跳格 \b

退格 \f

走纸换页 \r

回车 \\

反斜杠字符”\” \’

单引号字符 \ddd

1到3位8进制数所代表的字符 \xhh

1到2位16进制数所代表的字符

2.4.5字符串常量

字符串常量是一对双引号括起来的字符序列。如:”How do you do”

2·5 printf和scanf

2.5.1 printf函数

int printf(格式控制,输出列表);或printf(参数1,参数2,…参数n );

int printf(const char*format [,argument]...);

功能:向终端输出若干个任意类型的数据。

返回值:输出的字符个数,若出错,返回负数。

参数:format

“格式控制”使用双引号括起来的字符串,也称“转换控制字符串”,它包含两种信息:1·格式说明,由%和格式字符组成,如%d。它的作用是将输出的数据转换为指定的格式输出。

2·普通字符,即需要原样输出的字符

argument

输出列表

#include

LIBC.LIB

2.5.2 scanf函数

scanf(格式控制,地址列表);

int scanf(const char*format [,argument]...);

功能:

返回值:

参数:

format

“格式控制”的含义同printf函数,“地址列表”是由若干地址组成的表列,可以是变量的地址,或字符串的首地址。

argument

地址列表

#include

LIBC.LIB

注意事项

(1)scanf函数中的“格式控制”后面应当是变量地址,而不应是变量名;

scanf(”%d%d”, &a, &b); //合法

scanf(”%d%d”, &a, &b); //不合法

(2)如果在“格式控制”字符串中除了格式说明以外还有其它字符,则在输入数据时应输入与这些字符相同的字符;

(3)在用”%c”格式输入字符时,空格字符和“转义字符”都作为有效字符输入;

(4)在输入数据时,遇以下情况时该数据认为结束:

1.与空格,或按“回车”或“跳鸽”(TAB)键。

2.与宽度结束。

3.与非法输入。

2·6 putchar和getchar

int putchar(char ch);

功能:向终端输出一个字符ch

参数:

返回值:输出的字符ch若出错,返回EOF

#include

LIBC.LIB

int getchar();

功能:从终端输入一个字符

参数:无

返回值:所读字符。若出错则返回-1

#include

LIBC.LIB

2·7 sizeof操作符

例如:

int nSize = sizeof(int);

int i;

nSize = sizeof(i);

2·8 本章要点

主要概念

关键字标识符数据类型变量常量

新的词汇

#include #define sizeof const

运算符声明

新的函数

main printf scanf putchar getchar

2·9 上机作业

1.输入一个小写字母,输出其相应的大写。2.输入一个华氏温度,要求输出摄氏温度。公式

c = 5/9*(F-32)

输出要有文字说明,取2位小数。

C++习题第02章 基本数据类型、运算符与表达式

第02章基本数据类型、运算符与表达式 1. 选择题 (1)在32位机中,int型字宽为()字节。 A) 2 B) 4 C) 6 D) 8 (2)下列十六进制的整型常数表示中,错误的是()。 A) 0xad B) 0X11 C)0xA D) 4ex (3)设n=10,i=4,则执行赋值运算n%=i-1后,n的值是()。 A) 0 B) 1 C) 2 D) 3 (4)若有a=2,b=4,c=5,则条件表达式a>b?a:b>c?a:c的值为()。 A) 0 B) 2 C) 4 D) 5 (5)若有a=1,b=2,则表达式++a==b的值为()。 A) 0 B) 1 C) 2 D) 3 2.简答题 (1)指出下列数据中哪些可作为C++的合法常数? (a) 588918 (b) 0129 (c) 0x88a (d) e-5 (e) ″A″ (f) .55 (g) ’\\’ (h) 0XCD (i) 8E7 (j) π (2)指出下列符号中那些可作为C++的合法变量名? (a) ab_c (b) β (c) 3xyz (d) if (e) cin (f) a+b (g) NAME (h) x! (i) _temp (j) main (3)根据要求求解下列各表达式的值或问题。 (a) (int)3.5+2.5 (b) (float)(5/2)>2.4 (c) 21/2+(0xa&15) (d) 设int i=10,则表达式i&&(i=0)&&(++i)的值是多少?该表达式运算结束后变量i的值为多少? (e) 设int a=1,b=2,c=3;,求表达式a

数据类型与输入输出

学生实验报告 学号 : 日期 : 2014-06-22 系别计算机科 学与技术 专业 计算机科学与 技术(师) 班级姓名 课程名称C语言程序设计 课程 类型 专业课学时数2 实验 名称 数据类型与输入\输出函数 实验目的 进一步熟悉VC++6.0集成开发环境的使用方法; 掌握C语言三种基本数据类型的特点; 掌握基本输入/输出函数的功能和使用要求; 积累VC++6.0进行程序调试经验。 实验要求: 熟悉如何定义一个整型、字符型、实型: 掌握不同的类型数据之间赋值的规律; 掌握scanf,printf函数的使用方法; 实验内容 。1.新建工程EXP2_1并编辑下列程序,编译连接运行。/*C source program example*/ #include"stdio.h" main() { int a,b,sum; printf("Hello, C! "); a=123;b=456; sum=a+b; printf("sum is %d\n",sum); }

运行结果: 2 .练习程序的简单调试 去掉程序EXP2_1.c中语句 sum=a+b; 的分号,观察编译错误并记录和分析说明。 把EXP2_1.c程序中的main改为mian,观察程序出错情况并记录分析。将程序EXP2_1.c中语句 printf("sum is %d\n",sum); 中" 换为”,观察编译错误并记录和分析说明。

分析结果:不管是将“sum=a+b;”改为“sum=a+b”,还是将“main”函数改为“mian”,都出现错误,因而得不到正确的运行结果。 3.新建工程EXP2_2,按下列要求在该工程工作空间编写一个文件名为:EXP2_2.c 的程序。 定义3个int变量和一个实数型变量average,计算并输出3个整数的平均值average,即average=(x+y+z)/3,其中x,y,z的值通过变量初始化方式赋值x=5,y=4,z=2,输出average的值。 实验要求: 1)调试运行程序并观察运行结果。

java基本数据类型习题(选择24)

1、下列哪一个是合法的标识符: A、12class; B、+viod; C、-5; D、_black; 2、下列哪一个不是JAVA语言中保留字: A、if; B、sizeof; C、private; D、null; 3、下列描述中正确的一项是: A、标识符首字符的后面可以跟数字; B、标识符不区分大小写; C、复合数据类型变量包括布尔型、字符型、浮点型; D、数组属于基本数据类型; 4、下列哪一项不属于变量的组成部分: A、变量名; B、变量属性; C、变量初值; D、变量大小; 5、下列关于变量组成部分描述正确的一项是: A、变量名不是标识符;

B、变量名是标识符; C、浮点型属于复合类型; D、变量属性分为:基本类型和符合类型; 6、下列选项中,哪一项不属于JAVA语言的简单数据类型: A、整数型; B、数组; C、字符型; D、浮点型; 7、下列关于变量作用域的描述中,不正确的一项是: A、变量属性是用来描述变量作用域的; B、局部变量作用域只能是它所在的方法的代码段; C、类变量能在类的方法中声明; D、类变量的作用域是整个类; 8、下列关于基本数据类型的说法中,不正确的一项是: A、boolean是JAVA非凡的置值,或者为真或者为假; B、float是带符号的32位浮点数; C、double是带符号的64位浮点数; D、char应该上是8位的Unicode字符; 9、下列关于溢出的说法中,正确的一项是: A、一个整型的数据达到整型能表示的最大数值后,再加1,则机器产生上溢,结果为整型的最大值; B、一个整型的数据达到整型能表示的最小数值后,再减1,

第2章 基本数据类型与输入输出

第2章基本数据类型与输入输出 2·1字符集与关键字 组成C语言的字符(字符集)包括: 26个小写字母a~z 26个大写字母A~Z 10个数字0~9 其它可以显示的字符+-*/=,._:;?\”’~|!#%&()[]{}^<> 空白字符空格、制表、换行、回车等等 在C源程序中,编译器识别的基本元素是“语言符号“,包括: 关键字 标识符 常量(文字常量) 运算符 标点字符 关键字是C编译器中具有特定意义的单词。 auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while 2·2基本数据类型 整形 字符型单精度型 实型(浮点型) 枚举型双精度型 数组类型 数据类型构造类型结构体类型 公用体型 指针类型

当声明一个对象(变量或常量)时,必须说明是什么数据类型(简称“类型“); 对象类型的描述确定了其内存所占空间大小,也确定了其表示范围; 对象类型的描述确定了其所能进行的操作; 在不同的计算机上,每个对象类型所占用的内存空间的长度不一定相同。 基本数据类型的分类 整数类型 符号表现形式数据长度数值范围 带符号int 32 -2147483648~2147483647 short 16 -32768~32767 long 32 -2147483648~2147483647 无符号unsigned int 32 0~4294967295 unsigned short 16 0~65535 unsigned long 32 0~4294967295 实数类型 符号表现形式数据长度数值范围 带符号float 32 7位精度 double 64 15~16位精度 字符类型 符号表现形式数据长度数值范围 带符号char 8 -128~127 无符号unsigned char 8 0_255 2·3变量 在程序运行过程中,其值可以改变的量称为变量。一个变量有一个名字,在内存中占据一定的存储空间。

实验2基本数据类型与数组(最新整理)

民族学院实验报告 计算机科学 系 级 班 指导教师 报告人20 年 月 日 成 绩 课程名称 JAVA 语言程序设计实验名称实验二 基本数据类型与数组实验 目的 1.掌握基本数据类型及其相互之间的转换2.掌握JAVA 中数组的使用实验仪器 和器材具有JDK 环境的计算机一台 实验内容和要求 一、输出希腊字母表 1.请按模板要求,将【代码】替换为Java 程序代码,运行该程序时在命令窗口中输出希腊字母表。其运行效果如图 2.1所示。 图2.1 输出希腊字母表 GreekAlphabet.java public class GreekAlphabet { public static void main(String[] args) { int startPosition=0,endPosition=0; char cStart='α',cEnd='ω'; startPosition=(int )cStart; //cStart 做int 型数据转换,并将结果赋值给startPosition endPosition=(int )cEnd; //cEnd 做int 型数据转换,并将结果赋值给EndPosition System.out.println("希腊字母\'α\'在Unicode 表中的顺序位置:"+(int)cStart); System.out.println("希腊字母表:"); for (int i=startPosition;i<=endPosition;i++){ char c='\0'; cStart=(char )i; //i 做char 型转换运算,并将结果赋值给c System.out.print(" "+c); if ((i-startPosition+1)%10==0) System.out.println(); } } } 2.实验后练习 (1)将一个double 型数据直接赋值给float 型变量,程序编译时提示怎样的 错误? 答:程序提示的内容为:“可能损失精度”。 (2)在应用程序的main 方法中增加语句:

第二章JAVA的基本数据类型

第2章Java的基本数据类型 本章试验的主要任务是正确理解和掌握Java基本类型数据的使用方法,包括:掌握各种不同类型数据之间的转换规则、运算规则;学会使用Java运算符、表达式,掌握运算符的优先级、表达式的运算规则。 2.1 实验一:Java 的基本类型数据的应用 1. 实验目的 1) 了解Java的基本数据类型的特点; 2) 掌握各种类型变量的声明、赋值、转换及运算方式。 2. 实验要求 编写并实现程序,完成对基本类型变量的声明、赋值,并对变量进行简单运算输出运算结果。 3. 实验内容 实验示例 2.1.1. 在程序中实现对整型变量的定义、赋值、运算并输出运算结果。执行程序并分析运算结果。 使用Jcreator开发工具完成实验,其操作步骤如下: ⑴执行JCreator,进入JCreator开发环境窗口; ⑵为了方便起见,关闭一些视图窗口,只留下编辑和常规输出(Build Output)窗口(如图2-1所示); ⑶执行“File”→“New”菜单下的“File…”项,在“File Wizard”对话框的文件名栏中输入“Practice2_1”,根据需要,可以改变文件路径。一般来说,可以创建一个文件夹,用该文件夹来存放你开发程序,例如E:\javaTest; ⑷新建文件后,在编辑窗口输入如图2-1中所示的java程序源代码; ⑸完成代码的输入之后,执行“Build”菜单中的“Compile File”命令项或单击工具栏上的编译按钮编译源程序文件; ⑹完成编译之后,执行“Build”菜单中的“Execute File”命令项或单击工具栏上的运行程序按钮执行程序。执行结果如图2-2所示。 下边我们来分析一下程序及程序的输出结果: 在程序中,定义了两个字节(byte)变量b1和b2、两个短整型(shortt)变量s1和s2、两个整型(int)变量i1和i2、两个长整数变量(long)l1和l2,并分别对它们进行了简单的赋值运算。最后分别输出它们的十进制值,s1的二进制表示形式的值,l2十六进制表示形式的值。

第二章数据类型

第二章数据类型 一、选择题 1.C语言中的标识符只能由字母、数字和下划线组成,且第一个字符( )。 A.必须为字母 B.必须为下划线 C.必须为字母或下划线 D.可以是字母,数字和下划线中任一字符 2.VS2008作为开发环境,long、int和short这3种类型数据所占用内存大小的叙述中正确的( )。 A.均占4个字节 B.根据数据的大小来决定所占内存的字节数 C.由用户自己定义 D.由C语言编译系统决定 3.在C语言中,char型数据在内存中是以( )形式存储的。 A.原码 B. ASCII码 C.补码 D. EBCDIC码 4.以下不能定义为用户标识符的是( )。 A. Main B. _0 C. _int D. sizeof 5. 以下选项中关于C语言常量的叙述错误的是( )。 A.所谓常量,是指在程序运行过程中,其值不能被改变的量 B.常量分为整型常量、实型常量、字符常量和字符串常量 C.常量可分为数值型常量和非数值型常量 D.经常被使用的变量可以定义成常量 6.在C语言中,合法的字符常量是( )。 A.“\x41” B.‘\x41’ C.‘ab’ D.“ab” 7.以下选项中不能用作C程序合法常量的是( )。 A.1,234 B.'123' C.123 D."\x7G" 8.下列符号可以作为变量名的是( )。 A. +a B. *p C._DAY D. next day 9.设c是字符变量,则以下表达式正确的是( )。 A. c=666 B. c=‘c’ C. c=“c” D. c=“abcd” 10.若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是( )。 A.a=(b=4)=3; B.a=b=c+1; C.a=(b=4)+c; D.a=1+(b=c=4); 11.设ch是char型变量,其值为A,且有下面的表达式: ch=(ch>='A'&&ch<='Z')?(ch+32):ch.该表达式的值是( )。 A. A B. a C. Z D. z 12.int x=3,y=2;则表达式x+=x*=y+8的值为( )。

第二章数据类型.

第二章 Java 中的数据类型 本章知识要点 标识符 Java 注释 Java 数据类型 2.1 使用规范的标识符为变量命名: 2.1.1标识符命名规则: 在 Java 中,标识符用来为程序中的常量、变量、方法、类、接口和包命名 . Java 中的标识符有以下四种命名规则 : 1. 标识符由字母、数字、下划线 (_或美元符号 ($组成 . 2. 标识符的首字母由字母、下划线 (_或美元符号 ($开头,不能以数字开头 . 3. 标识符的命名不能与关键字、布尔值(true,false 和 null 相同。 4. 标识符区分大小写,没有长度限制,坚持见名知义的原则 .

2.1.2 关键字 : 关键字是 Java 语言保留的,为其定义了固定含义的特殊标识符 . 注意 :关键字全部为小写字母,程序员不能将关键字定义为标识符,否则出现编译错误 . Java 中定义的 48个关键字如下表所示 : 提示 : 见名知义的原则 : 是指在使用标识符命名时,要使用能反映被定义者含义或作用的字符。这样,其他人在阅读代码时通过名称就可以对程序有所理解。

驼峰命名法就是当使用标识符命名时,如果是由一个或多个单词连接在一起,第一个单词以小写字母开始,第二个单词的首字母大写或每一个单词的首字母都采用大写字母,这样的变量名看上去就像骆驼峰一样此起彼伏,故取名。如fileName,username. 2.2 使用注释对代码进行解释说明 注释是程序开发人员和程序阅读者之间交流的重要手段,是对代码的解释和说明。好的注释可以提高软件的可读性,减少软件的维护成本 . 在 Java 中,提供了 3种类型的注释 : 2.2.1 单行注释 单行注释指的是只能书写一行的注释,是最简单的注释类型,用于对代码进行简单的说明 . 当只有一行内容需要注释的时候,一般使用单行注释。在 Eclipse 中默认使用” Ctrl ” + “ /” , 可以快捷实现单行注释 . 单行注释的语法 : //单行注释 在语法中 单行注释使用“ //” 开头 . “ //”后面的内容都被认为是注释 . 注意:1. 单行注释不会被编译 2.“ //”不能放到被注释代码的前面,否则这行代码会被注释。 2.2.2 多行注释

第2章 基本数据类型-习题(C语言)

第2章基本数据类型 一.选择题 1.不合法的字符常量是【】。 A) ‘\t’B) “B” C) ‘a’ D)’\x32’ 2.合法的字符常量是【】。 A) ‘\084’ B) ‘\84’ C) ‘ab’ D)’\x4A’ 3.C语言提供的合法的数据类型关键字是【】。 A) Float B) Signed C) integer D)char 4.属于合法的C语言长整型常量的是【】。 A)2736 B)0L C)2E10 D)(long)5876273 5.下面选项中,不是合法整型常量的是【】。 A)160 B)-0xcdg C)-01 D)-0x48a 6.以下所列的C语言常量中,错误的是【】。 A)0xFF B)1.2e0.5 C)2L D)’\72’ 7.下面四个选项中,均是不正确的8进制数或16进制数的选项是【】。 A)016 0x8f 018 B)0abc 017 0xa C)010 -0x11 0x16 D)0a12 7ff -123 8.下选项中不属于C语言的类型是【】。 A)signed short int B)unsigned long int B)unsigned int D)long short 9.判断int x = 0xaffb1。x的结果是【】。 A)赋值非法 B)溢出 C)为affb D)为ffbc 10.下面选项中,是合法浮点数的是【】。 A)+1e0.5 B)-.60 C)123e D)-e3 11.在C语言中,要求参加运算的数必须是整数的运算符是【】。 A)/ B)* C)% D) = 12.在C语言中,字符型数据在内存中存放形式是【】。 A)原码 B)BCD码 C)反码 D)ASCII码

第二章 数据类型(3)

C语言初学者入门讲座第二讲数据类型(3) 基本运算符和表达式 运算符的种类、优先级和结合性 C语言中运算符和表达式数量之多,在高级语言中是少见的。正是丰富的运算符和表达式使C语言功能十分完善。这也是C语言的主要特点之一。 C语言的运算符不仅具有不同的优先级,而且还有一个特点,就是它的结合性。在表达式中,各运算量参与运算的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合性的制约,以便确定是自左向右进行运算还是自右向左进行运算。这种结合性是其它高级语言的运算符所没有的,因此也增加了C语言的复杂性。 运算符的种类C语言的运算符可分为以下几类: 1.算术运算符 用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(+ +)、自减(--)共七种。 2.关系运算符 用于比较运算。包括大于(>)、小于(<)、等于(==)、大于等于(>=)、小于等于(<=)和不等于(!=)六种。 3.逻辑运算符 用于逻辑运算。包括与(&&)、或(||)、非(!)三种。 4.位操作运算符 参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。 5.赋值运算符 用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&

=,|=,^=,>>=,<<=)三类共十一种。 6.条件运算符 这是一个三目运算符,用于条件求值(?:)。 7.逗号运算符 用于把若干表达式组合成一个表达式(,)。 8.指针运算符 用于取内容(*)和取地址(&)二种运算。 9.求字节数运算符 用于计算数据类型所占的字节数(sizeof)。 10.特殊运算符 有括号(),下标[],成员(→,.)等几种。 优先级和结合性 C语言中,运算符的运算优先级共分为15级。1级最高,15级最低。在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符优先级相同时, 则按运算符的结合性所规定的结合方向处理。C语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。例如算术运算符的结合性是自左至右,即先左后右。如有表达式x-y+z则y应先与“-”号结合,执行x-y运算,然后再执行+z的运算。这种自左至右的结合方向就称为“左结合性”。而自右至左的结合方向称为“右结合性”。最典型的右结合性运算符是赋值运算符。如x=y=z,由于“=”的右结合性,应先执行y=z再执行x=(y=z)运算。 C语言运算符中有不少为右结合性,应注意区别,以避免理解错误。 算术运算符和算术表达式基本的算术运算符 1.加法运算符“+”加法运算符为双目运算符,即应有两个量参与加法运算。如a+b,4+ 8等。具有右结合性。 2.减法运算符“-”减法运算符为双目运算符。但“-”也可作负值运算符,此时为单目运算,如-x,-5等具有左结合性。

C语言数据的输入与输出

C语言数据的输入与输出 一.Printf函数 函数原型在头文件stido.h中(使用时可以不包括) printf函数的返回值等于成功输入得数据的个数 1.printf函数得一般调用形式 printf(格式控制字符串,输出项列表) 格式控制字符串包括: (1)格式指示符 格式:%[标志][宽度][.精度][ [ h|l ] <类型>] (2)转义字符 如:'\n' , '\0' (3)普通字符 如:printf("max=%d,min=%d\n", a, b); “max=”和“,min=”是普通字符;“%d”是格式指示符;“\n”是转义字符; a和b是输出类表中的输出项(可以是常量、变量、或表达式)。 2.print函数中常用得格式控制说明 (1)数据类型控制字符 (2)数据类型修饰符 数据类型修饰符在%和数据类型控制符之间 如:长整型 "%ld" ,短整型 "%hd" (3)输出数据所占得宽度与精度

1)在%与格式字符之间插入一个整数来指示输出宽度。 若指定得输出宽度不够,系统自动以数据实际值得宽度作为输出宽度;如果指定的输出宽度多于数据实际所需宽度,数据右对齐,左边补以空格。 如:printf("%5d\n",42); \*输出结果: 42*\ 2)float或double类型得实型数可以用“整数1.整数2”的形式在指定总宽度的同时指定小数位得宽度。“整数1”指定输出数据得总宽度(小数点也要计算在内),“整数2”称之为精度,即小数位的位数。 注意:输出数据得实际精度并补取决与格式控制中的域宽和小数得位宽,而是取决于数据在计算机内的存储精度。 (4)标志控制字符 1)输出数据左对齐的标志字符“-”,在指定输出宽度之前。 如:printf("%-5d##\n",24); \*输出结果:24 ##*\ 2)输出数字总是带正负号得标志字符“+”,在%和格式字符之间(或指定得输出宽度前) 如:printf("%+d,%+d\n",100,-200); \*输出结果:+100,-200*\ 3)在输出数据前加前导0,可以在指定输出宽度得同时,在数据前面得多于空格处填以数字0。 如:printf("%05d\n",59); \*输出结果:00059*\ 二.Scanf函数 函数原型在头文件stdio.h中(使用时可以不包括) Scanf函数的返回值等于成功输入得数据的个数。 1.scanf函数得一般调用形式 scanf(格式控制字符串,地址列表) 格式控制字符串:%[*][输入数据宽度][ h|l ]<类型> 地址列表是各变量得地址,如:&a,&b

第二章 数据类型课后习题及答案

第二章数据类型课后习题 1.下列哪些是合法的变量名?如果合法,你认为它是一个好的助记符(能提醒你它的用途)吗? (a) stock_code 合法、好的助记符 (b) money$ 非法,$为非法字符 (c) Jan_Sales 合法、好的助记符 (d) X-RAY 非法,–为非法字符 (e) int 非法,int为关键字 (f) xyz 合法、不是好的助记符 (g) 1a 非法,变量名必须以字母或下划线打头 (h) invoice_total合法、好的助记符 (i) john's_exam_mark非法,’为非法字符 (j) default 非法,default为关键字 2.请确定下列常量的数据类型: (a) 'x' char (b) -39 int (c) 39.99 double (d) -39.0 double 3.下列哪些是合法的变量定义?

(a) integer account_code ; 非法,无integer类型 (b) float balance ; 合法 (c) decimal total ; 非法,无decimal类型 (d) int age ; 合法 (e) double int ; 非法,int为关键字,不能作为变量名 (f) char c ; 合法 4.写出下列各小题中的变量定义: (a) 整型变量number_of_transactions和age_in_years int number_of_transactions, age_in_years; (b) 单精度浮点型变量total_pay,tax_payment,distance和average float total_pay, tax_payment, distance, average; (c) 字符型变量account_type char account_type; (d) 双精度浮点型变量gross_pay double gross_pay; 5. 为下列各小题写出最合适的变量定义: (a) 班级中的学生人数int number_of_students; (b) 平均价格float average_price; (c) 自1900年1月1日以来的天数int days_since_1900; (d) 利率百分比float interest_rate;

(完整版)实验2基本数据类型与数组

民族学院实验报告 计算机科学系级班指导教师 报告人20 年月日成绩 课程 名称JAVA语言程序设计 实验名称实验二基本数据类型与数组实验 目的 1.掌握基本数据类型及其相互之间的转换 2.掌握JAVA中数组的使用 实验仪器 和器材 具有JDK环境的计算机一台 实验内容 和要求 一、输出希腊字母表 1.请按模板要求,将【代码】替换为Java程序代码,运行该程序时在命令窗 口中输出希腊字母表。其运行效果如图2.1所示。 图2.1 输出希腊字母表 GreekAlphabet.java public class GreekAlphabet { public static void main(String[] args) { int startPosition=0,endPosition=0; char cStart='α',cEnd='ω'; startPosition=(int)cStart; //cStart做int型数据转换,并将结果赋值给startPosition endPosition=(int)cEnd; //cEnd做int型数据转换,并将结果赋值给EndPosition System.out.println("希腊字母\'α\'在Unicode表中的顺序位置:"+(int)cStart); System.out.println("希腊字母表:"); for (int i=startPosition;i<=endPosition;i++){ char c='\0'; cStart=(char)i; //i做char型转换运算,并将结果赋值给c System.out.print(" "+c); if ((i-startPosition+1)%10==0) System.out.println(); } } } 2.实验后练习 (1)将一个double型数据直接赋值给float型变量,程序编译时提示怎样的 错误? 答:程序提示的内容为:“可能损失精度”。 (2)在应用程序的main方法中增加语句:

C语言数据类型及输入输出函数

实验二C语言数据类型及输入输出函数 一、实验目的 1、熟悉C语言编译环境Turbo C 2.0; 2、熟悉C语言的基本数据类型; 3、熟悉C语言的基本输入及输出函数; 4、使用TC编写简单的程序。 二、预习并思考 1.C语言所包括的基本数据类型 1)整型 整型数据可以有哪几种表示形式?(十进制,八进制,十六进制) 基本整型,短整型,长整型,字符型 两种表现形式 1在定义时使用: 比如十进制表示: int a=12; 八进制表示: int a=012; 十六进制表示:int a=0x12; 2 在输出时使用: Printf(“%d”,a);/*十进制数*/ Printf(“%o”,a);/*八进制数*/

Printf(“%h”,a);/*十六进制数*/ 这几种类型的数据应该如何定义?怎么区分? 整型 int “%d” 长整型 long int “ %ld” 字符型 char “%c” 整型数据的范围是多少?超出以后会如何? 整型数据范围:-32768~32767 超出后,依次从最小开始计数 比如32768 显示出来是-32768 2)实型

实型数据分为单精度float和双精度double两种,它们存储时分别占据多大的内存空间? Float -2^32~2^31-1,占四个字节 Double -2^64~2^63-1,占八个字节 3)字符型 一个字符的数据范围有多大? 0~256 如何理解字符数据和整型数据之间的关系?字符和字符串之间的关系是什么,存储时有何区别? 字符人们使用的记号,抽象意义上的一个符号。 '1', '中', 'a', '$', '¥', …… 字符串在内存中,如果“字符”是以 ANSI 编码形式存在的,一个字符可能使用一个字节或多个字节来表

基本数据类型与基本运算

第二章基本数据类型与基本运算 本章主要介绍程序设计中高级语言提供的数据类型和其上允许的基本运算。在介绍这些内容时,我们通过穿插一些实例介绍如何应用数据类型与基本运算来解决一些简单的问题。 2.1 数据类型的概念 2.1.1 为什么程序设计语言中要引入“数据类型”这一概念? 2.1.2 数据类型的概念 数据类型是程序设计语言中的一个非常重要的概念。那么,什么是数据类型呢? 数据类型是由该类型的数据的值域(即值集)和在这些数据上所有施加的运算的集合(即运算集或操作集)组成。值域指出了每一种数据类型的变量合法的数据取值范围,而运算集合则规定了每一种数据类型的变量和数据其上所允许进行的运算。值域和运算集是数据类型的两个基本属性。在下面介绍Pascal语言的数据类型的有关章节中,对每一种数据类型均将说明这两种属性。 2.1.3 数据类型的代数理论基础 一个数据类型是一个二元组(D,R)。其中,D是一个数据类型的值域,R是建立在D上的运算(操作)的集合。这个二元组构成了一个代数系统。其中,D叫做该系统的基集。从本质上说,一个代数系统就是一个带运算的集合,而一个数据类型就是一个代数系统。 从这个概念出发,程序设计语言理论在数据结构的基础上发展了一些数据和类型的代数理论。这些理论属于程序设计语言语义学的范畴,将来,有兴趣的学生在具备了比较深入的基础之后,可以作进一步的了解。 2.1.4 Pascal语言中数据类型的分类 Pascal语言的优点之一是有丰富的数据类型,按照其定义者的不同可分为下面几类,如表2-1所示。 整数类型 实数类型 系统预定义的数据类型布尔类型(逻辑类型) 基本(标准)数据类型 字符类型 Pascal 枚举类型 数据类型子界类型 数组类型 用户自定义的数据类型记录类型构造型数据类型 集合类型 文件类型 指针类型 图2-1 Pascal的数据类型 2.2 基本数据类型 本节介绍四种基本数据类型(Elementary Date Type),它们是整数类型、实数类型、布尔类型(逻辑类型)和字符类型。基本数据类型又称为标准数据类型(Standard Date Type),我国国家标准中将它改称为需求数据类型。基本数据类型是语言系统预先定义或规定的数据类型。 2.2.1 整数类型 整数类型(Integer Date Type)简称整型,在Pascal语言中用类型标识符integer表示整数类型。整型的数据可以是正整数、负整数和零,其中,正整数和零可以省略“+”号。 1.整数类型的值域 任何计算机系统由于受机器字长的限制,它所能表示的整数只是数学中整数集合的一个有穷的子集合。其中,最大整数为maxint,它的值与具体机器的字长有关。一般地,若机器的字长为W时(假设用一位表示数符),由于整数在机器内采用二进制补码表示,因此,

第二章 基本数据类型

第二章基本数据类型 2.1数据概述 一、程序设计概述 一个程序应包括对数据的描述和对数据处理的描述。 1.对数据的描述,即数据结构。数据结构是计算机学科的核心课程之一,有许多专门著作论述,本课程就不再赘述。在C语言中,系统提供的数据结构,是以数据类型的形式出现的。 2.对数据处理的描述,即计算机算法。算法是为解决一个问题而采取的方法和步骤,是程序的灵魂。为此,著名计算机科学家沃思(Nikiklaus Wirth)提出一个公式:数据结构+ 算法= 程序 实际上,一个程序除了数据结构和算法外,还必须使用一种计算机语言,并采用结构化方法来表示 二C语言的数据类型 C语言提供的数据结构,是以数据类型形式出现的。具体分类如下: 1.基本类型分为整型、实型(又称浮点型)、字符型和枚举型四种。 2.构造类型分为数组类型、结构类型和共用类型三种。 3.指针类型。在第9章中介绍。 4.空类型 C语言中的数据,有常量和变量之分,它们分别属于上述这些类型。 本章将介绍基本类型中的整型、实型和字符型三种数据。 三常量和变量 1 常量 常量的概念:在程序运行过程中,其值不能被改变的量称为常量。 常量的分类 (1)整型常量(2)实型常量 (3)字符常量。(4)符号常量。 常量的类型,可通过书写形式来判别。 2 变量 变量的概念:在程序运行过程中,其值可以被改变的量称为变量。 变量的两个要素 (1)变量名。每个变量都必须有一个名字──变量名,变量命名遵循标识符命名规则。 (2)变量值。在程序运行过程中,变量值存储在内存中。在程序中,通过变量名来引用变量的值。 变量要先定义后使用 变量定义的格式:类型说明符变量名;多个变量之间可以用逗号隔开 先定义:1)确定变量的数据类型2)分配存储空间3)决定能做的运算 变量的赋值变量名=值、表达式、函数调用 3.标识符命名规则 (1)有效字符:只能由字母、数字和下划线组成,且以字母或下划线开头。(2)有效长度:随系统而异,但至少前8个字符有效。如果超长,则超长部分被舍弃。 例如,由于student_name和student_number的前8个字符相同,有的系统认为这两个变量,是一回事而不加区别。在TC V2.0中,变量名(标识符)的有效长度

第2章练习 基本数据类型与输入输出xs答案

1.字符常量与字符串常量的区别是什么? 答:字符常量与字符串常量的主要区别在于:(1)定界符不同。字符常量使用单引号,而字符串常量使用双引号。(2)长度不同。字符常量的长度固定为1,而字符串常量的长度,可以是0,也可以是某个整数。(3)存储要求不同。字符常量存储的是字符的ASCII码值,而字符串常量除了要存储有效的字符外,还要存储一个结束标志’\0’。 二、选择题 1.下列数据类型不是C++语言基本数据类型的是()。 A.字符型 B.整型 C.实型 D.数组 2.在C++语言中,080是()。 A.八进制数 B.十进制数 C.十六进制数 D.非法数 3.下列字符列中,可作为C++语言程序自定义标识符是()。 A.switch B.file C.break D.do 4.下列字符列中,可以作为“字符串常量”的是()。 A. ABC B.″xyz″ C.′uvw′ D. ′a′ 5.字符串”vm\x43\\\np\102q”的长度是()。 A. 8 B. 10 C. 17 D. 16 6.在C++语言中,自定义的标识符()。 A.能使用关键字并且不区分大小写 B.不能使用关键字并且不区分大小写 C.能使用关键字并且区分大小写 D.不能使用关键字并且区分大小写 7.下面标识符中正确的是()。 A._abc B.3ab C. int D.+ab 8.下列不合法的变量名为()。 A.int B.int1 C.name_1 D.name0 9.下列变量名中,非法的是()。 A.A25 B.My_car C.My-str D.abc 10.下列常量中,十六进制int型常量是()。 A.0x5f B.x2a C.046 D.7a 11.下列常量中,不是字符常量的是()。 A.'\n' B."y" C.'x' D.'\7' 12.长双精度浮点型常量的后缀是()。 A.U B.F C.L D.无

基本数据类型

S7-300的数据类型分以下三种: 基本数据类型、复合数据类型和参数类型。 一、基本数据类型 1、位(bit) 常称为BOOL(布尔型),只有两个值:0或1。 如:I0.0,Q0.1,M0.0,V0.1等。 2、字节(Byte)一个字节(Byte)等于8位(Bit),其中0位为最低位,7位为最高位。如:IB0(包括I0.0~I0.7位),QB0(包括Q0.0~Q0.7位),MB0,VB0等。范围:00~FF(十进制的0~255)。 3、字(Word) 相邻的两字节(Byte)组成一个字(Word),来表示一个无符号数,因此,字为16位。 如:IW0是由IB0和IB1组成的,其中I是区域标识符,W表示字,0是字的起始字节。 需要注意的是,字的起始字节(如上例中的“0”)都必须是偶数。 字的范围为十六进制的0000~FFFF(即十进制的0~65536)。 在编程时要注意,如果已经用了IW0,如再用IB0或IB1要特别加以小心。 4、双字(Double Word) 相邻的两个字(Word)组成一个双字,来表示一个无符号数。因此,双字为32位。 如:MD100是由MW100和MW102组成的,其中M是区域标识符,D表示双字,100是双字的起始字节。 需要注意的是,双字的起始字节(如上例中的“100”)和字一样,必须是偶数。 双字的范围为十六进制的0000~FFFFFFFF(即十进制的0~4294967295)。 在编程时要注意,如果已经用了MD100,如再用MW100或MW102要特别加以小心。 以上的字节、字和双字数据类型均为无符号数,即只有正数,没有负数。 5、16位整数(INT,Integer) 整数为有符号数,最高位为符号位,1表示负数,0表示正数。范围为-32768~32767。 6、32位整数(DINT,Double Integer) 32位整数和16位整数一样,为有符号数,最高位为符号位,1表示负数,0表示正数。 范围为-2147483648~2147483647。 7、浮点数(R,Real) 浮点数为32位,可以用来表示小数。浮点数可以为:1.m×2e ,其存储结构如图所示:

第二章基本数据类型和运算

第二章基本数据类型和运算 一、单项选择题 1.下列数据中属于“字符串常量”的是(A)。 A.”a” B.{ABC} C.’abc\0’ D.’a’ 2.下列数据中属于“字符串常量”的是(B)。 A.ABC B.“ABC” C.’abc’ D.’a’ 3.在PC机中,’\n’在内存占用的字节数是(A)。 A.1 B.2 C.3 D.4 4.在PC机中,”a\xff”在内存占用的字节数是(C)。 A.5 B.6 C.3 D.4 5.字符串“ABC”在内存占用的字节数是(B)。 A.3 B.4 C.6 D.8 6.字符串”\’ABCD\’”在内存占用的字节数是(C)。 A.4 B.6 C.7 D.8 7.在C语言中,合法的长整型常数是(A)。 A.0L B.4962710 C.0.054838743 D.2.1869e10 8.在C语言中,合法的短整型常数是(D)。 A.0L B.0821 C.40000 D.0x2a 9.下列数据中不属于“字符常量”的是(C)。 A.‘\xff’ B.‘\160’ C.’070’ D.070 10.char型常量的内存中存放的是(A)。 A.ASCII代码值 B.BCD代码值 C.内码值 D.十进制代码值 11.若int类型数据字长为4,其最大值为(B)。 A.231 B.231-1 C.232-1 D.232 12.常数的书写格式决定了常数的类型和值,03322是(B)。 A.16进制int类型常数 B.8进制int类型常数 C.10进制int类型常数 D.10进制long int类型常数 13.“e2”是(D)。 A.实型常数100 B.值为100的整型常数 C.非法标识符 D.合法标识符 14.要为字符型变量a赋初值,下列语句中哪一个是正确的(A)。 A.char a=’3’; B.char a=”3”; C.char a=%; D.char a=*; 15.要为float类型变量x、y、z赋同一初值3.14,下列说明语句哪一个是正确的(C)。 A.float x,y,z=3.14; B.float x,y,z=3*3.14; C.float x=3.14,y=3.14,z=3.14; D.float x=y=z=3.14; 16.语句“float pi=3.1415926535;”将(D)。 A.导致编译错误 B.说明pi为初值3.1415926535的单精度实型常数 C.导致运行时的溢出错误 D.说明pi为初值3.141593的单精度实型常数 17.算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B)。 A.算术运算、赋值运算、关系运算 B.算术运算、关系运算、赋值运算 C.关系运算、赋值运算、算术运算 D.关系运算、算术运算、赋值运算 18.关系运算符中优先级最低的运算符是(C)。 A.“>=”和“<=” B.“>”和“<” C.“==”和“!=” D.“<=”和“<” 19.逻辑运算符中,运算优先级按从高到低依次为(D)。 A.&&,!,‖ B.‖,&&,! C.&&,‖,! D.!,&&,‖ 20.对C程序在作逻辑运算时判断操作数真、假的表述,下列哪一个是正确的(A)。 A.0为假非0为真 B.只有1为真 C.-1为假1为真 D.0为真非0为假

相关主题
文本预览
相关文档 最新文档