// 参数:无 // 返回:兔子的类型 // 备注: unsigned rabbitId(void) { return ID_RABBIT; } // 功能:返回兔子的食物 // 参数:无 //...// 功能:返回兔子的敌人 // 参数:无 // 返回:兔子的敌人 // 备注:多种敌人一次返回 unsigned rabbitEnemy(void) { return ID_WOLF; } //...功能:兔子吃 // 参数:food,unsigned类型,喂给兔子的食物 // 返回:0:没吃成 // 1:吃成了 // 备注: char rabbitEat(unsigned food)...{ // 都说兔子不吃窝边草 // 那么不是窝边的草就可以吃 // 它兔窝边的草不是我窝边的草,所以也可以吃 // 还有,萝卜和青菜,也可以吃 // 兔子不能吃兔子,不能吃鱼,更不能吃狼 return...} // 功能:兔子类创建 // 参数:aRabbit,TRabbit类型,一只兔子 // 返回:无 // 备注: void rabbitCreate(struct TRabbit *obj) {
题目 古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?...思路 兔子的规律为数列 1,1,2,3,5,8,13,21… 符合斐波那契数列的变化规则,可以使用循环或者递归解这一题。
一.爬楼梯类型解法的一些思路 1.通过函数的返回值计算并表达题目意思,最终求解。 eg: 已知有n层阶梯,如果每次只能走一层台阶或两层台阶,求共有多少走法?
牛客网 BC159 兔子的序列 题目描述 描述 兔子发现了一个数字序列,于是开始研究这个序列。兔子觉得一个序列应该需要有一个命名,命名应该要与这个序列有关。...由于兔子十分讨厌完全平方数,所以兔子开创了一个新的命名方式:这个序列中最大的不是完全平方数的数字就是他的名字。 现在兔子有一个序列,想要知道这个序列的名字是什么。
printf("%d", &i); //定义一个指针变量pi,指向i的地址 int *pi = &i; //利用指针运算符*获取pi指向的内存,即为i的值 printf("%d", *pi); 注:在C语言中...3.2、字符指针和字符数组 在C语言中,系统本身没有提供字符串数据类型,但可以使用两种方式存储一个字符串:字符数组方式和字符指针方式。...X实际上是a[0],类推的话X1、X2等就是a[1]、a[2]。可以间接理解为数组的第一个维度装的全是地址,每个元素X的地址。 ?
硬盘(磁盘)上的文件就是文件。 但是在程序设计中,我们一般只讨论两种文件:数据文件、程序文件(从文件功能角度进行划分)。...2.1 程序文件 程序文件包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行文件(windows环境后缀为.exe)。...回想我们之前所处理数据的输出和输入都是以终端为对象的,即从终端的键盘输入数据,运行结果显示到显示器上。...文件名包括三个部分:文件路径 + 文件名主干 + 文件后缀 例如:c:\code\test.txt 其中,**c:\code**,就是该文件的路径;test就是文件名主干;.txt是文件后缀。...如果要求在外存上以ASCII码形式来存储,则需要在存储之前进行转换。以ASCII码形式输出到外存的文件中,就是文本文件。
在C语言中,我们可以定义一个指针数组如下: int *arr[10]; // 声明一个大小为10的指针数组,每个元素都是一个int类型的指针 这个数组中的每个元素都是一个int类型的指针。...在C语言中,可以定义一个指针数组来存储多个指针。例如,以下代码定义了一个包含三个整型指针的指针数组: int *ptr_array[3]; 这个数组可以存储三个指向整型变量的指针。...可以通过赋值来初始化这些指针: int a = 10; int b = 20; int c = 30; ptr_array[0] = &a; ptr_array[1] = &b; ptr_array[2...] = &c; 这样,ptr_array 数组就包含了三个指向整型变量的指针。
下面演示用C语言创建一个文件指针变量: FILE* pf; //pf即为文件指针变量 定义pf是一个指向FILE类型数据的指针变量。可以使pf指向某个文件的文件信息区(是一个结构体变量)。...ANSIC规定使用fopen()函数来打开文件: FILE * fopen ( const char * filename, const char * mode ); //fopen()函数的函数定义 我们用c语言演示一下用...这个函数实际上,会清空缓冲区中的数据,关闭文件,并释放用于该文件的所有内存。EOF 是一个定义在头文件 stdio.h 中的常量。...C 标准库提供了各种函数来按字符或者以固定长度字符串的形式读写文件。
一、C语言常见概念 1、C语言是什么 C语言是一种计算机语言,人们通过计算机语言来给机器下达指令,它生成的文件为.c文件,通过链接和编译生成可执行程序.exe 后缀为.h的称为头文件,后缀为.c的称为源文件...2、main函数 每个C语言程序不管有几行代码,都是从main函数开始执行的,main函数是程序的入口,也被称为主函数main前面的int是整形,与最终的return 0相呼应 这里在老的版本中,main...//头文件 int main() { printf("Hello World");//printf是库函数,需要包含头文件stdio.h return 0; } 4、C语言关键字...C语言有一些关键字例如:int if return for while等等,每个关键字都有特殊的意义,是保留给C语言使用的 程序员在创建标识符时不能与关键字重复 关键字不能被程序员创建 5、字符和...ASCII编码 在键盘上敲出的字母数字符号都被称作字符,在C语言中,字符是被单引号括起来的 ‘a’ ‘1’ ‘$’ 在计算机中,所有数据都是以二进制形式存储的,这些字符就是用ASCII编码存储的 点击这里查看
前言 C语言的数据类型分为内置数据类型和自定义的数据类型。...所谓的内置的数据类型可以认为是C语言自带的数据类型(char、int、float、double、bool),而自定义的数据类型(数组、结构体、联合体和枚举)中的结构体类型就是本文所要分享给大家的。...C语言有没有一种数据类型能够存放一次性包括多种不同的数据类型。答案是有的,那就是我们本讲的主角——结构体。...age;//年龄 char sex[5];//性别 char id[20];//学号 }; //这里有个分号,一定不要忘记写了 2.2 结构体变量的创建和初始化 struct S { char c;
预定义符号 C语言设置了一些预定义符号,可以直接使用,预定义符号也是在预处理阶段就被直接替换掉了。...:进行编译的源文件 __LINE__ //意思:显示该代码语句所在的行数 __DATE__ //意思:文件被编译的日期 __TIME__ //意思:文件被编译的时间 __STDC__ //意思:如果该C编译器完全遵顼...ANSI C的标准,则其值为0。...看上去好像是100,但事实上打印的值确是55。 我们发现替换之后: printf("%d",10*(5)+(5)); 乘法运算的优先级高于加法,所以就会出现55.
正文开始—— C语言是一门结构化的程序设计语言,这里的结构指:顺序结构、选择结构、循环结构。 1....在C语言中,0为假,非0为真,也就是表达式的结果如果是0,则语句不执行,表达式的结果非0,则语句执行。...比如: 有代码运行结果可知:无论输入的值是否大于等于18,“可以恋爱了” 都会打印在屏幕上。 why?...C语言中,0 表示假,所有非 0 值表示真。 比如,20 > 12,返回1,12 > 20,返回 0。 关系表达式常用于 if 或while 结构。...能被400整除是闰年 4.5 短路 C语言逻辑运算符还有一个特点,它总是先对左侧的表达式求值,再对右侧的表达式求值,这个顺序是保证的。
C++语言是在C语言的基础上发展而来,同时它又支持面向对象的程序设计,它主要具有以下特点: 1 继承自C语言的优点:语言简洁、紧凑,使用方便、灵活;拥有丰富的运算符;生成的目标代码质量高,程序执行效率高...支持面向对象编程机制,如信息隐藏、封装函数、抽象数据类型、继承、多态、函数重载、运算符重载、乏型编程(模板) 兼容C语言,籍此提供一个从C到C++的平滑过渡。...C++语言既保留了C语言的有效性、灵活性、便于移植等全部精华和特点,又添加了面向对象编程的支持,具有强大的编程功能,可方便地构造出模拟现实问题的实体和操作;编写出的程序具有结构清晰、易于扩充等优良特性,...用C++编写的程序可读性好,生成的代码质量高,运行效率仅比汇编语言慢10%~20%。 4 C++设计成无需复杂的程序设计环境。C++设计成静态类型、和C同样高效且可移植的多用途程序设计语言。...❖❖❖ C++程序在可重用性、可扩充性、可维护性和可靠性等方面都较C语言得到了提高,使其更适合开发大中型的系统软件和应用程序。且设计成静态类型、和C同样高效且可移植的多用途程序设计语言。 END
题目 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 2....分析 兔子的规律为数列1,1,2,3,5,8,13,21… 3.
目录 库函数: 自定义函数: Return的用法: 数组做函数参数: 嵌套调用和链式访问: 库函数: cplusplus.com:C library - C++ Reference 库函数相关头⽂件:C...= sqrt(d); printf("%lf\n", r); return 0; 自定义函数: #include int Add(int x, int y)//形式上的参数...根据c语言官网printf函数返回值可知它返回的是打印在屏幕上字符的个数 ....第三个printf打印43,在屏幕上打印2个字符,再返回2 第⼆个printf打印2,在屏幕上打印1个字符,再放回1 第⼀个printf打印1...所以屏幕上最终打印:4321
目录 基础知识 数据类型 const 用法 作用域与 static 用法 extern 用法 基础知识 嵌入式C语言和普通C语言在语法上几乎没有差别,其主要差别在于普通C语言的运行环境是OS之上,有很多的标准库函数支撑调用...例如C语言编程的入门课:打印“Hello World!”...,在普通C语言编程中,直接调用printf()函数即可在PC上打印出;而在嵌入式中,则需要开发者使用C语言去将芯片的串口调试成功,然后将printf()函数重新实现,方可调用打印。...main(),例如 也可以是myMain()这样的函数,而这所涉及到的知识已经超过基础知识的范围,会在后续详细说 明; C语言的语句以用分号“;”结束; C语言的注释有行注释(“//”)和段注释(“.../…/”); 函数是C语言的基本结构,每个C程序都是由至少一个函数组成; C语言的文件有两种格式:源文件.c文件和头文件.h文件,通常.c文件用于功能函数的实现,而.h文 件用于预处理、宏定义和声明等
首先c语言是一种结构化的程序设计语言,支持三种结构: 顺序结构: 选择结构:if switch 循环结构:for while do.while 1. if语句 1.1 if if语句的语法形式如下:...在c语言中0为假,非0为真。 例如:输入一个整数,判断是否为偶数。...实际上else是和第二个if匹配的。所以第二个if…else… 是嵌套在第一个if中的。如果第一个if不成立。那么第二个if也就不会执行。 将代码改成下面的代码就会更容易理解。...\n",month); return 0; } 4.5 短路求值 c语言的一个逻辑特点就是先对左侧的表达式求值,再对右边的表达式求值。...; switch (a) { case 1:printf("A"); printf("B"); break; case 2:printf("C"
前言 C语⾔是结构化的程序设计语⾔,这⾥的结构指的是顺序结构、选择结构、循环结构,C语⾔是能够实 现这三种结构的,其实我们如果仔细分析,我们⽇常所⻅的事情都可以拆分为这三种结构或者这三种 结构的组合...在C语言中0为假,非0为真 例⼦:输⼊⼀个整数,判断是否为奇数 #include int main() { int a = 0; scanf("%d",&a); if...二.关系操作符 C 语言用于比较的表达式,称为 “关系表达式”(relational expression),里面使用的运算符就称 为“关系运算符”(relational operator),主要有下...C 语言中, 0 表示假,所有非零值表示真。比如, 20 > 12 返回 1 , 12 > 20 返回 0 。 关系表达式常用于 if 或 while 结构。...练习:在屏幕上打印1到10 #include int main() { int i = 1 while(i<11) { printf("%d ",i); i++; } return
代码1 1 int a=1; 2 int b=2; 3 int c=(a>b,a=a+b,a,b=a+1); //求 c 值 代码2 1 if(a=b+1,c=a/2,d>0) 代码
前言 个人主页: :✨✨✨初阶牛✨✨✨ 推荐专栏: c语言初阶 个人信条: 知行合一 本篇简介:>: 讲解c语言中有关操作符的知识....c); printf("d=%d", d); return 0; } 结果: c=2 d=3 分析:c语言中的除法操作符结果只保留整数部分,而余数可以通过‘’%'(取余)操作符得到,这里11/4=...在c语言中,逻辑假用0表示,非0位真. #include int main() { int a = 1, b = 0; printf("a=%d\n", !...在C语言中,变量,常量字符串,数组,结构体包括指针等在内存中都是有地址的,需要在内存中分配一块空间来存储这些值,而内存的编号就是内存地址....上栗子 #include int main() { int a = 5, c = 0; //前置++ c = ++a;//先a自增1使得a的值变为6,然后再被赋值到c.
领取专属 10元无门槛券
手把手带您无忧上云