湖北专升本C语言程序设计模拟练习题1
摘要:本文是湖北专升本C语言程序设计模拟练习题1,有打算报考湖北专升本考试相关专业的考生可以进行参考,了解相关的试卷信息。具体请见下文。
湖北专升本C语言程序设计模拟练习题1
一、填空题(每小题2分,共20分)
⑴ 求正整数m的位数,相应C的算术表达式为 intlog(m)+1 。
⑵ 执行程序段“for(i=1;i<15;i=i+4) s=s+i;”后,i的值为 17 。
⑶ 程序中使用了C的库函数 islower,应包含的头文件为
⑷ 下列程序段运行时的输出结果是 3 4 。
char p[]={'a','b','c'},q[]="abc"; printf("%d,%d\n",sizeof(p),sizeof(q));
⑸ 下列程序段运行时的输出结果是 10 。
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2; printf("%d\n",*p+*q);
⑹ 定义函数f,其功能是计算多项式a0+a1x+a2x2+a3x3+...+ an-1xn-1的和,函数f原型是 float f(int *a,int x,int n) 。
⑺ 定义函数f,其功能是在一个二维数组中查找最大值的行、列号(要求可传递到主调函数),函数f原型是 int f(int **a ,int m int n,int *i,int*j) 。
⑻ x、y均为结构体类型变量,语句“x=y;”在 x和y为相同类型 的条件下可以执行。
⑼ 若int类型变量a的当前值是52,执行“a/=2^1;”后,a 的值为 17 。
⑽ 打开g盘根目录下文本文件aaa.txt用于读数据的语句是 fp= fopen("g:\\aaa.txt","r") ;。
二、程序阅读题(每小题8分,共24分)
阅读下列程序,将运行时的输出结果写在答卷纸相应题号下。
1. #include
void main()
{ int i,j, a[4][4]={{2,-1,2,7},{2,4,3,5},{1,4,-2,3},{4,-2,8,3}};
for(i=0;i<4;i++)
for(j=0;j<4;j++) a[i][j]/=a[i][i];
for(i=0;i<4;i++) {
for(j=0;j<4;j++) printf("%4d",a[i][j]); putchar('\n');
}
}
2. #include
int f(int x,int y)
{ static int a=1;
return a=a+x+y;
}
void main()
{ int a=10,b,c,i;
b=10*a++;
for(i=1;i<3;i++) c=f(a,b);
printf("a,b,c:\n%d\n%d\n%d\n",a,b,c);
}
3. #include
#include
void strc(char *strDest, char *strSrc)
{ char temp[80],*p;int i=0;
strcpy(temp,strDest+1);
for(p=strDest+1; p<=strDest+strlen(strSrc); p++) *p=strSrc[i++];
*p='\0'; strcat(strDest,temp);
}
void main()
{ int i;char a[80]="Windows_xp,word_2003,VC_6.0";
for(i=0; a[i]!='\0';i++) if(a[i]==',') strc(a+i,"Microsoft ");
puts(a);
}
三、程序填空题(每空2分,共24分)
阅读下列程序说明和程序,将答案填写在答卷纸相应题号下。
1.【程序说明】输入m后,输出下列形式(以m等于5为例)的m行、m列数字方阵。
1 2 3 4 5
2 3 4 5 1
3 4 5 1 2
4 5 1 2 3
5 1 2 3 4
#include
void main ( )
{ int i,j,k,m;
⑴ ;
for(i=1; ⑵ ;i++) {
for(j=1; ⑶ ;j++) printf(" %d",i+j-1);
for(k=1;j<=m;⑷ ) printf(" %d",k);
printf("\n");
}
}
2.【程序说明】输入20个数,然后输出他们的平均值、他们中与平均值之差为最小的数。
#include
#include
⑴
void main()
{ float a[N],x,v=0,d; int i;
for(i=0;i<n;i++) p="" }
v/=20; x=a[0];
d= ⑵ ;
for(i=1;i<n;i++)< p="">
if( ⑶ ) { d=a[i]-v; ⑷ ; }
printf("%f %f\n",v,x);
}
3.【函数说明】链表的节点类型声明如下,下列函数create用于创建含n个stu类型节点的单向链表,函数返回值为链表的头指针。
struct stu { char name[9]; int cj; stu *next; };
⑴ create(int n)
{ int i; stu *h,*p1,*p2;
p1=h= ⑵ ;
scanf("%s%d",h->name,&h->cj);
for(i=2;i<=n;i++) {
p2=(stu*)malloc(sizeof(stu));
scanf("%s%d",p2->name,&p2->cj);
p1->next=p2; ⑶ ;
}
⑷ ;
return h;
}
四、程序设计题(1、2小题各10分,第3小题12分,共32分)
1. 编程,输入x(x>1),正方形A1的边长为x,A2是A1的内接正方形,A3是A2的内接正方形,...,A10是A9的内接正方形。计算并显示A10的面积。
2. 编写通用函数,计算下列表达式的值。

3. 文本文件e:\aaa.txt 中按统一格式已存储若干行学生信息:学号8位字符、空格、成绩3位整数)。编程,将所有需要补考的学生之学号、成绩写入到文本文件e:\bbb.txt 中。
C程序设计参考答案
一、填空题(每小题2分,共20分)
⑴ (int)log10(m)+1 ⑵ 17 ⑶ ctype.h ⑷ 3,4 ⑸ 10
⑹ float f(float *a,float x,int n)
⑺ void f(float **a,int m, int n,int *i1,int *i2) ⑻ x、y为相同类型
⑼ 17 ⑽ fopen("g:\\aaa.txt","r")
二、程序阅读题(每小题8分,共24分)
1. 1 -1 2 7 2. a,b,c:
0 1 3 5 11
0 -2 1 3 100
1 0 2 1 223
3. Windows_xp,Microsoft word_2003,Microsofr VC_6.0
三、程序填空题(每空2分,共24分)
1. ⑴ scanf("%d",&m) ⑵ i<=m ⑶ j<=m+1-i ⑷ j++,k++
2.⑴ #define N 20 ⑵ a[0]-v ⑶ fabs(a[i]-v)
3. ⑴ stu* ⑵ (stu*)malloc(n*sizeof(stu)) ⑶ p1=p2 ⑷ p2->next=NULL
四、程序设计题(1、2小题各10分,第3小题12分,共32分)
1. #include
#include
void main ( )
{ int i; float x;
while(scanf("%f",&x),x<=1);
for(i=2;i<=10;i++) x=x/sqrt(2);
printf("%f\n",x*x);
}
2. float f(float *a,int n)
{ float y=1; int i;
for(i=n-1;i>=0;i--) y=1+a[i]/y;
return y;
}
3. 重点:文件读写(注意格式)函数,文件结束标志,打开、关闭。
延伸阅读
- 2022年湖北专升本电路模拟题(四)
- 2022年湖北专升本电路模拟题(三)
- 2022年湖北专升本电路模拟题(二)
- 2022年湖北专升本电路模拟题(一)
- 2022年湖北专升本高等数学模拟题(三)
- 2022年湖北专升本高等数学模拟题(二)
专升本微信公众号
扫码添加
专升本备考资料免费领取
去领取
扫描二维码