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

  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. (阿里巴巴)数据库连接池——Druid (未完持续更新)

    Java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,有不得不使用数据库连接池.数据库连接池有很多选择,c3p.dhcp.proxool等,druid作为一名后起之秀,凭借其出色的性能,也 ...

  2. Java中long和Long有什么区别(转)

    Java的数据类型分两种:1.基本类型:long,int,byte,float,double,char2. 对象类型(类): Long,Integer,Byte,Float,Double,Char,S ...

  3. solidity语言12

    View Functions 函数声明为视图,将无权修改状态 pragma solidity ^0.4.16; contract C { function f(uint a, uint b) publ ...

  4. mysql 统计连续天数

    以下为例子数据 图1 图1 首先根据要求取出BeforeMeal要在7.0以下 并且 bingAfterMeal要在11.1以下 select AccountId,CreateTime from Di ...

  5. vue+node+mongodb实现的功能

    用vue+node +mongodb实现前后台交互的页面代码,已经上传到github上, 地址是: https://github.com/GainLoss/vue-node-mongodb https ...

  6. 【mysql案例】mysql5.6.14配置my.cnf多实例,mysql_install_db初始化不读取my.cnf配置文件

    1.1.1. mysql5.6.14多实例my.cnf时,初始化不读取my.cnf配置文件 [环境描写叙述] 在多实例配置的/etc/my.cnf环境中,运行mysql_install_db后.启动M ...

  7. codeforces 676C

    C. Vasya and String time limit per test 1 second memory limit per test 256 megabytes input standard ...

  8. 【转】jQuery源码分析-03构造jQuery对象-源码结构和核心函数

    作者:nuysoft/高云 QQ:47214707 EMail:nuysoft@gmail.com 毕竟是边读边写,不对的地方请告诉我,多多交流共同进步.本章还未写完,完了会提交PDF. 前记: 想系 ...

  9. 项目Alpha冲刺(团队7/10)

    项目Alpha冲刺(团队7/10) 团队名称: 云打印 作业要求: 项目Alpha冲刺(团队) 作业目标: 完成项目Alpha版本 团队队员 队员学号 队员姓名 个人博客地址 备注 221600412 ...

  10. STL - rope 【强大的字符串处理容器】

    包含头文件: #include<ext/rope> using namespace __gnu_cxx; 申请: rope text; 基本操作: test.push_back(x); / ...