《C程序设计语言》笔记 (二)类型运算符与表达式

变量和常量是程序处理的两种基本数据对象

声明语句说明变量的名字及类型,也可以指定就是的初值

运算符指定将要进行的操作,表达式则把变量与常量组合起来生成新的值

所有整形都包括signed和unsigned两种形式

2.1变量名

变量名是由字母和数字组成,但其第一个字符必须为字母。

下划线"_"也被看作是字母,通常用于命名较长的变量名

由于库例程的名字通常以下划线开头,因此变量名不要以下划线开头

变量名使用小写字母,常量名全部使用大写字母

2.2 数据类型及长度

//C语言只提供下列几种基本数据类型

char 字符型,占用一个字节,可以存放本地字符集中的一个字符

int 整形,通常反映了机器中整数的最自然长度

float 单精度浮点数
double 双精度浮点数

此外,还可以在这些基本数据类型的前面加上一些限定符
short与long两个限定符用于限定整形:
short int sh;
long int counter;
关键字int可以省略。

short与long的引入可以为我们提供满足实际需要的不同长度的整形数
signed与unsigned可用于限定char类型或任何整形

2.3常量

类似于1234的整数常量属于int类型
long类型的常量以字母l或L结束,如123456L
如果一个整数太大以至于无法用int表示时,也将被当作long处理

无符号常量以字母u或U结尾。

后缀ul或UL表明是unsigned long类型

一个字符常量是一个整数,书写时将一个字符括在单引号中

\a 响铃符
\b 回退符
\f 换页符
\n 换行符
\r 回车符
\t 横向制表符
\v 纵向制表符

字符常量‘\0‘表示值为0的字符,也就是空字符(null)

我们通常以‘\0‘的形式代替0

常量表达式是仅仅只包含常量的表达式。这种表达式在编译时求值,而不在运行时求值

字符串常量也叫字符串字面值,是用双引号括起来的0个或多个字符组成的字符序列

从技术的角度看,字符串常量就是字符数组

字符串的内部表示使用一人空字符‘\0‘作为串的结尾

 2.4声明

所有变量都必须先声明后使用,尽管某些变量可以通过上下文隐式的声明

声明变量的同时可以进行初始化

如果变量不是自动变量,则只能进行一次初始化操作,从概念上讲,应该是在程序开始执行之前进行,并且初始化的表达式必须为常量表达式

每次进入函数或程序块时,显式初始化的自动变量都将被初始化一次。

任何变量的声明都可以使用const限定符限定

const限定变量的值不能被修改,对数组而言,const限定数组所有元素的值都不能被修改

2.5算术运算符

二元算术符包括: + - * / % .

取模运算符不能应用于float或double类型。

2.6关系运算符与逻辑运算符

关系运算符包括:

>  >=  <  <= 它们具有相同的优先级

==  != 优先级更低点

逻辑运算符&&与||有一些较为特殊的属性。

由&&与||连接的表达式按从左到右的顺序进行求值 ,并且,在知道结果为真或假后立即停止运算

2.7类型转换

自动转换是指把"比较窄的"操作数转换为"比较宽的"操作数。并且不丢失信息的转换。

将字符类型转换为整形时,需要注意一点

C语言没有指定char类型的变量是无符号还是带符号变量

当把一个char类型的值转换为int类型时,其结果有没有可能 为负数?对不同的机器,结果不同

2.8自增与自减

C语言提供了两个用于变量递增与递减的运算符。
自增++使操作数递增1
自减--使操作数递减1
它们既可以用作前缀运算符,也可以用途后缀运算符

2.9按位运算符

C语言提供了6个位操作运算符。这些运算符只能用于整形操作数。

& 按位与

| 按位或

^ 按位异或

<< 左移

>> 右移

~ 按位求反

按位与运算符&经常用于屏蔽某些二进制位

按位或运算符|常用于将某些二进制位置为1

按位异或运算符^当两个操作数的对应位不相同时将该位设置为1,否则设置为0

移位运算符<<与>>分别用于将运算的左操作数左移与右移

移动的位数则由右操作数指定。

x<<2 表示将x左移2位,右边空出的2位用0填补

在对unsigned类型的无符号值进行右移时,左边空出的部分将用0填补

当对signed类型的带符号值进行右移时,某些机器将对左边空出的部分用符号位填补,而另一些机器则用0填补

一元运算符~用于求整数的二进制反码,即分别将操作数各二进制0变1,1变0
时间: 2024-10-12 17:13:48

《C程序设计语言》笔记 (二)类型运算符与表达式的相关文章

【Swift】学习笔记(二)——基本运算符

