当前位置: 首页 > news >正文

C语言-输入输出

实验一:编写一个输出两行自定义字符的 C 程序

一、实验目的
  1. 熟悉 C 语言的基本结构和语法。
  2. 掌握 printf() 函数的使用方法。
  3. 了解在 Code::Blocks 中编写、编译和运行程序的过程。
二、实验内容

编写一个 C 程序,要求输出两行字符,内容自定义。

三、实验环境
  • 开发环境:Code::Blocks 20.03 或更高版本
  • 编译器:内置的 GCC 编译器
四、实验步骤
  1. 安装 Code::Blocks

    如果尚未安装 Code::Blocks,可以从官方网站下载并安装:Code::Blocks 下载页面。

  2. 创建新项目

    • 启动 Code::Blocks,点击菜单栏的 File -> New -> Project...
    • 在弹出的窗口中,选择 Console application,点击 Go
    • 选择编程语言为 C,点击 Next
    • 设置项目名称(如 OutputTwoLines),选择项目保存位置,点击 Next
    • 确认编译器为 GNU GCC Compiler,点击 Finish
  3. 编写代码

    • 在左侧的项目管理器中,展开项目,双击 main.c 文件打开编辑器。

    • 将默认代码替换为以下代码:

      #include <stdio.h>int main() {printf("这是第一行自定义内容。\n");printf("这是第二行自定义内容。\n");return 0;
      }
      

  4. 保存代码

    • 点击菜单栏的 File -> Save,或者使用快捷键 Ctrl+S
  5. 编译程序

    • 点击菜单栏的 Build -> Build,或者按 F9 键。
    • 在下方的 Build messages 窗口中,查看是否有编译错误。
  6. 运行程序

    • 点击菜单栏的 Build -> Run,或者按 Ctrl+F10 键。
    • 程序将在控制台窗口中运行,显示输出结果。
五、预期输出
 
这是第一行自定义内容。
这是第二行自定义内容。

实验二:编写一个接收用户输入并进行运算的 C 程序

一、实验目的
  1. 掌握 scanf()printf() 函数的使用。
  2. 了解变量的声明和算术运算符的应用。
  3. 学会在 Code::Blocks 中进行用户交互式编程。
二、实验内容

编写一个 C 程序,要求用户输入两个整数,并输出它们的和、差、积。程序中使用 scanf() 函数接收用户输入,使用 printf() 函数输出结果。

三、实验环境
  • 开发环境:Code::Blocks 20.03 或更高版本
  • 编译器:内置的 GCC 编译器
四、实验步骤
  1. 创建新项目

    • 在 Code::Blocks 中,点击菜单栏的 File -> New -> Project...
    • 选择 Console application,点击 Go
    • 选择 C 语言,点击 Next
    • 设置项目名称(如 CalculateTwoNumbers),选择项目保存位置,点击 Next
    • 确认编译器为 GNU GCC Compiler,点击 Finish
  2. 编写代码

    • 在左侧的项目管理器中,展开项目,双击 main.c 文件。

    • 将默认代码替换为以下代码:

      #include <stdio.h>int main() {int num1, num2;int sum, difference, product;printf("请输入第一个整数:");scanf("%d", &num1);printf("请输入第二个整数:");scanf("%d", &num2);sum = num1 + num2;difference = num1 - num2;product = num1 * num2;printf("两个数的和为:%d\n", sum);printf("两个数的差为:%d\n", difference);printf("两个数的积为:%d\n", product);return 0;
      }
      

  3. 保存代码

    • 点击菜单栏的 File -> Save,或者使用快捷键 Ctrl+S
  4. 编译程序

    • 点击菜单栏的 Build -> Build,或者按 F9 键。
    • Build messages 窗口中查看编译结果。
  5. 运行程序

    • 点击菜单栏的 Build -> Run,或者按 Ctrl+F10 键。
    • 在弹出的控制台窗口中,按照提示输入两个整数,例如 85
  6. 验证输出

    • 程序应输出:

      请输入第一个整数:8
      请输入第二个整数:5
      两个数的和为:13
      两个数的差为:3
      两个数的积为:40
      

五、注意事项
  • 控制台窗口保持打开

    • 如果运行程序后控制台窗口一闪而过,可以在代码中添加 system("pause");(需要包含 <stdlib.h> 头文件),或者在 Code::Blocks 中设置控制台保持打开:

      • 点击菜单栏的 Settings -> Environment...
      • 在弹出的窗口中,选择左侧的 General Settings
      • 勾选 Pause console after program ends,点击 OK
  • 输入输出缓冲

    • 确保在控制台窗口中按照提示输入正确的数据类型。
