c语言第二章总结

2.1引例

        C语言在屏幕上输出英文短句”Programming is fun.“。

 

 像这样,注释内容必须包含在/*和*/之间,而且一般在需要注释的内容的前边或者后边,不可穿插在语句的中间,不然是错误的,第二行的是编译预处理命令,因为程序中调用了printf()函数,是c语言中的标准输出函数,在系统文件studio.h(称为头文件)中声明,所以在程序开始处要使用include将该文件包含进来。注意C语言有效的预处理命令总是一#开始的,预处理命令的末尾不加分号。

        如果需要在两行上输出文字,例2.1可以改成如下:

\n是换行符,称为转义字符

例2.2设球半径为r,球体积为v,球表面积为f,球体积和球表面积的计算式为:

                                                                v = 3/4πr^3

                                                                f = 4πr^2

输入半径,分别计算球体积和球表面积。

像这样,凡是需要3.14159的地方,都可以用PI代替,提高了程序的可读性

2.2.C语言的数据类型

数据类型可分为基本类型和构造类型还有指针类型和空类型;基本类型有整形,字符型和实型(浮点型);构造类型有数组类型,结构体类型,共用体类型和枚举类型。

2.3.C语言的常量

        1.直接常量

                (1).整形常量

        即整数,包括正整数,负整数和零。C语言中,整形常量可以用十进制,八进制和十六进制表示。在一个整形常量后面加一个字母u或U认为 unsigned int 型,加一个l或L认为是long int 型。

         2.实型常量

        即实数,又称为浮点数。C语言中实数只能用十进制形式表示,实数的表示有两种,小数形式和指数形式。

        小数形式:由整数部分,小数点和小数部分组成,当小数部分或整数部分为0时,可以省略不写,但小数点不可以省略。

        指数形式:由尾数部分,字母E或e和指数部分组成,格式为±尾数E指数。

                注:以小数形式表示实数时,必须有小数点,并且小数点的前,后至少一边有数字:

                        以指数形式表示实数时,字母E或e的前后必须有数字,并且指数部分只能是整数。

                        在C语言中,实型常量默认为double型的实数,如果在数的后面加字母F或f则认为是float型的实数。

        3.字符型常量

        字符常量指单个字符,用一对单引号及其括号所扩起来的字符来表示。字符常量只能是单个字符,不能是字符串;字符常量只能是用单引号括起来,不能用双引号或其他括号;字符可以是ASCCII字符集中的任意字符。

                使用字符常量时每个字符在内存中占用一个字节,用于存储它的ASCII码值。

常见的转义字符:\0 空字符;\a 响铃;\b 退格;\t 水平制表符;\n 回车换行;\v竖向跳格;\f换页;\r 回车;\" 双引号;\' 单引号;\? 问号;\\ 反斜线字符;\ddd 1~3位八进制所代表的字符;\xhh 1~2位十六进制所代表的字符

转义字符形式由多个字符组成,但它是一个字符常量,只代表一个字符。

例2.3

像这样, 就是转义字符的小试用。

                4.字符串常量

                字符串常量是由一对双引号”“括起来的零个或多个字符序列,如”HelloWord“.而且可以使用空格字符,转义字符和其他字符,也可以使用汉字等文字符号。字符串常量在内存中占用一段连续的存储单元,系统自动在每个字符串的尾部加上'\0'作为字符串的结束标志.

2.3.2.符号常量

        #define 标识符 常量值        #define是一条编译预处理命令,称为宏定义命令,其功能是把该标识符定义为其后的常量值,该标识符称为符号常量。

例2.5 利用符号常量计算价格。

 像这个程序中的PRICE为符号常量,其值为20,当需要改变商品单价是,只需要修改PRICE。

符号常量的使用,可以增加程序的可读性,提高程序的可维护性,简化程序代码以及方便数组的定义。

2.4。C语言的变量

        2.4.1 在C语言中,所有的变量必须先定义再使用。

                变量的格式:类型说明符  变量名表;如int r;/* 定义r为整型 */

                变量的初始化:如int x=2 /* 定义一个整型变量x并赋初值2 */

