C语言初学者学习笔记——03

第 3 章 最简单的C程序设计——顺序程序设计

编写C语言必须具备的知识和能力:

1.要有正确的解题思路,即学会设计算法,否则无从下手。

2.掌握C语言的语法,知道怎样使用C语言所提供的功能编写写出一个完整的,正确的程序,也就是在设计好算法后,能用C语言正确表示此算法。

3.在写算法和编写程序时,要采用结构化程序设计方法,编写出结构化程序。

3.1 顺序程序设计举例

有人用温度计测量出用华氏度表示的温度(如64°F),今要求把它转换为以摄氏度表示的温度(如17.8°C)

解题思路:这道题的关键在于找到二者间的转换公式:c = 5/9(f-32)

利用N-S图表示算法:

最后用C语言表示:

# include <stdio.h>
int main()
{
    float f,c;
    f = 64.0;
    c = (5.0/9)*(f-32);
    printf("f=%f\n c=%f\n",f,c);
   return 0;
}

 运算结果:f=64.000000  c=17.777778

3.2 数据的表现形式及其运算

常量和变量

常量:在程序运行过程种,其值不能被改变的量称为常量(数值常量就是数学中的常数)

常数的种类:

整型常量:就是数学中的整数,例如:-1,0,1

实型常量:有两种表示形式,一种是十进制小数形式,由数字和小数点组成,另一种则为指数形式,由于计算机输入输出时,无法表示上角或者下角,故规定以字母e或者E代表以10为底的指数,其中应该注意的是在写e或者E之前必须有数字且e或者E后面必须为整数。

字符常量

普通字符:用单撇号括起来的一个字符,如 'a' , '3' , '?' 。单撇号只是界限符,字符常量只能是一个字符,不包括单撇号

转义字符:\n表示换行符,其就是一个转义字符,转义字符就是以符号\开头的字符序列,常见的有\a  警告符 ,\b 退格符 ,\f 退页符

字符串常量:“boy” , “123”,这种用双撇号将若干个字符括起来的就是字符串常量

符号常量:用#define指令,指定用一个符号名称代表一个常量

如:# define PI 3.1416

经过以上指定后,后续代码中PI都代表3.1416

使用符号常量的好处:1.含义清楚        2.方便更改

变量:代表一个有名字的,具有特定属性的一个存储单元(在程序运行期间,变量的值是可以改变的)ps:变量必须先定义,后使用,变量名实际上是以一个名字代表的一个存储地址

常变量:设置 const int a = 3;

表示a被定义为一个整型变量其值为3,且变量存在期间其值不可改变

常变量于常量的异同:

常变量具有变量的基本属性,有类型,占存储单元,只是不允许改变其值,常变量是有名字的不变量,而常量是没有名字的不变量,有名字就便于在程序中被引用。

标识符:用来对变量,符号常量名,函数,数组,类型等命名的有效字符序列的统称,可以将标识符理解为一个对象的名字。

C语言规定标识符只能由字母,数字和下划线3种字符组成,且第一个字符必须为字母或下划线。

ps:编译系统将大写字母和小写字母认为是两个不同的字符,一般而言,变量名用小写字母表示。

数据类型

C语言要求在定义所有的变量时都要指定变量的类型。

所谓类型,就是对数据分配存储单元的安排,包括存储单元的长度(占多少字节)以及数据的存储形式。

*是C99所增加的

 其中基本类型和枚举类型变量的值是数值统称为算术类型

算数类型和指针类型统称为纯量类型,变量的值以数字来表示

枚举类型是程序中用户定义的整数类型

数组类型和结构体类型统称为组合类型

共用体类型不属于组合类型,因为在同一时间内只有一个成员具有值

函数类型用来定义函数,描述一个函数的接口,包括函数返回值的数据类型和参数的类型

不同类型的数据在内存中占用的存储单元长度是不同的

整型数据

符号属性:有的数据范围常常只有正值,为了充分利用变量的值的范围,可以将变量定义为“无符号”类型,可以在类型符号前面加上修饰符unsigned

只有整型(包括字符型)数据可以加signed或者unsigned修饰符,实型数据不能加

对无符号整型数据用“%u”格式输出,%u表示为无符号十进制数的格式输出。

浮点数:由于小数点位置可以浮动,所以实数的指数形式称为浮点数

小数部分占的位(bit)数愈多,数的有效数字愈多,精度也就愈高

指数部分占的位数愈多,则能表示的数值范围愈大

整型常量:在一个整数的末尾加上大写字母L或者小写字母l,表示为长整数

浮点型常量:凡是以小数形式或指数形式出现的实数是浮点型常量

运算符和表达式

基本的算术运算符:

+ 正号运算符,加法运算符

- 负号运算符,减法运算符

* 乘法运算符

/ 除法运算符

% 求余运算符

自增自减运算符:

++i,--i (在使用i之前,使i的值+(-)1)

i++,i-- (在使用i之后,使i的值+(-)1)

算术表达式和运算符的优先级与结合性

用算术运算符和括号将运算对象(也称操作数)连接起来的,符合C语法规则的式子称为C算术表达式

运算符优先级规律:

初等运算符( [ ], -> ,(),· )→单目运算符→算术运算符(先乘除后加减)→关系运算符→逻辑运算符(不包括!)→条件运算符→赋值运算符→逗号运算符

同一优先级的运算符,运算次序由结合方向决定

算术运算符的结合方向都是自左至右

强制类型转换运算符:

形式为:(类型名)(表达式)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

语霂ฅ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值