2

c语言计算器程序编写,用c语言 (2022年秋季CS50)

关于【c语言计算器程序编写】,用c语言 ,今天小编给您分享一下,如果对您有所帮助别忘了关注本站哦。

  • 内容导航:
  • 1、c语言计算器程序编写:用c语言 (c++) 编写计算器程序
  • 2、2022年秋季CS50 Lecture1 C

1、c语言计算器程序编写:用c语言 (c++) 编写计算器程序

我们平时进行数学运算都是用计算器完成的,那么如何用C语言编写一个计算器呢?下面小编给大家分享一下。

工具/材料

Dev C++

操作方法

首先我们需要在Dev C++软件中创建一个C语言项目,项目类型选择控制台程序,如下图所示

接下来我们在项目下面新建C语言文件,如下图所示

然后我们在C文件中写入计算器逻辑代码,主要是让用户输入计算方式,然后程序自动计算,如下图所示

接下来我们点击运行菜单,选择下拉菜单中的运行选项,如下图所示

最后在弹出的界面中我们输入要计算的公式,程序就会自动计算,如下图所示

2、2022年秋季CS50 Lecture1 C

注意左边有一个文件浏览器,你可以在那里找到你的文件。 此外,请注意中间有一个名为文本编辑器的区域,你可以在这里编辑程序。 最后,有一个命令行界面,称为CLI命令行或终端窗口,我们可以在那里向云中的计算机发送命令。

  • 我们可以通过在终端窗口中输入code hello.c来构建你的第一个C语言程序。 注意,我们故意小写了整个文件名,并包含了.c扩展名。 然后,在出现的文本编辑器中,编写如下代码:

#include <stdio.h> int main(void) { printf("hello, world"); }

请注意,上面的每个字符都有其用途。如果输入错误,程序将无法运行。

  • 在终端窗口点击返回,你可以通过执行make hello来编译你的代码。 注意我们省略了.c。make是一个编译器,它会查找hello.c文件,并将其转换为一个名为hello的程序。 如果执行此命令没有出现错误,则可以继续。 如果不是,请再次检查你的代码,以确保它与上面的匹配。
  • 现在,输入./hello,你的程序将执行显示hello, world。
  • 现在,打开左边的文件资源管理器。 你会注意到现在有一个名为hello.c的文件和另一个名为hello的文件。hello.c能够被编译器读取:它是你的代码存储的地方。hello是一个可执行文件,你可以运行,但不能被编译器读取。
  • 让我们更仔细地查看我们的代码:

#include <stdio.h> int main(void) { printf("hello, world

"); }

注意,我们的代码使用语法高亮显示。

Functions


  • 在Scratch中,我们利用say块在屏幕上显示任何文本。 实际上,在C语言中,我们有一个叫做printf的函数,它就是做这个的。
  • 注意,我们的代码已经调用了这个函数:

printf("hello, world");

注意,这里调用了printf函数。传递给printf的参数是hello, world。代码的语句以;结束。

  • C语言编程中一个常见的错误是省略分号。 修改你的代码如下:

#include <stdio.h> int main(void) { printf("hello, world") }

注意分号现在不见了。

  • 在终端窗口中,运行make hello。 你将会遇到许多错误! 把分号放回正确的位置,再次运行make hello,错误就消失了。
  • 还要注意代码中的特殊符号。 尝试删除这些字符,并通过执行make hello重新创建你的程序。 打字的./hello在终端窗口,你的程序是如何改变的?
  • 将你的程序恢复到以下状态:

#include <stdio.h> int main(void) { printf("hello, world

"); }

注意分号和被恢复了。

  • 代码开头的语句#include <stdio.h>是一个非常特殊的命令,它告诉编译器你想使用library的功能,称为stdio.h。 这允许你使用printf函数。 你可以在Manual Pages上了解该库的所有功能。
  • 原来,CS50有自己的库,叫做cs50.h。 让我们在程序中使用这个库。

Variables


  • 记得在Scratch中,我们能够问用户“你叫什么名字?”,然后说“你好”,并附上那个名 字。
  • 在C语言中,我们可以做同样的事情。 修改你的代码如下:

#include <cs50.h>#include <stdio.h>int main(void){ string answer = get_string("What's your name? "); printf("hello, %s", answer);}

注意,#include <cs50.h>被添加到代码的顶部。get_string函数用于从用户处获取字符串。 然后,将变量answer传递给printf函数。%s告诉printf函数准备接收string。

  • answer是一个特殊的保存位置,我们称之为变量。answer的类型为string,并且可以包含其中的任何字符串。 有许多数据类型,如int、bool、char等。
  • 在终端窗口再次运行make hello,可以通过输入./hello来运行程序。 这个程序现在要求输入你的名字,然后用你的名字向你打招呼。

