《C primer plus 第五版》

作者:Stephen Prata  出版社:人民邮电出版社

题目 题型
开发一个包含您需要使用的预处理器定义的头文件。 问答
两个数的调和平均数可用如下方法得到:首先对两数的倒数取平均值,最后再取倒数。使用#define指令定义一个宏“函数”执行这个运算。编写一个简单的程序测试该宏。 问答
极坐标用向量的长度和向量相对于x轴的逆时针转角来描述该向量。直角坐标用向量的x和y坐标来描述该向量(请参见图16.3)。编写程序,它读取向量的长度和角度(以度表示)然后显示x和y坐标。相关等式如下: 图16.3直角坐标和极坐标     要完 问答
ANSI库这样描述clock()函数:     #include<time.h>     clock_t clock (void);     clock_t是在time.h中定义的类型。clock()函数返回处理器时间,其 问答
编写一个函数。该函数接受下列参数:一个int数组的名称,数组大小和一个代表选取次数的值。然后函数从数组中随机选择指定数量的元素并打印它们。每个元素最多选择一次(模拟抽奖或挑选陪审成员)。另外,如果您的实现支持time()(在第12章中介绍)或其他类似函 问答
修改程序清单16.15,使其使用由struct names元素(在程序清单后定义)组成的数组,而不是使用double数组。使用较少元素并显式初始化数组为由合适名字组成的数组。 问答
下面是使用了可变函数的程序片断:   #include <stdio.h> #include <stdlib.h> #include <stdarg.h>   void show_ 问答
下面的几个组由一个或多个宏组成,宏的后面是使用宏的源代码。在每种情况下代码的结果如何?这些代码合法吗(假设其中的C变量已经声明)? a. #define FPM 5280  /* 每英里的英尺数  */      dist = FPM * miles; b 问答
修改下列代码的定义,使其更可靠。 #define NEW(X)X + 5     y = NEW(y);     bery = NEW(bery) * lob;     est = NEW(bery) / NEW(y);     nilp = l 问答
定义一个宏函数,该函数返回两个值中的较小值。 问答
定义宏EVEN_GT (X, Y),该宏在X为偶数并且大于Y时返回1。 问答
定义一个宏函数,用于打印两个整数表达式及其值。例如,若其参数为3+4和4*12,将打印出:3+ 4 is 7 and 4* 12 is 48 问答
创建#define语句完成下列功能: a. 创建一个值为25的命名常量。 b. 使SPACE代表空格字符。 c. 使PS()代表打印空格字符。 d. 使BIG(X)代表X的值加3。 e. 使SUMSQ (X, Y)代表X和 问答
定义一个宏,该宏按下列格式打印一个int变量的名字、值和地址: name: fop; value: 23; address: ff464016 问答
假设测试程序时要暂时跳过一个代码块,但不从文件中删除该代码块。然后完成这项工作? 问答
编写一段代码:如果已定义了宏PR_DATE,则打印执行预处理的日期。 问答
下面的程序有什么错误? #include <stdio.h> int main (int argc, char argv[ ]) {      printf ("The square root of %f 问答
假设scores是由1000个int值组成的数组,要按降序对该数组的值排序。您打算使用qsort( )和比较函数comp( )。 a. 如何正确调用qsort( )? b. 如何正确定义comp( )? 问答
假设data1是由100个double值组成的数组,data2是由300个double值组成的数组。 a. 调用memcmpy( )函数将data2中的前100个元素复制到data1中。 b. 调用memcmpy( )函数将data2中的最 问答