数据类型与标识符
C语言第2讲--数据的表示之基本数据类型

5.字符输出举例
例3.7(P51) main() 运行结果:A,B { char a,b; 65,66 a='a'; b='b'; /*或 b=98;可向字符变量赋以整数 */ a=a-32; b=b-32; printf("%c,%c\n%d,%d\n",a,b,a,b); } 注:C语言允许字符变量参与数值运算,即用字符 的ASCII 码参与运算。 大小写字母的ASCII 码相差32,因此运算后把小写 字母换成大写字母
结果:total1=300 total2=600
6
二、变量
变量以标识符命名。 变量的定义: 类型名 标识符1,标识符2,......标识符n; int a,b,c; float x,y,z;
注意事项:
/* a,b,c 为整型变量 */ /* x,y,z 为单精度型变量 */
(1)
(2)
变量必须先定义后使用
double a1,a2; a1,a2为double型变量名,每个 变量占8个字节的空间
20
3.浮点型数据的格式输出
#include <stdio.h> /*可省 */ void main() { float a=123.456; double b=1234.5678; printf(“a=%f\n”,a); printf(“b=%f\n”,b); }
输出结果: a=123.456001 b=1234.567800
21
4.printf( )函数中浮点型数据的输 出格式符(自阅)
%f :按小数形式输出实数(包括双精度),默认保留6位
小数。
%e(=%E):按指数形式输出实数(包括双精度) ,尾数 部分默认保留6位有效数字。 %.3f:按小数形式输出实数,保留3位小数。 %8.3f :按小数形式输出实数,保留3位小数,数据总宽
标识符and数据类型

标识符and数据类型⼀,标识符1.标识符⽤来给类,变量,包,⽅法等起名字的。
2.只能由字符,下滑线,美元符组成;这⾥的字符有⼤⼩写字母,中⽂字符,数字字符,但是符号只能有两个下划线和美元符。
3.不能由数字开头。
4.不能是java中的关键字。
note:建议见名知意,只使⽤英⽂字母和数字常见的命名规则a) 类:每个单词⾸字母要⼤写如class Student,class HelloWorldb)变量:第⼀个单词完全⼩写,后续更多单词⾸字母⼤写,如age,ageOfMyGirlfriend。
c)⽅法与变量规则⼀样如show(),getAge().d)包(其实就是⽂件夹,⽤于对类进⾏管理)全部⼩写,多级包⽤点隔开。
公司域名的反写cn.itcast (相当于两级⽂件夹:cn\itcast)com.itheima (相当于两级⽂件夹:com\itheima)⼆,数据类型分为基本类型和引⽤类型1,基本类型(8种):byte(1个字节),short(2个字节),int(4个字节),long(8个字节),float(4个字节),double(8个字节),char(字符型2个字节),boolean(1个字节)。
2,引⽤类型(除了基本的都算引⽤类型)有字符串,数组,类,接⼝,Lambda等。
note:3.整数类型有4种,默认为int类型4.浮点数类型有2种,默认为double类型5.定义⼀个long型整数,在数值后⾯⽤字母L作为后缀(⼤⼩写都可以建议⽤⼤写)520000000L6.定义⼀个float类型数据,在数值后⾯⽤字母F作为后缀(⼤⼩写均可建议⽤⼤写)3.14F7.字符char类型是可以包含中⽂的。
第三章标识符 关键字和数据类型

注:系统自动引入ng包,因此不需要再使用import语句引入该包
高级循环控制
嵌套式循环 格式:
for (表达式1;表达式2;表达式3) { for(表达式1;表达式2;表达式3) {若干语句 } }
for(int a=1;a<=4;a++) { for(int b=1;b<a;b++) { System.out.print(“*”); } System.out.println(); }
语句
Switch开关语句:适合多分支
格式: switch(表达式)
case 常量值1: 若干个语句 break; case 常量值2 : 若干个语句 break … … … case 常量值n: 若干个语句 break; default: 若干语句 }
{
a. switch语句中表达式的值必须是整 型或字符型 b. 常量值1到常量值 n必须也是整型 或字符型 c. 在同一个switch语句中,case后的 常量值必须互不相同 d. switch语句先计算表达式的值,若 值和某个case 后面的值相同,就 ; 执行该case里的语句直到break语 句为止。 e. 若没有值与表达式的值相同,则执 行default后面的语句。 f. default是可有可无的,若它不存 在,且所有的值都和表达式的值不 同,则switch语句就不会进行任何 处理。
语句
2)循环语句
for循环语句
a. b.
for (表达式1;表达式2;表达式3) c. { 若干语句 }
表达式1负责完成变量的初始化 表达式式2是值为boolean型的表达式, 称为循环条件 表达式3用来修整变量,改变循环条件
数据类型、运算符与表达式