例2.6变量的使用示例

定义了三个int整型变量a,b,c,一个char变量ch。

        2.4.2。整型变量

        有short int 短整型,占字节数2;int 整型,占字节数4;long int 长整型,占字节数4;unsigned short 无符号短整型,占字节数2;unsigned int 无符号整型,占字节数4;unsigned long 无符号长整型,占字节数4.

例2.7,不同类型整型变量的定义与使用示例

例2.8,短整型变量的溢出

短整型变量的取值范围是-32768~32767.

2.4.3实型变量

        float 单精度型,能保留7位有效数字

        double 双精度型,能保留16位有效数字 

例2.9实型变量的使用示例

2.4.4字符型变量

例2.10 字符变量的使用示例

例2.11把大写字母转换为小写字母

2.5.运算符和表达式

        2.5.1 赋值运算符和赋值表达式

                复合赋值运算符 是简单运算符(=)前面加上算术运算符就构成符合赋值运算符 

如+=,-=,*=,/=,、=,%=。

2.5.2 算术运算符和算术表达式

        1.基本的算术运算符包括加减乘除和求余等运算,其中加减乘除和求余运算均为双目运算符,所谓的双目运算符是指运算时需要两个操作数。

        2.++是自增运算符,--是自减运算符,有两种使用形式:一,前缀方式,如“int a=++x”这是先计算后使用,即先将x的值自加1,然后将x赋值给变量a;二,后缀方式,如“int a=x--”这是先使用后计算。这两种是单目运算符,对象只能是一个简单变量,不能是常量或表达式。

        3.算术运算符的优先级是单目运算符的优先级高于双目运算符,双目运算符中国的*,/,%优先级高于+,-。

        4.算术表达式是由算术运算符,运算对象和括号链接起来的式子,运算对象可以是常量,变量,函数等。注意表达式中的乘号不能省略,且表达式中的所有字符均应写在同一行上;在表达式中还可以使用多层圆括号(不能使用中括号和花括号),但是要注意括号的配对。

例2.13 输入一个3位的正整数,输出其反序数如123反序数为321

 2.5.3 逗号运算符和逗号表达式;逗号表达式的执行顺序是:从左往右依次计算每个表达式的值,并把最后一个表达式的值作为整个逗号表达式的值。

逗号运算符是双目运算符,其优先级最低,是左结合的;并非所有出现逗号的地方都是逗号表达式,如在变量说明语句中,以及函数参数表达中逗号只是用作各变量之间的分隔符。

例2.14.逗号表达式应用示例。

2.5.4 求字节数运算符

        运算符sizeof用于计算数据类型所占的字节数,它式一个单目运算符,优先级高于双目运算符,一般格式如:(1)sizeof(表达式)或sizeof表达式;(2)sizeof(数据类型名)

例2.15 不同数据类型字节数示例。

例2.16 求字节数运算符示例

 

2.6 数据类型转换

        2.6.1 自动类型转换:不同类型的数据在一起运算时,编译系统会自动进行类型转换。进行自动转换的规则是:把占用内存空间少的(低级)类型向占用空间多的(高级)类型转换,以保证运算的精度。 

 数据类型的各种转换只影响表达式的运算结果,并不改变原变量的定义类型,并且其数据值也不会

发生任何改变,当赋值运算符两边的运算对象类型不同时,也要发生类型转换,转换的规则是:把赋值运算符右边表达式的类型转换为左边变量的类型。

2.6.2 强制类型转换

        是采用强制类型转换运算符将某种数据类型强制转换成指定的数据类型,其一般形式为

                (类型说明符)(表达式)

                功能:把表达式的运算结果强制转换成类型说明符指定的类型。

注意:需强制类型转换中的表达式一定要括起来,否则只对紧随括号后的量进行类型转换;强制类型转换是一种不安前的转换,如果是从高级类型转换成低级类型,则会损失数据的精度:强制类型转换并不改变表达式中变量的类型和值。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值