C语言练习之路--函数篇

2023-05-16

目录

  • 一、前言
  • 二、选择题
  • 三、编程题
    • 1、乘法口诀表
    • 2、交换两个整数
    • 3、函数判断闰年
    • 4、函数判断素数
    • 5、递归实现n的k次方
    • 6、计算一个数的每位之和(递归实现)
    • 7、strlen的模拟(递归实现)
    • 8、打印一个数的每一位

一、前言

  • 本人是一名小白,这一篇是记录我C语言学习中的函数的题目练习中的所学所得,仅为简单的认识下C语言中的各个知识。

二、选择题

能把函数处理结果的二个数据返回给主调函数,在下面的方法中不正确的是:( )
A.return 这二个数
B.形参用数组
C.形参用二个指针
D.用二个全局变量

A:一个函数只能返回一个值,错误。
B:将形参存在数组中,修改数组中内容,可以通过数组将修改结果带出去,正确
举例

#define  _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

void ex(char arr[])
{
	char tmp = arr[0];
	arr[0] = arr[1];
	arr[1] = tmp;
}


int main()
{
	char arr[] = { 'a','b','\0'};
	ex(arr);
	printf("%s\n", arr);
	return 0;
}

运行结果
在这里插入图片描述
C:形参如果用指针,最终指向的是外部的实参,在函数中对指向指向内容进行修改,改变的就是外部的实参,即为传址调用,正确
D:全局变量不受函数的结束而结束,在函数中改变全局变量,主调函数中可以看到改变之后的结果,正确
因此,本题答案为A


关于函数调用说法不正确的是:( )
A.函数可以传值调用,传值调用的时候形参是实参的一份临时拷贝
B.函数可以传址调用,传址调用的时候,可以通过形参操作实参
C.函数可以嵌套定义,但是不能嵌套调用
D.函数可以嵌套调用,但是不能嵌套定义

A:正确,形参按照值的方式传递,将来形参就是实参的一份临时拷贝,修改形参不会影响外部的实参
B:正确,形参按照指针方式传递,将来形参就是实参地址的一份拷贝,形参指向的是实参,修改形参指针指向的内容, 就是在操作实参
C:错误,C语言中,函数不能嵌套定义
D:正确,函数可以嵌套调用,即:A()中调用B(),B()中调用A(),但是要控制好,否则就成为无限递归
因此,选择C


在函数调用时,以下说法正确的是:( )
A.函数调用后必须带回返回值
B.实际参数和形式参数可以同名
C.函数间的数据传递不可以使用全局变量
D.主调函数和被调函数总是在同一个文件里

A:错误,函数可以没有返回值,如果没有返回值也就不需要带会任何结果,用void即可
B:正确,形参和实参在不同的函数中,即不同的作用域,因此形参和实参可以同名
C:错误,可以使用全局变量传参
D:错误,不一定,函数的定义可以放在任意的文件中,使用时只需要包含头文件(库函数用<>,自定义函数用“”)即可
因此,选择B


关于实参和形参描述错误的是:( )
A.形参是实参的一份临时拷贝
B.形参是在函数调用的时候才实例化,才开辟内存空间
C.改变形参就是改变实参
D.函数调用如果采用传值调用,改变形参不影响实参

A:正确,传参时不论是按照值还是指针方式传递,形参拿到的都是实参的一份拷贝
B:正确,函数没有调用时,新参没有空间
C:错误,如果是按照值的方式传递(传值调用),形参和实参各自有各自的空间,改变形参不能改变外部的实参
D:正确,因为形参和实参是两个不同的变量


函数调用exec((vl,v2),(v3,v4),v5,v6);中,实参的个数是:( )
A.3
B.4
C.5
D.6

exec((vl,v2),(v3,v4),v5,v6) 总共有四个参数
(v1, v2)属于第一个实参,逗号表达式,真实的参数时v2
(v3,v4)属于第二个实参,逗号表达式,真实的参数是v4
v5属于第三个实参
v6属于第四个实参
因此选择:B

扩展:逗号表达式
逗号表达式,是c语言中的逗号运算符,优先级别最低,它将两个及其以上的式子联接起来,从左往右逐个计算表达式,整个表达式的值为最后一个表达式的值
如:(3+5,6+8)称为逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2的值,如:(3+5,6+8)的值是14;a=(a=35,a4)的值是60,其中(a=35,a4)的值是60, a的值在逗号表达式里一直是15,最后被逗号表达式赋值为60,a的值最终为60。


