void fib(int n,int*s); int main(){intx;fib(7,&x); printf(\"\\nx=%d\\n\",x); return(0);
void fib(int n,int*s) {int fl,f2;
if(n==1lin==2)*s=1; else{fib(n一1,&f1); fib(n一2,8.f2); *s=f1+f2; }
}
四、编程题
34、从键盘输入一个字符串a,并在a串中的最大元素后边插入字符串b(b[]= \"ab\")。试编程。
35、定义一个带参数的宏,用来判断一个字符是否为字母。编写主函数,从键盘输入一个字符,调用上述宏输出判断结果。
参
一、填空题
1、【1】.c【2】.obj【3】.exe 2、3
【1】3、a[0]=1 a[1]=2
【2】单向值传递,不能返回交换后的值。 4、【1】%If【2】num.x
5、a=3囗b=7x=8.5囗y=71.82c1=ADc2=a<回车> (注:答案中的囗代表空格) 6、【1】12【2】4 7、【1】15【2】60
8、【1】process(a,n,arr_add); 【2】process(a.n,odd_add); 【3】process(a,n,arr_ave); 9、hELLO!
10、x=xy-2或x=x*(y-2)
二、选择题
11、A 12、A
13、D 14、A
15、A 16、B 17、C 18、D 19、C 20、D 21、D 22、A 23、B 24、C 25、D
三、读程序填空
26、c:dec=120,oct=170,hex=78,ASCII=x
27、*d(1)=-2*d(2)=囗-2*d(3)=-2囗**d(4)=177776*d(5)=囗177776*d(6)=177776囗* (注:答案中的囗代表空格)
28、【1】tolower(c)或c=c+32【2】c=c-23 29、【1】n=1【2】2.0*s 30、【1】y32、【1】m=n【2】m【3】m/=1033、【1】计算要波拉契级数第七项的值【2】x=13
四、编程题
34、#include #include int main(){char a[80],b[]=\"ab\",max; int i=1,j;
printf(\"Input a string\\n\"); gets(a); puts(a);
max=a[0];while(a[i]!='\\o') {if(a[i]>max) {max=a[];j=i;} i++; }
for(i=strlen(a)+2;i>j;i--) a[i]=a[i-2]; a[i+1]='a'; a[i+2]='b'; puts(a);
return 0; }
35、/*判断是否是字母*/
#include #define ISALPHA(ch)((ch>='A'&&ch<='Z')||(ch>='a'&&ch<='z '))?1:0 int main() {char c;
printf(\"Enter a letter:\"); scanf(\"%c”,8c);
if(ISAL.PHA(c))printf(\"%c is an alpha.\\n\",c); else printf(\"%cis not an alpha.\\n\",c); return 0; }