5
6
8
9
第1题:
有以下程序
#include <stdio.h>
int fun(int x,int y)
{ if(x==y) return (x);
else return((x+y)/2);
}
main()
{ int a=4,b=5,c=6;
printf("%d\n",fun(2*a,fun(b,c)));
}
程序运行后的输出结果是
A)3
B)6
C)8
D)12
第2题:
有以下程序
#include <stdio.h>
int a= 5;
void fun(int b)
{ int a= 10;
a+=b; printf("%d",a);
}
main()
{ int c=20;
fun(c);a+=c;printf("%d\n",a);
}
程序运行后的输出结果是 【 1 1 】 。
第3题:
有以下程序
#include <stdio.h>
#include <stdlib.h>
int fun(int n)
{ int *p;
p=(int*)malloc(sizeof(int));
*p=n; return *p;
}
main()
{ int a;
a = fun(10); printf("%d\n",a+fun(10));
}
程序的运行结果是
A)0
B)10
C)20
D) 出错
第4题:
有以下程序: #include <stdio.h> main() { int a [10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3], *q=p+2; prinff("%d\n";*p+*q); } 程序运行后的输出结果是( )。
A.16
B.10
C.8
D.6
第5题:
有以下程序:
includc<stdio.h>
void fun(int *p)
{printf("%d\n",p[5]);}
main( )
{int a[10]={1,2,3,4,5,6,7,8,9,10};
fun(&a[3]);
}
程序运行后的输出结果是( )。
A.5
B.6
C.8
D.9
由题可知,fun(&a[3])是将&a[3]作为参数,而fun(int*p)后执行的语句为p[5],由数组a可知输出的为6。
第6题:
有以下程序
#include <stdio.h>
void fun(int p)
{ int d=2;
p=d++; printf("%d",p);}
main()
{ int a=1;
fun(a); printf("%d\n",a);}
程序运行后的输出结果是
A)32
B)12
C)21
D)22
第7题:
(26)有以下程序
#include <stdio.h>
void fun( int *a,int *b)
{int *c;
c=a;a=b;b=c;
}
main()
{int x=3,y-5,*P=&x,*q=&y;
fun(p,q);printf(“%d,%d,”,*p,*q);
fun(&x,&y);printf(“%d,%d\n”,*p,*q);
}
程序运行后的输出结果是
A)3,5,5,3 B)3,5,3,5 C)5,3,3,5 D)5,3,5,3
第8题:
A、16
B、10
C、8
D、6
第9题:
有以下程序:#include <stdio. h>main( ) { int a[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL; *q=*(p+5); printf("%d%d\n",*p,*q);程序运行后的输出结果是( )。
A.运行后报错觉
B.6 6
C.6 11
D.5 10
第10题:
下列程序的运行结果是( )。
#include<stdio.h>
voidfun(int*s,int*p)
{ static int t=3;
*p=s[t];
t--;
}
void main()
{ int a[]={2,3,4,5},k;
int x;
for(k=0;k<4;k++)
{ fun(a,&x);
printf("%d,",x);
}
}
A.5,4,3,2
B.2,3,4,5,
C.2,2,2,2,
D.5,5,5,5,