《C语言程序设计(第3版)——何钦铭》

作者:何钦铭 颜晖  出版社:中国电力出版社

题目 题型
要调用数学处理函数时,在#include命令行中应包含( )? 单选
对于以下递归函数f,调用f (4),其返回值为( )。 int f (int n) {   if (n)    return f (n -1) + n; else return n; 单选
执行下列程序: #define MA (x,y)  (x*y ) i=5; i=MA(i,i+1)-7; 变量i的值应为( )? 单选
宏定义"IHInIV 1b) a/b".经DIV (x+5,y-5)引用,替换展开后是( )? 单选
定义带参数的宏 单选
执行下面程序,正确的输出是()。 intx=5,y=7; void swap () {   int Z; z=x; x=y;  y=z int main (void) {   in 单选
下面说法中正确的是()。 单选
C语言的编译预处理功能主要包括[$##$]、[$##$]和[$##$]。 填空
执行完下列语句段后,i值为[$##$]。 int i; int f (int x) {  return( (x>0)?f(x -1)+f(x-2):1); } i=f (3); 填空
下列程序段A与B功能等价,请填写程序段B中相应语句。 程序段A: Int f(int n) {  if (n<= 1) return n; else return f (n-1)+f (n-2); } 填空
下面程序用于计算f(k , n)=1k+2k+…+nk,其中power(m , n )求mn。请填写程序中相应 语句。 # include <stdio.h> int power(int m , int n) {   填空
下列递归程序的输出结果为[$##$]。 #include <stdio.h> int fib(int g) {  switch(g){ case 0: return 0; case 1: case 2: return 2; } prin 填空
下列语句的运算结果为[$##$]。 #define F(x)  x - 2 #define D(x)  x * F(x) print f("%d,%d", D(3), D(D(3))) ; 填空
编写一个函数,利用参数传入一个3位数n,找出101~n间所有满足下列两个条件的数:它是完全平方数,又有两位数字相同,如144、676等,函数返回找出这样的数据的个数。试编写相应程序。 问答
递归求阶乘和:输入一个整数n(n>0且n10).求1!+2!+3!+...+n!。定义并调用函数fact (n)计算n!,函数类型是double。试编写相应程序。 问答
递归计算函数ack (m,n):输入m和n,编写递归函数计算Ackermenn函数的值: 试编写相应程序。 问答
递归实现求Fabonacci数列:用递归方法编写求斐波那契数列的函数,函数类型为整型,斐波那契数列的定义如下。试编写相应程序。    f(n) =f(n-2) +f(n-1) (n>1)其中f(0)=0,f(1) =1。 问答
递归实现顺序输出整数:输入一个正整数n,编写递归函数实现对其进行按位顺序输出。试编写相应程序。 问答
输入n (n<10)个整数,统计其中素数的个数。要求程序由两个文件组成,一个文件中编写main函数,另一个文件中编写素数判断的函数。使用文件包含的方式实现。试编写相应程序。 问答
三角形面积为:   area=sx(s-a)x(s-b)x(s-c)  g= (a+b+c)/2   其中a、b、c分别是三角形的3条边。请分别定义计算s和area的宏,再使用函数实现。比较两者在形式上和使用上的区别。 问答