C语言入门阶段01:C语言简介

嗨喽,大家好,我是程序猿老王,程序猿老王就是我。

今天给大家讲一讲C语言简介。

C语言是一种通用的高级程序设计语言,由美国贝尔实验室的Dennis M. Ritchie于1972年开发。C语言的设计目标是提供高效的系统级编程语言,同时保持简单、可读性强和可移植性等特点。

C语言的语法和结构相对简单,易于学习和使用,因此广泛应用于操作系统、编译器、数据库、图形用户界面、网络协议、嵌入式系统等领域。C语言是现代编程语言的基础,也是学习其他编程语言的必备知识。

下面我们来详细讲解一下C语言的基础知识。

目录

1.程序结构

2.数据类型

3.变量和常量

4.运算符和表达式

5.控制结构

6.函数

7.指针

8.数组

9.结构体和共用体


1.程序结构

C语言程序由函数和语句组成。每个程序必须包含一个main()函数,作为程序的入口点。函数是一组执行特定任务的语句,可以分为库函数和自定义函数两种。语句是指完成特定任务的指令序列,可以分为控制语句、表达式语句和声明语句三种。

#include <stdio.h>
​
int main() 
{
    printf("Hello, world!");

    return 0;
}
 

2.数据类型

C语言中的数据类型包括基本数据类型和派生数据类型。基本数据类型包括整型、浮点型和字符型,派生数据类型包括数组、指针、结构体和共用体。每种数据类型在内存中占用的字节数是不同的。

#include <stdio.h>
​
int main() 
{
    int i = 10;
    float f = 3.14;
    double d = 3.1415926;
    char c = 'a';
    printf("i=%d, f=%f, d=%lf, c=%c", i, f, d, c);

    return 0;
}
 

3.变量和常量

C语言中的变量用于存储数据,变量必须先定义后使用。变量的定义包括数据类型和变量名两部分,变量名可以是任何合法的标识符。常量是指在程序运行过程中不能改变的值,可以是整数、实数、字符或字符串。在C语言中,常量可以使用#define宏定义或const关键字定义。

#include <stdio.h>
​
int main()
{
    int a = 10;
    const int b = 20;
    printf("a=%d, b=%d", a, b);
    a = 30;
    // b = 40; // 报错,常量不能被修改
    printf("a=%d, b=%d", a, b);

    return 0;
}
 

4.运算符和表达式

C语言中的运算符包括算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符和其他运算符。表达式是由运算符和操作数组成的式子,C语言中的表达式可以嵌套使用。

#include <stdio.h>
​
int main() 
{
    int a = 5 + 3; // 加法运算符
    int b = 7 - 2; // 减法运算符
    int c = 3 * 4; // 乘法运算符
    float d = 6.0 / 2.0; // 除法运算符
    
    int e = 7 % 3; // 取模运算符
    int f = 5 == 5; // 等于运算符
    int g = 6 > 3; // 大于运算符
    int h = 4 <= 2; // 小于等于运算符
  
    int i = (5 && 3); // 逻辑与运算符
    int j = (7 || 0); // 逻辑或运算符
    int k = !1; // 逻辑非运算符
  
    int l = 0x0F & 0x06; // 位与运算符
    int m = 0x0F | 0x06; // 位或运算符
    int n = ~0x0F; // 位非运算符
    int o = ^ 0x0F;// 位异或运算符
​
    return 0;
}
 

5.控制结构

C语言中的控制结构包括条件语句、循环语句和跳转语句。条件语句包括if语句和switch语句,循环语句包括for循环、while循环和do-while循环,跳转语句包括break语句、continue语句和goto语句。

#include <stdio.h>
​
int main() 
{
      // 条件语句
      int x = 5;
      if (x > 3) {
          printf("x大于3");
      } else {
          printf("x小于等于3");
      }
​
      // 循环语句
      int i;
      for (i = 0; i < 10; i++) {
          printf("%d ", i);
      }
  
      int j = 0;
      while (j < 5) {
          printf("%d ", j);
          j++;
      }
​
      i = 1;
      do {
          printf("%d ", i);
          i++;
      } while (i <= 5);
  
      // 跳转语句
      int k;
      for (k = 0; k < 10; k++) {
          if (k == 5) {
              break;
          }
          printf("%d ", k);
      }
  
      return 0;
}
 

6.函数

C语言中的函数是由一组语句组成的代码块,可以接受输入参数并返回一个值。函数可以分为库函数和自定义函数两种,库函数是由C语言库提供的函数,而自定义函数是由程序员自己编写的函数。函数包括函数头和函数体两部分,函数头包括函数的返回类型、函数名和参数列表,函数体是由一组语句组成的代码块。

#include <stdio.h>
​
int add(int a, int b) {
    return a + b;
}
​
int main()
{
    int result = add(3, 4);
    printf("%d", result);

    return 0;
}
 

7.指针

指针是C语言中最重要的特性之一,它是一种数据类型,可以用来存储另一个变量的地址。指针变量的定义包括数据类型和指针名两部分,指针变量可以通过取地址符&来获取其他变量的地址,也可以通过解引用符*来访问指针所指向的变量的值。

#include <stdio.h>
​
int main() 
{
    int x = 5;
    int *p = &x;
    printf("%d", *p); // 输出5

    return 0;
}
 

8.数组

数组是一种派生数据类型,它是一组相同类型的数据元素的集合,每个元素都有一个唯一的下标,可以通过下标访问数组中的元素。数组的定义包括数据类型、数组名和数组长度三部分,可以通过初始化来赋初值。

#include <stdio.h>
​
int main()
{
    int myArray[5] = {1, 2, 3, 4, 5};
    int i;
    for (i = 0; i < 5; i++) {
        printf("%d ", myArray[i]);
    }

    return 0;
}
 

9.结构体和共用体

结构体是一种派生数据类型,它是由不同类型的数据元素组成的集合,每个元素都有一个唯一的名称和数据类型。结构体的定义包括结构体名和成员列表两部分,可以通过.和->来访问结构体中的成员。共用体是一种特殊的结构体,它的所有成员共用同一个存储空间,可以按不同类型解释存储的数据。

#include <stdio.h>
​
struct Person {
    char name[50];
    int age;
};
​
union MyUnion {
    int i;
    float f;
};
​
int main()
{
    struct Person myPerson = {"Tom", 20};
    printf("%s is %d years old\n", myPerson.name, myPerson.age);
​
    union MyUnion myUnion;
    myUnion.i = 10;
    printf("i=%d, f=%f\n", myUnion.i, myUnion.f);
    myUnion.f = 3.14;
    printf("i=%d, f=%f\n", myUnion.i, myUnion.f);
​
    return 0;
}
 

以上每个点都只给出了一个简单的例子,当然这只是示例,实际上每个点的内容都非常丰富,需要通过更多的练习和实践才能掌握好。

本篇是C语言的基础知识的简要介绍,希望对您有所帮助。C语言的语法和结构相对简单,易于学习和使用,但是需要不断地练习和实践才能熟练掌握。在学习C语言的过程中,可以多做一些编程练习,多阅读相关的书籍和文献,逐渐掌握C语言的编程技巧和方法。

-END-


       关于更多嵌入式C语言、FreeRTOS、RT-Thread、Linux应用编程、linux驱动等相关知识,关注公众号【嵌入式Linux知识共享】,后续精彩内容及时收看了解。

abc6c35aa24a4e45b6262dfb68efd328.jpeg

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值