您的位置:首页 > 娱乐 > 明星 > 每日军事新闻报道_泰州网站设计_简单网站建设优化推广_谷歌关键词搜索排名

每日军事新闻报道_泰州网站设计_简单网站建设优化推广_谷歌关键词搜索排名

2024/12/27 3:31:53 来源:https://blog.csdn.net/search7/article/details/142877783  浏览:    关键词:每日军事新闻报道_泰州网站设计_简单网站建设优化推广_谷歌关键词搜索排名
每日军事新闻报道_泰州网站设计_简单网站建设优化推广_谷歌关键词搜索排名

人生漫长。开始学就行,慢慢就越学越好

#include 

 #include是一个预处理命令,用于包含或插入指定头文件的内容到当前位置。这个命令                  告诉编译器在实际编译之前需要做的工作。使用#include可以将头文件的内容插入到源文                 件中,使得函数声明或宏定义可以在多个文件之间共享。

  • #include <stdio.h>
  • #include "myHeader.h"

在上述代码中,<stdio.h>是标准输入输出头文件,而"myHeader.h"是用户自定义的头文件。使用尖括号<>和双引号""有不同的搜索路径。尖括号告诉编译器在系统路径下查找头文件,而双引号则首先在当前目录下查找,如果未找到,再在系统路径下查找1。

#define

在C语言中,#define指令是一种预处理命令,用于创建宏定义,这些宏定义可以是常量、表达式、代码片段甚至是基于条件的编译指令。#define指令的主要优点是它不占用内存空间,因为它只是一个临时的符号,预编译后这个符号就不存在了。

基本用法

#define的基本语法如下:

#define 标识符 常量(宏定义的内容) 

                                这里的标识符是宏的名称,常量可以是数字、字符、字符串或表达式。例如:

#define PI 3.14159

#define MAX(a, b) ((a) > (b) ? (a) : (b))

在这些例子中,PI是一个代表圆周率的宏,而MAX是一个带参数的宏,用于计算两个值中的最大值。

宏的替换规则,预处理器会将程序中所有出现宏名称的地方替换为宏定义的内容。这个过程称为宏展开。例如,如果你在代码中使用PI,预处理器会将其替换为3.14159

宏与函数的区别,虽然宏可以像函数一样使用,但它们之间有几个关键区别:

  • 宏在每次使用时都会在程序中插入一份代码,这可能会增加程序的长度。

  • 宏不进行类型检查,因此它们是类型无关的,可以用于任何合法的参数类型。

  • 宏可能会引起运算符优先级的问题,因此建议在宏定义中多使用括号。

struct 

参考链接:struct 结构 - 《阮一峰《C 语言教程》》 - 书栈网 · BookStack

允许自定义复合数据类型,将不同类型的值组合在一起。这样不仅为编程提供方便,也有利于增强代码的可读性。C 语言没有其他语言的对象(object)和类(class)的概念,struct 结构很大程度上提供了对象和类的功能。

下面是struct自定义数据类型的一个例子,然后声明该类型的变量。

声明了一个struct fraction类型的变量f1,这时编译器就会为f1分配内存,接着就可以为f1的不同属性赋值。

  1. struct fraction {
  2. int numerator;
  3. int denominator;
  4. };
  1. struct fraction f1;   声明
  2. f1.numerator = 22;   赋值。
  3. f1.denominator = 7;   赋值。

struct 的数据类型声明语句与变量的声明语句,可以合并为一个语句。

  1. struct book { 
  2. char title[500];
  3. char author[100];
  4. float value;
  5. } b1; 

上面的语句同时声明了数据类型book和该类型的变量b1。如果类型标识符book只用在这一个地方,后面不再用到,这里可以将类型名省略。

指针变量也可以指向struct结构。

  1. // 常写成两个语句
  2. struct book {
  3. char title[500];
  4. char author[100];
  5. float value;
  6. };
  7. struct book* b1;

上面示例中,变量b1是一个指针,指向的数据是struct book类型的实例。

函数

函数是一段可以重复执行的代码。它可以接受不同的参数,完成对应的操作。下面的例子就是一个函数。

  1. int plus_one(int n) {
  2. return n + 1;
  3. }

上面的代码声明了一个函数plus_one()

函数声明的语法有以下几点,需要注意。

(1)返回值类型。函数声明时,首先需要给出返回值的类型,上例是int,表示函数plus_one()返回一个整数。

(2)参数。函数名后面的圆括号里面,需要声明参数的类型和参数名,plus_one(int n)表示这个函数有一个整数参数n

(3)函数体。函数体要写在大括号里面,后面(即大括号外面)不需要加分号。大括号的起始位置,可以跟函数名在同一行,也可以另起一行,本书采用同一行的写法。

(4)return语句。return语句给出函数的返回值,程序运行到这一行,就会跳出函数体,结束函数的调用。如果函数没有返回值,可以省略return语句,或者写成return;

调用函数时,只要在函数名后面加上圆括号就可以了,实际的参数放在圆括号里面,就像下面这样。

  1. int a = plus_one(13);
  2. // a 等于 14

for 循环

for语句是最常用的循环结构,通常用于精确控制循环次数。

1.一般形式为:

for(单次表达式;条件表达式;末尾循环体)

{

中间循环体;

}

  1. for (initialization; continuation; action)
  2. statement;

上面代码中,for语句的条件部分(即圆括号里面的部分)有三个表达式。

  • initialization:初始化表达式,用于初始化循环变量,只执行一次。
  • continuation:判断表达式,只要为true,就会不断执行循环体。
  • action:循环变量处理表达式,每轮循环结束后执行,使得循环变量发生变化。

循环体部分的statement可以是一条语句,也可以是放在大括号里面的复合语句。下面是一个例子。

  1. for (int i = 10; i > 0; i--)
  2. printf("i is %d\n", i);-------一条语句

执行过程为:

  1. 求解表达式1;
  2. 求解表达式2。若其值为真,则执行 for 语句中指定的内嵌语句,然后执行第3步;若表达式2值为假,则结束循环,转到第5步;
  3. 求解表达式3;
  4. 转回上面第2步继续执行;
  5. 循环结束,执行 for 语句下面的语句。

执行过程中,“表达式1”只执行一次,循环是在“表达式2”“表达式3”和“内嵌语句”之间进行的。

变量

变量名区分大小写,starStarSTAR都是不同的变量。

并非所有的词都能用作变量名,有些词在 C 语言里面有特殊含义(比如int),另一些词是命令(比如continue),它们都称为关键字,不能用作变量名。

C 语言的变量,必须先声明后使用。如果一个变量没有声明,就直接使用,会报错。

每个变量都有自己的类型(type)。声明变量时,必须把变量的类型告诉编译器。

  1. int height;

上面代码声明了变量height,并且指定类型为int(整数)。

变量的声明和赋值,也可以写在一行。多个相同类型变量的赋值,可以写在同一行。

  1. int num = 42;
  2. int x = 1, y = 2;

多重赋值表达式。一次为多个变量赋值。赋值运算符是从右到左执行,所以先为n赋值,然后依次为mzyx赋值。

  1. int x, y, z, m, n;
  2. x = y = z = m = n = 3;

typedef

typedef命令用来为某个类型起别名。

  1. typedef type name;
  2.  typedef  float      float32_t; 

 float类型占用4个字节(32位),其中8位存放指数的值和符号,剩下24位存放小数的值和符号。

上面代码中,type代表类型名,name代表别名。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com