《The C Programming Language--2》Types, Operators, and Expressions

1,变量名由字母、数字、下划线组成,不能以数字开头,下划线视为字母。系统变量一般以下划线开头。变量名不能是关键字,关键字有: if、else、switch、float、int 等

2,四种基本的数据类型:char、int、float、double

int可以使用qulifer short、long 来修饰。short int 表示至少16bit。int 表示32bit 或 16bit。long int表示至少32bit。short int 的位数不能比int的位数大,int位数不能比long int 位数大。

还可以使用qulifer unsinged 和 singed 来修饰 char

unsigned char范围为[0,255],signed char范围为[-128,127]。

3,常量表示

数值常量可以带后缀。后缀有: L表示long,l 也表示long ,U或者小写的 u 表示unsigned。

字符常量,字符常量都有一个 numberic value。它对应的numberic value由机器的 character set决定。比如 ASCii character set 中 字符 ‘0‘ 表示的数值是48。
此外,一个只有 byte-sized bit pattern 可以由八进制或者十六进制的表示,有些特殊字符,比如TAB字符,它不好直接表示(不像 a b c d e ....),它在ASCII码中的数值为11。因此,可以表示为:

#define VTAB ‘013‘         这是八进制的表示方式

#define VTAB ‘0xb‘         这是十六进制表示方式

也可以采用转义字符的表示形式,比如TAB字符的转义字符的表示形式为: char c = ‘\t‘;

还有一个值得一提的字符常量 ‘\0‘,它的ASCII的 numberic value为0。它是 null character。

字符串常量:事实上,字符串常量底层是一个字符数组。该字符数组以 null character ‘\0‘ 来标记字符串的末尾。如,字符串 "abc"它在底层存储格式是 ‘a‘ ‘b‘ ‘c‘ ‘\0‘

明白了字符串常量和字符常量,就很容易区分  ‘x‘  与 "x" 的不同了。前者是一个int 型的整数,后者是char类型的数组。哈哈。。。。

4,变量的声明与初始化

变量声明的方式:

方式1, int a,b,c;

方式2, int a; int b; int c;

方式3,int a = 1; int b = 2; int c = 3;

变量的初始化:

变量有 automatic variable, static variable, external variable

对于automatic变量而言,在使用之前要初始化,不然它就是一个garbage value,或者说是一个未定义的值。

external variable 和 static variable 默认的初始化值为0

qualifier const 可以用来修饰变量,它表示该变量的值不会再改变。

如 const char msg[] = "warning:";  表示数组的元素不再改变。

const 还可以修饰数组参数,如 int strlen(const char[]); 表示strlen函数不会改变char[]。

5,类型转换--char 转换成 int 时的问题

由于 char 只有一个字节,当某个 char的最高位为1时,当把 char 转换成 int 时,int 会是一个负数吗?

这种情况视机器而定。由于 int 有两个字节,有些机器,会在把高位的那个字节全部补0,这样得到的是一个正数。而有些机器则是高位补1,则转换成负数。

时间: 2025-01-14 14:27:52

《The C Programming Language--2》Types, Operators, and Expressions的相关文章

Swift基础学习(三)《The Swift Programming Language 中文版》前言部分代码示例

1 import UIKit 2 3 var str = "Hello, playground" 4 5 var myVariable = 42 6 myVariable = 50 7 let myConstant = 42 8 9 let implicitInteger = 70 10 let implicitDouble = 70.0 11 let explicitDouble: Double = 70 12 let explicitFloat: Float = 4 13 14 l

《The Swift Programming Language 》——闭包 使用方法详细讲解

闭包是自包含的函数代码块,可以在代码中被传递和使用. Swift 中的闭包与 C 和 Objective-C 中的代码块(blocks)以及其他一些编程语言中的 lambdas 函数比较相似. 闭包可以捕获和存储其所在上下文中任意常量和变量的引用.这就是所谓的闭合并包裹着这些常量和变量,俗称闭包.Swift 会为您管理在捕获过程中涉及到的所有内存操作. 注意: 如果您不熟悉捕获(capturing)这个概念也不用担心,您可以在值捕获 章节对其进行详细了解. 在函数章节中介绍的全局和嵌套函数实际上