运算符是编程中用得最多的,其包括一元,二元和三元 三种运算符.swift也和其它编程语言一样基本就那些,下面总结一下,也有它特有的运算符,比如区间运算符 1.一元运算符 =   赋值运算符,用得最多的啦,其不带任何返回值 +  加法(数字相加,也可用于字符拼接var ss = "a"+"b") -   减法 *   乘法 /   除法 % 求余(负号忽略,浮点数也可以求余) >  大于 <  小于 2.二元运算符 ++  自增(就是i = i + i的缩

C学习笔记(二) 运算符和表达式

二.运算符和表达式 (1)算术运算符:+ - * / % 其中:/为整除,%为求余 (2)关系运算符:> .<. ==. >= .<=. != (3)逻辑运算符:|| && ! (4)位运算符:<<.>>.~(取反).|(按位或,有1则为1).^(按位异或,相等为0不等为1).&(按位与,有0为0) (5)赋值运算符:= (6)条件运算符(三目运算符)?: (7)逗号运算符(顺序求值运算符)

3、C语言之数据类型、运算符与表达式

C语言之数据类型.运算符与表达式 1.C的数据类型 数据类型决定: (1)数据占内存的字节数 (2)数据取值范围 (3)可以进行的操作 2.常量与变量 常量和符号常量 在程序运行过程中,其值不能被改变的量称为常量 常量区分为不同类型: 整型 100 ,125,-1000 实型:3.14, 0.23 字符型: 'a', 'b' 字符串型:"a", "adfdg", "1233" 用某种符号来代表某个常量,称这个符号为符号常量 #define PRI

python程序设计语言笔记 第一部分 程序设计基础

1.1.1中央处理器(CPU) cpu是计算机的大脑,它从内存中获取指令然后执行这些指令,CPU通常由控制单元和逻辑单元组成. 控制单元用来控制和协调除cpu之外的其他组件的动作. 算数单元用来完成数值运算(加减乘除)以及逻辑运算(比较) 现在的cpu都是镶在一块小小的硅半导体芯片上,这块芯片上有数百万个被称作晶体管的小电子开关来处理信息. 每台计算机都有一个内部时钟,该时钟会以一个稳定的速度发射电子脉冲,这些脉冲用于同步和控制各种操作的的步调.时钟速度越快,给定时间内执行的指令就越多.时钟速度

CLR via C#深解笔记二 - 类型设计

类型基础 所有类型都从System.Object派生 CLR要求所有对象都用new 操作符来创建. Employee e = new Employee("Constructor Parameters"); 以下是 new 操作符所做的事情: #1, 计算类型及所有基类型(一直到System.Object, 虽然它没有定义自己的实例字段)中定义的所有实例字段需要的字节数. 堆上的每个对象还需要一些额外(overhead 开销成员)的成员 -- 即“类型对象指针”(type object

C语言:数据类型、运算符、表达式

.:.:第二章:数据类型.运算符.表达式:.:. 第二章: 数据类型.运算符.表达式 C语言的数据类型 在第一课中,我们已经看到程序中使用的各种变量都应预先加以说明,即先说明,后使用.对变量的说明可以包括三个方面:·数据类型·存储类型·作用域 在本课中,我们只介绍数据类型说明.其它说明在以后各章中陆续介绍.所谓数据类型是按被说明量的性质,表示形式,占据存储空间的多少,构造特点来划分的.在C语言中,数据类型可分为:基本数据类型,构造数据类型,指针类型,空类型四大类. 1.基本数据类型 基本数据类型

C语言笔记(二)

注释 编译器会用空格代替代码中原来的注释,并先于预处理指令执行/*…*/ 这种形式的注释不能嵌套只要斜杠(/)和星号(*)之间没有空格,都会被当作注释的开始.例如这样:y = x/*p; \ 是一个接续符,表示断行.编译器会将反斜杠剔除掉,跟在反斜杠后面的字符自动接续到前一行.但是注意:反斜杠之后不能有空格,反斜杠的下一行之前也不能有空格.(有的编译器有空格可以通过).\ 还能被用作转义字符的开始标识. 位运算符 交换两个变量的值:a ^= b; b ^= a; a ^= b; 0x01<<2

C程序设计语言笔记2017/3/25

1.3 for语句 for语句的基本格式如下: for(初始化部分:条件部分:增加步长部分) { 循环体 } for语句是一种循环语句,是对while语句的推广,只是for语句的操作更直观一些.for后面的圆括号共包含3个部分,各部分用分号隔开.当循环体部分只要一条语句时,大括号也可以不要. 具体见下面温度转换程序: #include <stdio.h> /*打印华氏温度-摄氏温度对照表*/ main() { int fahr; for(fahr=0;fahr<=300;fahr=fah

C语言笔记-枚举类型

  1 //实现选择一个动物,输出一个叫声. 2 #include <stdio.h> 3 enum animal {Dog,Cat,Monkey,No}; 4 5 void dog() 6 { 7 puts("wang wang!"); 8 } 9 void cat() 10 { 11 puts("miao miao!"); 12 } 13 void monkey() 14 { 15 puts("zhi zhi!"); 16 } 1