Conditionals


  • 你在Scratch中使用的另一个构建块是条件块。 例如,如果x大于y,你可能想做一件事。此外,如果这个条件不满足,你可能想做 其他事情。
  • 在终端窗口中,输入代码compare.c并编写如下代码:

#include <cs50.h>#include <stdio.h>int main(void){ int x = get_int("What's x? ") int y = get_int("What's y? ") if (x < y) { printf("x is less than y") }}

注意,我们创建了两个变量,一个是整型或整数x,另一个是y。这些变量的值是使用get_int函数填充的。

  • 你可以在终端窗口中执行make compare,然后执行./compare来运行你的代码。 如果你得到任何错误消息,请检查你的代码是否有错误。
  • 我们可以通过以下编码来改进你的程序:

#include <cs50.h>#include <stdio.h>int main(void){ int x = get_int("What's x? ") int y = get_int("What's y? ") if (x < y) { printf("x is less than y"); } else if (x > y) { printf("x is greater than y"); } else { printf("x is equal to y"); }}

注意,所有可能的结果现在都被考虑进去了。

  • 你可以重新创建并重新运行你的程序并对其进行测试。
  • 考虑另一种名为char的数据类型,我们可以通过在终端窗口中输入code agree.c来启动一个新程序。在文本编辑器中,编写如下代码:

#include <cs50.h>#include <stdio.h>int main(void){ // Prompt user to agree char c = get_char("Do you agree? "); // Check whether agreed if (c == 'Y' || c == 'y') { printf("Agreed.

"); } else if (c == 'N' || c == 'n') { printf("Not agreed."); }}

注意,单引号用于单个字符。 此外,请注意==确保某些东西等于另一些东西,而单个等号在c中具有非常 不同的功能。最后,请注意||有效地表示

  • 你可以在终端窗口中输入make agree,然后输入./agree来测试你的代码。

Loops


  • 我们还可以在C程序中利用Scratch中的循环构建块。
  • 在终端窗口中,输入code meow.c,并编写如下代码:

#include <stdio.h>int main(void){ printf("meow"); printf("meow"); printf("meow");}

注意,这与预期的一样,但有机会进行更好的设计。

  • 我们可以通过如下修改你的代码来改进我们的程序:

#include <stdio.h>int main(void){ int i = 0; while (i < 3) { printf("meow

"); i++; }}

注意,我们创建了一个名为i的int,并将其赋值为0。 然后,我们创建一个while循环,只要i < 3就会运行。 然后,循环运行。 每次使用i++语句将1添加到i时。

  • 类似地,我们可以通过如下修改我们的代码来实现各种倒计时:

#include <stdio.h>int main(void){ int i = 3; while (i > 0) { printf("meow"); i--; }}

注意计数器i是从3开始的。 每次循环运行,计数器都会减少1。一旦计数器小于零,它将停止循环。

  • 我们可以使用for循环进一步改进设计。 修改你的代码如下:

#include <stdio.h>int main(void){ for (int i = 0; i < 3; i++) { printf("meow"); }}

注意,for循环包含三个参数。 第一个参数int i = 0从0开始计数器。 第二个参数i < 3是被检查的条件。 最后,参数i++告诉循环每次运行时加1。

  • 我们甚至可以使用以下代码永远循环:

#include <cs50.h>#include <stdio.h>int main(void){ while (true) { printf("meow"); }}

注意,true总是这样。 因此,代码将始终运行。 运行此代码将使你失去对终端窗口的控制。 你可以通过按键盘上的control-C来打破无穷大。

Linux and the Command Line


  • Linux 是一种操作系统,可以通过VS Code终端窗口中的命令行访问。
  • 我们可能使用的一些常见的命令行参数包括:
  • cd, 用于更改当前目录(文件夹)
  • cp, 用于复制文件和目录
  • ls, 用于列出目录中的文件
  • mkdir, 用于创建目录
  • mv, 用于移动(重命名)文件和目录
  • rm, 用于删除文件
  • rmdir,用于删除目录
  • 最常用的是ls,它将列出当前目录或目录中的所有文件。 继续,在终端窗口中键入ls并按enter键。 你将看到当前文件夹中的所有文件。
  • 另一个有用的命令是mv,在这里可以将文件从一个文件移动到另一个文件。 例如,你可以使用这个命令将Hello.c(注意大写的H)重命名为hello.c,输入mv Hello.c hello.c。
  • 你也可以创建文件夹。 你可以输入mkdir pset1创建一个名为pset1的目录。
  • 你可以使用cd pset1来改变你的当前目录为pset1。

