C语言基础知识分享续篇

C语言基础知识分享续篇

一、数据类型

1.基本数据类型

C语言中基本数据类型有以下5种:

  1. 整型(int):用来表示整数。
  2. 浮点型(float,double):用来表示小数。
  3. 字符型(char):用来表示单个字符。
  4. 空类型(void):无返回值的函数的返回类型。
  5. 布尔类型(bool):用来表示真或假。

2.数组和指针

数组是一组有序的数据,可以通过下标访问其中的元素。指针是一个变量,用来存储另一个变量的地址。可以通过指针来访问另一个变量的值。

例如,下面是一个使用数组和指针的示例:

#include <stdio.h>

int main() {
   int numbers[5] = {1, 2, 3, 4, 5};
   int *p;

   p = &numbers[0];  // 取得第一个元素的地址

   for (int i = 0; i < 5; i++) {
      printf("*(p + %d) : %d\n",  i, *(p + i) );
   }

   return 0;
}

二、控制结构

1.if-else语句

if-else语句用来根据条件执行不同的代码块。如果条件为真,则执行if块中的代码;否则执行else块中的代码。

例如,下面是一个使用if-else语句的示例:

#include <stdio.h>

int main() {
   int a = 10;

   if (a < 20) {
      printf("a 小于 20\n");
   } else {
      printf("a 大于等于 20\n");
   }

   return 0;
}

2.switch语句

switch语句用来根据不同的情况执行不同的代码块。每个情况对应一个常量或表达式的值。如果所有情况都不匹配,则执行default块中的代码。

例如,下面是一个使用switch语句的示例:

#include <stdio.h>

int main() {
   char grade = 'B';

   switch(grade) {
      case 'A' :
         printf("优秀\n" );
         break;
      case 'B' :
      case 'C' :
         printf("良好\n" );
         break;
      case 'D' :
         printf("及格\n" );
         break;
      case 'F' :
         printf("不及格\n" );
         break;
      default :
         printf("无效的成绩\n" );
   }

   return 0;
}

三、函数

函数是一段封装好的代码块,用来完成特定的任务。在C语言中,一个函数可以接收零个或多个参数,并可以返回一个值或者不返回值。

例如,下面是一个使用函数的示例:

#include <stdio.h>

// 声明函数
int max(int a, int b);

int main () {
   int a = 10;
   int b = 20;
   int ret;

   // 调用函数
   ret = max(a, b);

   printf("最大值是 : %d\n", ret );

   return 0;
}

// 定义函数
int max(int a, int b) {
   int result;

   if (a > b) {
      result = a;
   } else {
      result = b;
   }

   return result; 
}

四、结构体和联合体

1.结构体

结构体是一种用户自己定义的数据类型,可以包含不同类型的数据。通过结构体可以简单地组织多个变量。

例如,下面是一个使用结构体的示例:

#include <stdio.h>
#include <string.h>

struct student {
   char name[50];
   int age;
};

int main() {
   struct student st;

   strcpy(st.name, "小明");
   st.age = 18;

   printf("姓名:%s\n", st.name);
   printf("年龄:%d\n", st.age);

   return 0;
}

2.联合体

联合体是一种特殊的结构体,所有的成员占用相同的内存空间。可以使用其中任意一个成员,但是每次只能使用其中的一个成员。

例如,下面是一个使用联合体的示例:

#include <stdio.h>

union Data {
   int i;
   float f;
   char str[20];
};

int main() {
   union Data data;

   printf("Memory Size : %ld\n", sizeof(data));

   data.i = 10;
   printf("i : %d\n", data.i);

   data.f = 220.5;
   printf("f : %f\n", data.f);

   strcpy(data.str, "C Programming");
   printf("str : %s\n", data.str);

   return 0;
}

