C语言概述(一)-- 数据类型、变量和常量、字符串、转义字符

  1. C语言简介
  2. 简单的C语言程序
  3. 数据类型
  4. 变量和常量
  5. 字符串
  6. 转义字符

1、C语言简介

    C语言是一门通用的计算机编程语言,广泛应用于底层开发;
    国际标准化组织(ISO)和国际电工委员会(IEC)发布的CII标准是C语言的最新标准,更好的支持了汉字函数和汉字标识符,一定程度上实现了汉字编程;
    C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象的编程语言有所不同;
    其主要的编译器有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
    
2、简单的C语言程序

  

​
#include<stdio.h> //头文件,stdio-标准输入输出,h-head头文件
    
int main() //主函数,一个工程中main函数有且只能有一个主函数
{
    printf("hello,world.\n"); //打印输出语句,输出hello,world.
    return 0; //人为定义正确时返回0,不正确时返回1
}

​

    
3、数据类型
    
    char      //字符数据类型
    short       //短整型
    int       //整形
    long       //长整型
    long long //更长的整形
    float       //单精度浮点数
    double       //双精度浮点数
       
    每个数据类型所占的内存空间大小不一样;
    定义了某一个数据类型的变量,就给该变量申请了相应大小的内存空间。
       

    int main()
    {
        printf("%d\n", sizeof(char));      //1字节
        printf("%d\n", sizeof(short));     //2字节
        printf("%d\n", sizeof(int));       //4字节
        printf("%d\n", sizeof(long));      //4字节
        printf("%d\n", sizeof(long long)); //8字节
        printf("%d\n", sizeof(float));     //4字节
        printf("%d\n", sizeof(double));    //8字节
        return 0;
    }

     

    sizeof()  //用来获取大小

    bit位   byte字节   KB   MB   GB  TB   PB...
    1byte=8bit
    1KB=1024byte
    1MB=1024KB
    1GB=1024MB
    1TB=1024GB
    
4、变量和常量
4.1 定义变量的方法

int main()
{
    int age = 18; //初始化
    float weight = 45.5f; //初始化
    char ch = 'c'; //初始化
    
    int b;
    b = 1; //给变量b赋值
}

​

   
4.2 变量的分类

    按照变量的作用域,变量可分为局部变量和全局变量;
    局部变量的作用域是变量所在的局部范围,进入作用域生命周期开始,出作用域生命周期结束;
    全局变量的作用域是整个工程,生命周期是整个程序的生命周期;
    局部变量可以和全局变量同名,同名时局部变量优先使用。

#include<stdio.h> //头文件,stdio-标准输入输出,h-head头文件
    
int a = 10; //全局变量
int main()
{
    {
        int a = 100; //局部变量,作用域只是这个花括号内
        printf("a = %d\n", a); //a = 100
    }

    printf("a = %d\n", a); //a =10
}

4.3 变量的使用

    int main()
    {
        int num1 = 0;
        int num2 = 0;
        int sum = 0;
        printf("请输入两个加数,用空格隔开:\n");
        scanf_s("%d %d", &num1, &num2); //输入语句,双引号内是什么格式,输入时就是什么格式
        //Microsoft Visual Studio-2019版认为scanf不安全
        sum = num1 + num2;
        printf("%d + %d = %d\n",num1, num2, sum); 
        return 0;
    }


    
4.4 常量    字面常量、const修饰的常变量、#define定义的标识符常量、枚举常量

    #include<stdio.h> //头文件,stdio-标准输入输出,h-head头文件

    enum Sex { MALE, FEMALE,SECRET }; //枚举常量
    
    int main()
    {
        3.14; //字面常量
        const float pai = 3.14f; //const修饰的常量
        #define MAX 100 //define的标识符常量
    
        //pai = 10; 会报错,常量不能再赋值
        printf("pai = %.2f\n", pai);
        printf("MAX = %d\n", MAX);
        return 0;
    };

5、字符串
    严格来说,C语言中没有字符串这种数据类型,其应该称之为字符数组;
    字符串的结束标志是 \0 的转义字符;
    计算字符串长度时 \0 不算做字符内容,而计算字符串大小时 \0 被计算。
    

#include <stdio.h> //头文件,stdio-标准输入输出,h-head头文件
#include <string.h>
    
int main()
{
    //字符串的定义
    char *str = "hello";
    char str1[] = "abcd";
    char str2[] = {'a', 'b', 'c', '\0'};
    char str3[] = "ab\0cd";
    char str4[] = { 'a', '\0', 'b', 'c', '\0'};
  
    printf("str1为:%s ,str1的长度:%d,str1的大小:%d\n", str1, strlen(str1), sizeof(str1));
    printf("str2为:%s ,str2的长度:%d,str2的大小:%d\n", str2, strlen(str2), sizeof(str2));
    printf("str3为:%s ,str3的长度:%d,str3的大小:%d\n", str3, strlen(str3), sizeof(str3));
    printf("str4为:%s ,str4的长度:%d,str4的大小:%d\n", str4, strlen(str4), sizeof(str4));
    return 0;
    
    /*
    * 运行结果:
    str1为:abcd ,str1的长度:4,str1的大小:5
    str2为:abc ,str2的长度:3,str2的大小:4
    str3为:ab ,str3的长度:2,str3的大小:6
    str4为:a ,str4的长度:1,str4的大小:5
    */
}


    
6、转义字符
    \?        在书写多个问号时使用,防止他们被解析成三个字母
    \'        用于表示字符常量 '    
    \"         用于表示字符串内部的双引号 
    \\        用于表示一个反斜杠,防止他被解释为一个转义序列符
    \a        警告字符,蜂鸣
    \b        退格符
    \f        进纸符
    \n        换行
    \r        回车
    \t        水平制表符
    \v        垂直制表符
    \ddd    ddd表示1到3个八进制数字,如 \130
    \xdd    dd表示两个十六进制数字,如 \x30   

#include <stdio.h> //头文件,stdio-标准输入输出,h-head头文件
#include <string.h>

int main()
{
    printf("%d\n", strlen("abcdef")); //6
    printf("%d\n", strlen("c:\test\328\test.c")); //14
    return 0;
}


    
    
    
    
    
    
    
    

  • 14
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值