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

更新时间:2024-01-27 05:21:01 阅读量: 教育文库 文档下载

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

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

计 算 机 试 卷

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

四、填空题(将正确答案填写在答题卡相应的位置上,每小题2分,共10分) 41.C语言程序的基本单位是______。

42.若有定义int a=8;则执行a=0.5+a/4.0;语句后,变量a的值为______。 43.若有定义int x[]=[3,2,5,1,15,7,12];则表达式*(x+3)的值_______。

44.若有定义int a=1,b=2,c=3,d=4,z;则表达式(a>b)?(z=c):(z=d)的值为_______。 45.若有定义int i,*p;使p指向i的赋值语句是_______。

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

46、下面程序运行的结果是 。 #include”stdio.h” main() { char *s=“abcde”; s+=2; printf(“%s”,s); }

47、下面程序的运行结果是 。 #include”stdio.h” main() { int i=0; while(i<2) { switch(i++) { case 0: printf(“fat”); break; case 1: printf(“hat”); case 2: printf(“cat”); break; default: printf(“Oh no!”); } }

第 1 页 共 9 页

}

48、下面程序运行的结果是 。 #include main() { int i,a[6]=(2,-7,9,-4,5,-6); for (i=0;i<6;i++) { if(a[i]<=0) continue; printf(“%d”,a[i]); } }

49、下面程序运行的结果是 。 #include int a=8,b=10; void Func(int n) { int t=1; a+=t+n; printf(“a=%d”,a++); } main() { int a=3; Func(b); printf(“a=%d”,a,b); }

50、下面程序运行的结果是 。 #include main() { int I,j,n=10,t; int a[10]={13,7,9,11,0,6,7,5,4,2}; for(i=0,j=n-1;i<=(n-1)/2;i++,j--) { t=a[i]; a[i]=a[j]; a[j]=t; } for(i=0;i<10;i++) printf(“%d”,a[i]);

第 2 页 共 9 页

}

51、下面程序运行的结果是 #include “stdio. h” int func(int n) { int c; if (n>0) c=func(n-2)+3; else c=2; return c; }

main() { int n=6; printf(“%d”,func(n)); }

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

int f1,f2,i; f1=1,f2=1;

for(i=1;i<3;i++) {

f1=f1+f2; f2=f2+f1;

printf(“%d,%d”,f1,f2);

} }

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

int a[10]={12,45,34,67,89,45,34,54,76,10}; int x,i; x=a[0];

for(i=1;i<0;i++) if(x

printf(“x=%d\\n”,x);

}

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

第 3 页 共 9 页

分,共24分)

54、下面程序的功能是输入10个整数,采用选择法按由小到大顺序排序。

#include “stdio. h” main() {

int i,j,a[10],k,t; for(i=0;i<10;i++) scanf(“%d,”,&a[i]); for(i=0;i<9;i++) {

____________________; for(j=j+1;j<10;j++) if(a[j]

t=a[i]; a[i]=a[k]; a[k]=t;

} }

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

printf(“%d,”,a[i]); } 55、下面程序的功能是将数组str1中字符串中的小写英文字母放入数组str2中,输出数组str2中的字符串

#inciude”string” main() {

char str1[50],str2[50];

int i,j; gets(str1);

for(i=0;j=0;str1[i]!=’\\0’;i++) if(_______________)

{

str2[j]=str1[i];j++;

}

str2[j]=’\\0’ puts(str2);

}

56、下面程序的功能是求存储在array数组中的矩阵两条对角线上元素之和。 #include “stdio.h”

main() {

第 4 页 共 9 页

int array[3][3]={2,3,4,8,3,2,7,9,8},a=0,i,j; for(i=0;i<3;i++) for(j=0;j<3;j++)

if(_______________) a=a+array[i][j]; printf(“%d\\n”,a); }

57、下面程序的功能是输出结构体数组的所有元素的值。 #include “stdio. h” struct s {

