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日

相关文章

  • C 程序 使用递归来反转字符串

    下面我为您详细讲解“C 程序使用递归来反转字符串”的完整使用攻略。 程序简介 该程序使用递归算法来反转字符串,即将字符串的字符顺序颠倒。使用递归的方法,需要将任务分为一个个较小的子任务,最终通过不断调用函数自身实现问题的解决。 程序实现 1. 程序分析 该程序主要有以下两个函数: void reverse_string(char* str) 函数:通过递归的…

    C 2023年5月9日
    00
  • MongoDB导出查询结果到文件例子

    MongoDB导出查询结果到文件主要有两种方式:使用mongoexport命令和使用db.collection.find().forEach()方法,下面分别进行讲解: 使用mongoexport命令导出查询结果到文件 语法: mongoexport -d <database_name> -c <collection_name> -q…

    C 2023年5月23日
    00
  • 雅虎公司C#笔试题(后半部份才是)

    “雅虎公司C#笔试题(后半部份才是)”是一道常见于程序员面试和笔试的题目。下面就从如何解题的角度,为大家讲解完整攻略。 题目描述 题目大意是给出两个字符串,求它们在其中一个字符串中的最长公共子串。 具体需要完成的是,实现一个方法 string Find(string str1, string str2, string source),其中: 参数 str1 …

    C 2023年5月23日
    00
  • awk命令、awk编程语言详细介绍和实例

    AWK命令、AWK编程语言详细介绍和实例 什么是AWK? AWK 是一种处理文本文件的工具,它的名字是由其创始人 Alfred Aho、Peter Weinberger 和 Brian Kernighan 的首字母组成的。 AWK 可以将数据分成记录和字段,是一种灵活、功能强大的文本分析工具。它最初是为 LINUX 操作系统设计的,现在已经移植到许多其他操作…

    C 2023年5月22日
    00
  • json转String与String转json及判断对象类型示例代码

    这里是关于”json转String与String转json及判断对象类型示例代码”的详细攻略。 json转String JSON是一种数据格式,在JavaScript中,JSON.stringify()方法可以将一个对象转换为JSON字符串。 const obj = {"name": "Tom", "age&…

    C 2023年5月23日
    00
  • C++实现简单的计算器小功能

    关于C++实现简单的计算器小功能,其攻略如下: 1. 定义基本功能 首先,我们需要定义计算器的基本功能,例如加减乘除。在C++中,我们可以使用四则运算符 +、-、*、/ 来实现。 下面是一个简单的代码示例: #include <iostream> using namespace std; int main() { float a, b; char…

    C 2023年5月23日
    00
  • SIGPIPE(Signal 13, Code 0) 异常排查及处理

    SIGPIPE(Signal 13, Code 0) 异常排查及处理 什么是 SIGPIPE SIGPIPE 是指在一个进程(或线程)向另一个进程(或线程)发送数据的时候,如果对方已经关闭了对应的 pipe、socket 或 FIFO 等管道,那么发送数据的进程就会收到 SIGPIPE 信号,这个信号的默认行为是进程终止。通常情况下,这个信号是由于进程发送数…

    C 2023年5月23日
    00
  • C 程序 查找商和余数

    首先我们要明确一下,这里所提到的“C程序查找商和余数”指的是在C语言下进行整数的除法运算,得到商和余数的操作。 接下来,我将为大家提供完整的使用攻略,包括实现代码和使用示例: 1. 实现代码 下面是实现整数除法运算,得到商和余数的一段C语言代码: #include <stdio.h> int main() { int dividend, divi…

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