绝对零基础的C语言科班作业①初始C语言(输入和输出)

2023-10-18 20:10

本文主要是介绍绝对零基础的C语言科班作业①初始C语言(输入和输出),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

该系列为计算机科班C语言的OJ作业,应该有十篇左右文章就能结束,我觉得刚开始学习C语言先自己动手敲几个程序是关键的,没有电脑的话可以先看下面的代码。刚开始学习或者预习能看个大概就不错了。

敲C语言的软件,大学一般用的是Dev-C++,想用的话可以在应用商店下载,或者在网上搜索下载方式,我现在用的是VS2022,这是安装教程视频版链接:VS2022安装使用教程,Visual Studio 2022详细安装使用调试教程C语言编译器,C++编译器_哔哩哔哩_bilibili

一. 标准输出

永远的经典 hello,world

任务描述:编写程序输出一行文字:hello,world。

hello,world程序是指在计算机屏幕上输出hello,world这行字符串的计算机程序。这个例程因在Brian Kernighan和Dennis M. Ritchie合著的《The C Programme Language》一书中使用而广泛流行。


#include<stdio.h> //包含一个库函数(头文件)
int main() //主函数格式,名字:main,函数类型:int(整型)函数内部用花括号括起来
{printf("hello,world"); //此语句输出双引号中字符串的内容(在屏幕输入hello,world)return 0; //返回给主函数数字0
}     //初学者刚开始敲代码时应该把第四行以外的代码先敲出来

认识C程序

  1. 以上任务代码文件被称为 C 语言的源代码文件(也叫头文件源文件),文件类型为最普通的文本文件,可以用任何文本编辑软件编辑,例如记事本、Notepad++、UltraEdit、EditPlus、Vim 等,C 语言源代码文件的扩展名应该为.c。

  2. 第一行 #include<stdio.h> 是每一个 C 语言程序必须要有的代码,它是一个编译预处理指令,含义是把库文件“stdio.h”包含到当前位置,现在你可以不用去理解它,记住它的样子就可以了。

  3. int main(){ ... } 这个结构叫做主函数,是每一个 C 程序不可缺少的部分,而且在一个 C 程序当中只能有一个主函数。你要记住:C 程序是由函数构成的,并且总是从主函数开始执行。主函数的名字是 main,返回值的类型一般为 int(整型)。

  4. printf("hello,world"); 被称为语句,语句后必须以分号结束。printf 语句的功能是在标准输出设备(屏幕)上输出括号内字符串的内容:hello,world。

  5. "Hello World!"是一个字符串常量,双引号是字符串的定界符,双引号里边是字符串的内容。

  6. return 0; return 语句的功能是结束主函数的运行,并使主函数返回一个值0。主函数如果正常运行结束,通常要返回0(关于返回0的意义你先不用理解)。

  7. //主函数 名字:main,类型:int(整型),这部分是程序的注释,用来解释程序的功能、流程或者算法。双斜杠开始直到行末的部分都是注释,一个双斜杠只能注释一行文字。还有一种注释方法是块注释,由/*开始,直到*/结束,可以包括多行文本,例如:

/* 这是一个C语言块注释的示例它可以包含多行文本可以写你想写的任何信息*/

多行输出汉字

任务描述:输出一首诗词。


#include<stdio.h>
int main()
{printf("小时候,\n");printf("乡愁是一枚小小的邮票,\n");printf("我在这头,\n");printf("母亲在那头。\n");printf("----选自余光中的《乡愁》");return 0;
}

和第一个程序相比只多了几行输出函数printf,其中里面的\n(反斜杠n)表示换行,你可以试着去掉,这样屏幕上除了超出长度就不会主动帮你换行。

输出图形

任务描述:编程输出V字形的字符图形。


#include<stdio.h>
int main()
{printf("*        *\n");printf("**      **\n");printf("***    ***\n");printf("****  ****\n");printf("**********");return 0;
}

注意到和第二题一样换行符号\n的使用,这样你就可以在屏幕上输出任何你想输出的东西,这种输出一般用于写一个菜单(小游戏里用到),还有一种更方便的使用循环输出后面会学到。

二. 简单输入

1. 输出键盘输入的两个数的和。

任务描述:编程读入2个整数A和B,然后输出它们的和。


