C初阶测试

简介: C初阶测试

1 知识点

(1)当看到i++,++i等 要考虑一下前置还是后置,不要一味地只知道加一多思考。

(2)switch语句中的defaule语句可以不写

(3)C程序的基本组成单位是函数。

(4)注释想写哪里写哪里,但是不要写的奇奇怪怪。

(5)C语言每行可以写多条语句,但是我们习惯一行写一条语句。

(6)C语言本身没有输入输出语句,c语言的库函数,并不是官方提供的,是编译器的厂商提供的。

(7)在对一个c程序的编译过程中,是无法发现注释中的错误的。

(8)*p++ 是p++,再解引用,因为是后置++,所以使用再++,*p,然后++

(9)10|11, | 是按位或

(10)整数之间的变换 整形提升,浮点型之间的变换 算数转换 ,整形和浮点型之间 算数转换

2 求a的值

代码展示:

1. #include <stdio.h>
2. #include <stdlib.h>
3. int a = 1;
4. void test()
5. {
6.  int a = 2;
7.  a += 1;
8. }
9. int main()
10. {
11.   test();
12.   printf("%d\n", a);
13.   return 0;
14. }

函数体的局部变量a,出了函数就被销毁了,所以打印a的值为1全局变量。

3 求n的值

代码展示:

1. #include <stdio.h>
2. int main()
3. {
4.  int i = 0;
5.  int j = 0;
6.  int n = 0;
7.  for (i = 0, j = 0; (j = 123) && (i < 4); i++)
8.  {
9.    n++;
10.   }
11.   printf("%d", n);
12.   return 0;
13. }

注意:j的值被赋成123,而不是判断。所以n = 4.

4 求最大公倍数

代码1展示:

1. #include <stdio.h>
2. int main()
3. {
4.  int a = 0;
5.  int b = 0;
6.  scanf("%d %d", &a, &b);
7.  int c = (a > b) ? (a) : (b);
8.  int i = c;
9.  while (i % a != 0 || i % b != 0)
10.   {
11.     i++;
12.   }
13.   printf("%d", i);
14.   return 0;
15. }

代码2展示:

1. #include <stdio.h>
2. int main()
3. {
4.  int a = 0;
5.  int b = 0;
6.  scanf("%d %d", &a, &b);
7.  int i = 1;
8.  while ((i * a) % b != 0)
9.  {
10.     i++;
11.   }
12.   printf("%d", i * a);
13.   return 0;
14. }

思路: 一个数(从1开始)乘以a,然后整除b,就是最小公倍数。

5 倒置字符串

将一句话的单词倒置,标点不倒置。例如: I like beijing. 经过函数后为 beijing. like I

(以空格分隔)

代码展示:

1. #include <stdio.h>
2. #include <assert.h>
3. #include <string.h>
4. void reverse(char* left, char* right)
5. {
6.  assert(left && right);
7.  while (left < right)
8.  {
9.    char tmp = *left;
10.     *left = *right;
11.     *right = tmp;
12.     left++;
13.     right--;
14.   }
15. }
16. int main()
17. {
18.   char arr[100] = { 0 };
19.   gets(arr);//输入
20.   int len = strlen(arr);//倒置
21.   char* start = arr;
22.   char* end = arr;
23.   while (*end != '\0')//单个单词逆序
24.   {
25.     while (*end != ' ' && *end != '\0')
26.     {
27.       end++;
28.     }
29.     reverse(start, end - 1);
30.     while (*end == ' ')
31.     {
32.       start = end + 1;
33.       end = end + 1;
34.     }
35.   }
36.   reverse(arr, arr + len - 1);//输出
37.   printf("%s", arr);
38.   return 0;
39. }

思路:先把每个单词逆序,空格不变,最后一个单词把标点符号带上,把标点符号看做是单词的一部分,然后集体逆序。

逆序单词  逆序一句话  ,都是在逆序字符串。

相关文章
|
5月前
|
人工智能 算法 编译器
C语言初阶测评题:测试你的基础知识和编程技能!!
C语言初阶测评题:测试你的基础知识和编程技能!!
57 1
|
存储 算法 安全
初阶C++——STL——string类、vector类和list类(使用方法+模拟实现+测试+思路分析)
Alexander Stepanov、Meng Lee 在惠普实验室完成的原始版本,本着开源精神,他们声明允许任何人任意运用、拷贝、修改、传播、商业使用这些代码,无需付费。唯一的条件就是也需要向原始版本一样做开源使用。 HP 版本--所有STL实现版本的始祖。
318 0
初阶C++——STL——string类、vector类和list类(使用方法+模拟实现+测试+思路分析)
SAP MM 初阶之供应商寄售采购模式下ERS功能的测试(二)
SAP MM 初阶之供应商寄售采购模式下ERS功能的测试(二)
SAP MM 初阶之供应商寄售采购模式下ERS功能的测试(二)
SAP MM 初阶之供应商寄售采购模式下ERS功能的测试(一)
SAP MM 初阶之供应商寄售采购模式下ERS功能的测试(一)
SAP MM 初阶之供应商寄售采购模式下ERS功能的测试(一)
|
23天前
|
网络协议 安全 测试技术
性能工具之emqtt-bench BenchMark 测试示例
【4月更文挑战第19天】在前面两篇文章中介绍了emqtt-bench工具和MQTT的入门压测,本文示例 emqtt_bench 对 MQTT Broker 做 Beachmark 测试,让大家对 MQTT消息中间 BenchMark 测试有个整体了解,方便平常在压测工作查阅。
123 7
性能工具之emqtt-bench BenchMark 测试示例
|
1月前
|
测试技术 C语言
网站压力测试工具Siege图文详解
网站压力测试工具Siege图文详解
29 0
|
17天前
|
机器学习/深度学习 数据采集 人工智能
【专栏】AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计
【4月更文挑战第27天】本文探讨了AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计。AI辅助工具利用机器学习、自然语言处理和图像识别提高效率,但面临数据质量、模型解释性、维护更新及安全性挑战。未来,AI将更注重用户体验,提升透明度,并在保护隐私的同时,通过联邦学习等技术共享知识。AI在软件测试领域的前景广阔,但需解决现有挑战。
|
6天前
|
SQL 测试技术 网络安全
Python之SQLMap:自动SQL注入和渗透测试工具示例详解
Python之SQLMap:自动SQL注入和渗透测试工具示例详解
17 0
|
8天前
|
测试技术 API
探索软件测试中的自动化工具与挑战
本文探讨了软件测试领域中自动化工具的应用与挑战。通过分析目前主流的自动化测试工具,探讨了其在提高测试效率、减少人工成本、增强测试覆盖率等方面的优势。然而,自动化测试也面临着诸如脆弱性、维护成本高等挑战。最后,提出了一些应对挑战的建议,以期为软件测试领域的自动化工作提供一些启示。
14 1
|
12天前
|
机器学习/深度学习 人工智能 测试技术
提升软件测试效率与准确性的策略与工具
【5月更文挑战第2天】 在软件开发生命周期中,测试阶段是确保产品质量的关键。然而,传统的测试方法往往耗时且容易出错。本文将探讨一系列现代软件测试策略和工具,旨在提高测试效率和准确性。我们将分析自动化测试框架、持续集成(CI)、测试驱动开发(TDD)以及人工智能(AI)在测试中的应用,并讨论如何结合这些技术和方法来优化测试流程。

热门文章

最新文章