框架

#include <stdio.h>//头文件
int main()//main是主函数,只有一个,所有程序都从main开始
{
    printf("Hello Word!\n");//输出内容。每一句结束都有“分号”(main函数外的不加)
    return 0;
}
//代码加缩进,保证代码的易读性

字符类型

整型

类型名类型标识符占用字节数取值范围取值范围
短整型short[int]2-215~215-1-32768~32767
基本整型int4-231~231-1-2147483648~2147483647
长整型long[int]4-231~231-1-2147483648~2147483647
无符号短整型unsigned short20~216-10-65535
无符号基本整型unsigned[int]40~232-10-65535
无符号长整型unsigned long40~232-10-4294976295

C语言并未规定数据类型所占字节数,由编译环境和系统决定
可用sizeof()测量所占字节

实型类型(浮点型)

3.4E-38:3.4*10-38

字符必须加单引号''

'a' 'A'是字符
'123'不是字符

ASCII码值

ASCII码值用来统一编码
?:34
A,a相差:32

标识符的命名规则

只能用字母、数字、下划线构成,第一个字符必须是字母或下划线
可用单词命名,如:end,flag_1
定义变量不能用符号

常量的分类

整型(int、long、short)

字面常量

直接以值的形式出现的常量 ,无需声明

  • 整型:100,125,-100,0
  • 浮点型:3.14,0.125,-3.789
  • 字符型:'a','b','2'
  • 字符串:"a","ab","1234"
    编译器可自动判断类型

    #define BOOK 160//全局函数,写在main函数之外
    //160是常量
    //BOOK 等价于 160

    符号常量

    #define 标识符 常量值(预处理命令)

    例:#define PI 3.14159
    PI就是一个符号常量,在编译程序时,程序中所出现PI的地方都会被替换成3.14159
    含义清楚,一改全改

浮点型(float,double)

float对应%f,double对应%lf

实例

3.14159E-5L   /*合法的*/
510E   /*非法的:不完整的指数*/
210f    /*非法的:没有小鼠或者指数*/
.e55    /*非法的:缺少整数或小数*/
E2   3.6e3.5   .e6   e     /*非法的*/
E/e是科学计数法,在此记为10
2e3:2*103
210f不对,210.0f才是浮点型

字符型常量(char)

说明

'a' 与 'A' 是不同的字符常量
单引号中的大小写代表不同的字符常量
' ' 也是一个字符常量
单引号中的空格字符也是一个字符常量
'abc' 是非法的
字符常量只能包含一个字符,除转义字符外

字符串

双引号""包围

变量赋初值

所有的变量都是类型,如:int,char...
数据类型[=初值1]
int x = 10
声明变量的同时,赋初值


可以先定义,后赋值。
如:

int x;
x = 20;

数据溢出:

数据过大超出范围,在最大值的基础上+1,然后取负,进入循环。


字符型变量



储存情况:
ch1

01100001
97


ch2

01100001
98

注释:char类型可以把字母当作ASCII码值

数据类型转换(不建议用!容易出错)

隐式(计算机内部运算)

混合运算

整型、实型和字符型数据可以混合运算,如果参加运算的两个数据类型不同,则先将其类型转换成一致再运算。
演示图

记忆技巧

char,short必须转换为int
float必须转换成double
低级转成高级

显式(只第一步显式,后面都是隐式)

强制转换

(要转换成的数据类型)(被转换的表达式)

如:
(int)(x+y)
(double)a
(float)5/2      //将5转换成浮点型再除2
(float)(5/2)      //先5除2,再转换成浮点型

注释:5/2 = 2 因为是整型,c语言中没有四舍五入

基本算术运算符(双目运算符)

求余数

除法

计算优先级

先乘除,后加减

综合性

自增、自减运算(单目运算)

自增

++i:i = i + 1
i++:i = i + 1

自减

--i:i = i - 1
i--:i = i - 1

区别

i++:后++,先计算,后++
++i:先++

举例

int i,j;                 i = 5 + j;
i = 5 + j++;      ==>    j = j + 1;
--------------------------------------
i = 5+ ++j;       ==>    j = j + 1;     i = 5 + j;

算术表达式

多种类型在一起,看好优先级和类型

复合赋值运算符(双目运算符)(赋值运算符)

赋值运算符(部分)


先把等式右边加括号,看作一个整体

逗号表达式

计算

a = 3 * 5,a * 4       //a = 3 * 5是第一个表达式,a * 4是第二个表达式
a = 15;15 * 4 = 60

(a = 3 * 5,a * 4),a + 5      //a=3*5是表达式1-1,a*4是表达式1-2,a+5是表达式2
//表达式1为60,表达式2为 15+5

注意:

  1. 逗号运算符的优先级最低,且是左结合性。
  2. 逗号运算符只起连接作用,没有实际操作。
  3. 很多情况下,逗号仅用作分隔符。

优先级与结合性

优先级:赋值运算符的优先级低于算术运算符,结合性为自右至左
图解

进制

C可以表示:十六进制、八进制、十进制,但 不能 表达二进制

最后修改:2024 年 06 月 03 日
如果觉得我的文章对你有用,请随意赞赏