分类 读书笔记 下的文章

基本运算符

  1. 赋值运算符:=

    • =并不意味(数学中的)相等,而是一个赋值运算符。
    • 几个术语:数据对象左值右值运算符

      1. 左值必须是一个变量名,不能给常量赋值,即可修改的左值
      2. 赋值表达式语句的目的是把值存储到内存位置上。用于存储值的数据存储区域统称为数据对象
      3. 左值用于标识特定数据对象的名称或表达式。因此,对象指的是实际的数据存储,而左值是用于标识或定位存储位置的标签。
      4. 右值指的是能赋值给可修改左值的量,且本身不是左值。
  2. 加法运算符:+

    • 加法运算符用于加法运算,使其两侧的值相加。
  3. 加法运算符:-

    • 减法运算符用于减法运算,使其左侧的数减去右侧的数。

    +-都称为二元运算符,即这些运算符需要两个运算对象才能完成操作。

  4. 符号运算符:-+

    • 减号和加号还可以用于标明或改变一个值的代数符号。即正负号,以这种方式使用的正负号被称为一元运算符,一元运算符只有一个运算对象。
  5. 乘法运算符:*

    • 符号*表示乘法。C没有平方函数,可以使用乘法来计算平方。
    • 乘法的应用:指数增长
  6. 乘法运算符:/

    • C使用符号/来表示除法。左侧的值是被除数,右侧的值是除数。
    • 整数除法与浮点数除法不同。浮点数除法的结果是浮点数,而整数除法的结果是整数,在C中整数除法结果的小数部分被丢弃(不会四舍五入),这一过程被称为截断
    • 混合整数和浮点数计算的结果是浮点数。编译器会把两个运算对象转换成相同类型,从较小类型转换为较大类型。

- 阅读剩余部分 -

字符串简介

字符串是一个或多个字符的序列。

  1. char类型数组和null字符
    字符串都被存储在char类型的数组中,数组末尾位置有一个字符\0,这是空(null)字符,C语言用它标记字符串的结束。C中的字符串一定是以空字符结束的,这意味着数组的容量必至少比待存储字符串中的字符多1。
  2. 使用字符串

    • printf():使用%s打印一个字符串。
    • scanf():使用%s读取一个字符串,你不用亲自把空字符放入字符串末尾,scanf()在读取输入时就已经完成这项工作,字符串常量同样。注意,scanf()的%s遇到第一个空白(空格、制表符或换行符)时就不再读取输入
    • 字符串和字符:字符串常量"x"和字符常量'x'不同。区别在于:

      1. 'x'是基本类型(char),而"x"是派生类型(char数组);
      2. "x"实际上由两个字符组成:'x'和空字符\0
  3. strlen()函数

    sizeof运算符以字节为单位给出对象大小,strlen()函数给出字符串中的字符长度。

虽然一字节存储一个字符,但sizeof和strlen()得出的结果并不相同,它们的主要区别是:
sizeof侧重该字符串所占用的存储空间,即即使字符串并没有占用满该char数组的空间,sizeof也给出所有空间大小;
strlen()则侧重字符串的实际长度,即字符串没有占用满char数组的空间,只给出实际字符串的长度。




- 阅读剩余部分 -

变量与常量


  • 常量:有些数据类型在程序使用之前已经预先设定好了,在整个程序的运行过程中没有变化,这些称为常量。
  • 变量:其他数据类型在程序运行期间可能会改变或被赋值,这些称为变量

数据:数据类型关键字


最初K&R标准C90标准C99标准
intsigned_Bool
longvoid_Complex
short _Imaginary
unsigned
char
float
double
  • 按计算机的存储方式,可分为两大基本类型:整数类型浮点数类型
  • 整数和浮点数:计算机以二进制数字存储整数;而把浮点数分成小数部分和指数部分来表示,并分开存储这两部分。
  • 位、字节和字:位是计算机的最小存储单位,可以存储0或1,即二进制数字,或者说位用于设置“开”或“关”;字节是是能表示一个完整数据的基本单位,1字节均为8位;字是设计计算机时给定的自然存储单位,即常说的字长,比如目前的64位字长计算机,计算机的字长越大,其数据转移越快,允许的内存访问页更多。

- 阅读剩余部分 -

C语言起源

1972年,贝尔实验室的丹尼斯 里奇和肯 汤普逊在开发Unix操作系统时设计了C语言。

C语言的特性

  1. 强大的控制结构
    流程控制语句,如if、for、break等
  2. 快速
    C语言具有汇编语言才具有的微调控制能力。
  3. 代码紧凑(程序更小)
    C语言充分利用了当前计算机的优势。
  4. 可移植性
    在一种系统中编写的C程序稍作修改或不修改就能在其他系统运行。
  5. 面向程序猿
    C可以访问硬件,操控内存的位。





- 阅读剩余部分 -