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

一、算法原理

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

二、实验要求

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

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

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

三、实验代码

1.hello world的输出

1.1C语言输出的样例

代码
#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++输出的样例

代码
#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加法的实现

代码
#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减法的实现

代码
#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乘法的实现

代码
#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除法的实现
代码

#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语言的入门,往后还会学到很多,望诸君认真学习,在计算机的海洋里遨游 !!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/303481.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Sectigo和Certum的IP证书区别

IP证书是比较特别的一款数字证书。大多数SSL数字证书都是针对域名站点的数字证书&#xff0c;比如单域名SSL证书、多域名SSL证书和通配符SSL证书&#xff0c;而IP证书针对的是只拥有公网IP地址的站点。签发IP证书的CA认证机构并不多&#xff0c;Sectigo和Certum旗下都有IP证书&…

【51单片机系列】DS1302时钟模块

本文是关于DS1302时钟芯片的相关介绍。 文章目录 一、 DS1302时钟芯片介绍二、DS1302的使用2.1、DS1302的控制寄存器2.2、DS1302的日历/时钟寄存器2.3、片内RAM2.4、DS1302的读写时序 三、SPI总线介绍四、DS1302使用示例 一、 DS1302时钟芯片介绍 DS1302是DALLAS公司推出的涓流…

阿赵UE学习笔记——4、新建关卡

阿赵UE学习笔记目录 大家好&#xff0c;我是阿赵。   之前介绍了虚幻引擎的常用窗口功能&#xff0c;这次开始创建游戏内的世界了。首先先从创建关卡开始。 一、创建新关卡 在使用UE引擎制作游戏&#xff0c;首先要有一个场景作为基础&#xff0c;这个场景在UE里面成为关卡。…

python量化开发【中级进阶】

一、量化思想&#xff1a; 赌球&#xff1a;如果你是赌球老板&#xff0c;如何赚1个亿的小目标 二、量化交易 量化交易是指以先进的数学模型替代人为的主观判断&#xff0c;利用计算机技术从庞大的历史数据中海选能带来超额收益的多种“大”事件以制定策略&#xff0c;极大地减…

Fastjson中关于json的处理与配置

Fastjson是一个Java语言编写的高性能的JSON处理器,由阿里巴巴公司开发。 无依赖&#xff0c;不需要例外额外的jar&#xff0c;能够直接跑在JDK上。 FastJson在复杂类型的Bean转换Json上会出现一些问题&#xff0c;可能会出现引用的类型&#xff0c;导致Json转换出错&#xff0c…

SpringBoot源码搭建

文章目录 源码下载搭建项目构建学习博客 源码下载 需要环境 &#xff1a; JDK 1.8Maven 3.5Spring Boot 1.x.x: Gradle 版本建议为2.9或更高版本。Spring Boot 2.x.x: Gradle 版本建议为4.x.x或更高版本。 GitHub 从v2.3.x开始&#xff0c;SpringBoot开始强制用Gradle构建项…

Session的使用详解(创建,获取和销毁)

文章目录 Session的使用详解&#xff08;创建&#xff0c;获取和销毁&#xff09;1、为什么使用session,与cookie的区别2、session是什么3、session的常用方法4、session的构造和获取代码演示SetSessionServlet.javaGetSessionServlet.javaweb.xml运行结果如下: 5、销毁session…

【数据分享】2023年我国省市县三级的公共服务设施数量(4类设施/Excel/Shp格式)

公共厕所、公用电话、报刊亭等公共设施的配置情况是一个城市公共基础设施完善程度的重要体现&#xff0c;一个城市公共设施种类越丰富&#xff0c;数量越多&#xff0c;通常能表示这个城市的公共服务水平越高&#xff01; 本次我们为大家带来的是我国各省份、各地级市、各区县…

virtualbox共享文件夹

其实就两个步骤 1、设置共享文件夹 2、挂载 sudo mount -t vboxsf shared_file /home/zyt/win_workspace/shared_file : 共享文件夹的昵称 /home/zyt/win_workspace/ : 虚拟机的文件夹 对应于D&#xff1a;\Workspace

css 超过一行/多行显示省略号... - 附示例

效果 1、超过一行 2、超过多行 - 以两行为例 二、示例代码 1、超过一行 margin: 20px; width: 50px; border: 1px solid red; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; 2、超过多行 - 以两行为例 margin: 20px; width: 50px; border: 1px solid r…

YOLOv5-Lite 树莓派4B 15帧教程

【前言】 由于v5Lite仓库遗漏了不少历史问题&#xff0c;最大的问题是毕业后卷起来了&#xff0c;找不到时间更新。 上面是这篇博客的背景&#xff0c;那么先说下结论&#xff0c;使用 v5lite-e 模型&#xff0c;在 树莓派4B&#xff08;4G内存&#xff09; 上&#xff0c;有三…

Spring Cloud Gateway 常见过滤器的基本使用

目录 1. 过滤器的作用 2. Spring Cloud Gateway 过滤器的类型 2.1 内置过滤器 2.1.1 AddResponseHeader 2.1.2 AddRequestHeader 2.1.3 PrefixPath 2.1.4 RequestRateLimiter 2.1.5 Retry 2.2 自定义过滤器 1. 过滤器的作用 过滤器通常用于拦截、处理或修改数据流和事…