看了一天书,有点累了。就写写随笔记录一下今天的复习成果吧。

  C语言的基本数据类型

  数值型:整型数,浮点数,布尔数,复数和虚数。

  非数值型:字符。

  整数最基本的是int,由此引出许多变式诸如有符号整数signed、无符号整数unsigned、短整数short、长整数long等,前两个根据是否有符号区分,后两个根据所占内存大小区分。c99加入了long long类型是对long的进一步扩展,以求能够表示更大的整数。

  浮点数有最基本的单精度浮点数float,双精度浮点数double,c99引入了long double。浮点数是对整数的扩充,能表示的数的范围更广,但是毕竟计算机数的表示根本上具有离散的特点,所以浮点数仍然不能够表示数轴上的所有实数。例如,float型数就有一个最小表示值FLT_MIN和最大表示值FLT_MAX(在头文件float.h中被定义),当运算过程中结果低于FLT_MIN时就会产生下溢,高于FLT_MAX时会产生上溢,下溢和上溢统称为溢出,均是浮点运算出错的一种表现。

  关于浮点数再内存中的表示形式,同样是二进制序列,一般被分为符号位、阶码、尾数三部分,阶码以移码形式存放(移码=原值+偏移量)。规格化的浮点数定义了INF,-INF,NaN等特殊浮点值。

  C语言主要采用printf和scanf函数进行io操作,两个函数都是格式化参数函数,参数数量可变化。在使用这两个函数时,会涉及到转换说明的概念。需要特别注意的是,printf函数中L只用来修饰浮点转换说明,l则只用来修饰整型转换说明。对于printf函数,当需要根据参数列表的值来决定转换说明中的字段大小时,要使用*修饰符。而*修饰符在scanf函数中作用是虚读。

  转换说明和参数列表中的数的类型尽量做到匹配,否则会出现一些奇怪的错误。

  例如:printf("%Lf  %ld  %Lf  %ld",1.2L,12L,12L,1.2L); 该语句前两个数输出正确,而后两个数输出错误,错误的产生与printf函数参数传递的机制有关(涉及到栈)。

  C语言常用运算符:=、+(单目&双目)、-(单目&双目)、*、/、++、--、%、sizeof、强制类型转换。

  运算符的使用涉及到优先级与结合性。需要注意的是++和--运算在一些情况下运算结果会不确定(因为c标准未作规范),例如语句:y=x++ + x++;  可以确定x最终值加2,但无法确定y的结果。

  

  

  

C语言:类型、运算符、表达式的更多相关文章

  1. 28 JavaScript语言类型&运算符

    语言类型: 弱类型:可以改变变量值和对象类型 强类型:可以改变变量值不能改变对象类型 解释型:边编译边执行,速度慢.解释型一般是弱类型 编译型:先编译再执行(C++\Java),速度快.编译型一般是强 ...

  2. c语言(3)--运算符&表达式&语句

    计算机的本职工作是进行一系列的运算,C语言为不同的运算提供了不同的运算符! 1.那些运算符们 .基本运算符 算术运算符:+ - * /  % ++ -- 赋值运算符:= 逗号运算符:, 关系运算符:& ...

  3. PHP语句【变量、运算符表达式、语句】

    一.变量的方法.1.empty可以用empty的方法能够判断变量的值是不是为空.①如果我们看一下某一个变量是不是已经存在过了假如我们输出一下 var_dump (empty($a)); 返回值为tru ...

  4. 速战速决 (1) - PHP: 概述, 常量, 变量, 运算符, 表达式, 控制语句

    [源码下载] 速战速决 (1) - PHP: 概述, 常量, 变量, 运算符, 表达式, 控制语句 作者:webabcd 介绍速战速决 之 PHP 概述 常量 变量 运算符 表达式 控制语句 示例1. ...

  5. C语言基础课程 第四课 它山之石可以攻玉---C语言数据类型和表达式

     1         C语言中的数据类型 1.1      常量 常量就是在程序中不可变化的量 1.1.1         #define #define MAX 10 Define;//定义了一 ...

  6. c语言,中缀表达式转后缀表达式并计算

    //c语言中缀表达式计算 #include <stdio.h> #include <stdlib.h> #include <string.h> #include & ...

  7. go语言的运算符

    什么是运算符:运算符用于在程序运行时执行数学或逻辑运算 go语言的运算符如下: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 其他运算符 一,算数运算符 运算符 描述 实例 + 相加 A ...

  8. C#6.0语言规范(七) 表达式

    表达式是运算符和操作数的序列.本章定义了操作数和运算符的语法,求值顺序以及表达式的含义. 表达式分类 表达式分类为以下之一: 一个值.每个值都有一个关联的类型. 一个变量.每个变量都有一个关联的类型, ...

  9. 3014C语言_运算符

    第四章 运算符 4.1 分类 C语言的运算符范围很广,可分为以下几类: 1.算术运算符:用于各类数值运算.包括加(+).减(-).乘(*).除(/).求余(%).自增(++).自减(--)共七种. 2 ...

  10. 释放Android的函数式能量(I):Kotlin语言的Lambda表达式

    原文标题:Unleash functional power on Android (I): Kotlin lambdas 原文链接:http://antonioleiva.com/operator-o ...

随机推荐

  1. BIEE入门(二)物理层的定义

    使用BIEE的第一步是使用admintool去建立一个多维数据模型,而建立多维数据模型的第一步则是建立物理层,请注意因为BIEE本身并不存 储数据,所以所谓BIEE物理层的意义是需要在BIEE里建立各 ...

  2. SQL Server ->> 生成代码把表字段从NULL改为NOT NULL

    一般我们用SELECT .... INTO语句生成的表字段都是允许为NULL.而如果我们需要改成NOT NULL呢 select 'ALTER TABLE dbo.XXXXXXX ALTER COLU ...

  3. leetcode-pascal triangle I&&II

    对于第2个pascal triangle,通过观察可以发现,其实只需要2个额外的变量来记录,于是就设了个tmp数组. 整体有点DP问题中的滚动数组的感觉. #include <vector> ...

  4. March 11 2017 Week 10 Saturday

    Wisdom outweighs any wealth. 智慧比财富更有价值. Wisdom can create wealth if used in proper ways, it can help ...

  5. Flutter仿照airbnb创建app

    github地址:https://github.com/GainLoss/flutter-app 一.基础 flutter是谷歌公司开发的开源免费的UI框架,用dart语言实现的,可以实现跨平台,一套 ...

  6. W5100与MCU的连接方式

    W5100与MCU的连接方式 W5100与MCU的连接方式主要有直接总线连接.间接总线连接.SPI总线连接这三种连接方法,不同的连接方法适应于不同的场合,应该按需选择最恰当的连接方式. 1)直接总线连 ...

  7. js 原生获取Class元素

    function getElementsByClassName(n) { var classElements = [] allElements = document.getElementsByTagN ...

  8. hadoop 错误

    错误:DataXceiver error processing WRITE_BLOCK operation 2014-05-06 15:21:30,378 ERROR org.apache.hadoo ...

  9. [Oracle]分区索引

    上一节学习了分区表,接着学习分区索引. (一)什么时候对索引进行分区 · 为了避免移动数据时重建整个索引,可对索引分区,在重建索引时,只需重建与数据分区相关的索引: · 在对分区表进行维护时,为了避免 ...

  10. axios基础用法

    概述: 1.axios:一个基于Promise用于浏览器和nodejs的HTTP客户端.本质是对ajax的封装. 特征: 1>从浏览器中创建XMLHttpRequest 2>从node.j ...