6.1 一维数组
例6.4程序中第一个for语句逐个输入10个数到数组a中,然后把a[0]送 入max中。在第一个for语句中,a[1]到a[9]逐个与max中的内容比 较,若比max的值大,则把该下标变量送入max中,因此max在己 比较过的下标变量中总是为最大者。比较结束,输出的max值即 为10个整数的最大值。
2.5 字符型数据
2.5.1 字符常量
1.字符常量的定义 用一对单引号括起来的单个字符,称为字符常量。例如,'
A','6','+'等。 2.转义字符
C语言还允许使用一种特殊形式的字符常量,就是以反斜杠 “\”开头的转义字符,该形式将反斜杠后面的字符转变成另外的 意义,因而称为转义字符。
下一页 返回
第2章 数据类型、运算符与表达式
2.1 C语言的数据类型 2.2 标识符、常量和变量 2.3 整型数据 2.4 实型数据 2.5 字符型数据 2.6 算术运算与算术表达式 2.7 赋值运算与赋值表达式 2.8 自增、自减与逗号运算
2.1 C语言的数据类型
C语言提供有丰富的数据类型。其数据类型及其分类关系如 图2-1所示。
int i,max,a【10」; printf(”input 10 numbers:\n");
上一页 下一页 返回
6.1 一维数组
for(1=0;1<10;1++) scanf(”%d”,&a[i]);
max=a[0]; for(i=1;i<10;i++)
if(a[i]>max) max=a[i]; printf("maxnum=%d\n",max);
形பைடு நூலகம்输出。
数据类型

1) 基本数据类型:a、整数类型:(通用类型<32位>:Integer-有符号;Cardinal-无符号)具体:有符号:Shortint<8位>,Smallint<16位>,Longint<32位>无符号:Byte<8位>,Word<16位>,LongiWord<32位>b、字符类型:(通用类型<8位>:Char -与AnsiChar等同)具体:AnsiChar<8位> :主要存放Ansi字符WideChar<16位>:主要存放Unicode字符c、布尔类型:(通用类型<8位>:Boolean-与ByteBool等同)具体:ByteBool<8位>,WordBool<16位>,LongBool<32位>不同的布尔类型主要用于鱼其它编程语言及不同windows系统兼容。
d、枚举类型:定义:type 枚举类型标识符=(key1[=val1],.。
,keyn[=valn]) :n<=255如果给某些key指定了值,则未指定值的key是前一个key值加1;如果全部默认不指定值,则key1值为0,往后逐个加1。
e、子界类型:定义:type 子界类型标识符=下界..下界如:type SubInt=1..3 0;表示1~30的整数type SubChar='a'..'z';表示字符※注:1、以上四种类型称为有序类型,即除第一个数为都有先行数、除最后一个数外都有后继数。
在这里(计算机里),整数是有限的。
有序类型的数都有一个序号,称为序数。
整数的序数为其本身,其他类型第一个数序数为0,依次递增。
2、子界类型上、下界必须是有同一有序类型,且上界序数大于下界序数。
f、浮点类型:(通用类型<8字节>:Real-与Double等同)具体:Double<8字节>,Real48<6字节>Single<4字节>,Extended<10字节>,Comp<8字节>,Currency<8字节>g、字符串类型:(通用类型:String-与AnsiString等同)具体:ShortString :最多存放255个字符,第一个自己存放字符个数,不以NULL结尾AnsiString :存放Ansi字符,以NULL结尾WideString:存放Unicode字符,以NULL结尾h、时间、日期类型:TDateTime -实际是浮点类型的别称(2)复杂数据类型:a、指针类型:定义:type 指针类型标识符=^基本类型;内在分配:New() 内存释放:Destroy()对于Pointer 和PChar 用GetMem()或AllocMem()分配内存,用FreeMem()释放内存分配内存后,就可以当成基本类型一样使用:指针类型标识符^实际上常如下运用指针:var 变量标识符:^基本类型;为变量分配内存后就可以将(变量标识符^)当成普通变量使用。
c语言第3章 数据类型及表达式

