H G W S哪一个不是状态函数_轻轻松松理解第一个C语言程序

2023-11-24 08:20

本文主要是介绍H G W S哪一个不是状态函数_轻轻松松理解第一个C语言程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

bacdf9835dc10736bcd1a41f17ca59a1.png

一、学习目标

bacdf9835dc10736bcd1a41f17ca59a1.png
  1. 了解C语言代码的一般结构了解函数的概念
  2. 了解printf函数的使用方法
  3. 了解头文件的概念
  4. 了解system函数的使用方法
bacdf9835dc10736bcd1a41f17ca59a1.png

二、简单了解C语言程序的基本结构

bacdf9835dc10736bcd1a41f17ca59a1.png 在上一节学习中,复制了一段HelloWorld代码并且运行了该程序。接下来通过上一节的代码来学习一般情况下C语言代码的结构组成。 2.1 了解C语言代码编写区域 如下图,紫色框所示意的区域为工作区,我们编写代码在此区域进行。但对于初学者来说,此方式编写太过自由,最适合初学者的方式为指定一局部区域,在该区域编写基础代码。 44d9704473ddbe9acad38c4af222f147.png 在上一节中,我们修改了  printf("") 双引号内的内容,从而实现了程序在运行时显示内容的自定义。我们再查看这个 printf("") 所在的区域为 int main(){} 代码中花括号({ })内。该花括号内我们称为main函数内的代码内容。 在此我们出现了一个新的名词“函数”,“函数”的概念接下来将会讲解,现在我们抛开函数得知,printf 这个代码,是编写在一对花括号中的。那么我们在此规定,接下来写程序将会在这一对花括号中编写。 在以上代码中,花括号内的代码,每一句结束后都是用了一个分号(;)作为结束标志,分号在代码中作用跟中文书写文章一样,表示这一句结束,在编写代码时一般情况下使用分号表示结束。表示结束还有很多不同的情况,我们将在之后的课程详细说明。 注意: 在编写代码时,所有的关键的符号标点都需要使用英文状态下进行输入。 bacdf9835dc10736bcd1a41f17ca59a1.png

三、了解函数的使用方法

