c语言2分析和总结.docx
字符数组和字符指针Charc3:定义了一个字符数组,包括3个字 符变量,分别是cO5c15c2Charc3=,a J b”c" ;Char c3;c0= a* b* ,c2="c"字符数组可以当做一个字符串来使用Char c5="abcde”Char *p;p=c;printf("s'c);玲 abcdeprintf(“c”,c1);9bprintf ("d;c1 );998A的ascii码值是65, a的ascii码值是97," 0"的ascii码值是48,依次类推printf(“c1*(p+1 );fbprintf("d'l *(p+1);398printf(“s”, p+2);3cde字符指针可以直接用字符串进行赋值:Char *p="abcde”;P就指向了这个字符串的首地址,即第一个 字符的地址Int m;Scanf("cT,&m);Printf("df(m);Char *p;p="abcdef”;Char c="12345678"Printfr%d,p1);98Printf("c”J(p+1);TbPrintf(“d”,*(c+1)1 字符” 2" 的 ascii 码值, 50Printf(“c”, 2"Printf("ld”,p);少字符串的首地址Printf("ld”, c+2);»° 3” 的地址Printf("s”,p+);abcdefPrintf("s”, c+2);9345678函数:一个C语言程序由一个或多个文件组成, 个文件由一个或多个函数组成。#include<stdio.h>#include<math.h> Void main()#include< stdio.h>: printf() ,scanf()函数的分类:库函数:编译系统事先定义好的函数,比方printf(),scanf()主函数:main(),一个c程序有且仅有一个主 函数自定义函数自定义函数的三步:声明,定义,调用#include<stdio.h>Void main()int max(int?int);Int x,y,z;Scanf("%d,%d,%d”,&x,&y,&z);Printf(“the maxis:=%d,max(max(x,y)?z);Int max(int a?intb)If(a>b)return(a);elesreturn(b);)以下程序中函数s。什的功能是对。数组中的数据进行 由大到小的排序void sort (int a jnt n)int izj,t; for(i=0;i<n-l ;i+)for (j=i+l;j<n;j+)if (a i <a j ) t=a i ;a i =a j ;a j =t;)main ()int aa 10=1,2,3,4,567,8,9,10,i;sort (&aa 3 ,5) ; for (i=0;i<10;i+) printf("%dz"zaa i ) ; printf ("n");)程序运行后的输出结果是A) 123,4,567,8,9,10,B) 10,9,8,7,6,5,4,3,2,1,C) 123,8,765,4,9,10,D) 1210,9,8,7,6,5,4,3,以下程序执行后的输出结果是void fund (inti);void func2 (inti);char st -'hello,friend!"void fund (int i) printf i ) ; if (i<3)i+=2;func2 (i) ;)void func2 (int i) printf ("c”,st i ) ; if (i<3)i+=2;funcl (i) ;)main ()inti=O;funcl (i) ;printf ("n") ; A) hellohelB) hlohim有以下程序int f (int n)if (n=l) return 1;else return f (n-1) +1;main ()int izj=0; for (i=l;i<3;i+) j+二f(1) ; printf ("%dnnzj);)程序运行后的输出结果是4A) 32B) 1以下程序的输出结果是int b=2;int func (int *q) b += *a; return (b) ; main ()int a=2, res=2;res + = func (&a);printf ("%d n",res);)4B)6 C) 8 D)10以下程序的输出结果是void reverse (int a ,intn)int izt; for(i=0;i<n/2;i+)t=a i ; a i =a n-l-i ;a n-l-i =t;)main ()int bl0=123,4,5,6,7,8,9,10; int i,s=0;reverse (b,8) ; for (i=6;i<10;i+) s+=b i ; printf ("%dn",s);A)22A) 1034 D)30有如下程序long fib (int n)(n-2);(n-2);if (n>2) return (fib (n-1) +fib else return (2);)main ()printf ("%dn",fib (3) ) ; 该程序的输出结果是A) 24B) 68递归调用:自己调用自己 现在要计算n的阶乘:n! n*(n-l)!(n-l)*(n-2)!(n-2)*(n-3)!(n-3)*(n-4)! 2*1!1!=1Int f(int n)(Int fa;|f(n=1 |n=0)fa=1;elsefa=n*f(n-1);return (fa);)Void main()