•除 当除号两边都是整型量时,叫做整除 整除, 当除号两边都是整型量时,叫做整除,运算结果只保 留整数部分。 留整数部分。 当除号任何一边有实型量时,运算结果是实数。 当除号任何一边有实型量时,运算结果是实数。 #include <stdio.h> main() main() { float div; div=1/2; printf( %f %f\ ,div); printf(“%f\n”,div); }
–规则: 规则: 规则
–见名知意 见名知意 –不宜混淆 不宜混淆
请指出下列标识符的正误: 请指出下列标识符的正误: main、count、!count、new、5abc、if、do、L_5、who、a123、 main、count、!count、new、5abc、if、do、L_5、who、a123、 _A、_123、c#、 _A、_123、c#、r-3、printf
h e l l o , w o r l d \0 • 注意: 注意: 字符常量和字符串常量是两个不同的概念 字符常量和字符串常量是两个不同的概念
char ch; ch=‘A ; ch= A’; char ch; ch=“A ;// ;//错误 ch= A”;//错误
A
\0
\0
3.7 字符型数据
3.7.3 字符型变量
3.3 常量
常量 • 定义:程序运行时值不能改变的量,即常数。 定义:程序运行时值不能改变的量,即常数。 • 分类: 分类: 符号常量: 符号常量:用标识符表示具体值 • 定义格式: 定义格式: • 一般用大写字母 直接常量: 直接常量:直接写出具体值 • 整型常量 • 实型常量 • 字符常量 • 字符串常量 常量值 #define 标识符 常量值
第三章 数据类型、运算符及表达式§31 字符及标识符

2关系运算符
比较两个操作数的大小的运算符,称为关系运算符。 关系运算的表达式,称为关系表达式。 例如, 3+5 > 7-4 关系表达式也有它的值。 如: 8 > 3, 该关系成立,因此关系表达式的值为真, 反之, 其值为假。 在C语言中,用数值1表示真,用数0表示假。 如,7 == 2,关系表达式为假,其值为0。 关系运算符的种类和表达式如下:
•
*C 语言提供的长整数的表示方法可以用来扩大整数的取值 范围. – 例如, 41l, 037l, 0x1fL 字母后面的l 或 L ,表示该数是长常数., 上面三个数,分别是十进制、八进制、十六进制长整数。 一个在整数中放不下的普通整数也被作为长整数,
因此, 把其后紧跟有 l 或 L 的整数叫显式长整数. • 在16位字长的机器上,长整数的位数是 32 位 ( 增长一倍 )。 故长十进制整数取值范围为 -2147483648 到 2147483647。 (2)整型变量: • 基本整型 int 如: int x; • 长整型 long 如: long int y; 或 long y ; • 无符号 unsugend 如: unsigend int z; 或 unsigend z。
• 关键字
具有固定意义的标识符,用户不能用作为自己的标识符, 它们共有32个,除符号常量外都用小写字母表示,就其用途 分五类。 (1) 数据类型 int char float double short ... (2) 存储类型 extern static register auto typedef (3) 控制语句 if else for while do .... (4) 运算符 sizeof (5) 符号常量 EOF BOF .... *它们的含义后面将会络续提到。 * 用户定义的标识符,不能和关键字同名。
2.3 数据类型、常量、变量及说明方法