bacdf9835dc10736bcd1a41f17ca59a1.png 在上一个小点中出现了“函数”这一陌生名词。在编程中,一般函数并不所指数学中的函数,所指代的为一个功能,一个可以帮我们完成某个结果的方法。 3.1 了解函数的概念 在编程中,函数可理解为一种直接使用就可以完成某个任务的“工具”。函数可以自己去实现,在之后的课程将会说明。 函数我们可以使用一个例子很好的说明:在洗衣机未出现前,我们洗衣服一般可分为打水、放皂角之类的洗涤剂、敲打或搓洗、漂水洗净、扭干;通过以上的步骤才可以完成衣服的洗净。当洗衣机出现后,洗衣机自动的完成了打水、放皂角之类的洗涤剂、敲打或搓洗、漂水洗净、扭干这些过程;当我们洗衣服时就不需要如此繁琐的过程,只需要把衣服放进洗衣机中就可以完成该任务。 在C语言编程中函数也如此,函数表示一个方法或功能,当我们需要使用该功能时,可以通过书写改函数的名称,传递一些所需的内容,即可完成该任务。 3.2 了解printf函数的使用方法 在我们上一节中,修改了printf("")双引号内的内容,程序运行时显示了该内容。从运行结果得知,printf极有可能是用于程序在运行时显示内容的关键代码。如果你有这个想法,恭喜你,你具备了一些编写程序的思维。printf("")的作用是在程序运行时,将圆括号中双引号内的内容显示出来,在编写程序时,非特定字符情况下,你在双引号内填入什么值则会输出什么值。 printf是一个函数,功能是在程序运行时显示一些值。我们填入的值称为参数。一个函数使用的一般方式为函数名后接一个圆括号,如需要传入字符串值作为参数,那么在传递字符串的时候使用双引号引起来作为传入即可。(之后的课程会学习多重类型作为参数的不同表现形式) 在C语言中,直接可以使用的函数称为系统函数,如printf,这些系统函数等同于一些工具,分类存放于一些“工具箱”中。 3.3 了解头文件的概念 在3.2节末,我们得知系统函数分类存放于一些“工具箱”中,这些工具箱则是头文件。如下图,头文件则是代码中最头部位置的那两行代码。 5c6dc5a3165bf1a85a053d591cca1036.png 如上图紫色框示意位置则是头文件的引入代码。如何引入?接下来告诉你。 引入代码如下:
#include#include
12 以上代码中,stdio与stdlib为头文件名称,其中stdio.h的.h为该文件的后缀,h表示这个文件为头文件。我们可以理解这个.h为当前文件的标志,表示类型。
#include<> 表示引入哪个头文件,该代码的作用就好比一只手,你告诉它拿什么工具箱,它就去帮你去指定地点将工具箱拿来。那么这个指定地点在哪呢?系统默认这个地点为devc软件安装位置下的include目录。 bc0f2935a51814a978e81f2418c5b4d6.png 这就是环境的作用,如果你编写C语言程序,没有所支持的库那么使用printf函数将没有任何作用,除非你自己手动实现整个过程,这个过程对于新手来说是非常繁琐且模糊的。
当然,我们在引入头文件时需要注意,随意引入是没用的,假设我想引入一个名为qqq的头文件,#include去当前目录寻找该文件,发现找不到,这个时候将会出现错误提示。 464834486324fc4138b0212ee281a690.png 并且会提示报错,告知你在该目录下并没有找到该文件。 529ab9aa4526f1c18749400991688dd7.png 那么问题来了,现在我们回顾为什么要引入头文件?
在之前有说,函数是存在于头文件中,那么就存在一个逻辑“使用一个函数则需要引入该函数”。我们使用的函数printf存在于stdio头文件中,所以在头部我们把工具使用include将其引入,引入后printf才可以使用。不信?那我们把头文件第一个引入删除,随后点击编译程序看看是否会报错。编译按钮如下: 221e7da51dbd1abc3ed0825eb9302208.png 删除后代码如下:
#includevoid main(){printf("你好 世界!");
system ("pause");}
123456 编译后结果: c3b79f0b571cdd6771b665f864030358.png 在下方提示窗口中提示了一个警告Warning,表示当前系统函数printf直接使用不当。(因为直接翻译过来会有一些专业术语,所以我换了一种表达)由于现在C语言的标准在随着时间改变,所以导致了出现警告,在老一点的标准中,会直接出现错误,就不是现在的警告了。为了良好的习惯我们把引入 #include 加上:
#include#includevoid main(){printf("你好 世界!");
system ("pause");}
1234567 再次编译则没出现警告。 09347ba2320db78c666272105ba41ac5.png 3.4 了解system函数的使用方法 上一节中了解头部头文件的引入作用和方法,接下来再了解另外一函数system。system函数作用为执行系统命令。这个系统指的是DOS系统,简单的理解就是程序运行时出现的小黑框。 在此system为何要调用这个DOS小黑框的命令呢?这个命令又是什么?有什么作用?
我们首先查看在代码中的system为 system ("pause"); ,这一句代码的作用是:当程序运行到此处时停止,等待按下一个键继续运行。那为什么要这样做呢?因为不加这一段代码我们所边写的程序就会一闪而过。 我们可以做个试验,删除system这一行代码,最终代码如下:
#include#includevoid main(){printf("你好 世界!");}
123456 随后点击编译运行程序按钮。 4c475d6b026757c056506bd2e0a741b6.png 随后出现黑框框,并且没有出现一闪而过的现象。 435786b9e1b9c79f12ae792d37558379.png 哎呀,是不是我翻车了呢?其实并没有。
在这里会停止使因为我们通过了devc这个软件进行程序运行,这时会自动的添加停止。那我不从devc软件运行该程序会怎样?我们在上一节学过,当编译运行后,将会生成一个可执行程序,双击可以直接运行。 cec73b99a679d84bc0c9843496e02082.png 我们去之前设置的文件保存处,找到该文件双击运行。这个时候就会出现一闪而过的现象。所以同学们,还是得添加停止代码。
#include#includevoid main(){printf("你好 世界!");
system ("pause");}
1234567 接下来解释一下  system (""); 函数的用法。system函数并不是只有暂停功能,它可以使用DOS系统的命令,但是需要传递该命令。由于学习DOS系统命令会增加没必要的学习时间,我们是以C语言学习为主,在此只需要知道传入一个pause就会执行暂停即可。暂停命令是一串字符,称为字符串。一个函数不需要传入参数的形式为函数名加圆括号system(),但在此需要传入一个命令pause实现暂停,则编写为 system ("pause") ,代码需要使用分号表示结束,则最终写成 system ("pause"); 。注意标点符号一定是英文输入法下输入。 bacdf9835dc10736bcd1a41f17ca59a1.png

