-
C语言#ifdef 的用法
所属栏目:[语言] 日期:2023-05-17 热度:4216
#ifdef 用法的一般格式为:
#ifdef 宏名
程序段1
#else
程序段2
#endif
它的意思是,如果当前的宏已被定义过,则对“程序段1”进行编译,否则对“程序段2”进行编译。
也可[详细] -
C语言#if的用法
所属栏目:[语言] 日期:2023-05-17 热度:7680
#if 用法的一般格式为:
#if 整型常量表达式1
程序段1
#elif 整型常量表达式2
程序段2
#elif 整型常量表达式3
程序段3
#else
程序段4
#endif
它的意思是:如常“表达式1”的值[详细] -
C语言带参宏定义和函数的区别分析
所属栏目:[语言] 日期:2023-05-17 热度:2092
带参数的宏和函数很相似,但有本质上的区别:宏展开仅仅是字符串的替换,不会对表达式进行计算;宏在编译之前就被处理掉了,它没有机会参与编译,也不会占用内存。而函数是一段可以重复使用的代码,会被编译,会给它[详细]
-
C语言对带参宏定义的说明
所属栏目:[语言] 日期:2023-05-17 热度:4768
带参宏定义中,形参之间可以出现空格,但是宏名和形参列表之间不能有空格出现。例如把:
#define MAX(a,b) (a>b)?a:b
写为:
#define MAX (a,b) (a>b)?a:b
将被认为是无参宏定义,宏名 MAX 代表字符串(a,b) (a[详细] -
C语言带参数的宏定义
所属栏目:[语言] 日期:2023-05-17 热度:5236
C语言允许宏带有参数。在宏定义中的参数称为“形式参数”,在宏调用中的参数称为“实际参数”,这点和函数有些类似。
对带参数的宏,在展开过程中不仅要进行字符串替换,还要用实参去替换形参[详细] -
#define 用法的几点说明
所属栏目:[语言] 日期:2023-05-17 热度:8417
宏定义是用宏名来表示一个字符串,在宏展开时又以该字符串取代宏名,这只是一种简单粗暴的替换。字符串中可以含任何字符,它可以是常数、表达式、if 语句、函数等,预处理程序对它不作任何检查,如有错误,只能在编译[详细]
-
C语言#define的用法
所属栏目:[语言] 日期:2023-05-17 热度:9167
#define 叫做宏定义命令,它也是C语言预处理命令的一种。所谓宏定义,就是用一个标识符来表示一个字符串,如果在后面的代码中出现了该标识符,那么就全部替换成指定的字符串。
我们先通过一个例子来看一下 #defin[详细] -
C语言#include的用法详解
所属栏目:[语言] 日期:2023-05-16 热度:421
#include叫做文件包含命令,用来引入对应的头文件(.h文件)。#include 也是C语言预处理命令的一种。
#include 的处理过程很简单,就是将头文件的内容插入到该命令所在的位置,从而把头文件和当前源文件连接成一个[详细] -
C语言预处理命令是什么
所属栏目:[语言] 日期:2023-05-16 热度:9489
C语言源文件要经过编译、链接才能生成可执行程序:
1) 编译(Compile)会将源文件(.c文件)转换为目标文件。对于 VC/VS,目标文件后缀为.obj;对于GCC,目标文件后缀为.o。
编译是针对单个源文件的,一次编译[详细] -
忽略语法细节,从整体上理解函数
所属栏目:[语言] 日期:2023-05-16 热度:5541
从整体上看,C语言代码是由一个一个的函数构成的,除了定义和说明类的语句(例如变量定义、宏定义、类型定义等)可以放在函数外面,所有具有运算或逻辑处理能力的语句(例如加减乘除、if else、for、函数调用等)都要[详细]
-
C语言递归的进入和退出
所属栏目:[语言] 日期:2023-05-16 热度:1491
当递归进入到最内层的时候,递归就结束了,就开始逐层退出了,也就是逐层执行 return 语句。
1) n 的值为 1 时达到最内层,此时 return 出去的结果为 1,也即 factorial(1) 的调用结果为 1。
2) 有了 factoria[详细] -
C语言递归函数
所属栏目:[语言] 日期:2023-05-16 热度:1157
一个函数在它的函数体内调用它自身称为递归调用,这种函数称为递归函数。执行递归函数将反复调用其自身,每调用一次就进入新的一层,当最内层的函数执行完毕后,再一层一层地由里到外退出。
递归函数不是C语言的专[详细] -
C语言单独的代码块
所属栏目:[语言] 日期:2023-05-16 热度:40
C语言还允许出现单独的代码块,它也是一个作用域。请看下面的代码:
#include <stdio.h>
int main(){
int n = 22; //编号①
//由{ }包围的代码块
{
int n = 40; //编号②
prin[详细] -
C语言在 for 循环条件里面定义变量
所属栏目:[语言] 日期:2023-05-16 热度:1294
遵循 C99 标准的编译器允许在 for 循环条件里面定义新变量,这样的变量也是块级变量,它的作用域仅限于 for 循环内部。例如,计算从 m 累加到 n 的和:
#include <stdio.h>
int sum(int m, int n);
int main(){[详细] -
C语言在代码块内部定义变量
所属栏目:[语言] 日期:2023-05-16 热度:6705
C语言允许在代码块内部定义变量,这样的变量具有块级作用域;换句话说,在代码块内部定义的变量只能在代码块内部使用,出了代码块就无效了。
在函数内部定义的变量叫做局部变量,这节我们接着讲解选择结构和循环结[详细] -
C语言代码关于变量的命名
所属栏目:[语言] 日期:2023-05-16 热度:1299
每一段可运行的C语言代码都包含了多个作用域,即使最简单的C语言代码也是如此。
int main(){
return 0;
}
这就是最简单的、可运行的C语言代码,它包含了两个作用域,一个是 main() 函数内部的局部作用域,一[详细] -
在所有函数外部定义的变量
所属栏目:[语言] 日期:2023-05-16 热度:7180
C语言允许在所有函数的外部定义变量,这样的变量称为全局变量(Global Variable)。
全局变量的默认作用域是整个程序,也就是所有的代码文件,包括源文件(.c文件)和头文件(.h文件)。如果给全局变量加上 stati[详细] -
在函数内部定义的变量
所属栏目:[语言] 日期:2023-05-16 热度:3812
在函数内部定义的变量,它的作用域也仅限于函数内部,出了函数就不能使用了,我们将这样的变量称为局部变量(Local Variable)。函数的形参也是局部变量,也只能在函数内部使用。请看下面的例子:
#include <stdio.[详细] -
C语言全局变量和局部变量
所属栏目:[语言] 日期:2023-05-16 热度:4639
定义在函数内部的变量称为局部变量(Local Variable),它的作用域仅限于函数内部, 离开该函数后就是无效的,再使用就会报错。例如:
int f1(int a){
int b,c; //a,b,c仅在函数f1()内有效
return a+b+c[详细] -
C语言函数声明
所属栏目:[语言] 日期:2023-05-16 热度:4288
C语言代码由上到下依次执行,原则上函数定义要出现在函数调用之前,否则就会报错。但在实际开发中,经常会在函数定义之前使用它们,这个时候就需要提前声明。
所谓声明(Declaration),就是告诉编译器我要使用这[详细] -
函数的嵌套调用
所属栏目:[语言] 日期:2023-05-16 热度:3037
函数不能嵌套定义,但可以嵌套调用,也就是在一个函数的定义或调用过程中允许出现对另外一个函数的调用。
【示例】计算sum = 1! + 2! + 3! + ... + (n-1)! + n!
分析:可以编写两个函数,一个用来计算阶乘,一[详细] -
C语言return的用法详解
所属栏目:[语言] 日期:2023-05-16 热度:9496
函数的返回值是指函数被调用之后,执行函数体中的代码所得到的结果,这个结果通过 return 语句返回。
return 语句的一般形式为:
return 表达式;
或者:
return (表达式);
有没有( )都是正确的,为了简明,一[详细] -
C语言形参和实参的区别
所属栏目:[语言] 日期:2023-05-15 热度:5879
如果把函数比喻成一台机器,那么参数就是原材料,返回值就是最终产品;从一定程度上讲,函数的作用就是根据不同的参数产生不同的返回值。
C语言函数的参数会出现在两个地方,分别是函数定义处和函数调用处,这两个[详细] -
函数不能嵌套定义
所属栏目:[语言] 日期:2023-05-15 热度:6427
强调一点,C语言不允许函数嵌套定义;也就是说,不能在一个函数中定义另外一个函数,必须在所有函数之外定义另外一个函数。main() 也是一个函数定义,也不能在 main() 函数内部定义新函数。
下面的例子是错误的:[详细] -
C语言有参函数的定义
所属栏目:[语言] 日期:2023-05-15 热度:5297
如果函数需要接收用户传递的数据,那么定义时就要带上参数。如下所示:
dataType functionName( dataType1 param1, dataType2 param2 ... ){
//body
}
dataType1 param1, dataType2 param2 ...是参数列表[详细]
