c语言成长日记(1)

发布时间:2024年01月10日

注:本文中涉及的程序忽略了引用头文件代码,如需运行请加代码#include <stdio.h>

一、数据类型、数据类型占用空间、字节、位等概念

1、数据类型

?整型:int、short、long、long long

?浮点型:float、double

字符型:char

2、数据类型占用空间

int main()
{
    printf("Size of char: %zu bytes\n", sizeof(char));
    printf("Size of int: %zu bytes\n", sizeof(int));
    printf("Size of short: %zu bytes\n", sizeof(short));
    printf("Size of long: %zu bytes\n", sizeof(long));
     printf("Size of long long: %zu bytes\n", sizeof(long long));
    printf("Size of float: %zu bytes\n", sizeof(float));
    printf("Size of double: %zu bytes\n", sizeof(double));
    printf("Size of pointer: %zu bytes\n", sizeof(void*));//指针
    //打印各种数据结构类型占用字节(byte) 1 byte = 8 bit  1 kb = 1024 bytes
    // c语言中没有字符串类型
    return 0;
}

输出结果

Size of char: 1 bytes
Size of int: 4 bytes ? ? ?
Size of short: 2 bytes ? ?
Size of long: 4 bytes ? ??
Size of long long: 8 bytes
Size of float: 4 bytes
Size of double: 8 bytes
Size of pointer: 8 bytes

3、字节、位

一个字节(Byte)通常由8个二进制位(Bit)组成,每个位只能是0或1。

字节是计算机存储和处理数据的基本单位,它可以存储一个ASCII字符、一个整数、一个浮点数等数据。

位(Bit)是计算机存储和处理数据的最小单位,它只能是0或1。

1 Byte = 8 Bits

1 KB = 1024 Bytes

1 MB = 1024 KB

1 GB = 1024 MB

二、局部变量、全局变量

// int a = 10;//全局变量

// int main()
// {
//     int b = 20;//局部变量
//     int a = 100;
//     printf("%d\n",a); //局部变量与全局变量冲突时,优先使用局部变量(就近原则)
//     return 0;
// }
// 不建议将全局和局部变量写成一样

输出结果为a = 100

例:实现输入两个整形并求和

int main()
{
    int a = 0;//变量初始化,否则为生成的随机数
    int b = 0;
    scanf("%d %d",&a,&b);//输入两个数,放入a与b的地址中
    int sum_num = a + b;
    printf("result is %d",sum_num);
    return 0;
}

tip:使用变量时建议对变量进行初始化操作,即赋值为0

三、常量

1、常量的分类

?1、字面常量 ?30、3.14、'a'字符、 'abc'字符串

?2、const修饰的常变量

?int a = 10;(a可以改变)

?const int a = 10;(a不可改变,本质是变量,但不能被修改,有常量的属性)

?3、define定义的标识符常量

?4、枚举常量

2、定义标识符常量#define

#define MAX 100//define定义的标识符常量
#define ST "ABCDEFG"
int main()
{
    printf("%d\n",MAX);
    int a = MAX;
    printf("%d\n",a);
    printf("%s\n",ST);//%d 整形 %s 字符串
    return 0;
}

输出结果:

100
100 ? ?
ABCDEFG

3、枚举常量

enum Color
{
   RED,//默认枚举常量第一个赋值为0
   GREN,//1
   BLUE//2
   //也可以赋值RED = 1,则顺延, GREN = 2,BLUE = 3
};
int main()
{
    printf("RED=%d\n",RED);
    printf("GREN=%d\n",GREN);
    printf("BLUE=%d\n",BLUE);
    return 0;
}

输出结果

RED=0
GREN=1
BLUE=2

四、转义字符

1、常用转义字符

转义字符必须以反斜杠 \ 开始。如果要表示反斜杠字符本身,需要使用 \\

转义字符占用一个字节

\??防止出现3字母词
\’用于表示字符’
\“?用于表示字符“
\\??用于表示斜杠,一个斜杠时会被解释为转义序列
\a警告字符,电脑会发出蜂鸣
\b退格符,相当于删除一个字符
\n?换行符
\r回车符
\t水平制表符,与tab效果相当
\v垂直制表符,与换行类似
\ddd表示1~3个八进制数,如\130
\xdd表示1~2个十六进制数,如\x1a

2、转义字符 \0 的应用

int main()
{
    char arr1[] = "abcdef";//字符串内存 a b c d e f \0打印结束标志
    char arr2[] = {'a','b','c','d','e','f'}; //字符内存 a b c d f 没有\0结束标志

    int len1 = strlen(arr1);//字符串长度函数
    int len2 = strlen(arr2);
    printf("%d\n",len1);
    printf("%d\n",len2);//没有结束标志导致strlen函数直到找到\0位结束,因此结果不确定
    return 0;
}

输出结果:

6
12(随机,不一定为12)

3、打印 ' 字符

int main()
{
    printf("%c",'\'');//打印'这个字符,加\转义
    return 0;
}

五、注释

1、C语言注释方式

/* ?*/? ? 嵌套注释会出现问题

2、C++语言注释方式

//? 可多行可单行

文章来源:https://blog.csdn.net/andrewycy/article/details/135450125
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。