Mario


  • 我们今天讨论的所有内容都集中在作为程序员工作的各种构建模块上。
  • 下面的内容将有助于你在本课程的总体问题集上的学习方向:如何处理与计算机科学相关的问题?
  • 想象一下,我们想模仿《超级马里奥兄弟》游戏的视觉效果。考虑到图中的四个问题块,我们如何创建大致表示这四个水平块的代码?

c语言计算器程序编写,用c语言 (2022年秋季CS50)

  • 在终端窗口中,键入code mario.c和代码如下:

#include <stdio.h>int main(void){ for (int i = 0; i < 4; i++) { printf("?"); } printf("");}

请注意,这里是如何使用循环打印四个问号的。

  • 类似地,我们可以应用相同的逻辑来创建三个垂直块。

c语言计算器程序编写,用c语言 (2022年秋季CS50)

  • 要完成此操作,请按如下方式修改代码:

#include <stdio.h>int main(void){ for (int i = 0; i < 3; i++) { printf("#"); }}

请注意如何使用循环打印三块垂直砖块。

  • 如果我们想结合这些想法来创建一组三乘三的砖块呢?

c语言计算器程序编写,用c语言 (2022年秋季CS50)

  • 我们可以遵循上面的逻辑,结合相同的想法。按如下方式修改代码:

#include <stdio.h>int main(void){ for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { printf("#"); } printf(""); }}

请注意,一个循环位于另一个循环的内部。第一个循环定义要打印垂直行。每行打 印三列。每行之后,都会打印一行。

  • 如果我们想确保块的数量是常量,即不可更改的,那会怎么样?按如下方式修改 代码:

int main(void){ const int n = 3; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { printf("#"); } printf("

");}

注意n现在是一个常数。它永远无法改变。

  • 如本课程前面所示,我们可以让代码提示用户输入网格的大小。按如下方式修改代码:

#include <cs50.h>#include <stdio.h>int main(void){ int n = get_int("Size: "); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { printf("#"); } printf(""); }}

请注意,get_int用于提示用户。

  • 编程中的一条一般建议是,永远不要完全信任用户。他们可能会犯错误,在不应该 的地方键入错误的值。我们可以通过检查以确保用户的输入满足我们的需求来保护 我们的程序不受不良行为的影响。按如下方式修改代码:

#include <cs50.h>#include <stdio.h>int main(void){ int n; do { n = get_int("Size: "); } while (n < 1); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { printf("#"); } printf("

"); }}

请注意,在用户的输入为1或更大之前,如何持续提示用户输入大小。

Comments


  • 注释是计算机程序的基本组成部分,你可以在其中为自己和可能与你合作的其他人 留下关于你的代码的解释性注释。
  • 你为本课程创建的所有代码都必须包含健壮的注释。
  • 通常,每条注释只有几个字或更多,为读者提供了一个了解特定代码块中发生的事 情的机会。此外,当你以后需要修改代码时,这些注释会提醒你。
  • 注释包括在代码中放置//,然后是注释。按如下方式修改代码以集成注释:

#include <cs50.h> #include <stdio.h> int main(void) { // Get size of grid int n; do { n = get_int("Size: "); } while (n < 1); // Print grid of bricks for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { printf("#"); } printf("

"); } }

请注意每个注释如何以//开头。

Abstraction


  • 抽象是一种简化代码的艺术,它可以处理越来越小的问题。
  • 查看你的代码,你可以看到我们代码中的两个基本问题是如何获取网格大小打印砖网格
  • 查看你的代码,你可以看到我们代码中的两个基本问题是如何获取网格大小和打印 砖网格。

#include <cs50.h> #include <stdio.h> int get_size(void); void print_grid(int n); int main(void) { int n = get_size(); print_grid(n); } int get_size(void) { int n; do { n = get_int("Size: "); } while (n < 1); return n; } void print_grid(int n) { for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { printf("#"); } printf(""); } }

请注意,我们现在有三个函数。首先,我们有一个main函数,它调用另外两个函 数get_size和print_grid。其次,我们有一个名为get_size的第二个函数,它包 含了之前完成此任务所需的确切代码。第三,我们有另一个名为print_grid的函数,用于打印网格。因为我们抽象了程序中的基本问题,所以我们的main函数很短。

本文关键词:用c语言编写动态烟花,用c语言编写的代码程序,用c语言编写动态爱心,用c语言编写九九乘法表,用c语言输出helloworld。这就是关于《c语言计算器程序编写,用c语言 (2022年秋季CS50)》的所有内容,希望对您能有所帮助!

本文来自网络,不代表本站立场。转载请注明出处: https://tj.jiuquan.cc/a-2050328/
1
上一篇 关于宪法的名言,有关宪法的名言有哪些(100条经典法律格言)
下一篇 史学双璧是指什么,史论双璧是什么(被称为"史学双璧"之一)

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: alzn66@foxmail.com

关注微信

微信扫一扫关注我们

返回顶部