2、实数类型
• 实数类型包括正实数、负实数和实数零。它的 类型标识符为real。实数的表示方法有两种。 • (1)日常表示法:就是我们平常使用的带小 数点的表示方法。例:2.5,-1.6,0.0都是合 法的。必须注意小数点前后都应该有数字,例: 7.,.8都是非法的。一个整数可以当做实数使 用,单反过来不行。
2.3.1 标准数据类型
• 1、整数类型 整数类型包括正整数(+号可略)、负整数和零。 例:168,+520,0,-1都是合法的整数。 注意:1,024在会计学中是允许的,但在这里是 非法的,应去掉“,”号。 整数类型的标识符为integer。除了常用的 integer(整型)外,Turbo Pascal还支持以 下4种整数类型:
2.3.2 常量
• 所谓常量,是指在程序执行过程中其值不能改 变的量,他们可以是整型、实型、字符、字符 串。如5,6.8,‘F’,‘gj’,1E6都是常量。 • 常量定义的一般形式: const <常量标识符>=<常量>; 其中const是保留字。如const pi=3.14; t=true;
Pascal对常量定义要求如下:
Pascal语言规定,可以对实 型数据进行如下操作:
(1)算术运算 运算符有+、-、*、/,运算结果为实数。 /叫实 数除,即使有一个数为整数,甚至两个数都是 整数,系统自动将整数转换为实数后再运算, 结果仍为实数。 例:7 /2=3.5 6 /3=2.0 (2)关系运算 实数可以做关系运算,运算对象还可以有一个整 数,但运算结果都是布尔类型。
(2)逻辑运算
• not:表示对原值进行逻辑否定,假设x为布尔 量,其值为false,则not x的值为true。好像 电灯的开关钮,按一下开,再按一下关。 • and:表示对两个逻辑量(如x,y)进行“与” 运算,即x and y,只要x,y有一个为false, 则运算结果也为false,好像串联电路的开关。 • or:表示对两个逻辑量(如x,y)进行“或” 运算,即x or y,只要x,y有一个为true,则 运算结果也为true,好像并联电路的开关。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《程序设计语言 C1》随机作业题
做作业时间:2013-4-20 8:00:00至2013-5-20 8:00:00
1、在C语言中,不正确的int类型的常数是
(3分)
A
A、B、C、D、
A、32768
B、0
C、037
D、0xAF
2、以下选项中不属于C语言的类型的是
(3分)
D
A、B、C、D、
A、signed short int
B、unsigned long int
C、unsigned int
D、long short
3、在16位C编译系统上,若定义long a; ,则能给a赋40000的正确语句是(3分)
D
A、B、C、D、
A、a=20000+20000;
B、a=4000*10;
C、a=30000+10000;
D、a=4000L*10L;
4、以下程序的输出结果是
main( )
{ int k=17;
printf("%d,%o,%x \n",k,k,k);}
(3分)
A、B、C、D、
D
A、17,021,0x11
B、17,17,17
C、17,0x11,021
D、17,21,11
5、以下选项中合法的字符常量是(3分)
A、B、C、D、
B
A、"B"
B、'\010'
C、68
D、 D
6、假定x和y为double型,则表达式x=2,y=x+3/2的值是(3分)
A、B、C、D、
D
A、3.500000
B、3
C、2.000000
D、3.000000
7、下列变量名合法的是( )
(3分)
A、B、C、D、
D
A、#1
B、$567
C、a-b
D、m_number
8、C语言提供的合法的数据类型关键字是: (3分)
A、B、C、D、
B
A、Double
B、short
C、integer
D、Char
9、若有以下定义:
char a; int b;
float c;double d;
则表达式a*b+d-c值的类型为______.
(3分)
D
A、B、C、D、
A、float
B、int
C、char
D、double
10、下列标识中合法的用户标识符为____.
(3分)
A
A、B、C、D、
A、year
B、long
C、7 x yz
D、struct
11、下列四组选项中,均不是C语言关键字的选项是
(3分)
A
A、B、C、D、
A、define IF type
B、 getc char printf
C、include scanf case
D、while go pow
12、下面四个选项中,均是不合法的用户标识符的选项是
(3分)
C
A、B、C、D、
A、A P_0 do
B、float la0 _A
C、 b-a goto int
D、_123 temp int
13、C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符
(3分)
C
A、B、C、D、
A、必须为字母
B、必须为下划线
C、必须为字母或下划线
D、可以是字母,数字和下划线中任一字符
14、下面四个选项中,均是合法整型常量的选项是(3分)
A
A、B、C、D、
A、 160 -0xffff 011
B、-0xcdf 01a 0xe
C、-0x46a 2e5 0x
D、 -0x48a 2e5 0x
15、下面四个选项中,均是不合法的浮点数的选项是(3分)
B
A、B、C、D、
A、 160. 0.12 e3
B、 123 2e4.2 .e5
C、-.18 123e4 0.0
D、-e3 .234 1e3
16、下面四个选项中,均是合法的浮点数的选项是(3分)
B
A、B、C、D、
A、+1e+1 5e-9.4 03e2
B、-.60 12e-4 -8e5
C、123e 1.2e-.4 +2e-1
D、-e3 .8e-4 5.e-0
17、下面四个选项中,均是合法转义字符的选项是'(3分)
B
A、B、C、D、
A、-e3 .8e-4 5.e-0
B、'\' '\017' '\"'
C、'\018' '\f' 'xab'
D、'\\0' '\101' 'xlf'
18、下面正确的字符常量是
(3分)
C
A、B、C、D、
A、 "c"
B、'\\''
C、 'W'
D、 ''
19、以下正确的叙述是
(3分)
D
A、B、C、D、
A、在C程序中,每行中只能写一条语句
B、若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整
型数
C、在C程序中,无论是整数还是实数,都能被准确无误地表示
D、在C程序中,%是只能用于整数运算的运算符
20、在C语言中,int、char和short三种类型数据在内存中所占用的字节数(3分)
D
A、B、C、D、
A、由用用户自己定义
B、均为2个字节
C、是任意的
D、由所用机器的机器字长决定
21、若有说明语句:char c='\72';则变量c
(3分)
A
A、B、C、D、
A、包含1个字符
B、包含2个字符
C、包含3个字符
D、说明不合法,c的值不确定
22、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是
(3分)
A
A、B、C、D、
A、2.500000
B、2.750000
C、3.500000
D、0.000000
23、sizeof(float)是
(3分)
B
A、B、C、D、
A、一个双精度型表达式
B、一个整型表达式
C、一种函数调用
D、一个不合法的表达式
24、设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为
(3分)
C
A、B、C、D、
A、0--255
B、0--32767
C、0--65535
D、0--2147483647
25、设有说明:char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为
(3分)
D
A、B、C、D、
A、float
B、char
C、int
D、 double
《程序设计语言 C1》固定作业题。