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

  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. Excel VBA 复制

    将 Sheet1 复制到 Sheet3 后面时,实现方法如下: Worksheets("Sheet1").Copy After:=Worksheets("Sheet3&q ...

  2. SpringMVC方法接收参数可以为空、默认值设置

  3. php 引用变量

    什么是引用: 官方给的解释是:用不同的名字访问同一个变量内容. 1.普通的变量 运行之后内存空间变化是这样的: 2.引用变量 运行之后内存变化是这样的: 几乎没有什么变化. 3.使用unset 销毁的 ...

  4. 【luogu P3063 [USACO12DEC]牛奶的路由Milk Routing】 题解

    题目链接:https://www.luogu.org/problemnew/show/P3063#sub 我很好奇这道题为什么没被收入SPFA好题 #include <cstdio> #i ...

  5. js 3秒后跳转页面的实现代码

    隔多少秒后自动跳转到其它页(js脚本) 方法一: $(function(){ Load(URL); }) var secs = 3; //倒计时的秒数 var URL = "<?= u ...

  6. Openresty最佳案例 | 第4篇:OpenResty常见的api

    转载请标明出处: http://blog.csdn.net/forezp/article/details/78616660 本文出自方志朋的博客 获取请求参数 vim /usr/example/exa ...

  7. SpringBoot非官方教程 | 第六篇:springboot整合mybatis

    转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot-mybatis/ 本文出自方志朋的博客 本文主要 ...

  8. JavaScript-语法专题

    一.数据类型的转换 概述 JavaScript是一种动态语言,变量没有类型限制,可以随时赋予任意值 强制转换:主要是值Number(),String(),Boolean三个函数 Number函数,可以 ...

  9. LeetCode 中级 - 路径总和2(113)

    给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径. 说明: 叶子节点是指没有子节点的节点. 示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 ...

  10. 数论(一)LOJ1282

    1.题目来源LOJ1282 You are given two integers: n and k, your task is to find the most significant three d ...