#include<stdio.h>
int main()
{int a, b, c;                       //定义三个整型变量a,b,cscanf("%d%d", &a, &b);             //输入两个整数,赋值给a,bc = a + b;                           //将a+b的结果赋给变量cprintf("%d + %d = %d", a, b, c);        //输出运算结果return 0;
}                //初学者每次写scanf函数时记得加取地址符号&,注意格式,先不用弄清意思。

相关知识

1.语句int a,b,c;的功能是定义三个整型变量a、b和c,用于在后面的语句中进行操作,int是整数类型关键字。变量一定要先定义,然后才能使用。

2.scanf是标准输入函数,语句scanf("%d%d",&a,&b);的功能是从标准输入设备(键盘)上读取两个整数分别送给变量a和b。字符串"%d%d"是输入数据的格式,%d的意义是十进制整数,接收数据的变量a和b的前面要加上运算符&。

3.语句c=a+b;的功能是将表达式a+b的值赋给变量c,符号“=”的意义是赋值运算符,功能为将右边表达式的值赋值给左边的变量。

4.语句printf("%d+%d=%d",a,b,c);的功能是输出字符串(双引号里)的内容,其中的普通字符原样输出(例如其中的+和=),其中的%d是十进制整数格式说明符(也称占位符),表示在此处输出一个整数,实际输出的是后边与它对应的表达式的值。输出格式字符串中有几个%d,后边就应该一一对应几个表达式,所有参数之间用逗号分隔。

现在就请你在编程软件中录入以上任务代码,按快捷键F11编译执行。然后执行窗口中光标在闪烁,表示等待你的输入。你可以输入两个整数,例如:520 1314,回车后,程序的输出结果是:520+1314=1834

2. 输出(A+B)*C的值

任务描述:小白弟弟的学校要为每个班级配备价值A元钱的消毒器具和价值B元钱的防疫药品,学校共有C个班级,小白弟弟想知道所有器具和药品都配齐一共需要多少钱。提示:计算公式为:(A+B)*C,C语言中星号为乘号。


#include<stdio.h>
int main()
{int a, b, c, r;scanf("%d%d%d", &a, &b, &r);c = (a + b) * r;printf("%d", c);return 0;
}

注意到C语言中乘号为* 除号为/(不是反斜杠\) 求余(数)符号为%

初学者看懂代码的大概就不错了,先模仿代码,抄也可以,就先敲熟悉吧,什么时候不用看键盘,敲的还快就差不多了,注意每一处细节。以后才是动脑子的时候。

这篇关于绝对零基础的C语言科班作业①初始C语言(输入和输出)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/234891

相关文章

作业提交过程之HDFSMapReduce

作业提交全过程详解 (1)作业提交 第1步:Client调用job.waitForCompletion方法,向整个集群提交MapReduce作业。 第2步:Client向RM申请一个作业id。 第3步:RM给Client返回该job资源的提交路径和作业id。 第4步:Client提交jar包、切片信息和配置文件到指定的资源提交路径。 第5步:Client提交完资源后,向RM申请运行MrAp

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

AI基础 L9 Local Search II 局部搜索

Local Beam search 对于当前的所有k个状态,生成它们的所有可能后继状态。 检查生成的后继状态中是否有任何状态是解决方案。 如果所有后继状态都不是解决方案,则从所有后继状态中选择k个最佳状态。 当达到预设的迭代次数或满足某个终止条件时,算法停止。 — Choose k successors randomly, biased towards good ones — Close

顺序表之创建,判满,插入,输出

文章目录 🍊自我介绍🍊创建一个空的顺序表,为结构体在堆区分配空间🍊插入数据🍊输出数据🍊判断顺序表是否满了,满了返回值1,否则返回0🍊main函数 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~ 🍊自我介绍   Hello,大家好,我是小珑也要变强(也是小珑),我是易编程·终身成长社群的一名“创始团队·嘉宾”

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出 在数字化时代,文本到语音(Text-to-Speech, TTS)技术已成为人机交互的关键桥梁,无论是为视障人士提供辅助阅读,还是为智能助手注入声音的灵魂,TTS 技术都扮演着至关重要的角色。从最初的拼接式方法到参数化技术,再到现今的深度学习解决方案,TTS 技术经历了一段长足的进步。这篇文章将带您穿越时

C语言 | Leetcode C语言题解之第393题UTF-8编码验证

题目: 题解: static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num & MASK1) == 0) {return