以下关于函数设计不正确的说法是:( )
A.函数设计应该追求高内聚低耦合
B.要尽可能多的使用全局变量
C.函数参数不易过多
D.设计函数时,尽量做到谁申请的资源就由谁来释放

A:正确,高内聚低耦合即:函数体内部实现修改了,尽量不要对外部产生影响,否则:代码不方便维护
B:错误,全局变量每个函数都可以访问,很难保证数据的正确性和安全性
C:正确,参数越少越好,否则用户在使用时体验不是很好,还得必须将所有参数完全搞明白才可以使用
D:正确,谁申请的谁维护谁释放,否则如果交给外部使用者释放,外部使用者可能不知道或者忘记,就会造成资源泄漏
因此,选择B


关于C语言函数描述正确的是:( )
A.函数必须有参数和返回值
B.函数的实参只能是变量
C.库函数的使用必须要包含对应的头文件
D.有了库函数就不需要自定函数了

A:错误,可以没有参数和返回值类型,根据需要给出
B:错误,函数的实参可能是变量,也可能是常量,也可能是宏,也可能是指针等等
C:正确,在使用库函数时,必须要包含该库函数所在的头文件,否则编译器将不能识别
D:错误,库函数是语言设计者为了让用户能够更好的使用,而给出的,但并不能解决用户的所有问题,因此其他问题还需要用户自己写方法解决
因此:选择C


C语言规定,在一个源程序中,main函数的位置( )
A.必须在最开始
B.必须在库函数的后面
C.可以任意
D.必须在最后

main函数的位置可以再任意位置,但是如果在主函数之前调用了那些函数,必须在main函数前对其所调用函数进行声明或包含其被调用函数的头文件。
因此:选择C


以下叙述中不正确的是:( )
A.在不同的函数中可以使用相同名字的变量
B.函数中的形式参数是在栈中保存
C.在一个函数内定义的变量只在本函数范围内有效
D.在一个函数内复合语句中定义的变量在本函数范围内有效(复合语句指函数中的成对括号构成的代码)

A:正确 不同的函数属于不同的作用域,因此不同的函数中定义相同名字的变量不会冲突
B:正确 在C语言中,函数的形参一般都是通过参数压栈的方式传递的
C:正确 在函数内定义的变量,称为局部变量,局部变量只能在其定义的函数中使用
D:错误 复合语句中定义的变量只能在复合语句(函数中的成对括号构成的代码)中使用
因此:选择D


10、

关于递归的描述错误的是:( )
A.存在限制条件,当满足这个限制条件的时候,递归便不再继续
B.每次递归调用之后越来越接近这个限制条件
C.递归可以无限递归下去
D.递归层次太深,会出现栈溢出现象

递归的两个条件:

  1. 将问题转化为其子问题,子问题要与原问题具有相同的解法
  2. 递归的出口
    A:正确,限制条件即递归的出口,如果限制条件满足,递归程序就可以退出了
    B:正确,因为每次递归,都是将原问题进一步缩小,缩小到限制条件时,就可以往回返,直到第一次递归调用
    C:错误,递归不能无限递归下去,否则会造成死循环和栈溢出
    D:正确,因为每次递归,相当于都是一次新的函数调用,而每次函数调用系统必须给该函数划分栈帧空间,内部的递 归函数没有退出,上层的递归就不能退出,栈帧就会累积许多块,如果累积超过栈的总大小,就会栈溢出
    因此,选择C项

11、

关于函数的声明和定义说法正确的是:( )
A.函数的定义必须放在函数的使用之前
B.函数必须保证先声明后使用
C.函数定义在使用之后,也可以不声明
D.函数的声明就是说明函数是怎么实现的

A:错误,函数的定义可以放在任意位置,函数的声明必须放在函数的使用之前
B:正确,函数必须保证先声明后使用
C:错误,函数定义在使用之后,使用之前没有声明时,编译器编译时识别不了该函数
D:错误,函数的声明只是告诉编译器函数返回值类型、函数名字以及函数所需要的参数,函数定义才是说明函数是怎么 实现的
因此,选择B项


三、编程题

1、乘法口诀表

实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定
如:输入9,输出9*9口诀表,输出12,输出12 * 12的乘法口诀表

解析:在这个题目当中,我们要输出乘法表。乘法表有什么特点呢?首先,第n行会有n个式子,且每个式子都会含有因数n,另一个因数会从1~n,这时我们可以想到使用循环。

