C语言实验1:C程序的运行环境和运行C程序的方法

一、算法原理

这是学C语言的入门,并不需要很高深的知识,一个hello world 或者一个简单的加法即可

二、实验要求

了解所用的计算机系统的基本操作方法,学会独立使用该系统。

了解在该系统上如何编辑、编译、连接和运行一个C程序。

通过运行简单的C程序,初步了解C源程序的特点。

三、实验代码

1.hello world的输出

1.1C语言输出的样例

代码
cs 复制代码
#include<stdio.h>
int main() {
	printf("hello,world!");
	return 0;
}
结果
分析

用到了头文件stdio.h

stdio.h是C语言中的一个标准头文件,它的作用是提供了一系列的输入输出函数,方便程序员在代码中对数据进行读取和输出。这个头文件的名字中的"stdio"是"standard input/output"的缩写,也就是标准输入输出的意思。

可以理解成一个头文件包括一些变量和函数,C语言有很多头文件,不同头文件有着不同的内容,不同的作用,但是最基础的是stdio.h

printf函数就是这个库中的输出函数,printf不仅可以输出字符串,也能输出数字等,但是输出不同类型的数字,所用的类型也不同,如int型数据是%d,float型数据用%f,char型数据用%c

具体可以参考下面这篇博客

[C]C语言基本语句(4/7)→ 用printf语句输出int, float, double, char型数据_c语言输出int-CSDN博客 至于return 0,因为主函数是int型,最后的结果就是返回一个int型数据,默认return 0,当然自己设计函数的时候return多少都行

1.2C++输出的样例

代码
cpp 复制代码
#include<iostream>
using namespace std;
int main() {
	cout << "hello,world!";
	return 0;
}
结果
分析

上述代码用到了iostream库

<iostream> 库被认为是 C++ 中最基础和最重要的一个头文件,它定义了输入和输出的流类和函数,可以实现程序与控制台或文件之间的交互操作。掌握 <iostream> 库的知识对于使用 C++ 进行输入输出操作至关重要。

可以发现用iostream中的cout输出,会变得很简单,我的建议是虽然C++很复杂,但是写到C语言时输入输出可以使用C++的cin和cout

using namespace 的意思是使用命名空间

如果把这一行代码给删除,就会报错。

对于这个错误,感兴趣的同学可以看一下这篇文章,不感兴趣的同学只需要知道在用到C++的输入输出要用到这行代码

using namespace std;到底是在干嘛?_using namespace std有什么用-CSDN博客

对于cin和c++的使用可以参考下面这篇文章

C++输入与输出---cout和cin的用法_c++ cout语法-CSDN博客

2.加减乘除的实现

2.1加法的实现

代码
cpp 复制代码
#include<iostream>
using namespace std;
int main() {
	int a = 3,b = 4;
	int c;
	c = a + b;
	cout << c;
	return 0;
}
结果
分析

C语言中"+"就是加法,但是只能相同类型数据相加,否则会报错

在计算机组成原理这门课中会学到:计算机中数字大部分都是以补码形式存在的,比如64位的计算机,可以表示的int型数字范围是-(2^63)------(2^63-1),也就是说数字不能无限大,否则会溢出,而且数字越大,处理越慢,对于处理很大的数据,要用到数学思想,拆分。

2.2减法的实现

代码
cpp 复制代码
#include<iostream>
using namespace std;
int main() {
	int a = 3,b = 4;
	int c;
	c = a - b;
	cout << c;
	return 0;
}
结果
分析

C语言中减法是"-",实质是加法,为什么这样说呢?

用上面的例子解释下,相当于3的补码加上 -4 的补码,手算就是3的补码加上4的补码全部取反加一

2.3乘法的实现

代码
cpp 复制代码
#include<iostream>
using namespace std;
int main() {
	int a = 3,b = 4;
	int c;
	c = a * b;
	cout << c;
	return 0;
}
结果
分析

C语言中的乘法就是"*",乘法本质上是加法

例如10*12

可以拆解为10*10+10*2,在CPU中会涉及到移位器

2.4除法的实现

代码

cpp 复制代码
#include<iostream>
using namespace std;
int main() {
	int a = 8,b = 4;
	int c;
	c = a/b;
	cout << c;
	return 0;
}
结果
分析

C语言中除法是"/",注意不是"\","\"是转义字符。

除法原理比较繁琐,int型数据的除法本质上是求商,余数用"%"来求("%"在水仙花数中应用较多)

不能除以0,否则系统会报错。

四、实验总结

这是C语言的入门,往后还会学到很多,望诸君认真学习,在计算机的海洋里遨游 !!!

相关推荐
Mephisto.java22 分钟前
【力扣 | SQL题 | 每日四题】力扣1440, 1378, 1421, 1393, 1407
算法·leetcode·职场和发展
攻城狮7号2 小时前
【4.5】图搜索算法-BFS和DFS求岛屿的最大面积
c++·算法·深度优先·宽度优先·图搜索算法
攻城狮7号3 小时前
【4.6】图搜索算法-DFS和BFS解合并二叉树
c++·算法·深度优先·宽度优先·图搜索算法
wypdao6 小时前
探索后量子安全:基于格加密技术的未来密码学展望
算法·安全·密码学·量子计算
鸡鸭扣6 小时前
数据结构与算法:栈和队列的python(deque)实现(附有leetcode题20、1047、150逆兰波表达式、347前k个高频元素题解)
数据结构·python·算法·leetcode·力扣··队列
我有一些感想……7 小时前
鸡兔同笼,但是线性代数
c++·笔记·矩阵
雷达学弱狗8 小时前
波动方程(将麦克斯韦方程组求出只有E或H的表达式)
线性代数·算法·机器学习
不知名舍友8 小时前
C++:采用模板封装顺序表,栈,队列
开发语言·c++·算法
日晨难再9 小时前
Verilog基础:$display系统函数和C语言中的库函数printf的区别
c语言·硬件工程·verilog·数字ic
大母猴啃编程9 小时前
C++基础---类和对象(上)
c语言·开发语言·数据结构·c++·学习·算法·青少年编程