四、main

bacdf9835dc10736bcd1a41f17ca59a1.png 在helloWord程序中还有void main 未解释。因为内容涉及过多其它内容,在此并不做详细解释,只需要了解main是C语言程序的入口。 我们编写一个程序,必须要给予计算机一个最起始的入口给计算机,告诉它我们的程序从哪开始,这就是main。就好比学校一样,有一个大门,你拿着录取通知书看见一个大门,知道这个是入学校的入口。计算机也一样,这个main是我们在C语言中规定的一个入口。 IT原创动漫、学习资料、原创教程请关注公众号 21fd83fc5dced5cc24481102885fcbb2.png bacdf9835dc10736bcd1a41f17ca59a1.png

五、总结

bacdf9835dc10736bcd1a41f17ca59a1.png

通过以上描述与讲解,我们了解了以下几点内容:

1.了解了函数的概念为一个功能的实现

2.了解了printf函数的使用方法,在函数内传入值即可在程序运行时显示

3.知道了头文件的位置及函数存放于头文件内

4.了解了stystem函数是调用DOS系统命令的函数

5.了解了main的作用是表示代码入防晒用品(必备)

这篇关于H G W S哪一个不是状态函数_轻轻松松理解第一个C语言程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

好题——hdu2522(小数问题:求1/n的第一个循环节)

好喜欢这题,第一次做小数问题,一开始真心没思路,然后参考了网上的一些资料。 知识点***********************************无限不循环小数即无理数,不能写作两整数之比*****************************(一开始没想到,小学没学好) 此题1/n肯定是一个有限循环小数,了解这些后就能做此题了。 按照除法的机制,用一个函数表示出来就可以了,代码如下

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

hdu1565(状态压缩)

本人第一道ac的状态压缩dp,这题的数据非常水,很容易过 题意:在n*n的矩阵中选数字使得不存在任意两个数字相邻,求最大值 解题思路: 一、因为在1<<20中有很多状态是无效的,所以第一步是选择有效状态,存到cnt[]数组中 二、dp[i][j]表示到第i行的状态cnt[j]所能得到的最大值,状态转移方程dp[i][j] = max(dp[i][j],dp[i-1][k]) ,其中k满足c

hdu1171(母函数或多重背包)

题意:把物品分成两份,使得价值最接近 可以用背包,或者是母函数来解,母函数(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v) 其中指数为价值,每一项的数目为(该物品数+1)个 代码如下: #include<iostream>#include<algorithm>

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

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

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

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

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

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

【C++高阶】C++类型转换全攻略:深入理解并高效应用

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C++ “ 登神长阶 ” 🤡往期回顾🤡:C++ 智能指针 🌹🌹期待您的关注 🌹🌹 ❀C++的类型转换 📒1. C语言中的类型转换📚2. C++强制类型转换⛰️static_cast🌞reinterpret_cast⭐const_cast🍁dynamic_cast 📜3. C++强制类型转换的原因📝