六、调试技巧
  • 查看编译错误

    • 如果编译失败,查看 Build messages 窗口中的错误信息,定位错误所在的行和原因。
  • 设置断点

    • 可以在代码行左侧的边缘区域点击,添加断点,使用调试功能逐步检查程序执行情况。
  • 变量监视

    • 在调试模式下,可以查看变量的值,帮助理解程序的运行过程。
七、代码规范
  • 注释

    • 为关键代码添加注释,说明功能和逻辑,提升代码可读性。
  • 缩进和格式

    • 统一使用 4 个空格或一个 Tab 键进行缩进,保持代码结构清晰。
  • 变量命名

    • 使用有意义的变量名,遵循小写字母加下划线的命名规则。

附加说明

  • Code::Blocks 使用文档

    • 可以参考官方的使用指南,了解更多功能:Code::Blocks User Manual。
  • 编译器设置

    • 确保在 Settings -> Compiler... 中,选择了正确的编译器(GNU GCC Compiler)。
  • 环境变量配置

    • 一般情况下,Code::Blocks 安装时会自动配置环境变量,如遇到问题,可检查系统的环境变量设置。

相关文章:

C语言-输入输出

实验一&#xff1a;编写一个输出两行自定义字符的 C 程序 一、实验目的 熟悉 C 语言的基本结构和语法。掌握 printf() 函数的使用方法。了解在 Code::Blocks 中编写、编译和运行程序的过程。 二、实验内容 编写一个 C 程序&#xff0c;要求输出两行字符&#xff0c;内容自定…...

如何在GitHub上传自己的项目?(一文看懂,每一步的操作和解决常见错误的方法)

目录 步骤一&#xff1a;准备 Git 环境 1. 安装 Git 2. 配置 Git 步骤二&#xff1a;在 GitHub 创建一个新的仓库 1. 登录到你的 GitHub 账号。 2. 点击右上角的 号&#xff0c;然后选择 New repository。 3. 填写以下信息&#xff1a; 步骤三&#xff1a;将本地项目上…...

数据结构_day1

