查看: 97|回复: 0

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

[复制链接]

2

主题

8

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2023-4-26 18:44:21 | 显示全部楼层 |阅读模式
嗨喽,大家好,我是程序猿老王,程序猿老王就是我。
今天给大家讲一讲C语言简介。
C语言是一种通用的高级程序设计语言,由美国贝尔实验室的Dennis M. Ritchie于1972年开发。C语言的设计目标是提供高效的系统级编程语言,同时保持简单、可读性强和可移植性等特点。
C语言的语法和结构相对简单,易于学习和使用,因此广泛应用于操作系统、编译器、数据库、图形用户界面、网络协议、嵌入式系统等领域。C语言是现代编程语言的基础,也是学习其他编程语言的必备知识。
下面我们来详细讲解一下C语言的基础知识。
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);
    }

    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语言的编程技巧和方法。
<hr/>       关于更多嵌入式C语言、FreeRTOS、RT-Thread、Linux应用编程、linux驱动等相关知识,关注公众号【嵌入式Linux知识共享】,后续精彩内容及时收看了解。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表