C语言基础学习DAY1

一、C语言概述

1.C语言的发展历史:

    C语言由Dennis Ritchie(丹尼斯·里奇)于1971-1973年在B语言(源于BCPL)基础上,通过增加数据类型、结构体、指针等关键创新,并用其重写Unix内核验证而发明,其设计哲学是信任程序员、保持简洁、接近硬件、高效编译。

2.C语言的应用领域:

(1)系统软件:操作系统、编译器、数据库等

(2)嵌入式系统:智能家电、智能穿戴设备、智能汽车等

(3)网络设备:路由器、交换机、防火墙等

(4)游戏开发:电脑游戏、手机游戏等

3.C语言的标准

(1)C89(C90)标准

        1989年,美国国家标准协会通过了C语言标准,简称C89

        1990年,国际标准化组织接收并采纳C89作为国际标准

(2)C99标准

       1999年,国际标准化组织和国际电工委员会正式发布了ISO/IEC 9899:1999,简称C99

       C99引入了许多新特性,例如内联函数,变量声明可以不放在函数开头,支持变长数组

(3)C11标准

       2011年,国际标准化组织和国际电工委员会正式发布C语言标准第三版草案N1570,称为               ISO/IEC 9899:2011,简称C11

       C11增强了C语言对C++的兼容性

二、第一个C语言程序HelloWorld

1.include头文件包含

(1) #include的意思是头文件包含,#include <stdio.h>代表包含stdio.h这个头文件

(2)头文件:在c语言中后缀名为h的文件被称为头文件,头文件就像一本书的目录,当我们想使用某本书里的内容时,可以直接引用头文件。

2.main()函数

        main函数是C语言程序的入口,一个程序有且只能有一个main函数入口

3.C语言的语句结尾

        C语言每句可执行的语句结尾都要加;结尾(英文输入法下的)

4.printf函数

        printf是C语言库函数,功能是向标准输出设备输出一个字符串

        例如:printf("HelloWorld!\n")

          \n的含义是在HelloWorld的后边直接添加一个回车换行

5.return函数  

        return代表函数执行完毕,返回return代表函数的终止

6.函数的注释

        (1)注释的含义:对代码的解释和说明

        (2)注释的目的:让人们更加轻松的看懂代码

        (3)行注释://(快捷键ctrl+/)

                块注释:/* */

三、数据类型

1.数据类型的分类

         (1)基本类型:整型(int、short、long)、字符型(char)、

                                    浮点型(实型)(单精度:float;双精度:double)

         (2)构造类型:数组类型、结构类型(struct)、联合类型(union)、枚举类型(enum)

         (3)指针类型:char*、int*、int**等

2.数据类型的作用

        编译器预算数据分配的内存空间大小

3.变量

(1)变量定义

        就是通过指定数据类型和变量名来分配内存空间,可以同时赋初值(初始化)。

(2)变量的命名规则

        变量也叫标识符,命名规则如下:

        1.只能有字母、数字、下划线组成;

        2.不能使用数字开头;

        3.不能使用关键字;

补充:关键字

数据类型char int float double void5
类型修饰short long unsigned signed4
存储类别auto register static extern4
控制语句if else switch case default break continue return goto9
循环for while do3
结构/联合/类型struct union enum typedef4
其他const volatile sizeof

(3)命名规范

        要做到有好的命名习惯,做到见名知意

4.char类型

        char 占用 1字节,用于存储 单个字符,赋值时用 单引号(如 'A'),实际存储的是该字符的 ASCII码(整数),可用 %c(字符)或 %d(ASCII码)输出。

5.布尔类型(bool)

        (1)布尔类型用于表示真(true)或假(false)

        (2)C语言早期(C89标准)没有专门的布尔类型,使用整数代替:0表示假,非0表示真。

                C99正式添加了布尔类型,关键字为 _Bool

6.数据类型长度

(1)存储单位

单位说明换算关系
bit(比特)一个二进制位,只能表示0或1两种状态。数据传输习惯以“位”(bit)为单位。
Byte(字节)8个二进制位组成1字节,计算机中存储的最小单位是字节。数据存储习惯以“字节”(Byte)为单位。1 Byte = 8 bit
1b1比特
1B1字节1B = 8b
1KB1千字节1KB = 1024B
1MB1兆字节1MB = 1024KB
1GB1吉字节1GB = 1024MB
1TB1太字节1TB = 1024GB
1PB1拍字节1PB = 1024TB

(2)数据类型长度

数据类型32位系统64位系统
char11
short22
int44
long48
long long88
float44
double88
long double12~1616

7.可移植的类型

(1)为什么要用可移植类型

        不同平台基本类型长度可能不同,使用可移植类型(如 int32_t)可以确保代码在所有平台上长度固定、行为一致。

(2)可移植类型的好处

好处说明
长度固定int32_t 在任何平台都是4字节
行为一致避免跨平台差异导致的bug
代码清晰明确表达对数据长度的要求
便于维护无需为不同平台修改代码

8.常量

    (1)常量的值在运行程序时不会发生改变,常量包括整型常量、实型常量、字符型常量、字符串常量。

    (2)常量的定义有两种方式:预处理常量(如#define PI 3.14)

                                                     const常量(如const double pi2 = 3.14;)

<limits.h> —— 整数类型限制

CHAR_BITchar 的位数8
CHAR_MINchar 最小值-128
CHAR_MAXchar 最大值127
SCHAR_MINsigned char 最小值-128
SCHAR_MAXsigned char 最大值127
UCHAR_MAXunsigned char 最大值255
SHRT_MINshort 最小值-32768
SHRT_MAXshort 最大值32767
USHRT_MAXunsigned short 最大值65535
INT_MINint 最小值-2147483648
INT_MAXint 最大值2147483647
UINT_MAXunsigned int 最大值4294967295
LONG_MINlong 最小值-2147483648(32位)/ -2⁶³(64位)
LONG_MAXlong 最大值2147483647(32位)/ 2⁶³-1(64位)
ULONG_MAXunsigned long 最大值4294967295(32位)/ 2⁶⁴-1(64位)
LLONG_MINlong long 最小值-9223372036854775808
LLONG_MAXlong long 最大值9223372036854775807
ULLONG_MAXunsigned long long 最大值18446744073709551615

<float.h> —— 浮点数限制

常量含义典型值
FLT_MANT_DIGfloat 有效二进制位数24
DBL_MANT_DIGdouble 有效二进制位数53
FLT_MINfloat 最小正值1.17549435e-38
FLT_MAXfloat 最大值3.40282347e+38
DBL_MINdouble 最小正值2.2250738585072014e-308
DBL_MAXdouble 最大值1.7976931348623157e+308
FLT_DIGfloat 十进制有效位数6
DBL_DIGdouble 十进制有效位数15
FLT_EPSILONfloat 最小精度(1.0与下一个数的差)1.19209290e-7
DBL_EPSILONdouble 最小精度2.2204460492503131e-16
FLT_MIN_EXPfloat 最小指数(以2为底)-125
FLT_MAX_EXPfloat 最大指数(以2为底)128
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值