c语言成长日记(1)

注:本文中涉及的程序忽略了引用头文件代码,如需运行请加代码#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  使用的电脑为64位

注:指针变量存放的为地址,其占用空间为4或者8字节

32位电脑占用4个字节,64位电脑占用8个字节

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++语言注释方式

//  可多行可单行

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值