c语言经典习题6答案.docx
- 文档编号:7281516
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:17
- 大小:18.33KB
c语言经典习题6答案.docx
《c语言经典习题6答案.docx》由会员分享,可在线阅读,更多相关《c语言经典习题6答案.docx(17页珍藏版)》请在冰豆网上搜索。
c语言经典习题6答案
CLanguageExercise–Chapter6
题目:
了解如何从命令行获取参数。
从命令行获取参数后,按照相反的次序打印出来。
exam45
了解利用指针处理字符串,实现strlen(char*s)函数,计算一个字符串中的字符个数。
exam46
了解利用指针处理字符串,实现strcpy(char*s1,char*s2,intn)函数,把s2中的前n个字符拷贝到s1中。
exam47
了解指针数组。
用程序对China,America,Japan,Russa,Franch这5个字符串进行从小到大排序。
exam48
了解函数指针。
把第三章实践课的计算器软件中操作符所对应的函数,用函数指针来引用。
exam49
了解函数指针。
实现2个函数,calcA(chara,charb),calcB(inta,intb,intc)通过命令行获取第一个参数,如果是0,调用calcA对命令行输入的第二个字符和第三个字符进行求和,如果是0,调用calcB对命令行输入的第二个整数、第三个整数和第四个整数进行求和。
exam50
了解函数指针作为函数参数。
把指向函数的指针作为参数传递给一个函数,函数a设置一个全局变量k=100,函数b有2个参数,一个是指向函数的指针,一个intcounter,函数b返回把k+counter的值。
exam51
了解函数指针作为数组元素。
从标准输入接收0-5中的一个数字,不同的数字调用不同的函数,每个函数都打印出当前的数字值和总共输入数字的次数。
exam52
/*----------------exam45---------------*/
#include
intmain(intargc,char**argv)
{
inti;
for(i=0;i printf("Argument%dis%s.\n",i,argv[i]); intj=0,n=0; charb[80]; while(argv[1][j]! ='\0') { n++; j++; } for(j=0;j b[n-1-j]=argv[1][j]; b[n]='\0'; printf("Argumentis%s.\n",b); return0; } /*--------------------exam50------------------*/ #include"stdio.h" intcalcA(chara,charb){intz=(a+b);return(z);} intcalcB(inta,intb,intc){return(a+b+c);} intmain(intargc,char**argv) { inti,j=0,k1=0,k2=0,n=0; charc[100],b[2]; inta[3];intv[80]={0}; int(*p)(chara,charb); int(*q)(inta,intb,intc); p=calcA; q=calcB; for(i=0;i printf("Argument%dis%s.\n",i,argv[i]); for(i=1;i while(argv[i][j]! ='\0') { v[i]++; j++; } for(i=1;i for(j=0;j<=v[i];j++) c[n++]=argv[i][j]; for(j=1;j { if(c[j]>='0'&&c[j]<='9') { if(k1<=2) a[k1++]=c[j]-'0'; } elseif(c[j]>='a'&&c[j]<='z') { if(k2<=1) b[k2++]=c[j]; } else{} } for(i=0;i<3;i++) printf("a[%d]is%4d\t",i,a[i]); printf("\n"); for(i=0;i<2;i++) printf("b[%d]is%c\t",i,b[i]); printf("\n"); if(c[0]=='0')printf("%d\n",(*p)(b[0],b[1])); elseprintf("%d\n",(*q)(a[0],a[1],a[2])); return0; } /*------------头文件1.h--------------*/ voidexam38(); voidexam40(); voidexam41(); voidexam42(); voidexam43(); voidexam44(); voidpaixu(inta[10]);//排序函数 char*cmp(chara[80],charb[80]);//比较函数 char*cat(chara[80],charb[80]);//连接函数 voidexam46(); intStrlen(char*s); char*Strcpy(char*s1,char*s2,intn); voidexam47(); voidexam48(); voidexam52(); voidsta1(int*a); voidsta2(int*a); voidsta3(int*a); voidsta4(int*a); voidsta5(int*a); intdefine_(); intb(intdefine_(),intcounter); voidexam51(); voidadd(); voidsub(); voidmul(); voiddiv(); voidmod(); voidexam50(); #include"stdio.h" #include"string.h" #include"windows.h" #include"conio.h" #include"math.h" #include"1.h" /*--------------------------------*/ voidexam38() { inti=32; int*p; printf("%d\t%d\n",&i,&p); p=&i; printf("%d\n",p); printf("%d\t%d\n",i,*p); *p=100; printf("%d\t%d\n",i,*p); } /*--------------------------------*/ voidpaixu(inta[10]) { inttemp; for(inti=0;i<9;i++) for(intj=0;j<9-i;j++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 经典 习题 答案