湖北专升本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 v/=20; x=a[0]; d= ⑵ ; for(i=1;i 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. 重点:文件读写(注意格式)函数,文件结束标志,打开、关闭。 以上就是关于湖北专升本C语言程序设计模拟练习题1的全部内容了,如果你还有专升本相关的疑惑(如专升本报名、考试动态、院校招生简章、统考动态、湖南专升本院校、历年真题、考试大纲、专升本等相关信息),可以在文章下方留下你的联系方式,老师会第一时间联系到你,为你答疑解惑哦! 部分内容来源于网络转载、学生投稿,如有侵权或对本站有任何意见、建议或者投诉,请联系邮箱(1296178999@qq.com)反馈。
未经本站授权,不得转载、摘编、复制或者建立镜像, 如有违反,本站将追究法律责任!