以上就是C语言基础知识分享续篇的完整攻略,包括数据类型、控制结构、函数、结构体和联合体。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言基础知识分享续篇 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • 酷派大神F1怎么开启C键?

    酷派大神F1开启C键攻略 如果您是酷派大神F1手机的用户,可能会遇到需要使用C键的情况。但是,许多人并不知道该如何在酷派大神F1手机上开启C键。本篇文章将讲解如何开启C键,并提供示例以帮助您更好地理解和操作。 第一步:打开设置 首先,您需要打开酷派大神F1手机的设置菜单。您可以在移动设备屏幕上找到应用菜单,从中打开设置选项。 第二步:进入系统设置 在设置菜单…

    C 2023年5月23日
    00
  • Visual Studio Code运行程序时输出中文成乱码问题及解决方法

    当在Visual Studio Code中运行程序时输出中文出现乱码问题,通常是由于命令行终端的默认字符集与程序输出字符集不一致导致的。下面就详细讲解解决此问题的步骤。 步骤一:查看当前终端默认字符集 运行以下命令查看当前终端默认字符集 chcp 下面是命令输出的结果: 活动代码页: 936 以上结果表示当前终端的默认字符集是“GB2312”。 步骤二:修改…

    C 2023年5月22日
    00
  • C/C++新建注册表项的代码示例

    下面我来给你详细讲解如何在C/C++中创建和修改Windows系统的注册表项。 首先,可以使用WinAPI提供的Registry相关函数来实现对注册表项进行增删改查操作。需要注意的是,这些函数在使用时需要管理员权限。 新建注册表项 要新建一个注册表项,可以使用RegCreateKeyEx函数。该函数有以下几个参数: HKEY hKey:表示注册表项的父节点。…

    C 2023年5月24日
    00
  • JavaScript对象拷贝与Object.assign用法实例分析

    JavaScript对象拷贝与Object.assign用法实例分析 在JavaScript编程中,对象拷贝是一项非常重要的任务,因为我们经常需要在代码中使用对象,但由于JavaScript对象的引用特性,往往原始对象会被误修改或者无意间影响其他部分代码,这时候需要做对象拷贝,保持数据的安全完整性。JavaScript的标准库提供了多种深复制或浅复制对象的拷…

    C 2023年5月22日
    00
  • C++使用jsoncpp解析json的方法示例

    下面是“C++使用jsoncpp解析json的方法示例”的完整攻略。 1.前言 在开发过程中,经常需要使用json来进行数据交互。本文主要介绍如何在C++中使用jsoncpp库来解析json数据。 2.环境 操作系统:Windows/Linux 编译器:gcc/g++/VS jsoncpp库 3.安装jsoncpp库 jsoncpp库是一个用来解析json的…

    C 2023年5月23日
    00
  • java调用外部程序的方法及代码演示

    Java调用外部程序是一种常见场景,我们可以使用Java语言来方便地与外部程序进行交互。在本篇文章中,我将为大家详细讲解Java调用外部程序的方法及代码演示。 一、使用Runtime类调用外部程序 1.1 Runtime.getRuntime().exec()方法 Java提供了Runtime类来处理与系统进程的交互,我们可以使用该类的exec()方法来启动…

    C 2023年5月23日
    00
  • SpringBoot配置GlobalExceptionHandler全局异常处理器案例

    下面是 SpringBoot 配置 GlobalExceptionHandler 全局异常处理器的完整攻略。 什么是 GlobalExceptionHandler? GlobalExceptionHandler 是 SpringBoot 框架提供的一种全局异常处理机制,它可以帮助我们捕获项目中出现的异常并返回友好的提示信息,从而提高用户体验。 如何配置 Gl…

    C 2023年5月23日
    00
  • Objects are not valid as a React child报错解决

    当你在使用 React 开发过程中,如果你尝试将一个对象作为 React 的子组件渲染时,可能会遇到“Objects are not valid as a React child”这个报错。这个错误的具体原因是,React 组件需要接收一个合法的数据类型作为props传入,而对象并不是一个合法的数据类型。 那么如何解决“Objects are not val…

    C 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部