c语言(数据类型、注释)

第一个C语言程序

基本每位大兄弟初学的第一个程序都是这玩意,不晓得有木有写吐o(* ̄︶ ̄*)o

// hello.c
#include <stdio.h>

int main() {
    printf("hello world\n");

    return 0;
}
  • C语言的源代码文件是一个普通的文本文件,但扩展名必须是 .c

代码分析:

  • include头文件包含
    • #include的意思是头文件包含,#include <stdio.h>代表包含stdio.h这个头文件
    • 使用C语言库函数需要提前包含库函数对应的头文件,如这里使用了printf()函数,需要包含stdio.h头文件
    • 头文件:在c语言中后缀名为h的文件被称为头文件,头文件就像一本书的目录,当我们想使用某本书里的内容时,只需把目录(头文件)引进来就可以了。
  • main函数
    • 程序的入口,一个程序有且只有一个main函数入口
    • {}叫代码块,一个代码块内部可以有一条或者多条语句
      • 所有的可执行语句必须是在代码块里面
    • C语言每句可执行代码都是";"分号结尾
      • 所有的#开头的行,都代表预编译指令,预编译指令行结尾是没有分号的
  • printf函数
    • printf是C语言库函数,功能是向标准输出设备输出一个字符串
    • printf(“hello world\n”);
      • \n的意思是回车换行
  • return语句
    • return代表函数执行完毕,返回return代表函数的终止
    • 在main函数中return 0代表程序执行成功

注释

(虽然你们都会这些玩意,但这是剧情需要,还是得写(‾◡◝))

  • 注释
    • 对代码的解释和说明
  • 特点
    • 不会被执行
  • 目的
    • 让人们能够更加轻松地看懂代码
  • 分类
    • 行注释 //
      • 快键键 ctrl+/
  • 块注释 /**/
#include <stdio.h>

int main() {
    // 行注释
    /*
        块注释
    */
    printf("hello world\n");

    return 0;
}

数据类型

数据类型介绍

  • 数据类型:c语言中数据类型有3种,分别是基本数据类型、构造数据类型、指针数据类型。
  • 数据类型的作用:编译器预算数据分配的内存空间大小。(看看就行)
    • 可以通俗理解为:数据类型是用来规范内存的开销,约定数据在内存中的格式,便于存储。

变量

变量的语法

  • 在计算机程序中,变量是用来存储数据的一个内存区域,并用一个名字来表示这个区域。

使用特点

  • 变量在使用前必须先定义,定义变量前必须有相应的数据类型;
  • 在程序运行过程中,其值可以改变

语法说明

        

示例代码

        

#include <stdio.h>

int main() {
    // 1. 定义1个int变量age同时赋值为18(这叫初始化),然后打印内容
    int age = 18;
    printf("%d\n", age);
    // 2. 修改age的内容为20,然后打印内容
    age = 20;
    printf("%d\n", age);
    // 3. 定义2个int变量,然后在分别赋值,然后再打印内容
    int a, b;
    a = 123;
    b = 256;
    printf("%d\n", a);
    printf("%d\n", b);
    // 4. 定义1个float类型变量height同时赋值,然后打印内容
    float height = 1.77;
    printf("%f\n", height);

    return 0;
}

标识符命名

通过上面的联系,变量会定义了,类型和赋值都一些了解了。但变量名字大家需要注意,变量名也叫标识符,它是用户编程时起的一个名字(变量、函数、结构体等都需要名字),为了便于后面程序中的使用,有一些命名规范我们需要遵守。

命令规则

  • 规则说明:
    • 只能由数字、字母、下划线_组成;
    • 不能使用数字开头;
    • 不能使用关键字;

命令规范

好的命名习惯要做到见名知意,如下:

  • 大驼峰
    • 每个单词首字母大写, 例如: MyFirstName
  • 小驼峰
    • 第二个单词开始首字母大写, 例如: myFirstName
  • 下划线命名
    • 每个单词之间使用下划线连接, 例如: my_first_name

char类型

char表示为字符类型,用于存储单个字符,每个字符变量都是由8个bit位构成,在内存中就是1个字节。

相关特性:

  • 在给字符型变量赋值时,需要用一对英文半角格式的单引号(' ')把字符括起来。
  • 字符变量在内存单元存储时,是将与该字符对应的ASCII码放到变量的存储单元中。

char的本质就是一个1个字节大小的整型

示例代码:

#include <stdio.h>

int main() {
    // 定义一个char类型变量,同时赋值为97,分别用%d,%c打印结果
    char ch = 97;
    printf("%d\n", ch);
    printf("%c\n", ch);
    // 定义一个char类型变量,同时赋值为'a',分别用%d,%c打印结果
    char ch2 = 'a';
    printf("%d\n", ch2);
    printf("%c\n", ch2);

    return 0;
}

