C语言学习日志

这篇文章介绍了C语言的学习起点,包括如何在码云和GitHub上创建项目,使用Xmind进行思维导图。内容涵盖C语言的基本结构,如main函数,数据类型如char、int等,以及变量、常量、作用域和生命周期。此外,还涉及到了选择语句(if...else)、循环语句、函数和数组的概念,以及位操作符和指针的基础知识。
摘要由CSDN通过智能技术生成

2023年3月12日开始学习!!!

一:初识C语言

国内:码云。  国外:github           Xmind-思维导图软件   

 

 

 新建原文件:

xxxxx.c-源文件

xxxxx.h-头文件

写代码

1.写出主函数(main函数)

main叫函数名     {}叫函数体    int 叫函数返回类型 (int是整形(就是整数)的意思)

int main()

{

return 0;

}

// 编辑+运行+运行代码

//快捷键:ctrl+F5

1.一个工程中可以有多个.c文件

2.但是多个.c文件中只能有一个main函数

二:初识数据类型

char     //字符数据类型

short         //短整型

int             //整型

long         //长整型

long long   //更长的整型

float           //单精度浮点数

double       //双精度浮点数

 计算机中的单位:

bit-比特位

byte-字节=8bit

kb-1024byte

mb-1024kb

gb-1024mb

tb-1024gb

pb-1024tb

3.14

2.变量,常量

//%d----整型
//%f-----float
//%lf------double

变量的分类:

局部变量-----{}内部的变量

全局变量-----{}外部的变量

 当局部变量和全局变量冲突的情况下,局部优先

scanf报错误

变量的作用域和生命周期

 

 生命周期

 局部变量生命周期:进入作用域生命周期开始,出作用域生命周期结束

全局变量生命周期:整个程序的生命周期

3.15

常量

枚举常量enum Sex

字符串+转义字符+注释

字符串就是一串字符,用双引号括起来的一串字符

转义字符:转变了他原来的意思

 

八进制转化成十进制

 注释

解释复杂代码

3.16

选择语句

if    else

循环语句

#define _CRT_SECURE_NO_WARNINGS 1
 
#include <stdio.h>


//int main()
//{
//    int input = 0;//输入的值
//    printf("加入比特:>\n");
//    printf("那要好好学习吗(0/1)?>:");
//    scanf("%d", &input);
//
//    if (input == 1)
//    printf("好offer\n");
//    else
//        printf("卖红薯\n");
//
//
//    return 0;
//
//}

int main()
{
    int line = 0;
    //循环
    while (line < 30000)
    {
        printf("写代码:%d\n", line);
        line++;
    }
    if (line == 30000)
    {
        printf("好offer\n");
    }
    return 0;
}

3.27

函数和数组

1.函数

 数组:一组相同类型元素的集合

arr[10]={1,2,3,4,5,6,7,8,9,10}-----常量数组

char ch[]----------字符数组

4.9

操作符

数字操作符     %--取模(取余)

移位操作符<<     >>     移动的是二进制位

 位操作符:

&:按位与

|:按位或

^:按位异或

赋值操作符

 

 ~对一个数的二进制位取反

 

 

整数在内存中储存的是补码

一个整数的二进制表示有三种

原码

反码

补码                                             针对负数

-1                                                  正整数-原码反码补码相同 

10000000000000000000000000000001(原码)符号位不变其他位按位取反

1111111111111111111111111111111111110(反码)取反+1

1111111111111111111111111111111111111(补码)

//    //int a = 10;
//    //int b = ++a;//前置++   ---先++,后使用
//    //printf("%d\n", b);//11
//    //printf("%d\n", a);//11
//    //int a = 10;
//    //int b = a++;//后置++   ---先使用,再++ 
//    //printf("%d\n", a);//11
//    //printf("%d\n", b);//10

 

 

条件操作符(三目操作符)

?  :

exp1成立,exp2计算,整个表达式的结果是:exp2的结果

 exp1不成立,exp3计算,整个表达式的结果是:exp3的结果

 逗号表达式:逗号隔开的一串表达式

 

4.10

关键字

  

 auto  是自动的-每个局部变量都是auto修饰的

extern  是用来申明外部符号的

register 寄存器关键字

4.12

 signed 有符号的  10   -20

unsigned   无符号的

static  静态的

union   联合体(共用体)

void  无-空

typedef  类型重定义

  static修饰局部变量,改变了局部变量的生命周期(本质上是改变了变量的存储类型)

 全局变量在整个工程中都可以使用

 static修饰全局变量,使得全局变量只能在自己所在的源文件(.c)内部可以使用

其他源文件不能使用;

全局变量,在其他源文件内部可以使用,是因为全局变量具有外部连接属性

但是被static修饰之后,就变成了内部链接属性,其他源文件就不能链接到这个静态的全局变量了! 

 static修饰函数,使得函数只能在自己所在的源文件内部使用,不能在其他源文件内部使用

本质上:static时将函数的外部链接属性变成了内部链接属性!(和static修饰全局变量一样)

4.13

define 定义常量和宏

初识指针:

内存:内存是电脑上特别重要的存储器,计算机中所有程序的运行都是在内存中进行的。

所以为了 有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节

为了能够有效的访问内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址

1.内存是怎么编号的?

2.一个这样的内存单元是多大空间?

32位 - 32跟地址线 - 物理线 - 通电 - 1/0

64位 

 

 最终:一个内存单元是一个字节,然后分配地址的

 %p专门用来打印地址

&取地址操作符

*解引用操作符

 指针变量的大小

64位下

指针的大小是相同的!

为什么呢?

指针是用来存储地址的!

指针需要多大空间取决于地址的存储需要多大空间

 结论:指针大小在32位平台是4个字节,64位平台是八个字节

初始结构体

 结构体是C语言中特别重要的知识点,结构体使得C语言有能力面熟复杂类型

 .操作符:结构体变量.成员变量

 

 %s用来输出一个字符串

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值