计算机二级

有以下程序main(){ char a[]={ ′a′, ′b′, ′c′,′d′, ′\0′, ′f′, ′g′,′h′,′\0′}; int i,j; i=sizeof(a); j=strlen(a); printf("%d,%d\b",i,j);}程序运行后的输出结果是A.9,4 B.8,4 C.1,8 D.9,8

题目

有以下程序main(){ char a[]={ ′a′, ′b′, ′c′,′d′, ′\0′, ′f′, ′g′,′h′,′\0′}; int i,j; i=sizeof(a); j=strlen(a); printf("%d,%d\b",i,j);}程序运行后的输出结果是A.9,4 B.8,4 C.1,8 D.9,8

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下面程序的运行结果是()。includevoid delch(char *s){ int i,j;char*a;a=s;for(i=0,j=

下面程序的运行结果是( )。 #include<stdio.h> void delch(char *s) { int i,j; char*a; a=s; for(i=0,j=0;a[i]!='\0' ;i++) if(a[i]>='0' &&a[i]<='9') { s[j]=a[i]; j++;} s[j]='\0'; } main() { char*item="a34bc"; delch(item); printf("\n%s" ,item);}

A.abc

B.34

C.a34

D.a34bc


正确答案:B
解析:指针a通过数组元素下标来从头逐个的引用字符串item中的字符,判断不是0~9之间的数字时,就去掉这个字符,所以程序结束后,字符串item中就只剩下34两个字符了。注意:形参为指针变量时,实参和形参之间的数据传递。

第2题:

有以下程序includeincludevoidfun(char,*s[],intn){char*t;inti,j; for(i=

有以下程序 #include <stdio.h> #include <string.h> void fun(char,*s[],int n) { char *t; int i,j; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]:s[j];s[j]=t;} } main() { char *ss[]={"bcc","bbcc","xy","aaaacc","aabcc"}; fun(ss,5); printf("%s,%s\n",ss[0],ss[4]); } 程序的运行结果是

A.xy,aaaacc

B.aaaacc,xy

C.bcc,aabcc

D.aabcc,bcc


正确答案:A
解析:函数fun(char,s[],int n)的功能是对字符串数组的元素按照字符串的长度从小到大排序。在主函数中执行fun(ss,5)语句后,*ss[]={"xy","bcc","bbcc","aabcc","aaaacc"},ss[0],ss[4]的输出结果为xy,aaaacc。

第3题:

有以下程序:includeinclude"string.h"void fun(char*s[],int n){char*t;int i,j;for(

有以下程序: #include<stdio.h> #include"string.h" void fun(char*s[],int n) { char*t;int i,j; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(strlen(s[i])>strlen(s[j])){t=s[i];s[i]=s[j];s[j]=t;} } main() { char*ss[]={"bee","bbcc","xy","aaaacc","aabcc"}; fun(ss,5);printf("%s,%s\n",ss[0],ss[4]); } 程序的运行结果是( )。

A.xy,aaaacc

B.aaaacc,xy

C.bcc,aabcc

D.aabcc,bcc


正确答案:A

第4题:

有以下程序,其中函数f的功能是将多个字符串按字典顺序排序:includevoidf(char*p[],in

有以下程序,其中函数f的功能是将多个字符串按字典顺序排序: #include<string.h> voidf(char*p[],intn) { char*t;int i,j; for(i=0;i<n-1;i++) for (j=i+1;j<n;j++) if(strcmp(p[i],p[j])>0) { t=p[i]; p[i]=p[j]; p[j]=t; } } main() { char*p[5]={"abc"

A.2

B.3

C.6

D.4


正确答案:D
解析: 函数f的功能是将字符串数组中的每个字符串元素按照由小到大的顺序进行排列,调用f(p,5)后,字符串数组p变为{“aabdfg”,“abbd”,“abc”,“cd”,“dcdbe”},所以最后输出p[1]即"abbd"的长度应为4。

第5题:

有以下程序includeincludevoidfun(char*s[],intn){char*t;int i,j;for(i=0

有以下程序 #include <stdio.h> #include <string.h> void fun(char *s[],int n) { char *t; int i,j; for(i=0;i<n-1;++) for(j=i+1;j<n;j++) if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i];s[j];s[j]=t;} } main() { char *ss[]={"bcc

A.xy,aaaacc

B.aaaacc,xy

C.bcc,aabcc

D.aabcc,bcc


正确答案:A
解析: 函数fun(char*s[],int n)的功能是对字符串数组的元素按照字符串的长度从小到大排序。在主函数中执行fun(ss,5)语句后,*ss[]={"xy","bcc"," bbcc","aabcc","aaaacc"},ss[0],ss[4]的输出结果为xy,aaaacc。

第6题:

有以下程序:includeincludevoid fun(char*s[],int n){char*t;int i,j;for(

有以下程序: #include<stdio.h> #include<string.h> void fun(char*s[],int n) { char*t;int i,j; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(strlen(s[i])>strlen(s[j])){t=s[i];s[i]=s[j];s[j]=t;} } main() { Char*ss[]={"bcc","bbcc","xy","aaaacc","aabcc"}; fun(ss,5);printf("%s,%s\n",ss[0],ss[4]); } 程序的运行结果是( )。

A.xy,aaaacc

B.aaaacc,xy

C.bcc,aabcc

D.aabcc,bcc


正确答案:A

第7题:

有以下程序:include main( ) char * p[ ] = {"3697" ,"2548" }; int i,j;long num =0

有以下程序: #include <stdio.h> main( ) char * p[ ] = {"3697" ,"2548" }; int i,j; long num =0; for(i =0;i<2;i ++ ) { j =0; while(p[i][j]! ='\0') { if((p[i][j]-'0')%2) num=10*num+p[i][j]-'0'; j+ =2; } printf( "%d \n" ,num);}程序执行后的输出结果是( )。

A.35

B.37

C.39

D.3975


正确答案:C
解析:执行main函数中的for语句,当i=0,j=0时,p[i][j]=p[0)[0]='3',满足while循环条件,执行循环体中的if语句得num=3,j=2,此时p[i][j]=p[0][2]='9',满足循环条件,执行while循环体得num=39,j=4,判断while条件,不满足并退出while循环;再次执行for语句,当i=1,j=0,p[i][j]=p[1][0]=2,满足while条件,执行循环体中的if语句,但不符合if条件,所以num不进行运算,j进行加2运算j=2,此时p[i][j]=p[1][2]=4,if条件为假,num不进行运算,j进行加2运算j=4,再执行while语句,条件不符合退出循环。所以结果为39。

第8题:

下面程序的运行结果是includevoid delch(char*s){int i,j;char *a;a=S;for(i=0,j=0;a[

下面程序的运行结果是 #include<stdio.h> void delch(char *s) { int i,j; char *a; a=S; for(i=0,j=0;a[i]!='\0';i++) if(a[i]>='0' &aa[i]<='9') {s[j]=a[i]; j++;} s[j]='\0';} main() { char *item="a34bC"; delch(item); printf("\

A.abc

B.34

C.a34

D.a34bc


正确答案:B

第9题:

下面程序的运行结果是()。includevoid del(char*s){int i,j;char *a;a=s;for(i=0,j=0;a

下面程序的运行结果是( )。 #include<stdio.h> void del(char*s) { int i,j; char *a; a=s; for(i=0,j=0;a[i]!='\0';i++) { if(a[i]>='0'&&a[i]<='9') { s[j]=a[i]; j++; } s[j]='\0'; }} main() {char s[]="aa89gggh"; del(s); printf("\n%s",s); }

A.aa

B.89

C.gggh

D.aa89gggh


正确答案:B
解析:本题中del(char*s)函数实现的功能是:逐个读入s数组中的字符,如果遇到数字,则将其重新存在s中,遇到非数字字符则跳过。所以最后输出的应该是字符串s中的所有数字。