-
1有以下程序 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
开始考试点击查看答案 -
2有以下程序 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
开始考试点击查看答案 -
3有以下程序 # 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
开始考试点击查看答案 -
4有以下程序,其中函数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
开始考试点击查看答案 -
5有以下程序 #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数组中都没有字符串结束符,故长度都不能确定
开始考试点击查看答案 -
6有以下程序 # 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
开始考试点击查看答案 -
7有以下程序 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
开始考试点击查看答案 -
8以下程序的功能是进行位运算 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
开始考试点击查看答案 -
9有以下程序 #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
开始考试点击查看答案