入门级C++——用简单程序,明白特点,实现入门(二)

目录

数据运算

题目:

代码实现:

代码分析:

结果:

进阶训练

代码实现:

结果:

附件


数据运算

编写C++代码要经常锻炼你的逻辑思维能力,我认为利用数学是一个很不错的做法。接下来,我们先了解加减乘除的混合运算怎么在C++中呈现。

题目:

计算:\left ( -4{\frac{7}{9}}\right )-\left ( -3{\frac{1}{6}}{} \right )-\left ( -2\frac{2}{15} \right )+\left ( -6\frac{1}{10} \right )

代码实现:

#include <iostream>

template <typename T>
T calculateExpression(T a, T b, T c, T d, T e, T f, T g, T h, T i, T j, T k, T l) {
    return (-(a * c + b) / c) - (-(d * f + e) / f) - (-(g * i + h) / i) + (-(j * l + k) / l);
}

int main() {
    double result = calculateExpression(4.0, 7.0, 9.0, 3.0, 1.0, 6.0, 2.0, 2.0, 15.0, 6.0, 1.0, 10.0);
    std::cout << "Result: " << result << std::endl;

    return 0;
}

代码分析:

头文件不能少。

接下来就是编写模板函数。

计算复杂的混合运算,并且相同类型题目只是数字不同,我们就写模板函数来减少主函数代码复杂度,以便我们维护。那么我们怎么写模板函数呢?

在计算中的模板函数,我认为就是带有参数计算公式。我们先加上关键字,其实就是模板函数中的模板参数,比如例子中的T,可以是任何类型。(:模板参数T可以不使用,但是这样就会让代码变的复杂,因为参数的设定要指定数据类型,比如:单精度的参数a,你就要写成 int& a,如果你的参数很多的话,就需要每一个参数都要指定,并且参数不一定都是同一类型,因此利用T万能的指定,就简化了代码。)

然后开始让函数接受参数。(:T与参数之间要有空格。)

完成之后就编写公式,这个公式就是你怎么解释你要计算的式子,这个就靠你的数学功底。(:公式编写前一定要写return,它是将函数计算结果返回给调用者,如果没写这个会导致编译错误或者未定义的行为。)

主函数的编写就简单许多了,调用模板函数赋予每个参数确定的值就可以计算了,得出的结果就可以指定数据类型,也可以让计算机自动确认输出的结果数据类型。以下的就不必多说了。

结果:

:auto用于自动推导函数返回类型,根据实际情况推定输出结果数据类型,而不需要指定。

进阶训练

根据前一节我们可知要计算混合运算只要根据相应逻辑就可以完成对应题目的计算,但是我们也看到了前一节的局限性——计算一题就得更改代码中的对应参数数值,然后再启动计算。操作很麻烦,能否利用代码实现计算器计算对应混合应算呢?(:下节讨论输入不同值,不需要重新点击调试器就能计算不同参数值。)

答案是肯定的。

代码实现:

#include <iostream>

using namespace std;

template <typename T>
T calculateExpression(T a, T b, T c, T d, T e, T f, T g, T h, T i, T j, T k, T l) {
    return (-(a * c + b) / c) - (-(d * f + e) / f) - (-(g * i + h) / i) + (-(j * l + k) / l);
}

int main() {
    double a, b, c, d, e, f, g, h, i, j, k, l;
    cout << "Enter the values of a, b, c, d, e, f, g, h, i, j, k, l: ";
    cin >> a >> b >> c >> d >> e >> f >> g >> h >> i >> j >> k >> l;

    double result = calculateExpression(a, b, c, d, e, f, g, h, i, j, k, l);
    cout << "Result: " << result << endl;

    return 0;
}

此段代码就很好的实现了我输入相应参数数值,回车就能得出答案。代码中的头文件、模板函数就不再赘述。

主函数的逻辑就很简单了。首先定义一个mian函数,在函数中声明12个double类型的变量,用于存储我们输入的12个值;然后,在输入面板中显示cout中的内容,提示我们输入;cin表示输入;结果得出就调用模板函数来计算;最后将得出的结果显示在屏幕上。(:输入完成后回车得答案。)

结果:

附件

在上述分析中我们看到了定义和声明,这有什么不同呢?

在C++中声明和定义是不同的概念。明白的讲,前者只是告诉编译器这里有个函数、变量或者类的存在,没有具体的实现,而后者不同,不仅告诉编译器相关内容,并且有具体的实现。

在上述代码中我们就可以看到主函数就是定义的,大括号中的内容就是主函数的具体实现,而参数是声明的,只表明了参数的类型,没有具体实现。

举例来说:

int add(int a, int b); 这句代码就是函数声明

int add(int a, int b) { return a+b;} 这句代码就是函数定义

变量的定义与声明:

int x = 10;定义

extern int x;声明