《The Swift Programming Language 》——函数 使用方法详细讲解

函数是用来完成特定任务的独立的代码块.你给一个函数起一个合适的名字,用来标示函数做什么,并且当函数需要执行的时候,这个名字会被"调用". Swift 统一的函数语法足够灵活,可以用来表示任何函数,包括从最简单的没有参数名字的 C 风格函数,到复杂的带局部和外部参数名的 Objective-C 风格函数.参数可以提供默认值,以简化函数调用.参数也可以即当做传入参数,也当做传出参数,也就是说,一旦函数执行结束,传入的参数值可以被修改. 在 Swift 中,每个函数都有一种类型,包括函数的参

转:从《The C Programming Language》中学到的那些编程风格和设计思想

这儿有一篇写的很好的读后感:http://www.cnblogs.com/xkfz007/articles/2566424.html 读书不是目的,关键在于思考. 很早就在水木上看到有人推荐<The C Programming Language>这本书,一直都没看,开学一个月就专心拜读了一下,并认真做了课后习题.读来收获不少,主要有两点:一是加深了自己对一些基础知识的理 解和感悟:二是从中学到了一些不错的编程风格和设计思想,这些东西虽看起来不起眼但细细嚼来还是很值得学习的.下面就从四个方面做一

《The Swift Programming Language》的笔记-第24页

The Swift Programming Language读书笔记学习笔记 第24页 本页主要内容有两个:打印输出和如何在swift注释代码 1 如何打印变量和常量的值? 使用println函数,细节:println函数除打印变量常量值外还输出一个换行 1) 打印常量 eg1 let hw = "hello chinagame.me" println(hw) => 可将字符串常量输出到Console里 2) 打印变量, 双引号里用 \(变量名) 输出,这个像C语言里的%s eg

[iOS翻译]《The Swift Programming Language》系列:Welcome to Swift-01

本文转载至:http://www.cnblogs.com/yangfaxian/p/3765081.html 全书目录: 一.Welcome to Swift 二.Language Guide 三.Language Reference /* 译者的废话: 几个小时前熬夜看了WWDC,各种激动,今年很有料啊!当看到Swift出来的时候,瞬间傻眼,又要学习新语言了.这篇文章来自苹果官方的<The Swift Programming Language>一书,500页左右,在苹果官网有下载.Swift

Swift语言入门之旅 (翻译自《The Swift Programming Language》电子书)

关于Swift Swift是为IOS和OSX应用制定的新编程语言,吸取C和Objective-C语言的精粹,但不损失与C语言的兼容性.Swift采用安全编程模型.加入了各种现代编程语言特性,使得该语言更易被掌握.更具扩展性,用起来更有趣.Swift语言的奠基石是已经成熟的.并为大家所喜爱的Cocoa和Cocoa Touch框架,新语言使大家可以尽情畅想新软件开发的机遇. Swift沉积了多年的研发成果,苹果公司为提供高效Swift语言编译器.调试器和基础架构打下了坚实基础.我们使用Automat

《The Swift Programming Language》中文版(全本翻译已完结).html

<The Swift Programming Language>中文版(全本翻译已完结).html Swift 中文翻译组:364279588(要求对翻译感兴趣) Swift 兴趣交流群:336146073.307017261 中国iOS开发者协会群:336146073 Swift 开发者社区 如果你觉得这个项目不错,请点击Star一下,您的支持我们最大的动力. 这一次,让中国和世界同步 现在是6月12日凌晨4:38,我用了整整一晚上的时间来进行最后的校对,终于可以在12日拿出一个可以发布的版

《The Swift Programming Language》中文翻译及读书笔记-page29

·        第29页 数字字面上可以用下划线_,目的是增强数值的阅读性. 例如在表示1000时,一般人这样写1000,  但财务人员这样写1,000大家都知道这是1000. 故在swift语言里可以在数字间插入下划线来增强阅读性. eg: let oneMillion = 1_000_000  => 常量壹佰万 <The Swift Programming Language>中文翻译及读书笔记-page29