#define  _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

void mul(int n)
{
	int i = 0;
	for (i = 1; i <= n; i++)
	{
		int j = 0;
		for (j = 1; j <= i; j++)
		{
			printf("%d*%d=%d ", j, i, i * j);
		}
		printf("\n");
	}
}

int main()
{
	int n = 0;
	scanf("%d", &n);
	mul(n);
	return 0;
}

运行结果
在这里插入图片描述

2、交换两个整数

实现一个函数来交换两个整数的内容。

解析:再引入一个变量,互换即可,结合传址调用。

#define  _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

void ex(int* pa, int* pb)
{
	int tmp = *pa;
	*pa = *pb;
	*pb = tmp;
}

int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	ex(&a, &b);
	printf("%d %d", a, b);
	return 0;
}

运算结果
在这里插入图片描述

3、函数判断闰年

实现函数判断year是不是润年

解析:普通闰年:公历年份是4的倍数,且不是100的倍数的,为闰年(如2004年、2020年等就是闰年)。
世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年(如1900年不是闰年,2000年是闰年)。
运用判断条件即可。

#define  _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

int judge(int n)
{
	if (n % 100 == 0 && n % 400 == 0)
	{
		return 1;
	}
	else if (n % 100 != 0 && n % 4 == 0)
	{
		return 1;
	}
	else
	{
		return 0;
	}
}

int main()
{
	int n = 0;
	scanf("%d", &n);
	int ret = judge(n);
	if (ret == 1)
	{
		printf("%d是闰年",n);
	}
	else
	{
		printf("%d不是闰年",n);
	}
	return 0;
}

运行截图
在这里插入图片描述

4、函数判断素数

实现一个函数,判断一个数是不是素数。
利用上面实现的函数打印100到200之间的素数。

解析:素数又叫质数。素数,指的是“大于1的整数中,只能被1和这个数本身整除的数”。运用选择语句即可。

#define  _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

int Ju(int n)
{
	int i = 2;
	for (i = 2; i <= n; i++)
	{
		if (n % i == 0)
		{
			break;
		}
	}
	if (n == i)
	{
		return 1;
	}
	else
	{
		return 0;
	}
}

int main()
{
	int a = 0;
	int b = 0;
	int i = 0;
	scanf("%d %d", &a, &b);
	for (i = a; i <= b; i++)
	{
		int ret = Ju(i);
		if (ret == 1)
		{
			printf("%d ", i);
		}
	}
	return 0;
}

运行结果
在这里插入图片描述

5、递归实现n的k次方

编写一个函数实现n的k次方,使用递归实现。

解析:运用递归的方法,想办法让k个n相乘即可。

#define  _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

int ans(int n,int k)
{
	if (k == 0)
	{
		return 1;
	}
	else
	{
	    return n * ans(n, k-1);
	}
}

int main()
{
	int n = 0;
	int k = 0;
	scanf("%d %d", &n, &k);
	int ret = ans(n,k);
	printf("%d", ret);
	return 0;
}

运行结果
在这里插入图片描述
特别注意这段代码:

	    return n * ans(n, k-1);

这段代码中的k-1不可以写成k–,因为后置–是先使用 然后减1 就是每次递归的时候k都是同一个值 就形成了无限递归 导致栈溢出崩溃了,但可以写成–k(先减后使用)。

6、计算一个数的每位之和(递归实现)

写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和
例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19
输入:1729,输出:19

解析:

思路:
n n < 10
DigiSum(n) = DibiSum(n/10)+n%10 // 前n-1位之和+第N位

#define  _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

int DigitSum(int n)
{
	if (n < 10)
	{
		return n;
	}
	else
	{
		return n % 10 + DigitSum(n / 10);
	}
}

int main()
{
	int n = 0;
	scanf("%d", &n);
	int ret = DigitSum(n);
	printf("%d\n", ret);
	return 0;
}

运行结果
在这里插入图片描述

7、strlen的模拟(递归实现)

递归和非递归分别实现strlen

非递归:

#define  _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>

int my_strlen(char* pa)
{
	int count = 0;
	while (*pa != '\0')
	{
		count++;
		pa++;
		//字符指针+1,向后跳1个字符
		//整型指针 + 1, 向后跳1个整型,就是4个字节
	}
	return count;
}

