对口升学二年级2014年6月
C语言期末 试题(总分130分)
班级:__________ 姓名:__________
一、单选题(每小题3分,共45分)
1. C语言中函数返回值的类型是由( )决定。
A)return 语句的表达式类型 B)调用函数的主调函数类型 C)调用函数时临时 D) 定义函数时所指定的函数类型 2. 变量的指针,其含义是指该变量的( ) 。
A)值 B)地址 C)名 D)一个标志 3. 以下程序运行后的输出结果为( )。 int *f(int *x, int *y)
{ if(*x<*y) return x; else return y; } main()
{ int a=7,b=8,*p,*q,*r; p=&a, q=&b; r=f(p,q); printf(\
A) 7,8,8 B) 7,8,7 C) 8,7,7 D) 8,7,8 4. 以下函数定义正确的是: ( ) 。
A) double fun(int x, int y) B) double fun(int x; int y) C) double fun(int x, int y) ; D) double fun(int x , y)
5. C语言规定,简单变量作实参,它与对应形参之间的数据传递方式是:( ) 。
A)地址传递; B)单向值传递; C)双向值传递; D)由用户指定传递方式 6. 以下正确的函数形式是: ( ) 。
A)double fun(int x,int y) B) fun (int x,y) {z=x+y;return z;} {int z;return z;}
C) fun(x,y) D) double fun(int x,int y)
第1页——共8页 {int x,y; double z; {double z; z=x+y; return z;} z=x+y; return z;}
7. 设已有定义: int a[10]={15,12,7,31,47,20,16,28,13,19},*p; 下列语句中正确的是( ) A) for(p=a;a<(p+10);a++); B) for(p=a;p<(a+10);p++); C) for(p=a,a=a+10;p
8.若有 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b; b=p[5]; 则b中的值是( ) A)5 B)6 C)8 D)9 9. 有如下程序
int func(int a,int b) { return(a+b);} main( )
{ int x=2,y=5,z=8,r; r=func(func(x,y),z); printf(“%d\\n”,r); }
该程序的输出的结果是 ( ) 。
A) 12 B) 13 C) 14 D) 15 10. 若有说明:int *p,m=5,n;以下正确的程序段是( ) 。
A)p=&n; scanf(“%d”,&p); B) p=&n; scanf(“%d”,*p);
C) scanf(“%d”,&n); *p=n; D) p=&n; *p=m;
11. 在16位编译系统下(int型2个字节),若有定义:int a[10],*p=a+5;且a数组中首元素的地址值为0xff20,则元p[-3]的地址值和元素p[3]地址值分别是 ( ) 。
A)0xff1a 和 0xff26 B)0xff24 和0xff2a C)0xff24 和 0xff30 D)0xff22 和0xff30
12. 在16位编译系统上,若有定义int a[]={10,20,30}, *p=&a; 当执行p++;后,下列说法错误的是( )
A)p向高地址移了一个字节
第2页——共8页
B)p向高地址移了一个存储单元 C)p向高地址移了两个字节 D)p与a+1等价
13. 已有定义int k=2, *ptr1,*ptr2; 且ptr1和ptr2均已指向同一个变量k,下面不正确执行的
二、程序填空题(每空5分,共25分)
1. 下面的程序用来将一个十进制正整数转化成八进制数,例如输入一个正整数25,则输出31,请将程序补充完整。
赋值语句是: ( ) 。
A) k=*ptr1+*ptr2 ; B) ptr2=k; C) ptr1=ptr2; D)k=*ptr1*(*ptr2); 14. 有以下程序
main()
{ int x[8]={8,7,6,5,0,0},*s; s=x+3;
printf(\}
执行后输出结果是 ( ) 。
A) 随机值 B) 0 C) 5 D) 6 15.下面程序的正确运行结果是: ( ) 。 main( ) { int a=2, i;
for(i=0;i<3;i++) printf(“M”,f(a) ); } int f( int a)
{ int b=0; static int c=3; b++; c++; return (a+b+c);}
A) 7 7 7 B) 7 10 13 C) 7 9 11 D) 7 8 9
第3页——共8页 #include
void sub(int c, int d[])
int i=0,j=0,a,b[10]={0};
printf(\ scanf(\ sub(a,b); for(;i<10;i++)
{ if( (1) ) j++; if(j!=0) printf(\ } }
void sub(int c, int d[]) { int e, i=9;
while(c!=0)
{ e=c%8; d[i]=e;
(2) ; i--; } return; }
2. 用指针方法编写一个程序,输入3个整数,将它们按由小到大的顺序输出 #include
void swap ( (1) , int *pb) { int temp;
temp = *pa; *pa = *pb; (2) ;
第4页——共8页
{
} void main() { int a,b,c,temp;
scanf(\ if(a>b) swap( (3) ,&b); if(b>c) swap(&b,&c); if(a>c) swap(&a,&c); printf(\
}
三、程序分析题,写出下列程序的运行结果(每小题5分,共20分)
1. #include {t=s[m]; s[m]=s[n]; s[n]=t; m++; n--;} } main() { int a[5]={1,2,3,4,5},k ; fun(a,0,4); for(k=0;k<5;k++) printf(\ \} 2. main( ) { char str[ ]={“a1b2c3d4e5”},i,s=0; for(i=0;str[i]!=?\\0?;i++) if(str[i]>=?a?&&str[i]<=?z?) printf(“%c\\n”,str[i]); printf(“\\n”); 第5页——共8页 } 3. void fun (int i ,int j) { int x=7; printf(“i=%d; j=%d; x=%d\\n”, i, j, x) ;} main( ) { int i=2, x=5, j=7; fun (j,6); printf(“i=%d; j=%d; x=%d\\n”, i, j, x ) ; } 4. #include int fun(int x) { int y; if(x==0||x==1) return(3); y=x*x-fun(x-2) ; return y; } main() { int x,y; x=fun(3); y=fun(4); printf(\ } 5. main ( ) { int i, j; int *p,*q; i=2; j=10; p=&i; q=&j; *p=10; *q=2; printf(\ } 第6页——共8页 四、程序改错题(现有4处错误,请在写出错误语句,并写出完整的正确语句。 每处错误5分,错误之处已标记,请改正,共20分) 求方程ax2+bx+c=0的根,用三个函数分别求b2-4ac大于零、等于零和小于零时的{ X1=(-b+sqrt(Disc))/(2*a); X2=(-b-sqrt(Disc))/(2*a); } 根。 #include printf(\ scanf(\ Disc=b*b-4*a*c; if(Disc= =0) { f1(a,b); printf(\ } else if(fabs(Disc)<1e-6) { f3(a,b); printf(\ else { f2(a,b); printf(\ } /* b2-4ac大于零函数f1*/ void f1(float a,float b) 第7页——共8页 /* b2-4ac等于零函数f2*/ void f2(float a,float b) { X1=(-b)/(2a); } /*b2-4ac小于零函数f3*/ void f3( a, b) { Re=(-b)/(2*a); Im=sqrt(-Disc)/(2*a); } 五、程序设计题(15分) 下面findmax函数将计算数组中的最大元素及其下标值和地址值,请编写*findmax()函数。 #include int *findmax (int *s ,int t , int *k ) { } int main() { int a[10]={12,23,34,45,56,67,78,89,11,22}; int k, *add; add=findmax(a,10,&k); printf(“%d,%d,%o\\n”,a[k],k,add);} 第8页——共8页 } 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库对口升学 职高 二年级C语言期末试卷在线全文阅读。
相关推荐: