2010年辽宁专升本考试真题-C语言部分

更新时间:2023-12-15 23:18:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2010辽宁省高职高专毕业生升入本科学校招生考试

计 算 机 试 卷

第二部分 计算机高级语言部分(C语言)

四、填空题(将正确答案填写在答题卡相应的位置上,每小题2分,共10分) 41.C语言程序中可以对程序进行注释,注释部分必须使用的符号是______

42.设float x=3.8,y=2.7,int a=5,则表达式x+a/3*(int)(x+y)%2+4的值为____________ 43.在C语言程序中,若对函数类型未加说明,则函数的隐含类型为:______________ 44.求解逗号表达式(a=9,a+4),a*2的值和a的值依次为____________

45.函数的参数为float类型时,形参与实参与结合的传递方式为_____________

五、阅读程序题(阅读下列程序,将正确的运行结果填写到答题卡相应的位置上。每小题3分,共24分)

46、下面程序运行的结果是 。 main() { int x=4; if(x++>=5)printf(\ else printf(\}

47、下面程序的运行结果是 。 main() { int a[]={1,3,5,7,9}; int y=1,x,*p; p=&a[1]; for(x=0;x,3;x++) y+=*(p+x); printf(\}

48、下面程序运行的结果是 。 #include int func(int a) { int b=1; static c=4; a=++c,++b; return a; } main() {

int a=2,i,k; for(i=0;i,2;i++) k=func (++a) printf(\}

49、下面程序运行的结果是 。 #include main() { int k=0; char c='B'; switch(c++) { case 'A':k++;break; case 'B':k--; case 'C':k+=2; default:k*=3;break; } Printf(\}

50、下面程序运行的结果是 。 #include main() {

int a[6]={12,4,17,25,27,16},b[6]={27,13,4,25,23,16},I,j; for(i=0;I<6;i++) { for(j=0;j<6;j++) if(a[i]==b[j])break; if(j<6)printf(\ }

printf(\}

51、下面程序运行的结果是 #include int fun(int u,int v); main() {

int a=27,b=18,c; C=fun(a,b);

printf(\}

int fun(int u,int v) {

int w; while(v)

{w=u%v;u=v;v=w;} Return u; }

52、下面程序运行的结果是 main() {

a[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}}; int I,j,s=0; for(i=0;i<4;i++) {for(j=0;j<4;j++) if(i==j) s+=a[i][j]; }

printf(\}

53、下面程序运行的结果是 。 struct stu {

int num;

Char name[10]; Int age; };

void fun(struct stu *p) {printf(\main() {

struct stu students[3]={{,\ {,\ {,\ fun(students+2); }

六、完善程序题(请在答卡相应的位置上填写正确的内容,使程序完整正确。每小题3分,共24分)

54.下列程序是求1+1/2+1/4+1/6……+1/50的值。

第 3 页 共 9 页

#include main() {

int i=2; float sum=1; while(i<=50) {

sum=sum+1.0/I; ______________; }

Printf(\}

55.下列程序是求1—100之间“用3除余1,用5除余3“数的总个数。 #include main() {

int i=1,j=0; do{

if(____________________) j=j+1; i=i+1;

}while(i<=100); printf(\}

56.下面程序的功能是讲数组str2的全部字符拷贝到数组str1中 #include main() {

int i;

char set1[80],str2[80]; gets(str2);

for(i=0;str2[i]!='\\0';i++) str1[i]=str2[i]; ___________________; Puts(str1); }

57.以下程序的功能是:输入10个学生的成绩,统计学生的平均分,并将成绩小于平均分的成绩输出 main() {

int x[10],i;

float sum=0.0,ave; for(i=0;i<10;i++) {

scanf(\ sum=sum+x[i]; }

ave=sum/10;

printf(\ for(i=0;i<10;i++)

if(x[i]

58.输入一个长整型数,求各位数字的平方和,例如:输入321,输出14 #include main() {

int digit; long in,s=0;

scanf(\ while(in!=0) {

___________________; s=s+digit*digit; in=in/10; }

printf(\}

59.下面程序将视线十进制数转换成二进制数,并存放于一位数组b中,然后输出。 main() {

int b[30],x,k,r,i;

printf(\ scanf(\

printf(\ k=-1 do {

r=x%2; k++; b[k]=r;

____________________; }while(x!=0); for(i=k;i>=0;i--)

printf(\ printf(\}

60.下面程序的功能是输入n值,并打印下列图形,(例如n=5时) 1 2 3 4 5

第 5 页 共 9 页

1 1 2 3 4 1 1 1 2 3 1 1 1 1 1 main() {

int n,i,j,k;

printf(\ scanf(\ for(j=0;j

if(_________________) printf(\ else

printf(\ printf(\ } }

61.下面的程序功能是将字符串”new world保存在文件test.txt中。 #include

void fun(char*fname,char*st) {

FILE*my;int i;

myf=fopen(fname,\ for(i=0;i

_________________________; fclose(nyf); }

main() {

fun(\}

七、程序改错题(以下每个小题都有一个错误,请在答题卡相应的位置上写出有错误语句的行号及改正后的完整语句。每小题3分,共12分)

62.下面函数的功能是计算在一个整型数种出现次数最多的数及其出现次数 1. #include

2. void fun(float*a,int n,int*k,float*x) 3. {int I,j,y; 4. *k=0;

5. for(i=0;i

7. for(j=0;j

8. if(*(a+i)==*(a+j)) y++;

9. if(y>*k) {*k=y;*x=*(a+i)} 10. } 11. }

12. main()

13. {float c[10]={6,5,2,5,3,2,4,5,2,5,7,8},t; 14. int m;

15. fun(c,10,m,t);

16. printf(\元素%f出现次数为%d\\n\17. }

错误行的行号是: 改为:

63.面程序是统计在所输入的20个整数中有多少个整数、多少个负数、多少个零。 1. #include 2. #define N 20 3. main() 4. { intx;

5. unsigned int s1=0,s2=0,s3=0; 6. for(i=1;i<=N;i++){ 7. scanf(\8. if(x<0) s1++;

9. else if (x=0) s2++; 10. else s3++;

11. printf(\负数%u个,零%u个,正数%u个\\n\12. }

错误行的行号是: 改为:

64.编写函数,在给定的一行以Y结束的字符串中,找出最长的单词并输出。 1. #include 2. void find(char*str)

3. { char*p1,*p2,*p3;int k1=0,k2=0;} 4. p1=p2=p3=str; 5. while(*p2!=Y)

6. if(*p2!=Y){k2++;p2++;} 7. else if(k2>k1)

8. {p3=p1;p1=++p2;k1=k2;k2=0;} 9. else{k2=0;p1=++p2;}

10. for(k2=0;k2<=k1;k2++) printf(\11. }

12. main()

13. { char a[40];int i=0; 14. while((a[i]=getchar())!=Y); 15. find(a); 16. }

第 7 页 共 9 页

错误行的行号是: 改为:

65、下面程序中,函数sort的功能是对a数组中的数据进行有大到小的排序。 1. void sort(int a[],int n) 2. { int i,j,t; 3. for(i=0;ia[j])

6. {t=a[i];a[i]=a[j];a[j]=t;} 7. }

8. main()

9. { int aa[10]={13,21,3,34,22,6,16,31,19,8},i; 10. sort(aa,10);

11. for(i=0;i<10;i++) printf(\12. }

错误行的行号是: 改为:

扫描二维码立即获取答案

第 9 页 共 9 页

本文来源:https://www.bwwdw.com/article/rti5.html

Top