实验室C语言第一次考核题目讲解及相关代码解读
爱来自ZZULI❤drluo
第一题
编写一个C语言函数(isPrime),该函数接受一个整数作为参数,检查该整数是否为质数(只能被1和自身整除的数),然后返回一个布尔值,如果是质数则返回1,否则返回0
注意:
请使用long long 代替 int,因为用于测试的数字可能很大(抱歉,后续测试数据依旧选择在了21亿范围内,即int类型范围,相关使用long long进行编写的代码,在测试时,一律手动修改为int,以确保不会因为类型影响计算速度)
(相关函数类型为bool的,也进行了调整,测试时保证所有人的函数均为int类型,传递的参数,内部参数均为int类型)
你的函数应该只有一个参数,并返回一个整数(1或0),用于表示是否为质数,并且不使用其他外部库或函数来进行质数检查(后经考虑,此函数允许使用sqrt(开方相较于乘积,为耗时操作))。
最终,你的函数将通过这样的方式被调用:
123456if (isPrime(num)) { printf("%d 是质数\n", num);}else { printf("%d 不 ...
C语言神经网络房价预测系统
爱来自ZZULI❤drluo
用户给出的往期房价数据,默认为housing.data,数据文件每行含有14项,其中前13项为房价影响因素,最后一项为同类型房价中位数,如下表:
属性名
解释
类型
CRIM
该镇的人均犯罪率
连续值
ZN
占地面积超过25平方米的住宅用地比例
连续值
INDUS
非零售商业用地比例
连续值
CHAS
是否临近ChariesRiver
离散值,1=邻近,0=不邻近
NOX
一氧化氮浓度
连续值
RM
每栋房屋的平均客房数
连续值
AGE
1940年之前建成的自用单位比例
连续值
DIS
到波士顿5个就业中心的加权距离
连续值
RAD
到径向公路的可达性指数
连续值
TAX
全值财产税率
连续值
PTRATIO
学生与教师的比例
连续值
B
1000(FM-0.63)^2,其中FM为外国人占比
连续值
LSTAT
低收入人群占比
连续值
MEDV
同类型房屋价格中位数
连续值
(房价影响因素及房价表)
整个系统应基于所给往期数据训练出相应模型,使模型可以对今后的房价进行预测,预测 ...
C、C++数组,指针,指针数组,数组指针的区别
C、C++数组,指针,指针数组,数组指针的区别
C语言中的数组、指针、指针数组和数组指针是不同的概念,它们在用途和定义上有明显的区别。
数组 (Array):
数组是一种数据结构,用于存储相同数据类型的元素。它们在内存中是连续分布的。
数组的大小是在声明时确定的,且不能改变。
数组的元素可以通过索引来访问,索引从0开始。
示例:
123int myArray[5]; // 声明一个包含5个整数的数组myArray[0] = 10; // 设置第一个元素的值为10int x = myArray[2]; // 读取第三个元素的值
一维数组
一维数组可以通过下标的方式访问(id = 房间号-1)
123int num[10]; //房间号 1 2 3 4 5 6 7 8 9 10//id 0 1 2 3 4 5 6 7 8 9
对于这个一维数组,我们可以这样理解它的存储方式(框中的数字为对应id)
二维数组
对于二维数组,我们可以理解为:数组在此的基础上多了一层
123int num[2][10];//这是一个有两层,每层10个房间的数组//如果我们想找到第2层第4个房间里面是谁,采用 ...
C、C++的大括号是必须的部分吗?
在作为一名初学者,你可能看到一些课程中,对于判断或者循环部分,会使用类似这样的两种方式:
123456789101112// 方式1if(a > 1){ printf("a > 1");}for (int i = 0; i< 10; i++) { printf("%d\n", i);}// 方式2if(a > 1) printf("a > 1");for (int i = 0; i< 10; i++) printf("%d\n", i);
并且你会发现,对于这两种方式,他们的效果一样。
那么大括号{}括起来和不括起来有什么区别呢?
在C语言中,if语句后面的圆括号()内的表达式决定了条件是否为真。
当条件为真时,if语句后面的代码块将被执行。
这个代码块可以是单个语句,也可以是用大括号{}括起来的多个语句。
下面我来解释两种写法的差异:
123 if(a > 1) { ...
C、C++预处理详解
什么是预处理?
C 预处理器不是编译器的组成部分,但是它是编译过程中一个单独的步骤。
简言之,C 预处理器只不过是一个文本替换工具而已,它们会指示编译器在实际编译之前完成所需的预处理。
指令
描述
#include
包含一个源代码文件
#define
定义宏
#undef
取消已定义的宏
#ifdef
如果宏已经定义,则返回真
#ifndef
如果宏没有定义,则返回真
#if
如果给定条件为真,则编译下面代码
#else
#if 的替代方案
#elif
如果前面的 #if 给定条件不为真,当前条件为真,则编译下面代码
#endif
结束一个 #if……#else 条件编译块
#error
当遇到标准错误时,输出错误消息
#pragma
使用标准化方法,向编译器发布特殊的命令到编译器中
#include
#include 是C语言中的一个预处理指令,它的主要作用是将外部的头文件(header files)内容包含到当前的源代码文件中。
头文件通常包含了函数声明、宏定义、结构体和其他变量的声明等,以便在当前源代码文件中使用这些声 ...
C、C++其他关键字详解
其它关键字
const
作用:const 用于声明常量,表示变量的值不可被修改。
示例:
12const int age = 30; // 定义一个不可修改的整数常量age = 35; // 这里会导致编译错误,因为常量不可被修改
sizeof
作用:sizeof 用于获取数据类型或变量占用的内存字节数。
示例:
123int x = 10;size_t size = sizeof(x); // 获取整数变量 x 占用的字节数printf("x 占用的字节数为: %zu\n", size);
typedef
作用:typedef 用于创建自定义数据类型的别名。
示例:
12typedef int Age; // 创建一个名为 Age 的整数别名Age myAge = 25; // 使用 Age 别名定义整数变量
另一个示例:
12345678typedef struct {int x;int y;} Point;Point p;p.x = 5;// 使用自定义的数据类型别名 Point 来声明变量
volatile
作用:vol ...
C、C++存储类型关键字详解
存储类型关键字
auto
auto 是默认的存储类别关键字,它用于定义自动变量。
自动变量的生命周期仅限于定义它们的代码块,当代码块执行结束时,它们会被销毁。
示例代码(记作代码1):
12345678#include <stdio.h>int main() { auto int x = 10; // 可以省略 "auto",因为它是默认的存储类别 printf("x: %d\n", x); // x 的生命周期仅限于 main 函数 return 0;}
在上方代码1中,auto int x = 10;和int x = 10;是等效的:
这是因为 int x = 10; 默认就是一个自动变量,编译器会根据上下文自动识别它为自动变量。
同样,例如下方代码(记作代码2):
1234567891011#include <stdio.h>int main() { auto int x = 10; // 可以省略 "auto",因为它是默认的存储类 ...
C、C++控制语句关键字详解
控制语句关键字
下面是关于循环语句和条件语句的详细解释,包括特性、用法以及示例代码。我将注释来解释每个示例的执行流程,以及这些语句通常在哪些方面使用。
循环语句:
for
特性:for 循环用于重复执行一段代码,通常在已知循环次数的情况下使用。
用法示例:
1234for (int i = 0; i < 5; i++) { // 初始化;条件;迭代 // 循环体代码 printf("%d\n", i); // 打印当前循环次数}
示例中的for循环会执行5次。
最终打印出0到4这五个数字:
0
1
2
3
4
for常用于在一个范围内进行循环。
while
特性:while 循环用于根据条件重复执行一段代码,通常在循环次数不确定的情况下使用。
用法示例:
123456int i = 0;while (i < 5) { // 条件 // 循环体代码 printf("%d\n", i); // 打印当前循环次数 i++; // 迭代}
示例中的 ...
C、C++数据类型关键字详解
数据类型关键字
以下是对每个C语言数据类型关键字的详细解释,包括其包括特性、用法以及可能的范围和精度限制。
char
特性:char(字符型)用于存储单个字符,通常占用1个字节的内存空间。它可以表示ASCII字符集中的字符。范围通常为-128到127。
用法:通常用于存储字符或小整数值。
示例代码:1char letter = 'A'; // 定义一个字符变量并赋值
short
特性:short(短整型)用于存储整数值,通常占用2个字节的内存空间。范围通常为-32768到32767。
用法:适用于节省内存空间但需要存储整数的情况。
示例代码:1short temperature = -10; // 定义一个短整数变量并赋值
int
特性:int(整型)用于存储整数值,通常占用4个字节的内存空间。这是最常用的整数类型。范围通常为-2147483648到2147483647。
用法:通常用于存储整数,执行基本数学运算等。
示例代码:
1int count = 100; // 定义一个整数变量并赋值
int类型在计算过程中,会仅保留整数位,比如:
...
C、C++关键字
本文章面向初学者问题:对C语言中的相应字符和单词用法不理解
初学者第一次接触到的程序大都是打印hello world
123456#include <stdio.h>int main() { printf("Hello World!\n"); return 0;}
作为初学者,面对代码中的include、int、main、printf,大部分人是不懂为什么用这些东西就可以做到打印hello world的效果的。
先了解两个概念:关键字 和 预处理
什么是关键字?
在C/C++中,我们常说到的关键字就是用于编程的一些具有特殊作用的词语
以下内容,详情请看各分块所给的链接详解
数据类型关键字
详情情看:C/C++数据类型关键字详解 | www.drluo.top
char:声明字符型变量或函数
short: 声明短整型变量或函数
int: 声明整型变量或函数
float:声明单精度浮点型变量或函数
double:声明双精度浮点型变量或函数
long:声明长整型变量或函数(实际声明长整型会使用long long)
sign ...