C/C++ 棘手程序

2024 年 8 月 28 日 | 阅读 6 分钟

在本教程中,我们将探索 C/C++ 编程语言中一些令人惊叹的技巧性程序。

在我们的日常生活中,我们可能会遇到各种令人困惑的程序,可能是在技术面试、编码评估或 C/C++ 课程中。

以下列出了一些这些程序

1. 用于打印应被双引号(" ")包围的文本的代码。

我们在 C++ 编程语言中使用引号来表示要打印的文本的开始和结束。因此,打印引号“需要使用特殊的转义序列。要在 C++ 中打印引号,我们将使用“符号。

C++ 程序

输出

" javaTpoint "
  • 时间复杂度为 O (1)
  • 辅助空间为 O (1)

2. 不使用算术或比较运算符来确定两个数字是否相等。

按位异或运算符(^)是最简单的解决方案。请记住,对于两个相等的数值,XOR 运算符给出 0。为了处理这个问题,我们将使用 XOR 运算符。

C 语言程序

C++ 程序

输出

a is equal to b
  • 时间复杂度为 O (1)
  • 辅助空间为 O (1)

3. 不使用分号,打印 N 以内的所有自然整数。使用了递归调用 main 函数的概念。

C++ 程序

输出

9 10 11 12 13 14 15
  • 时间复杂度为 O (1)
  • 辅助空间为 O (1)

4. 交换两个变量的值而不使用第三个变量的代码。

C++ 程序

输出

A : 30
B : 15
  • 时间复杂度为 O (1)
  • 辅助空间为 O (1)

5. 不使用循环或条件,编写一个程序来识别两个值中的最大值和最小值。

最基本的技巧是-

C++ 程序

输出

maximum no = 35
minimum no = 26
  • 时间复杂度为 O (1)
  • 辅助空间为 O (1)

6. 在 C 中,使用位非(~)运算符输出无符号 int 的最大值。

下面是我们如何使用位非运算符查找无符号 int 的最大值

C 语言程序

C++ 程序

输出

Maximum value : 4294967295
  • 时间复杂度为 O (1)
  • 辅助空间为 O (1)

7. 在不依赖“+”运算符的情况下计算两个数字的和。这是一个简单的数学方法。我们已经知道 a + b = - (-a-b)。所以这对我们来说将是一个技巧。

C++ 程序

输出

18
  • 时间复杂度为 O (1)
  • 辅助空间为 O (1)

8. 在 if 块内,编写代码来检查条件。

C++ 程序

输出

Hello World
  • 时间复杂度为 O (1)
  • 辅助空间为 O (1)

9. 不使用“/”运算符将整数除以 4 的代码。右移运算符(“>>”)是除以 4 的整数的有效方法之一。

C++ 程序

输出

1
  • 时间复杂度为 O (1)
  • 辅助空间为 O (1)

10. 验证计算机字节序的代码。

C 语言程序

C++ 程序

输出

THE MACHINE IS LITTLE ENDIAN
  • 时间复杂度为 O (1)
  • 辅助空间为 O (1)

结论

C 和 C++ 是用于开发程序、游戏、数据库系统和操作系统等的编程语言。虽然 C 和 C++ 的名称相似,但它们的特性和应用却不尽相同。C 是一种过程式编程语言,不支持对象或类。C++ 是 C 的增强版本,支持面向对象编程。让我们看看 C 和 C++ 编程语言之间的区别。

Dennis Ritchie 于 1972 年在贝尔实验室发明了它。这种与机器无关的语言旨在用于 Unix 平台工具的开发。它现在被广泛应用于各种应用中。

它是标准 C 语言的扩展,增加了对面向对象编程和其他特性的支持。C++ 是一种接近低级语言的计算机语言,被认为是速度最快的语言之一。C++ 是一种用于开发复杂、高性能程序的编程语言。