:extern关键字是用于声明一个变量或者函数,表示该变量或者函数在其他文件中定义的,它告诉编译器变量或者函数的定义将在其他文件中找到,从而避免重复定义。)

  • 17
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 本章主要针对初学者,简要介绍了c/c++的基本语法和常见的编译错误。首先,介绍了程序的基本结构和常用的数据类型。c语言的基本语句包括赋值语句、条件语句和循环语句等,这些语句都可以组成程序的逻辑结构。接下来,介绍了函数的定义和调用,以及参数传递的方式。对于c++,还介绍了一些面向对象的概念,例如类、对象、成员函数等。同时,也提到了头文件和命名空间的使用方法。 在编程过程中,常常会出现各种编译错误,例如语法错误、类型不匹配、语义错误等,需要学会如何查看和解决这些错误。此外,还介绍了调试工具和各种常用的运算符和表达式,这些都是初学者必须掌握的基础知识。 总的来说,本章是关于c/c++快速入门的一篇简介性文章。虽然只是涉及到了基础的语法和知识点,但对于初学者而言是一个很好的起点。在学习过程中需要不断实践,积累经验,并不断深入了解更高级的编程技术和工具。 ### 回答2: C/C++是一种广泛使用的编程语言,它具有高效、灵活、可移植等特点,在各个领域得到广泛应用。C语言是C++语言的基础,在学习C++之前,需要先掌握C语言的基础知识。 本文介绍的是C/C++教程中的第章——快速入门C/C++。在这一章节中,我们将介绍C语言的基本语法、变量、运算符和流程控制语句等基础知识。以下是C语言的一些基本知识点。 C语言的基本语法: C语言程序由多个函数组成,其中一个函数必须命名为main(),程序从该函数开始执行。C程序中的语句以分号结束,注释使用“//”表示单行注释,“/* */”表示多行注释。 变量和数据类型: C语言中变量的定义格式为“数据类型 变量名”;数据类型包括基本类型和用户自定义类型。C语言中的基本类型有int类型、char类型、float类型和double类型等。其中,int类型表示整型,char类型表示字符型,float类型和double类型表示浮点型。 运算符: C语言中的运算符包括算术运算符、关系运算符、逻辑运算符等。例如,“+”表示加法运算符,“>=”表示大于等于运算符,“&&”表示逻辑与运算符。 流程控制语句: C语言中的流程控制语句包括if语句、switch语句、while语句、do-while语句和for语句等。这些语句可以根据条件执行相应的语句块。 总之,本章节的快速入门C/C++,具有基本语法、变量、运算符和流程控制语句等基础知识。初学者可以通过这些基础知识,轻松入门C/C++,为后续学习打下基础。同时,要注意编写代码的规范和逻辑性,才能更好的理解和使用C/C++语言。 ### 回答3: C语言是一门广泛使用的编程语言,具有高效、灵活、稳定等特点,被广泛应用于嵌入式系统、操作系统、驱动程序、多媒体应用等领域。学习C语言是程序员的必备技能之一。 第章的快速入门C/C++教程,主要介绍了C/C++语言的基础知识,重点是程序的结构和输入输出。其中程序结构包括函数、语句、变量、表达式等,而输入输出则包括scanf、printf、getchar和putchar等函数。 # 程序结构 程序结构是指程序的基本构成单元,包括函数、语句、变量、表达式等。C语言中的程序结构主要包含以下几个方面。 ## 函数 C语言中,函数是程序的基本组成单元。一个C程序可以由一个或多个函数组成,每个函数可以完成一个任务。函数的格式如下: ```c 返回类型 函数名(参数1, 参数2, ...){ // 函数体 return 返回值; } ``` 其中,返回类型指函数执行后的返回值类型;函数名是由程序员定义的,用于调用函数时识别函数;参数列表是函数的输入参数,可以有多个参数,每个参数由类型和变量名组成;函数体是函数要执行的代码块;return语句可以返回函数的执行结果。 ## 语句 语句是完成特定功能的一组指令。C语言中的语句包括赋值语句、条件语句、循环语句等。C语言中通常使用花括号来表示语句块。例如,下面是一个if语句的例子。 ```c if(条件){ // if语句块 }else{ // else语句块 } ``` 如果条件为真,则执行if语句块中的代码;否则执行else语句块中的代码。 ## 变量 变量是用于存储数据的一种容器。在C语言中,一个变量包括变量名、类型和值。变量名由程序员定义,用于识别变量;类型指变量的数据类型,如整型、字符型、实型等;值是存储在变量中的数据。变量的定义格式如下。 ```c 数据类型 变量名 = 值; ``` 例如,下面是一个整型变量的定义。 ```c int num = 10; ``` ## 表达式 表达式是由变量、运算符和常量组成的一个具有返回值的语句。C语言中的运算符分为算术运算符、关系运算符、逻辑运算符等,例如加号、减号、乘号、除号等。下面是一个简单的表达式。 ```c a = 5 + 6 * 3 / 2 - 1; ``` 这个表达式将计算5加6乘3除以2减1的值,并将结果赋给a变量。 # 输入输出 输入输出是程序中非常重要的部分,可以让程序与用户进行交互。C语言中有多种输入输出函数,其中一些最常用的是scanf、printf、getchar和putchar函数。 ## scanf函数 scanf函数用于从标准输入读取格式化数据,并将读取的数据存储到变量中。它的格式如下。 ```c scanf("格式控制字符串", 变量列表); ``` 其中,格式控制字符串指示scanf函数需要读取的数据类型和格式,变量列表指向要读取的变量。下面是一个scanf函数的例子。 ```c int num; scanf("%d", &num); ``` 这个代码段将从标准输入读取一个整数,并将其存储到num变量中。 ## printf函数 printf函数用于将格式化数据输出到标准输出。它的格式如下。 ```c printf("格式控制字符串", 参数列表); ``` 其中,格式控制字符串指示printf函数需要输出的数据类型和格式,参数列表包含要输出的变量和常量。下面是一个printf函数的例子。 ```c int num = 5; printf("num的值是%d\n", num); ``` 这个代码段将输出“num的值是5”。 ## getchar和putchar函数 getchar函数用于从标准输入读取一个字符,putchar函数用于将一个字符输出到标准输出。它们的用法非常简单,例如下面的代码将读取一个字符并将其转换成大写字母后输出。 ```c char c = getchar(); putchar(toupper(c)); ``` 以上就是第章中的快速入门C/C++教程的主要内容,包括程序结构和输入输出方面的基础知识。熟练掌握这些内容,对于学习C语言来说是非常重要的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜作

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值