1下述程序段的输出结果是() 答A

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.下述程序段的输出结果是()。答:A int x=10;

int y=x++;

printf(“%d,%d”,(x++,y),y++);

A. 11,10

B. 11,11

C. 10,10

D. 10,11

2. 下述程序的作用是删除字符串s中的所有空格。请在每组中选择正确的答案。

#include 答:(1)A,(2)B,(3)C #include

void delspace(char *s)

{char *I;

int t;

for(I=s,t=0; (1) ; I++)

if( ! isspace( (2) ) ) /*isspace函数用来判断某个字符是否为空格*/

(1) = *I;

*s=’\0’;}

main()

{char s[81]= “S_t_r_i_n_g” ; /*_表示空格*/

delspace(s);

puts(s);}

(1)A. *I B. !*I C. *I!=’\n’ D. **I

(2)A. *s B. *I C.*I++ D. *s++

(3)A. *s B. *++s C. *s++ D. s(I-1)

3. 下述语句中,()可以在字符串s1和s2相等时显示”Equal”。答:B

A. if(s1==s2) puts(”Equal”);

B. if(!strcmp(s1,s2)) puts(”Equal”);

C. if(*s1==*s2) puts(”Equal”);

D. if(strcmp(s1,s2)) puts(”Equal”);

4. 下述程序的运行结果实()。答:A void sub(int *s,int *y)

{static int t=3;

*y=s[t]; t--;}

main()

{int a[]={1,2,3,4},k,x;

for(k=0;k<4;k++)

{sub(a,&x); printf(“%d”,x);}}

A. 4,3,2,1

B. 1,2,3,4

C. 0,0,0,0

D. 4,4,4,4

5. 若有如下说明和语句,且0

p=a;

A. &(a+1)

B. a++

C. &p

D. &p[t]

6. 下列函数在一维数组v上把x插入下标为I的元素之前,I≥0。如果I大于等于元素个数则在末尾。原有的元素个数存放在指针n所值的变量中,插入后元素个数增1。请在空白处填空。

void insline(double v[ ],int *n,double x,int I)

{ int j;

if( (1) )

for(j=*n-1; (2) ; j--)

(3) =v[j];

else I=*n;

v[I]= (1) ;

(*n)++;} 答:(1) I<*n (2) j>=I (3) v[j+1] (4) x 7. 下列程序的执行结果是()。答:D f(int a)

{int b=0;

static c=3;

a=c++,b++;

return(a);}

main()

{int a=2,I,k;

for(I=0;I<2;I++)

k=f(a++);

printf(“%d\n”,k);}

A. 3

B. 0

C. 5

D. 4

8. 下面函数的功能是()。答:A int fun1(char *x)

{char *y=x;

while(*y++);

return(y-x-1);}

A. 求字符串的长度

B. 求字符串存放的位置

C. 比较两个字符串的大小

D. 将字符串x连接到字符串y后面

9. 已定义char b[5],*p=b; 选择出正确的赋值语句()。答:C

A. b=”abcd”;

B. *b=”abcd”;

C. p=”abcd”;

D. *p=”abcd”;

10. 下面程序的输出结果是。

long fun5(int n)

{long s;

if( (n==1)||(n==2) ) s=2;

else s=n+fun5(n-1);

return(s);}

main()

{long x;

x=fun5(4);

printf(“%ld\n”,x);} 答:9 11. 用以下程序求出a数组中所有素数的和,函数isprime用来判断变量是否为素数。main()

{int I,a[10],*p=a,sum=0;

for(I=0;I<10;I++)

scanf(“%d”,&a[I]);

for(I=0;I<10;I++)

if( isprime( *(p+ (1) ) )==1 )

{printf(“%d”, *(a+I) );

sum+=*(a+I);

}

printf(“%d\n”,sum);

}

isprime(int x)

{int I;

for(I=2;I<=x/2;I++)

if(x%I==0) return(0);

(1) ;

} 答:(1) I (2) return(1) 12. 若有以下说明和语句,且0≤I<10,则()是对数组元素的错误引用。答:C int a[ ]={1,2,3,4,5,6,7,8,9,0},*p,I;

p=a;

A. *(a+I)

B. a[p-a]

C. p+I

D. *(&a[I])

13. 以下程序段的结果是()。答:B static char a[ ]=”Program”;

char *ptr=a;

for(ptr=a; ptr

putchar(*ptr);

A. Program

B. Porm

C. 有语法错误

D. Por

14. 下面程序的输出结果是()。答:D main()

{int a[ ]={1,2,3,4,5,6},*p=a;

*(p+3)+=2;

printf(“%d,%d\n”,*p,*(p+3) );}

A. 0,5

B. 1,5

C. 0,6

D. 1,6

相关文档
最新文档