目录 大纲 1.数据结构基础知识 1.1 什么是数据结构 1.2 数据 1.3 逻辑结构 1.4 存储结构 1.4.1 顺序存储 1.4.2 链式存储 1.4.3 索引存储结构 1.4.4 散列存储 1.5 操作 2.算法基础知识 2.1 什么是算法 2.2 算法的设计 2.3 算法的特性 2.4 评价算法的好坏 大纲 数据结构、算法(理…...

c# using 声明进行资源管理

在 C# 8 中&#xff0c;using 声明引入了一种新的语法&#xff0c;称为 using 声明&#xff0c;它使得开发人员在处理资源时的代码更加简洁和清晰。主要的变化包括 使用声明 和 使用上下文&#xff08;using declaration&#xff09; 的引入。 使用语句的简化 在 C# 8 中&…...

Kafka之基本概念

1、Kafka是什么&#xff1f; Kafka是由Scala语言开发的一个多分区、多副本&#xff0c;基于Zookeeper集群协调的系统。 那这个所谓的系统又是什么系统呢&#xff1f; 回答这个问题要从发展的角度来看&#xff1a;起初Kafka的定位是分布式消息系统。但是目前它的定位是一个分布…...

倪师学习笔记-天纪-斗数简介

一、学习过程 学习->验证->思考 二、算命方法 算命方法特点铁板神数适合核对六亲子平法准确度一般紫微斗数天文地理融合最好&#xff0c;批六亲不准&#xff0c;配合相可以提升准确率 三、果 天地人三者一起影响果&#xff0c;天时地利人和促成成功1/31/31/31算命部…...

Python酷库之旅-第三方库Pandas(143)

目录 一、用法精讲 646、pandas.Timestamp.is_quarter_start属性 646-1、语法 646-2、参数 646-3、功能 646-4、返回值 646-5、说明 646-6、用法 646-6-1、数据准备 646-6-2、代码示例 646-6-3、结果输出 647、pandas.Timestamp.is_year_end属性 647-1、语法 647…...

细说QT各种线程锁的特点和用法

文章目录 QMutex特点用法QReadWriteLock特点用法QSemaphore特点用法QWaitCondition特点用法在Qt框架中,提供了多种线程同步机制,包括互斥锁(Mutex)、读写锁(Read-Write Lock)、信号量(Semaphore)和条件变量(Wait Conditions)。这些机制用于处理多线程编程中的数据一致性和线程…...

Caffeine+Redis两级缓存架构

CaffeineRedis两级缓存架构 在高性能的服务项目中&#xff0c;我们一般会将一些热点数据存储到 Redis这类缓存中间件中&#xff0c;只有当缓存的访问没有命中时再查询数据库。在提升访问速度的同时&#xff0c;也能降低数据库的压力。 但是在一些场景下单纯使用 Redis 的分布…...

kafka和zookeeper单机部署

安装kafka需要jdk和zookeeper环境&#xff0c;因此先部署单机zk的测试环境。 zookeeper离线安装 下载地址&#xff1a; zookeeper下载地址&#xff1a;Index of /dist/zookeeper 这里下载安装 zookeeper-3.4.6.tar.gz 版本&#xff0c;测试环境单机部署 上传服务器后解压缩 …...

别了,公有云!下云迁移真的是大趋势么?

【科技明说 &#xff5c; 科技热点关注】 不知道你们还有没有印象&#xff0c;早在2022年&#xff0c;IBM发布了《IBM 企业转型指数&#xff1a;云现状》中也反映了这一趋势&#xff1a;80%的企业已经考虑或正在考虑将已经部署到公有云上的工作负载迁回私有的基础设施。 然而&…...

网关在不同行业自动化生产线的应用

网关在不同行业自动化生产线的应用&#xff0c;展示了其作为信息与物理世界交汇点的广泛影响力&#xff0c;尤其在推动行业智能化、自动化方面发挥了不可估量的作用。以下是网关技术在污水处理、智慧农业、智慧工厂、电力改造及自动化控制等领域的深入应用剖析。 1. 污水处理 …...

C++ socket编程(1)

这里是一个socket编程Demo&#xff0c;不考虑出错情况&#xff0c;代码简单&#xff0c;便于了解socket流程。 Demo分为服务器程序和客户端程序&#xff0c;运行需要先启动服务器程序&#xff0c;再启动客户端程序。 服务器会等待连接&#xff0c;客户端连接后&#xff0c;服…...

C# 文件夹类的实现与文件属性处理

在现代软件开发中&#xff0c;处理文件和文件夹是非常常见的任务。 C# 提供了丰富的类库来操作这些文件系统的基本元素。本篇文章将探讨如何在 C# 中实现一个简单的文件夹类&#xff0c;以及如何获取文件名、文件路径、大小和创建日期等文件属性。 一、使用 System.IO 命…...

基于SSM框架和Layui的学院课程安排系统的设计与实现(源码+定制+定制)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…...

【论文笔记】DKTNet: Dual-Key Transformer Network for small object detection

【引用格式】&#xff1a;Xu S, Gu J, Hua Y, et al. Dktnet: dual-key transformer network for small object detection[J]. Neurocomputing, 2023, 525: 29-41. 【网址】&#xff1a;https://cczuyiliu.github.io/pdf/DKTNet%20Dual-Key%20Transformer%20Network%20for%20s…...

设计模式之适配器模式(Adapter)

一、适配器模式介绍 适配器模式(adapter pattern )的原始定义是&#xff1a;将类的接口转换为客户期望的另一个接口&#xff0c; 适配器可以让不兼容的两个类一起协同工作。 适配器模式是用来做适配&#xff0c;它将不兼容的接口转换为可兼容的接口&#xff0c;让原本由于接口…...

[git] github管理项目之环境依赖管理

导出依赖到 requirements.txt pip install pipreqs pipreqs . --encodingutf8 --force但是直接使用pip安装不了torch&#xff0c;需要添加源&#xff01;&#xff01; pip install -r requirements.txt -f https://download.pytorch.org/whl/torch_stable.html想到一个麻烦的…...

【STM32 Blue Pill编程实例】-SD卡文件读写(SPI接口)

SD卡文件读写(SPI接口) 文章目录 SD卡文件读写(SPI接口)1、SD卡模块介绍2、硬件准备与接线3、模块配置3.1 SPI接口配置3.2 SPI接口的片选信号引脚配置3.3 FATFS配置4、代码实现在本文中,我们将介绍如何将 microSD 卡与 STM32 Blue Pill 连接,并在STM32CubeIDE中对SD卡进行…...

为什么需要软件测试?

软件测试 软件测试是评估和验证计算机程序或系统是否按预期运行的过程。 它涉及执行程序或系统以识别预期结果和实际结果之间的任何错误或差距。 目标是确保软件满足指定的要求&#xff0c;没有缺陷&#xff0c;并在不同场景中可靠地工作。 为什么需要软件测试&#xff1f;…...

[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解

突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 ​安全措施依赖问题​ GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计

随着大语言模型&#xff08;LLM&#xff09;参数规模的增长&#xff0c;推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长&#xff0c;而KV缓存的内存消耗可能高达数十GB&#xff08;例如Llama2-7B处理100K token时需50GB内存&a…...

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析&#xff08;Parser&#xff09; 2.4、执行sql 1. 预处理&#xff08;Preprocessor&#xff09; 2. 查询优化器&#xff08;Optimizer&#xff09; 3. 执行器…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用

文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么&#xff1f;1.1.2 感知机的工作原理 1.2 感知机的简单应用&#xff1a;基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...

vulnyx Blogger writeup

信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面&#xff0c;gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress&#xff0c;说明目标所使用的cms是wordpress&#xff0c;访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...