tcpl 阅读笔记 7

123456789L   该文字量是 long (int) 类型

1.234L          该文字量是 long double 类型

1.234            该文字量是 double 类型

1.234f            该文字量是 float 类型

037               该文字量即十进制int 型 31

0x1F              该文字量即十进制int 型 31

 

变量的类型决定了该变量可取值的集合(范围)以及可以对该变量执行的操作
’/0’表示值为0的字符,也就是空字符(null),我们通常用’/0’的形式代替0 ,以强调其字符属性,但是其数字值0
编译器会将挨着的两个字符串常量连接起来,  例如 “hello, ”” world” 等价于 “hello, world”

从技术角度看,字符串常量就是字符数组, 字符串的内部表示使用一个空字符’/0’作为字符串的结尾
标准头文件<striing.h>里面声明了strlen、strcpy等常用的对字符串进行操作的函数
枚举是一个整形常量值的列表 enum boolean {NO ,YES} 即相当于  int NO = 0;  int YES = 1;
默认情况下,未显式初始化的外部变量和静态变量会被编译器初始化为 0,未经显式初始化的自动变量的值为不确定值(即无效值)
变量的声明可以使用const 限定符限定,该限定符指示变量的值不能被修改。对数组而言,const 限定符指示数组的所有元素的值均不能被修改 。 例如:
const double e = 2.3456;
const char msg[] = “waring”;
const 限定符也可以配合数组参数使用,它指示函数不能修改数组元素的值。 例如 : int strlen(const char s[])

关系运算符的优先级比算术运算符低, 因此表达式 i < lim - 1 等价于  i < (lim – 1)

由 && 和 || 连接的表达式按从左到右的顺序进行求值,并且在能够确定结果为真或为假后立即停止计算

在关系表达式或者逻辑表达式中,如果表达式为真,则表达式的值为1;如果为假,则表达式的值为0

逻辑非运算符 ! 的作用是将 非0 操作数转换为0, 将操作数 0 转换为 1
当一个运算符的几个操作数类型不同时,就需要通过一些规则把它们转换为 某种共同的类型。一般来说,编译器的自动转换是指把“比较窄”的操作数转换为“比较宽”的操作时,并且在转换的过程中不丢失信息。例如:
int i;
float f;
f+i; // 表达式f+i 将整形变量 i 的值自动转换为float 型
针对可能导致丢失信息的表达式,编译器可能会给出警告信息,比如把比较长的整型值赋给比较短的整形变量,把浮点数赋值给整形变量,等等,但是这些表达式并不非法

库函数 atoi 源码
/* atoi: convert s to integer */
int atoi(char s[])
{
    int i, n;
    n = 0;
    for (i = 0; s[i] >= '0' && s[i] <= '9'; ++i)
        n = 10 * n + (s[i] ' - 0');
    return n;
}

这段代码是实现该功能的最精炼的代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值