int main()
{
	char arr[] = "heu";
	//[h e u \0]
	//数组名其实就是数组首个元素的地址
	//
	int ret = my_strlen(arr);
	printf("%d\n", ret);
	return 0;
}

非递归

#define  _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>

int my_strlen(char* pa)
{
	if (*pa != '\0')
		return 1 + my_strlen(pa + 1);
	else
		return 0;
}

int main()
{
	char arr[] = "heu";
	//[h e u \0]
	//数组名其实就是数组首个元素的地址
	//
	int ret = my_strlen(arr);
	printf("%d\n", ret);
	return 0;
}

运行结果
在这里插入图片描述

8、打印一个数的每一位

递归方式实现打印一个整数的每一位

解析:
print(1234)相当于
print(123) 4
print(12) 3 4
print(1) 2 3 4

#define  _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

void Print(int n)
{
	if (n > 9)
		print(n / 10);
	printf("%d ", n % 10);
}



int main()
{
	int n = 0;
	scanf("%d", &n);
	print(n);
	return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言练习之路--函数篇 的相关文章

  • Dev-C++下载和安装教程

    Dev C 43 43 是一个Windows环境下的一个适合于初学者使用的轻量级 C C 43 43 集成开发环境 xff08 IDE xff09 它是一款自由软件 xff0c 遵守GPL许可协议分发源代码 它集合了MinGW中的GCC编译
  • Dev C++使用教程

    我们在使用之前先准备一段C语言代码 include lt stdio h gt int main printf 34 欢迎进入C语言网 xff01 34 return 0 初步使用这款软件 xff0c 我们先选择源文件进行创建 xff0c
  • Altium Designer安装教程

    Altium Designer 21软件简介 xff1a Altium Designer 21是一款由Altium开发团队全新推出的简单易用 xff0c 与时俱进 xff0c 功能强大的PCB设计软件 xff0c 可以方便用户快速完成各类原
  • Matlab 2021b安装教程-Matlab分析软件下载方法

    MATLAB是美国MathWorks公司出品的商业数学软件 xff0c 用于算法开发 数据可视化 数据分析以及数值计算的高级技术计算语言和交互式环境 xff0c 主要包括MATLAB和Simulink两大部分 下载方法 https docs
  • STM32嵌入式面试知识点总结

    一 STM32F1和F4的区别 xff1f 解答 xff1a 参看 xff1a STM32开发 STM32初识 内核不同 xff1a F1是Cortex M3内核 xff0c F4是Cortex M4内核 xff1b 主频不同 xff1a
  • Keil系列教程01_Keil介绍、下载、安装与注册

    1写在前面 对于学习单片机和嵌入式开发的朋友来说 xff0c 掌握Keil这款软件可以说是必备的技能 鉴于目前网上没有完整的Keil教程 xff0c 因此我打算整理一套完整的Keil系列教程 目前Keil有四种产品 xff08 软件 xff
  • Keil系列教程02_新建基础软件工程

    1写在前面 目前Keil的四款产品 xff08 软件 xff09 xff1a MDK ARM C51 C251 C166 xff0c 在用法上极为相似 xff0c 包括本文讲述的新建软件工程 本文以目前 xff08 2018年10月 xff
  • 机器学习多分类器有哪些

    常见的有 xff1a 决策树分类器 xff08 Decision Tree Classifier xff09 支持向量机分类器 xff08 Support Vector Machine Classifier xff09 朴素贝叶斯分类器 x
  • Keil系列教程03_主窗口和工具栏详细说明

    1写在前面 本文先让大家简单认识一下Keil的主窗口界面 xff0c 然后再进一步认识Keil的文件 编译和调试工具栏 Toolbars工具栏就是在菜单下面的两行快捷图标按钮 xff0c 这些快捷按钮之所以在工具栏里面 xff0c 在于它们
  • 【Linux驱动】Linux--V4L2视频驱动框架

    Linux V4L2视频驱动框架 Linux V4L2驱动框架一 V4L2 框架二 V4L2驱动主要数据结构三 V4L2提供的外部接口四 V4L2驱动框架模板五 虚拟摄像头驱动 参考资料 Linux V4L2驱动框架 一 V4L2 框架 v
  • PostMan——安装使用教程(图文详解)

    为了验证接口能否被正常访问 xff0c 我们常常需要使用测试工具 xff0c 来对数据接口进行检测 好处 xff1a 接口测试工具能让我们在不写任何代码的情况下 xff0c 对接口进行调用和调试 下载并安装PostMan 首先 xff0c
  • c++中::和:的区别

    在 C 43 43 中 xff0c 34 34 和 34 34 都是类成员初始化的运算符 34 34 是域运算符 xff0c 用于访问类的静态成员 xff0c 如静态变量和静态函数 在这里我们给出一个例子 xff1a class A pub
  • 程序=算法+数据结构

    JAVA 数据结构 及 基础算法 算法 xff1a 解决问题的流程 步骤 xff08 分支 循环 顺序 xff09 数据结构 xff1a 将数据按照某种特定的结构来保存 设计良好的数据结构会导致好的算法 凭借一句话获得图灵奖的Pascal之
  • 【嵌入式】stm32+freeRTOS移植与应用

    freeRTOS 源码移植 手动移植 xff1a freeRTOS官网 点击Download FreeRTOS点击Download解压zip文件 FreeRTOS是内核文件夹 xff0c 只需关注这个 FreeRTOS Demo 示例程序
  • benchmark

    一 定义 xff1a benchmark译为基准测试 xff0c 基准测试是指通过设计科学的测试方法 测试工具和测试系统 xff0c 实现对一类测试对象的某项性能指标进行定量的和可对比的测试 二 基准的特征 xff1a 相关性 基准应该度量
  • 在 Linux Ubuntu / Windows 10配置 RealSense 开发环境 开发预处理以及了解树莓派3

    Linux Ubuntu 首先 xff0c 打开Intel Realsense 官网 Intel RealSense Computer Vision Depth and Tracking cameras intelrealsense com
  • Docker的安装(基于windows的安装)

    在安装windows前需要有几个准备工作 1 启用Hyper V以在 Windows 10上创建虚拟机 xff1a a 使用 PowerShell 启用 Hyper V 在windows中搜索powerShell 使用管理员身份打开控制台
  • 提交代码前未拉取代码,导致冲突及解决办法

    前提 xff1a 和同事协作开发代码 xff0c 用git管理的项目 xff0c 在vscode可视化工具里面拉取项目代码 xff0c 没有反应 xff0c 然后在git里git pull xff0c 也没拉到远端的代码 xff0c 就提交
  • static 静态成员变量 静态成员函数 类中使用

    关于在类中使用static的一些情况 xff1a 静态成员函数和静态成员变量的调用格式 xff0c 尽量采用类名 成员的格式 xff0c 不要以对象来调用 1 static func静态成员函数 1 其地址可以直接由函数指针来存储 xff0
  • ucosii消息队列学习

    近期在学习ucosii的内容使用的平台为STM32F103C8T6最小系统板 今日关于消息队列的使用遇到了一些问题 基本情况 xff1a 移植代码为正点原子ucosiii消息队列 信号量集和软件定时器例程 主要新建两个任务post task

随机推荐

  • day41—编程题

    文章目录 1 第一题1 1题目1 2思路1 3解题 2 第二题2 1题目2 2思路2 3解题 1 第一题 1 1题目 描述 xff1a Emacs号称神的编辑器 xff0c 它自带了一个计算器 与其他计算器不同 xff0c 它是基于后缀表达
  • SLAM学习笔记

    编译环境参考之前的笔记 cmake文件 cmake minimum required VERSION 3 0 project odometry set CMAKE BUILD TYPE 34 Release 34 add definitio
  • eclipse配置Tomcat

    文章目录 前言一 预先工作1 Tomcat是什么 xff1f 2 Tomcat下载3 安装Eclipse for Java EE 二 在eclipse中配置Tomcat 前言 目前开始了j2ee的学习 xff0c 为了给以后的学习做准备 x
  • MATLAB学习笔记(一)上:MATLAB基础知识

    笔记配套课程 xff1a 科学计算与MATLAB语言 中国大学MOOC 慕课 icourse163 org PART ONE xff1a MATLAB系统环境 1 命令行窗口中 xff0c 如果一条命令很长 xff0c 我们可以分成两行来输
  • H3C路由器基本配置命令

    1 system view 进入系统视图 2 sysname R1 配置路由器名字为R1 3 display clock 查看当前系统时间 4 clock datetime 00 00 00 2 26 2023 用户模式下修改系统时间 配置
  • ubuntu18.04双系统卸载并重装

    卸载ubuntu18 04 原文档 xff08 稍作整理 xff0c 方便自己使用 xff09 下载diskgenius工具 xff1a diskgenius 删除Ubuntu系统使用的几个分区 xff08 包括EFI分区 xff09 xf
  • 安装zed-ros-wrapper 并解决一些报错

    创建工作空间 如果没有工作空间 xff0c 先根据如下命令建立工作空间 source opt ros melodic setup bash mkdir p catkin ws src cd catkin ws catkin make cat
  • rtabmap+orbslam2+D435i建图

    配置rtabmap 参考 xff1a rtabmap安装与使用 配置orbslam2参考 xff1a ubuntu18 04 安装orb slam2并结合ZED运行 建图参考 xff1a Rtabmap 43 ORB SLAM2 43 D4
  • matlab2018a帮助文档设置为中文

    版本 xff1a matlab2018a 1 主页 预设 2 帮助 文档位置 xff08 第二个 xff09 简体中文 应用 确定 3 结果展示
  • Vue2与Vue3的生命周期一览

    Vue2与Vue3的生命周期 生命周期前言介绍Vue2的生命周期钩子函数Vue3的生命周期钩子函数setup函数Vue3新增生命周期 生命周期 前言介绍 生命周期也称生命周期回调函数 生命周期函数 生命周期钩子 每个 Vue 组件实例在创建
  • FreeRTOS入门

    文章目录 一 FreeRTOS简介二 学习任务三 学习内容多任务程序实现1 相关文件2 头文件的添加3 路径添加4 修改主函数main c 中代码5 将程序烧录到stm32开发板中6 最终结果 四 参考资料 一 FreeRTOS简介 Fre
  • 嘉立创SMT贴片打板流程

    说明 xff1a 打板平台 嘉立创下单助手 使用嘉立创EDA画板可参考以下过程 使用AD画板 xff0c 不同点是 xff08 1 xff09 导出的文件是PCB源文件压缩包 43 BOM表 43 坐标文件 xff08 2 xff09 确保
  • Android Studio安装超详细步骤(包括SDK安装不成功,模拟器无法创建等问题)

    本文主要介绍CPU 为AMD锐龙 和英特尔 两种类型在安装中出现的一些问题 xff0c 两种解决的方案不同 xff0c 所以首先查看属于哪种 xff0c 然后找相对应的安装方法 Android Studio的安装需要准备两个安装文件 xff
  • HTML+CSS仿写京东页面附代码(web前端大作业)

    学习前端时间不多 xff0c 看了两晚上就开始赶实训作业 xff0c 大家看看就行 先来看看效果 xff1a lt DOCTYPE html gt lt html lang 61 34 en 34 gt lt head gt lt meta
  • DIY组装无人机电机+电调+电池+桨叶搭配知识

    以下内容转载至下网址 有一点点修改 DIY组装无人机电机 43 电调 43 电池 43 桨叶搭配知识 xff08 转贴 xff09 多旋翼 模吧 moz8 com https www moz8 com forum php mod 61 vi
  • (每日一练)MATLAB二维插值

    在前面介绍了学习MATLAB的一维插值方法 xff0c 今天来学习MATLAB二维插值方法 首先来看二维插值函数的使用格式 xff1a z1 61 interp2 x y z x1 y1 39 method 39 其中x y z分别是我们给
  • Ubuntu18.04安装D435iSDK和ROS Wapper

    实验室新到D435i深度相机 xff0c 我想来跑跑开源算法 xff0c 安装驱动各种帖子很多 xff0c 我把我看到两篇最有用的帖子整理一下 帖子连接放在文末 1 安装Intel RealSense SDK 2 0 参考 xff1a ht
  • 【Ros控制机械臂学习笔记】move_group C++interface接口学习

    在完成机器人URDF模型建立 xff0c 利用moveit setup assistant配置生成robot moveit config文件夹之后 xff0c 接下来就是要的学习方向有两个 一个是向下位机走 xff0c 即上图的右面 xff
  • MATLAB校准磁力计

    初识magcal函数 语法 A b expmfs 61 magcal D A b expmfs 61 magcal D fitkind 描述 A xff0c b xff0c expmfs 61 magcal xff08 D xff09 返回
  • C语言练习之路--函数篇

    目录 一 前言二 选择题三 编程题1 乘法口诀表2 交换两个整数3 函数判断闰年4 函数判断素数5 递归实现n的k次方6 计算一个数的每位之和 xff08 递归实现 xff09 7 strlen的模拟 xff08 递归实现 xff09 8