论文下载链接:论文|学期1 | 2017-18
时间: 3小时
总分数:100
注意:-
- 共分为三个部分。 A节为20分, B节为30分, C节为50分。
- 尝试所有问题。每个问题都带有标记。
- 必要时假定合适的数据。
1.尝试所有零件:(2 * 10 = 20)
- 为什么在C语言中使用do-while循环?另外,告诉您您知道的任何属性吗?在以下情况下,使用C语言中的do-while循环:
- 当循环的主体至少要执行一次时。例如,在编写菜单驱动程序时,该菜单至少要显示一次。
- 当循环要由出口控制时。对于Entry控制的循环,for和while循环是首选。
do-while循环的属性为:
- do-while循环经过后期测试或退出测试。
- do-while循环的主体至少执行一次。
- 条件检查是在循环体执行结束时进行的。
- C语言中的break and continue关键字是什么意思?解释。 Break: Break关键字是一个跳转语句,用于终止循环或切换用例。一旦在循环或切换案例中遇到break关键字,执行就会在该处停止,控制权立即从该点返回到循环或切换后的第一条语句。句法:
break;
继续:继续也是跳转语句,就像break关键字一样。 Continue关键字与break关键字相反。而不是终止循环,它强制执行循环的下一个迭代。当在循环中执行continue语句时,continue语句之后的循环内代码将被跳过,并且循环的下一个迭代将开始。句法:
continue;
- 定义模块化编程方法的概念?
模块化编程是将计算机程序细分为单独的子程序的过程。模块是一个单独的软件组件。它通常可以与系统的其他组件一起用于各种应用程序和功能。- 一些程序可能具有数千行或数百万行,并且要管理此类程序变得非常困难,因为程序中可能存在太多语法错误或逻辑错误,因此要管理这种类型的程序,需要采用模块化编程的概念。
- 每个子模块都包含仅执行所需功能的一个方面所必需的内容。
- 模块化编程强调将大型程序分解为小问题,以提高代码的可维护性,可读性,并使程序便于将来进行任何更改或更正错误。
- 解释函数定义和函数声明之间的区别。
函数声明:函数的声明是告知编译器的以下信息:- 函数名称
- 作为参数的值的类型和数量
- 函数的返回类型
因此,声明提供了有关函数属性的详细信息。在此函数声明中带有分号“;”在最后。句法:
return_type function_name(arguments);
例子:
int function1(int); char function2(int); void function3(); . . etc
函数定义:一个函数的定义是其中函数的主体限定的段。该函数的主体包括有关在此函数执行的操作的详细信息。在操作之后,它还包括return语句(如果有)。句法:
return_type function_name(arguments) { body of the function }
例子:
void function1(int x) { printf("%d", x); }
- 设计流程图和算法以在三个数字中找到最大的数字。
查找三个数字中最大的算法:
1. Start 2. Read the three numbers to be compared, as A, B and C. 3. Check if A is greater than B. 3.1 If true, then check if A is greater than C. 3.1.1 If true, print 'A' as the greatest number. 3.1.2 If false, print 'C' as the greatest number. 3.2 If false, then check if B is greater than C. 3.1.1 If true, print 'B' as the greatest number. 3.1.2 If false, print 'C' as the greatest number. 4. End
找到三个数字中最大的一个流程图:
- 什么是运算符?还用示例定义至少三个运算符。
运算符是任何编程语言的基础。我们可以将运算符定义为符号,以帮助我们对操作数执行特定的数学和逻辑计算。换句话说,我们可以说运算符对操作数进行运算。例如,考虑以下语句:
c = a + b;
这里,“+”是被称为加法运算符和“a”和“b”是操作数运算符。加法运算符告诉编译器将操作数“ a”和“ b”相加。
C / C++具有许多内置的运算符类型,它们可以分类为:
- 算术运算符:这些运算符用于对操作数执行算术/数学运算。示例:(+,-,*,/,%,++,–)。例子:
int sum = 10 + 20;
- 关系运算符:关系运算符用于比较两个操作数的值。例如:检查一个操作数是否等于另一个操作数,一个操作数是否大于另一个操作数,等等。一些关系运算符是(==,> =,<=)。例子:
if(10 == 20) { }
- 赋值运算符:赋值运算符用于将值分配给变量。赋值运算符的左侧操作数是一个变量,而赋值运算符的右侧操作数是一个值。右侧的值必须与左侧的变量的数据类型相同。否则编译器将引发错误。例子:
int a = 10;
- 算术运算符:这些运算符用于对操作数执行算术/数学运算。示例:(+,-,*,/,%,++,–)。例子:
- 以下程序的输出是什么?
main() { int a = 300, b, c; if (a >= 400) b = 300; c = 200; printf("\n%d %d", b, c); }
上面程序的输出:
32765 200
说明:由于a = 300的值不是(> = 400),因此if条件产生false,语句’b = 300;’被跳过。结果,b中剩下的值只是一个“垃圾值”。
但是语句“ c = 200;”在循环之外。因此无论如何它都会被执行。因此,“ c”的值变为“ 200”。
因此,输出为“ a_garbage_value 200”。 - 以下程序的输出是什么?
#define PRODUCT(n) n* n void main() { int j; j = 64 / PRODUCT(4); printf("%d", j); }
上面程序的输出:
64
说明:由于’PRODUCT’是宏,因此’PRODUCT(4)’的值由’PRODUCT’的定义(即’n * n’)代替。因此,评估如下:
j = 64/PRODUCT(4); = 64 / 4 * 4; = 16 * 4; j = 64;
- 编写一个函数,以在不使用第三个变量的情况下互换两个变量的两个值。
所需程序是:// C program to swap two values // without using a third variable #include
// Function to swap two numbers // without using a third variable void swap(int* xp, int* yp) { // x now becomes 15 *xp = *xp ^ *yp; // y becomes 10 *yp = *xp ^ *yp; // x becomes 5 *xp = *xp ^ *yp; } // Driver code int main() { int x = 10, y = 5; // swap the values swap(&x, &y); // Print the swapped values printf("After Swapping: x = %d, y = %d", x, y); return 0; } - 以下两个#include指令之间有什么区别:
- #include“文件名”
- #包括
当我们使用include指令时,包含的头文件的内容(经过预处理)将被复制到当前文件中。
尖括号<和>指示预处理器在保存所有头文件的标准文件夹中查找。用双引号“和”指示预处理器查看当前文件夹(当前目录)。