char name[10]; int age; }

main() {

struct s a[3]={{“John”,19},{“Paul”,17},{“Marry”,18}}; struct s *p int i=0;

for(____________;i<3;i++,p++)

printf(“%s,%d\\n”p->name,p->age); }

58、下面程序的功能是计算:1-1/2+1/3-1/4+?+1/99-1/100+?的值,直到最后一项的绝对

-5

值小雨10为止。

include “stdio.h” include “math.h” main() {

int n=1;

double sum=0,term=1.0,temp; do {

temp=(double)1/(double)n; ________________________; term=-term; n++;

}while(fabe(temp)>=1e-5); printf(“sum=%f\\n”,sum); }

第 5 页 共 9 页

59、下列面程序的功能是打印所有的水仙花数。所谓”水仙花数”,是指一个三位数,

333

其各位数字的立方和等于该数本身。例如,由于153=1+5+3,所以153是”水仙花数”。 #include \ main() {

int i,j,k,n;

for(n=100;n<1000;n++) {i=n/100;

j=(n-i*100)/10; k=n;

if(_____________________________) printf(\}

printf(\}

60、下面程序的功能是求两个正整数的最小公倍数。

#include\

int MinCommonMultiple(int a,int b) {

int i;

for(i=1;i<=b;i++) if(____________) return i*a; return 0; }

main() {

int a,b,x;

printf(\ \ scanf(\ x=MinCommonMultiple(a,b);

printf(\}

61、下面程序的功能是输入10个学生的成绩,计算这10个学生的平均成绩并输出。

#include”stdio.h” main() {

float score[10],aver,sum=0; int i;

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

scanf(“%f”,&score[i]); for(i=0;i<10;i++) sum+=score[i];

__________________________;

第 6 页 共 9 页

printf(\}

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

62、下面程序功能是读入10个字符串,然后找出最大的字符串并输出。 1) #include 2) #include 3) main() 4) {

5) char str[10][80],maxstring[80]; 6) int i;

7) for(i=0;i<10;i++) 8) gets(str[i]);

9) strcpy(maxstring,str[0]); 10) for(i=1;i<10;i++)

11) if(str[i]>maxstring)

12) strcpy(maxstring.str[i]); 13) puts(maxstring); 14) }

错误行的行号是: 改为:

63、下面程序功能是删除变量s中的字符串中所有与变量c中相同的字符。 (1)#include (2)#include

(3)void Squeeze(char s[],char c) (4){ int i,j;

(5) for(i=0,j=0;s[i]!=’\\0’;i++){ (6) if (s[i]!=’c’) (7) s[j++]=s[i]; (8) s[j]=’\\0’; (10)main()

(11){ char s[50],c; (12) gets(s); (13) c=getchar(); (14) Squeeze(s,c); (15) puts(s); ()16}

错误行的行号是: 改为:

64、下面程序功能是输入学生成绩,查找不及格的学生,输出不及格学生的人数。 (1) #include “stdio.h”

第 7 页 共 9 页

(2) main() (3) {

(4) float a[30]; (5) int i,s=0;

(6) for(i=0;i<30;i++)

(7) scanf(“%f”,a[i]); (8) for(i=0;i<30;i++) (9) if(a[i]<60) (10) s++;

(11) printf(“counts=%d”,s); (12) }

错误行的行号是: 改为: 65、下面程序功能是计算1!+2!+3!+?+n!的值。 (1)#include “stdio.h” (2)int fac(int n) (3){

(4) int f=1; (5) f=f*n; (6) return f; (7)}

(8)main() (9){

(10) int n,i,sum=0; (11) scanf(“%d”,&n); (12) for(i=1;i<=n;i++) (13) sum+fac(i);

(14) printf(“sum=%d”,sum); (15)}

错误行的行号是: 改为:

扫描二维码立即获取答案

第 8 页 共 9 页

第 9 页 共 9 页

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

Top