布尔类型

布尔类型是一种处理逻辑的类型,其有两个值,分别是真(true)或假(false),它在内存中的长度一般只占用1个字节。

  • 早期C语言没有布尔类型数据,以0代表逻辑假,非0代表逻辑真;
  • C99标准定义了新的关键字_Bool,提供了布尔类型,或者也可以使用stdbool.h中的bool;

示例代码:

#include <stdio.h>
#include <stdbool.h>

int main() {
    // 定义一个bool类型变量,同时赋值为true,然后打印变量的值
    bool flag = true;
    printf("%d\n", flag);

    // 修改上一步变量的值为false,然后打印变量的值
    flag = false;
    printf("%d\n", flag);

    return 0;
}

数据类型长度

存储单位说明

术语

含义

bit(比特)

一个二进制代表一位,一个位只能表示0或1两种状态。数据传输是习惯以“位”(bit)为单位。

Byte(字节)

一个字节为8个二进制,称为8位,计算机中存储的最小单位是字节。数据存储是习惯以“字节”(Byte)为单位。

1b

1bit

1B

1Byte = 8bit

1KB

1KB = 1024B

1MB

1MB = 1024KB

1GB

1GB = 1024MB

1TB

1TB = 1024GB

1PB

1PB = 1024TB

……

……

基本数据类型长度

数据类型的长度会受操作系统平台的影响,所以在不同平台下基本数据类型的长度是不一样的

示例代码:

#include <stdio.h>

int main() {
    // 通过sizeof打印各种类型的长度(大小)
    printf("char length = %d\n", sizeof(char));
    printf("short length = %d\n", sizeof(short));
    printf("int length = %d\n", sizeof(int));
    printf("long length = %d\n", sizeof(long));
    printf("float length = %d\n", sizeof(float));
    printf("double length = %d\n", sizeof(double));
    printf("long double length = %d\n", sizeof(long double));

    // 定义int类型变量,sizeof打印变量的大小
    int a;
    printf("a length = %d\n", sizeof(a));

    return 0;
}

:在单片机开发中,int在8位的单片机中长度为2个字节,在32位的单片机中长度为4个字节。

可移植的类型

最开始我们介绍C语言是一门跨平台的编程语言,使用C语言编写的程序可以在不同的系统平台下运行,这里有一些前提,为了更好的兼容不同平台,我们在使用基本上数据类型的时候会采用可移植的类型,这些类型可以确保在不同的平台下稳定的运行。

  • C语言在可移植类型头文件 stdint.h 和 inttype.h 中规定了精确宽度整数类型,以确保C语言的类型在各系统内功能相同。

示例代码:

#include <stdio.h>
#include <inttypes.h>

int main() {
    // 8位整型
    int8_t a=127;
    printf("%d\n", sizeof(a));

    // 16位整型
    int16_t b = 127;
    printf("%d\n", sizeof(b));

    // unsigned 无符号,没有符号位,数值为正数
    uint8_t c = 255;
    uint16_t d = 200;

    return 0;
}

常量

与变量不同,常量的值在程序运行时不会改变。

整型常量

100,200,-100,0

实型常量

3.14 , 0.125,-3.123

字符型常量

'a', 'b', '1'

字符串常量

"a", "ab","12356"

自定义的常量

常量的定义方式有两种:

// 预处理常量
#define PI 3.14

// const常量
const double pi2 = 3.14;

示例代码:

#include <stdio.h>
// 预处理常量
#define PI 3.14

int main() {
    // const常量
    const double pi2 = 3.14;

    // 常量不能修改,以下代码是错误的
    PI = 3.33;
    pi2 = 3.33;

    return 0;
}

系统定义的常量

C语言提供了一些常量库,比如有:float.h、limits.h等,这些常量同样受操作系统平台的影响会在不同的平台下不一样。

float.h:

示例代码:

#include <stdio.h>
#include <float.h>
#include <limits.h>

int main() {
    // 打印float类型能够表示的最大值和最小值
    printf("%lf\n", FLT_MIN);
    printf("%lf\n", FLT_MAX);
    // 打印char类型位数以及能够表示的最大值和最小值
    printf("%d\n", CHAR_BIT);
    printf("%d\n", CHAR_MIN);
    printf("%d\n", CHAR_MAX);
    // 打印short类型能够表示的最大值和最小值
    printf("%d\n", SHRT_MIN);
    printf("%d\n", SHRT_MAX);
    // 打印int类型能够表示的最大值和最小值
    printf("%d\n", INT_MIN);
    printf("%d\n", INT_MAX);
    // 打印long类型能够表示的最大值和最小值
    printf("%ld\n", LONG_MIN);
    printf("%ld\n", LONG_MAX);

    return 0;
}

  • 13
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值