-
1有以下程序 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
开始考试点击查看答案 -
2有以下程序 # 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); }程序运行后的输出结果是( )。
A.abcdefg
B.gfedcba
C.gbcdefa
D.abedcfg
开始考试点击查看答案 -
3有以下程序,其中函数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
开始考试点击查看答案 -
4有以下程序 #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数组中都没有字符串结束符,故长度都不能确定
开始考试点击查看答案 -
5有以下程序 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
开始考试点击查看答案 -
6有以下程序 # 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
开始考试点击查看答案 -
7有以下程序 # 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=&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
开始考试点击查看答案 -
8有以下程序 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
开始考试点击查看答案 -
9以下程序的功能是进行位运算 main() { unsigned char a, b; a=7^3; b= ~4 & 3;printf("%d %dn",a,b); }程序运行后的输出结果是( )。
A.4 3
B.7 3
C.7 0
D.4 0
开始考试点击查看答案 -
10有以下程序 #include main() { FILE *fp; int i, k, n; fp=fopen("dat
A.dat", "w+"); for(i=1; i<6; i++) { fprintf(fp,"%d ",i); if(i%3==0) fprintf(fp,"n"); } rewind(fp); fscanf(fp, "%d%d", &k, &n); printf("%d %dn", k, n); fclose(fp); }程序运行后的输出结果是( )。A.0 0
B.123 45
C.1 4
D.1 2
开始考试点击查看答案