计算机二级

下面程序的运行结果是______。 main () { char ch [7]={"65ab21"}; int i, s=0; for (i=0;ch [i]>='0'&&ch [i]<='9';i+-2) s=10*s+ch [i] -'0'; printf ("%d\n",s) ' }A.12ba56B.652C.6D.62

题目

下面程序的运行结果是______。 main () { char ch [7]={"65ab21"}; int i, s=0; for (i=0;ch [i]>='0'&&ch [i]<='9';i+-2) s=10*s+ch [i] -'0'; printf ("%d\n",s) ' }

A.12ba56

B.652

C.6

D.62

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

第1题:

【填空题】下面程序的运行结果是 。 #include<stdio.h> main() {char ch[7]={"12ab56"}; int i,s=0; for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2) s=10*s+ch[i]-'0'; printf("%dn",s); }


abcee

第2题:

5、下面程序的运行结果是 。 #include <stdio.h> main() {char ch[7]={“12ab56”}; int i,s=0; for(i=0;ch[i]>=’0’&&ch[i]<=’9’;i+=2) s=10*s+ch[i]-‘0’; printf(“%d”,s); }


5,9

第3题:

7、下面程序的输出结果是 。 #include <stdio.h> int main () { char ch[7]= "12ab56"; int i,s=0; for (i=0;ch[i]> '0'&&ch[i]<= '9';i+=2) s=10*s+ch[i]- '0'; printf("%d\n",s); return 0; }

A.1

B.12

C.1256

D.ab


ga 考查了用字符指针处理字符串的方法。用字符指针处理字符串,首先要使指针指向这个字符串,即题中的ptr1=a和ptr2=b,然后就是通过指针的移动可以引用到字符串中的每一个字符。题中的*(ptr1+k)是使指针ptr1向后移动k个位置,然后取出指向的字符。

第4题:

下面程序的运行结果是()。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两个字符了。注意:形参为指针变量时,实参和形参之间的数据传递。

第5题:

下面程序的运行结果是______。 main() { char ch[7]={"65ab21"}; int i,s=0; for(i=0;ch[i]>="0'&&ch[i]<='9';i+=2) s=10*s+ch[i]-'0'; printf("%d\n”,s); }

A.12ba56

B.6521

C.6

D.62


正确答案:C

第6题:

下面程序的输出结果是______。includemain(){char ch[7]={"12ab56"}; int i,s=0; for(i

下面程序的输出结果是______。 #include<stdio.h> main() { char ch[7]={"12ab56"}; int i,s=0; for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2) s=10*s+ch[i]-'0'; printf("%d\n",s); }

A.1

B.1256

C.12ab56

D.1 2 5 6


正确答案:A
解析:for语句中的条件表达式决定了循环体只执行一次。因此s=0*10+1,于是输出结果为1。

第7题:

下面程序的运行结果是( )。include define SlZE 12 main() {char s[SIZE];int i;for(i=0

下面程序的运行结果是( )。

include<stdio.h>

define SlZE 12

main()

{char s[SIZE];int i;

for(i=0;i<SIZE;i++) s[i]='A'+i+32;

sub(s,5,SIZE-1);

for(i=0;i<SIZE;i++)printf("%c",s[i]);

printf("\n");}

sub(char *a,int t1,int t2)

{ char ch;

while(t1<t2)

{ ch=*(a+t1);

*(a+t1)=*(a+t2);

*(a+t2)=ch;

t1++;t2--;

}

}


正确答案:abcdelkjihgf
abcdelkjihgf 解析:本题先给字符型数组s的12个元素赋值a到1共12个字母,函数sub(char*a,int t1,int t2)的功能是将数组a的从第t1+1个元素到t2+1个元素进行逆置,在主函数中调用sub(s,5,SIZE-1)函数,是将数组s的第6个元素到第12个元素进行逆置,其他元素位置不变。

第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题:

下面程序main(){charch[7]={“65ab21“};inti,s=0;for(i=0;ch[i]=0i+=2)s=10*s+ch[i]-0;printf(“%d\n“,s);}运行的结果是()

A、2ba56

B、6521

C、6

D、62


参考答案:C