位置:首页 > 题库频道 > 其它分类 > 计算机其它 > 二级二级C2005年9月全国计算机等级考试二级C语言笔试试题

有以下程序 # include void f(char *s, char *t) { char k; k=*s; *s=*t; *t=k; s++; t--; if (*s) f(s, t); } main() { char str[10]="abcdefg", *p ; p=str+strlen(str)/2+1; f(p, p-2); printf("%sn",str); }程序运行后的输出结果是( )。

发布时间:2024-07-09

A.abcdefg

B.gfedcba

C.gbcdefa

D.abedcfg

试卷相关题目

  • 1有以下程序,其中函数f的功能是将多个字符串按字典顺序排序 #include void f(char *p[], int n) { char *t; int i,j; for(i=0; i for(j=i+1; j if(strcmp(p[i],p[j])>0){ t=p[i]; p[i]=p[j]; p[j]=t; } } main() { char *p[5]={"abc","aabdfg","abbd","dcdbe","cd"}; f(p, 5); printf("%dn", strlen(p[1])); }程序运行后的输出结果是( )。

    A.2

    B.3

    C.6

    D.4

    开始考试点击查看答案
  • 2有以下程序 #include main() { char p[]={'a', 'b', 'c'}, q[10]={'a', 'b', 'c'}; printf("%d %dn", strlen(p), strlen(q)); }以下叙述中正确的是( )。

    A.在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3

    B.由于p数组中没有字符串结束符,长度不能确定;但q数组中字符串长度为3

    C.由于q数组中没有字符串结束符,长度不能确定;但p数组中字符串长度为3

    D.由于p和q数组中都没有字符串结束符,故长度都不能确定

    开始考试点击查看答案
  • 3有以下程序 void swap1(int c0[], int c1[]) { int t ; t=c0[0]; c0[0]=c1[0]; c1[0]=t; } void swap2(int *c0, int *c1) { int t; t=*c0; *c0=*c1; *c1=t; } main() { int a[2]={3,5}, b[2]={3,5}; swap1(a, a+1); swap2(&b[0], &b[1]); printf("%d %d %d %dn",a[0],a[1],b[0],b[1]); }程序运行后的输出结果是( )。

    A.3 5 5 3

    B.5 3 3 5

    C.3 5 3 5

    D.5 3 5 3

    开始考试点击查看答案
  • 4有以下程序 void sum(int a[]) { a[0] = a[-1]+a[1]; } main() { int a[10]={1,2,3,4,5,6,7,8,9,10}; sum(&a[2]); printf("%dn", a[2]); }程序运行后的输出结果是( )。

    A.6

    B.7

    C.5

    D.8

    开始考试点击查看答案
  • 5有以下程序 void sort(int a[], int n) { int i, j ,t; for (i=0; i for (j=i+1; j if (a[i] } main() { int aa[10]={1,2,3,4,5,6,7,8,9,10}, i; sort(aa+2, 5); for (i=0; i<10; i++) printf("%d,",aa[i]); printf("n"); }程序运行后的输出结果是( )。

    A.1,2,3,4,5,6,7,8,9,10,

    B.1,2,7,6,3,4,5,8,9,10,

    C.1,2,7,6,5,4,3,8,9,10,

    D.1,2,9,8,7,6,5,4,3,10,

    开始考试点击查看答案
  • 6有以下程序 float f1(float n) { return n*n; } float f2(float n) { return 2*n; } main() { float (*p1)(float),(*p2)(float),(*t)(float), y1, y2; p1=f1; p2=f2; y1=p2( p1(2.0) ); t = p1; p1=p2; p2 = t; y2=p2( p1(2.0) ); printf("%3.0f, %3.0fn",y1,y2); }程序运行后的输出结果是( )。

    A.8, 16

    B.8, 8

    C.16, 16

    D.4, 8

    开始考试点击查看答案
  • 7有以下程序 int a=2; int f(int n) { static int a=3; int t=0; if(n%2){ static int a=4; t += a++; } else { static int a=5; t += a++; } return t+a++; } main() { int s=a, i; for( i=0; i<3; i++) s+=f(i); printf("%dn", s); }程序运行后的输出结果是( )。

    A.26

    B.28

    C.29

    D.24

    开始考试点击查看答案
  • 8有以下程序 # include struct STU { int num; float TotalScore; }; void f(struct STU p) { struct STU s[2]={{20044,550},{20045,537}}; p.num = s[1].num; p.TotalScore = s[1].TotalScore; } main() { struct STU s[2]={{20041,703},{20042,580}}; f(s[0]); printf("%d %3.0fn", s[0].num, s[0].TotalScore); }程序运行后的输出结果是( )。

    A.20045 537

    B.20044 550

    C.20042 580

    D.20041 703

    开始考试点击查看答案
  • 9有以下程序 # include struct STU { char name[10]; int num; }; void f(char *name, int num) { struct STU s[2]={{"SunDan",20044},{"Penghua",20045}}; num = s[0].num; strcpy(name, s[0].name); } main() { struct STU s[2]={{"YangSan",20041},{"LiSiGuo",20042}},*p; p=&amp;s[1]; f(p->name, p->num); printf("%s %dn", p->name, p->num); }程序运行后的输出结果是( )。

    A.SunDan 20042

    B.SunDan 20044

    C.LiSiGuo 20042

    D.YangSan 20041

    开始考试点击查看答案
  • 10有以下程序 struct STU { char name[10]; int num; float TotalScore; }; void f(struct STU *p) { struct STU s[2]={{"SunDan",20044,550},{"Penghua",20045,537}}, *q=s; ++p ; ++q; *p=*q; } main() { struct STU s[3]={{"YangSan",20041,703},{"LiSiGuo",20042,580}}; f(s); printf("%s %d %3.0fn", s[1].name, s[1].num, s[1].TotalScore); }程序运行后的输出结果是( )。

    A.SunDan 20044 550

    B.Penghua 20045 537

    C.LiSiGuo 20042 580

    D.SunDan 20041 703

    开始考试点击查看答案
返回顶部