C语言——命名规则;数据类型的常量和变量;整型、实型、字符型、字符串;格式化输出;类型的自动转换和强制转换;算数、关系、逻辑、位、逗号运算符

命名规则

在c语言中给变量和函数起名的时候,由字母、数字、下划线构成;必须以字母或下划线开头

注意:起名的时候要求见名知意。大小写敏感

C语言的程序结构

一个完整的C语言程序,是由一个、且只能有一个main()函数(又称主函数。必须有)和若干个其他函数结合而成。

main函数是程序的入口,即程序从main函数开始执行。

数据类型
基本类型

char、short int、int、long int、float、double

构造类型

若干个相同或不同类型数据构成的集合,这种数据类型被称为构造类型。

数组、结构体、共用体、枚举

常量和变量

常量:在程序运行过程中,其值不可以改变的量

整型、实型、字符型、字符串

变量:其值可以改变的量被称为变量

数据类型
整型常量:(按进制分)

十进制:以正常数字开头

八进制:以数字0开头

十六进制:以0x开头

整型变量:

有/无符号短整型(un/signed)short(int) 2个字节

有/无符号整型(un/signed)int 4个字节

有/无符号短整型(un/signed)long(int) 4个字节

实型数据(浮点型)
实型常量

实型常量也称为实数或者浮点数

十进制形式:由数字和小数点组成

指数形式:不以f结尾的常量是double类型

			以f结尾的常量是float类型
实型变量

单精度(float)和双精度(double)

float型:占4字节,7位有效数字,指-37到38

double型:占8字节,16位有效数字,指数-307到308

字符数据
字符常量
直接常量: 用单引号括起来

转义字符:以反斜杠“\”开头,后跟一个或几个字符,

字符变量:

用char定义,每个字符变量被分配一个字节的内存空间

字符值以ASXII码的形式存放在变量的内存单元中

字符串常量

是由双引号括起来的字符序列

字符常量与字符串常量的不同

单引号字符常量双引号字符串常量

格式化输出字符:

%d: 十进制有符号整数

%u: 十进制无符号整数

%x: 以十六进制表示的整数

%o: 以八进制表示的整数

%f: float 型浮点数

%lf: double型浮点数

%e: 指数形式的浮点数

%s: 字符串

%c: 单个字符

%p: 指针的值

特殊应用

%3d: 宽度为3位,如果不足3位,前面空格补齐;如果足够3位,此语句无效

%03d: 宽度为3位,如果不足3位,前面0补齐;如果足够3位,此语句无效

%-3d: 宽度为3位,如果不足3位,后面空格补齐;如果足够3位,此语句无效

%.2f: 小数点后只保留2位

类型转换

数据有不同的类型,不同类型数据之间进行混合运算时必然涉及到类型的转换问题

转换的方法有两种:自动转换;强制类型转换

自动转换遵循一定的规则,由编译系统自动完成强制类型转换把表达式的运算结果强制转换成所需的数据类型

自动转换的原则:

1、占用内存字节数少(值域小)的类型,向占用内存字节数多(值域大)的类型转换,以保证精度不降低。

2、转换方向
在这里插入图片描述
(1) 当表达式中出现了 char、short、int类型中的一种或多种,没有其他类型,参加运算的成员全部变成int类型的参加运算,结果也是int类型的

(2) 当表达式中出现了带小数点的实数,参加运算的成员全部变成double类型的参加运算,结果也是double型

(3) 当表达式中有有符号数也有无符号数,参加运算的成员变成无符号数参加运算,结果也是无符号数。(表达式中午实数)

(4) 在赋值语句中等号右边的类型自动转换为等号左边的类型。

(5) 注意自动类型转换都是在运算的过程中进行临时行的转换,并不会影响自动类型转换的变量的值和其类型

强制转换:

通过类型转换运算来实现 (类型说明符)(表达式)

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

例:

(float)a;     //把a的值转换为实型
(int)(x+y);    //把x+y的结果值转换为整型

注意:类说明符必须加括号

说明:

无论是强制转换或是自动准换,都只是为了本次运算的需要,而对变量的数据长度进行的临时性转换,而不改变数据定义的类型以及它的值。

运算符

用算数运算符将运算对象(也称操作数)连接起来的、符合C语法规则的式子,称为C算术表达式,运算对象包括常量、变量、函数等。如果是函数是用函数的返回值参加运算。

运算符的分类

1、双目运算符:即参加运算的操作数有两个

2、单目运算符:参加运算的操作数只有一个;++自增运算符;–自减运算符

3、三目运算符(条件运算符):参加运算的操作数有3个

(判断条件)?(值1):(值2) 如果判断条件成立,为真,则输出值1;若不成立,为假,输出值二。

算数运算符

加、减、乘、除、取余、加等于、减等于、乘等于、除等于、取余等于

关系运算符

大于(>)、小于(<)、等于(==)、大于等于、小于等于、不等于(!=)

不等于一般用于判断条件是否满足或者循环语句

逻辑运算符

&&逻辑与:两个条件都为真,则结果为真

||逻辑或:两个条件至少有一个为真,则结果为真

!逻辑非:取反

位运算符

& 按位与:任何值与0的0,与1保持不变

| 按位或:任何值或1的1,或0保持不变,全0为0;可以实现将指定位置1。
按位取反:1变0,0变1

^ 按位异或:相异得1,相同的0。

位移:<<左移;>>右移

注意:右移分逻辑右移算数右移

右移:逻辑右移 高位补0,低位溢出

​ 算数右移 有符号数:高位补符号位,低位溢出

​ 无符号数:高位补0,低位溢出

左移:高位溢出,低位补0

条件运算符

(判断条件)?(值1):(值2) 如果判断条件成立,为真,则输出值1;若不成立,为假,输出值二。

逗号运算符

(),():逗号运算符的结果是后面表达式的结果

算数右移

右移:逻辑右移 高位补0,低位溢出

​ 算数右移 有符号数:高位补符号位,低位溢出

​ 无符号数:高位补0,低位溢出

左移:高位溢出,低位补0

条件运算符

(判断条件)?(值1):(值2) 如果判断条件成立,为真,则输出值1;若不成立,为假,输出值二。

逗号运算符

(),():逗号运算符的结果是后面表达式的结果

逗号运算符的优先级最低

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值