C语言:类型、运算符、表达式
看了一天书,有点累了。就写写随笔记录一下今天的复习成果吧。
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语言:类型、运算符、表达式的更多相关文章
- 28 JavaScript语言类型&运算符
语言类型: 弱类型:可以改变变量值和对象类型 强类型:可以改变变量值不能改变对象类型 解释型:边编译边执行,速度慢.解释型一般是弱类型 编译型:先编译再执行(C++\Java),速度快.编译型一般是强 ...
- c语言(3)--运算符&表达式&语句
计算机的本职工作是进行一系列的运算,C语言为不同的运算提供了不同的运算符! 1.那些运算符们 .基本运算符 算术运算符:+ - * / % ++ -- 赋值运算符:= 逗号运算符:, 关系运算符:& ...
- PHP语句【变量、运算符表达式、语句】
一.变量的方法.1.empty可以用empty的方法能够判断变量的值是不是为空.①如果我们看一下某一个变量是不是已经存在过了假如我们输出一下 var_dump (empty($a)); 返回值为tru ...
- 速战速决 (1) - PHP: 概述, 常量, 变量, 运算符, 表达式, 控制语句
[源码下载] 速战速决 (1) - PHP: 概述, 常量, 变量, 运算符, 表达式, 控制语句 作者:webabcd 介绍速战速决 之 PHP 概述 常量 变量 运算符 表达式 控制语句 示例1. ...
- C语言基础课程 第四课 它山之石可以攻玉---C语言数据类型和表达式
1 C语言中的数据类型 1.1 常量 常量就是在程序中不可变化的量 1.1.1 #define #define MAX 10 Define;//定义了一 ...
- c语言,中缀表达式转后缀表达式并计算
//c语言中缀表达式计算 #include <stdio.h> #include <stdlib.h> #include <string.h> #include & ...
- go语言的运算符
什么是运算符:运算符用于在程序运行时执行数学或逻辑运算 go语言的运算符如下: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 其他运算符 一,算数运算符 运算符 描述 实例 + 相加 A ...
- C#6.0语言规范(七) 表达式
表达式是运算符和操作数的序列.本章定义了操作数和运算符的语法,求值顺序以及表达式的含义. 表达式分类 表达式分类为以下之一: 一个值.每个值都有一个关联的类型. 一个变量.每个变量都有一个关联的类型, ...
- 3014C语言_运算符
第四章 运算符 4.1 分类 C语言的运算符范围很广,可分为以下几类: 1.算术运算符:用于各类数值运算.包括加(+).减(-).乘(*).除(/).求余(%).自增(++).自减(--)共七种. 2 ...
- 释放Android的函数式能量(I):Kotlin语言的Lambda表达式
原文标题:Unleash functional power on Android (I): Kotlin lambdas 原文链接:http://antonioleiva.com/operator-o ...
随机推荐
- geth访问公有链
同步以太坊,配置rpc地址 mkdir /opt/blockchain nohup geth --syncmode "fast" --cache=1024 --maxpeers 3 ...
- apache ab 测试 apr_socket_connect(): 由于目标机器积极拒绝 无法连接
遇到这种情况一般是你开的并行数量太多了...例如:ab -c 1000 -n 10000 http://localhost/index.html 如此大的请求就会挂掉,不过还是有补救措施的,可以通过增 ...
- python入门9 条件语句
条件语句: if 条件为真: 执行语句块 (执行完结束不执行elif,else) elif 条件为真: 执行语句块 (执行完结束不执行else) else: 执行语句块 #coding:utf-8 # ...
- mongodb文档替换
对下面的文档做一个比较大的调整,将 friends.enemies两个字段移到 relationships子文档中. > db.people.insert({ "name" ...
- Android应用经典主界面框架之中的一个:仿QQ (使用Fragment, 附源代码)
备注:代码已传至https://github.com/yanzi1225627/FragmentProject_QQ 欢迎fork,如今来审视这份代码,非常多地方写的不太好,欢迎大家指正.有时间我会继 ...
- 自定义Powershell提示符
实现效果: 实现原理: Powershell将个人配置脚本文件的地址存放在$profile变量中, 通过修改该变量达到想要的目的. 实现过程: 1>创建一个新的配置脚本: 2>编辑脚本内容 ...
- html或jsp页面自动提交,无需每次重启服务
从eclipse转到idea遇到各种问题,之前eclipse可以自动保存页面内容无需重启服务,但是idea不可以,网上找了n种办法也没用,可能版本不一样吧,把我的解决方法纪录一下,方便以后有人遇到这个 ...
- eclipce导出项目发布到tomcat
1.右击项目-Except 2.在弹出框中输入“WAR file” 3.点击“next” 在Destinatin选择保存路径,即可 4.将保存的文件复制到tomcat下,启动tomcat之后,会自动解 ...
- 【洛谷P3811】[模板]乘法逆元
乘法逆元 题目链接 求逆元的三种方式: 1.扩欧 i*x≡1 (mod p) 可以化为:x*i+y*p=1 exgcd求x即可 inline void exgcd(int a,int b,int &a ...
- HDU1215 七夕节(模拟 数学)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1215 七夕节 Time Limit: 2000/1000 MS (Java/Others) Me ...