我们已经看到程序中使用的各种变量都应预先加以说明,即先说明,后使用。对变量的说明可以包括三个方面:

·数据类型

·存储类型

·作用域

在本讲中,我们只介绍数据类型说明。其它说明在以后陆续介绍。所谓数据类型是按被说明量的性质,表示形式,占据存储空间的多少,构造特点来划分的。在C语言中,数据类型可分为:基本数据类型,构造数据类型,指针类型,空类型四大类。

1.基本数据类型

基本数据类型最主要的特点是,其值不可以再分解为其它类型。也就是说,基本数据类型是自我说明的。

2.构造数据类型构造数据类型

是根据已定义的一个或多个数据类型用构造的方法来定义的。也就是说,一个构造类型的值可以分解成若干个“成员”或“元素”。每个“成员”都是一个基本数据类型或又是一个构造类型。在C语言中,构造类型有以下几种:

·数组类型

·结构类型

·联合类型

3.指针类型

指针是一种特殊的,同时又是具有重要作用的数据类型。其值用来表示某个量在内存储器中的地址。虽然指针变量的取值类似于整型量,但这是两个类型完全不同的量,因此不能混为一谈。4.空类型在调用函数值时,通常应向调用者返回一个函数值。这个返回的函数值是具有一定的数据类型的,应在函数定义及函数说明中给以说明,例如在例题中给出的max函数定义中,函数头为: int max(int a,int b;其中“int”类型说明符即表示该函数的返回值为整型量。又如在例题中,使用了库函数sin,由于系统规定其函数返回值为双精度浮点型,因此在赋值语句s=sin(x;中,s也必须是双精度浮点型,以便与sin函数的返回值一致。所以在说明部分,把s说明为双精度浮点型。但是,也有一类函数,调用后并不需要向调用者返回函数值,这种函数可以定义为“空类型”。其类型说明符为void。在本讲中,我们先介绍基本数据类型中的整型、浮点型和字符型。其余类型在以后各讲中陆续介绍。

对于基本数据类型量,按其取值是否可改变又分为常量和变量两种。在程序执行过程中,其值不发生改变的量称为常量,取值可变的量称为变量。它们可与数据类型结合起来分类。例如,可分为整型常量、整型变量、浮点常量、浮点变量、字符常量、字符变量、枚举常量、枚举变量。在程序中,常量是可以不经说明而直接引用的,而变量则必须先说明后使用。

整型量

整型量包括整型常量、整型变量。整型常量就是整常数。在C语言中,使用的整常数有八进制、十六进制和十进制三种。

整型常量

1.八进制整常数八进制整常数必须以0开头,即以0作为八进制数的前缀。数码取值为0~7。八进制数通常是无符号数。

以下各数是合法的八进制数:

015(十进制为130101(十进制为65 0177777(十进制为65535

以下各数不是合法的八进制数:

256(无前缀003A2(包含了非八进制数码 -0127(出现了负号

2.十六进制整常数

十六进制整常数的前缀为0X或0x。其数码取值为0~9,A~F或a~f。

以下各数是合法的十六进制整常数:

0X2A(十进制为420XA0(十进制为1600XFFFF(十进制为65535

以下各数不是合法的十六进制整常数: 5A(无前缀0X0X3H(含有非十六进制数码

3.十进制整常数

十进制整常数没有前缀。其数码为0~9。

以下各数是合法的十进制整常数:

237-568655351627

以下各数不是合法的十进制整常数: 023(不能有前导023D(含有非十进制数码

在程序中是根据前缀来区分各种进制

数的。因此在书写常数时不要把前缀弄错造成结果不正确。4.整型常数的后缀在16位字长的机器上,基本整型的长度也为16位,因此表示的数的范围也是有限定的。十进制无符号整常数的范围为0~65535,有符号数为-32768~+32767。八进制无符号数的表示范围为0~0177777。十六进制无符号数的表示范围为0X0~0XFFFF或0x0~0xFFFF。如果使用的数超过了上述范围,就必须用长整型数来表示。长整型数是用后缀“L”或“l”来表示的。例如:

十进制长整常数158L(十进制为158 358000L(十进制为-358000

八进制长整常数012L(十进制为10 077L(十进制为630200000L(十进制为65536

十六进制长整常数0X15L(十进制为210XA5L(十进制为1650X10000L(十进制为65536

长整数158L和基本整常数158在数值上并无区别。但对158L,因为是长整型量,C编译系统将为它分配4个字节存储空间。而对158,因为是基本整型,只分配2个字节的存储空间。因此在运算和输出格式上要予以注意,避免出错。无符号数也可用后缀表示,整型常数的无符号数的后缀为“U”或“u”。例如:358u,0x38Au,235Lu均为无符号数。前缀,后缀可同时使用以表示各种类型的数。如0XA5Lu表

c语言数据页,c语言基础--数据类型(51页)-原创力文档相关推荐

  1. 计算机二级链表,计算机二级c语言上机考试——结构体与链表(3页)-原创力文档...

    1:某学生的记录由学号.8门课程成绩和平均分组成, 学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能是:求出该学生的平均分,并放入记录的ave成员中. void fun(STREC *a ...

  2. 华师网教计算机应用基础作业,华师大网络教育选修课《计算机应用基础统考》平时作业答案(13页)-原创力文档...

    华师大网络教育选修课<计算机应用基础统考>平时作业答案 题目 1 世界上第一台电子计算机" ENIAC "采用的逻辑元件是 大规模集成电路 集成电路 晶体管 电子管 答 ...

  3. 山东大学 计算机技术基础 c语言 去年 大补考 的 试题,山东大学专科《计算机基础》试题参考答案(4页)-原创力文档...

    专科<计算机基础>试题 单项选择 1.完整的计算机系统由( C )组成. A.运算器.控制器.存储器.输入设备和输出设备 B.主机和外部设备 C.硬件系统和软件系统 D.主机箱.显示器.键 ...

  4. 每个c语言程序写完后 都要按照,c语言基础学习小结(习题总结)(5页)-原创力文档...

    书山有路勤为径 学海无涯苦作舟 一.思考题. 1.你如何向别人解释清楚什么是编程.什么是计算机语言? 2.什么是C语言? 二.解答题. 1.用C语言编写程序:求任意两个整数的和.如果是小数的话,要求输 ...

  5. C语言对p1口取反,单片机c语言编程基础(5页)-原创力文档

    单片机的外部结构: 1. DIP40双列直插: 2. P0,P1,P2,P3四个8位准双向I/O引脚:(作为I/O输入时,要先输出高电平) 3. 电源VCC(PIN40)和地线GND(PIN20): ...

  6. C语言程序设计十个币,C语言程序设计复习(10页)-原创力文档

    C语言程序设计复习 C语言程序 C程序是由函数构成的:一个C程序至少包含一个main()函数,也可以由 main()函数和若干个其它函数结合而成的.一个C程序总是从main函数开始执 行的. 结构化程 ...

  7. x_html语言名词解释,第2章++XHTML标记语言(97页)-原创力文档

    第2章 XHTML标签语言 2.1 XHTML基础 2.2 段落和文字标签 2.3 列表标签 2.4 超级链接标签 2.5 插入图片标签 2.6 页面布局标签 2.7 框架标签 2.8 表单标签 2. ...

  8. 电大本科c及语言设计形考答案,2020国家开放大学电大《C语言程序设计》网络课形考任务4作业及答案(15页)-原创力文档...

    国家开放大学电大<C语言程序设计>网络课形考任务4作业及答案 档任务4 一.选择题(共30分,每小题2分) 题目1 TOC \o "1-5" \h \z 假定有&quo ...

  9. c语言编译器只有9行怎么添加,avr单片机c语言编译器(9页)-原创力文档

    AVR单片机C语言编译器 Win-AVR是流行的GNU编译器在AVR平台上的移植.安装完毕后会在桌面上出现一下七 个快捷方式,它们的作用如下: Programmers Notepad 源文件的编辑软件 ...

  10. c语言程序设计工资纳税系统,c语言程序设计,纳税工资系统(29页)-原创力文档...

    第一章 课程设计目的和要求 1.1 课程设计的目的 C 语言一直是程序设计语言的主流之一数据类型丰富.齐全. C 语言供了整数.实数.字符.字符串等基本数据类型,还提供数组. 指针.结构体等构造数据类 ...

最新文章

  1. 北大联合UCLA发表论文:9头以上Transformer就能模拟CNN!
  2. Windows 编程[12] - 菜单与菜单资源(一)
  3. 这人说的有意思,哈 哈
  4. 第8章4节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-启动 8
  5. c语言生命游戏代码大全,c++生命游戏源码
  6. bool类型数组转换成一个整数_Go 学习笔记 02 | 基本数据类型以及 byte 和 rune 类型...
  7. Docker如何删除一个镜像
  8. 被新款iPad和AirPods拯救的苹果 夺回全球市值最高公司宝座
  9. 迎新年\年会背景PSD分层模板
  10. Unity AssetBundle 资源(纹理,网格,动画,字体,LightMap,音频等)使用 优化
  11. 使用icepdf将pdf转换为图片时出现乱码的问题
  12. Linux-frp内网穿透
  13. 平行空间怎么设置32位_10月微信新花样!微信情侣空间怎么解除 情侣空间取消情侣关系设置方法...
  14. shutdown immediate 太慢,需要进行进程查杀
  15. 快手Java开发二面面经分享
  16. 电信卡间隔多久再办,流量卡申请间隔是多少?
  17. cocos creator国际化i18n多语言工具cc-i18n
  18. SNIP的升级版SNIPER(效果比Mosaic更佳)
  19. 用户体验的模型:Whitney Quesenbery的5E原则
  20. Java实现自动发聊天消息

热门文章

  1. vs可以编译python_Python如何进行编译和反编译
  2. Android学习小Demo(13)Android中关于ContentObserver的使用
  3. Asp.net使用JQuery实现评论的无刷新分页及分段延迟加载效果
  4. 阿里云服务器购买流程详细2019更新(图文教程)...
  5. 洛谷P2568 GCD(莫比乌斯反演)
  6. EasyUI加zTree使用解析 easyui修改操作的表单回显方法 验证框提交表单前验证 datagrid的load方法...
  7. 使用SerialPort 对象实现串口拨号器通信[下]
  8. 数据库某些要注意的问题(转的,侵权删除)
  9. ASP.NET MVC模型绑定int超出范围时
  10. CISCO路由AAA的Easy ×××