【手撕C语言 第一集】初识C语言

目录

​编辑

一、C语言是什么?

二、第一个C语言程序

三、数据类型

四、变量和常量

五、写简单代码


一、C语言是什么?

1.实现人和计算机交流的一种语言。

了解一下语言:

语言:人和人交流: 汉语、英语、韩语、日语

人和计算机交流: 使用计算机语言,C/C++/Java/Python/go....

2.在操作系统之上的是上层软件,操作系统之下的是底层软件,C语言比较擅长的是底层软件的开发,但是并不代表不能做上层软件的事情。

3.C语言的标准:C89 C90 C99 C11......

4.计算机语言的发展:

(助记符储存的语言是汇编语言)

二、第一个C语言程序

写代码:

  1. 创建.c为后缀的文件----------源文件(注意.cpp是C++源文件的后缀)

(xxxxx.h为头文件)

  1. 在屏幕上打印hello world


#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main() {
    printf("Hello World!");
    return 0;
}
  1. 主函数的标准写法:


int main()
{
    return 0;
}

主函数的古老写法:(现在都不这么写了)


void main()
{

}

主函数也可以写成:


int main(void)
{
    return 0;
}

主函数也有一种写法如下:(但是一般只有用到里面的参数时才会用这个函数)


int main(int argc,char *argv[])
{
    return 0;
}
  1. printf是一个库函数,库函数是C语言的标准数据库中提供的一个现成的函数,直接就能使用

功能:在屏幕上打印信息

输出函数、打印函数,使用前一定要包含头文件stdio.h

stdio.h 标准输入输出头文件

三、数据类型


char   //字符数据类型  1字节
short  //短整型  2字节
int    //整形    4字节
long   //长整型  4字节
long long //更长的整型  8字节
float    //单精度浮点数(描述小数)  4字节
double   //双精度浮点数(描述小数)  8字节

1.就像书放在书架上需要一块空间,不同类型的数据存储起来也需要不同类型的空间

2.C语言的单位:

bit 比特

byte 字节 1byte=8bit

KB 1KB=1024byte

MB 1MB=1024KB

GB 1GB=1024MB

TB 1TB=1024GB

PB 1PB=1024TB

C语言标准:sizeof(long)>=sizeof(int),所以这里的long、int长度都为4不为错

3.类型的使用:


int weight=100;
char ch='h';//注意字符串要用单引号
double price=23.60;

四、变量和常量

1.定义变量的方法:

类型 变量名=值;

2.这里为什么45.5后加f? 因为不加f系统默认为45.5是double类型,而现在想要的类型是float类型

3.好的编程习惯:

创建变量时就给它赋一个值(但是在编译器vc 6.0 或者Dev c++仍然可以编译过去)

4.命名变量:

(1)只能由大小写英文字母、数字、下划线(_)组成

(2)不能以数字开头

(3)长度不能超过63个字符

(4)变量名中区分大小写的

(5)变量名不能使用关键字

5.变量的分类:

局部变量:在大括号内部定义的变量

全局变量:在大括号外部定义的变量

注意:全局变量和局部变量的名字可以相同,但是在使用的时候,局部优先

当把局部的a去掉之后,打印出来的就是全局的a

五、写简单代码

写一个代码完成两个整数的相加


#include<stdio.h>
int main() {
    int num1 = 0;
    int num2 = 0;
    scanf("%d %d", &num1, &num2);
    int sum = 0;
    sum = num1 + num2;
    printf("%d\n", sum);
}

使用scanf时可能会出现下面错误:

解决方法:

只需要把下面这句话放在报错文件第一行即可(1可以写也可以不写还可以写成其他数字)


#define _CRT_SECURE_NO_WARNINGS 1
C语言中,没有内置的ArrayList数据结构,但是我们可以通过使用指针和动态内存分配来实现类似ArrayList的功能。 下面是一个简单的示例代码,展示了如何在C语言中创建一个类似ArrayList的数据结构: ```c #include <stdio.h> #include <stdlib.h> typedef struct { int* data; // 存储数据的数组 int size; // 当前存储的元素个数 int capacity; // 数组的容量 } ArrayList; // 初始化ArrayList void init(ArrayList* list) { list->data = NULL; list->size = 0; list->capacity = 0; } // 向ArrayList中添加元素 void add(ArrayList* list, int element) { if (list->size == list->capacity) { // 如果数组已满,则扩展数组的容量 int newCapacity = (list->capacity == 0) ? 1 : list->capacity * 2; int* newData = (int*)realloc(list->data, newCapacity * sizeof(int)); if (newData == NULL) { printf("内存分配失败\n"); return; } list->data = newData; list->capacity = newCapacity; } list->data[list->size] = element; list->size++; } // 获取ArrayList中指定索引的元素 int get(ArrayList* list, int index) { if (index < 0 || index >= list->size) { printf("索引越界\n"); return -1; } return list->data[index]; } // 释放ArrayList占用的内存 void freeArrayList(ArrayList* list) { free(list->data); list->data = NULL; list->size = 0; list->capacity = 0; } int main() { ArrayList list; init(&list); add(&list, 10); add(&list, 20); add(&list, 30); printf("元素个数:%d\n", list.size); printf("第一个元素:%d\n", get(&list, 0)); printf("第二个元素:%d\n", get(&list, 1)); printf("第三个元素:%d\n", get(&list, 2)); freeArrayList(&list); return 0; } ``` 这段代码演示了如何使用指针和动态内存分配来创建一个类似ArrayList的数据结构。你可以通过调用`add`函数向ArrayList中添加元素,通过调用`get`函数获取指定索引的元素。在使用完ArrayList后,记得调用`freeArrayList`函数释放占用的内存。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值