湖北专升本C语言程序设计模拟练习题2

浏览次数:次 发布时间:2023-04-10

湖北专升本C语言程序设计模拟练习题2

湖南专升本问答

湖北专升本C语言程序设计模拟练习题2

湖南统招专升本集训营

一、填空题(每小题2分,共20分)

⑴ 判断变量a、b是否绝对值相等而符号相反的逻辑表达式为 a==-b 。

⑵ 执行语句“for(s=0,i=1;i<11;i++) { if(i==6)break; s+=i;}”后,s值为 15 。

⑶ 程序中使用了内存分配函数malloc,则必须包含的头文件名为 stdlib.h 。

⑷ 声明“char a[20]="Office 2000";”后执行下列语句的输出结果为 office 。

a[6]='\0'; puts(a);

⑸ 若声明“char a[]="hangzhou",*p=a;”,执行语句“for(i=0;*p!='\0'; p++,i++);”

后i的值为 8 。

⑹ 自定义函数sort对float类型的数组排序,函数原型为 void sort(float *,int) 。

⑺ 自定义函数sum求二维数组全体元素之和,函数原型为 int SUM(int **a,int,int ) 。

⑻ x、y均为指针变量,语句“x=y;”在 x与y的类型相同的一级指针 的条件下可以执行。

⑼ 若int类型变量a的当前值是23,执行“a=a>>2;”后,a 的值为 5 。

⑽ 打开g盘根目录下文本文件aaa.txt用于写数据的语句是 fp= fpoen(“g\\:aaa.txt”,“w” ;。

二、程序阅读题(每小题8分,共24分)

阅读下列程序,将运行时的输出结果写在答卷纸相应题号下。

1. #include

void main()

{ int i,j,k, 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++) {

k=a[i][i]; for(j=0;j<4;j++) a[i][j]/=k;

}

for(i=0;i<4;i++) {

for(j=0;j<4;j++) printf("%4d",a[i][j]); putchar('\n');

}

}

2. #include

#include

void del(char *a,int k)

{ int i, n=strlen(a);

for(i=1;i<=k;i++) { a[n-1]=a[n]; n--; puts(a); }

}

void main()

{ char a[10]="abcdef"; del(a,4); }

3. #include

void f(float a,float b,float* c)

{ static float x=0; float y;

x=(y=a>b?a:b)>x?y:x;

*c=x;

}

void main()

{ float a[5]={2.5,-1.5,7.5,4.5,6.5},x;

for(int i=0;i<4;i++) {

f(a[i],a[i+1],&x); printf("%.1f\n",x);

}

}

三、程序填空题(每空2分,共24分)

阅读下列程序说明和程序,将答案填写在答卷纸相应题号下。

1.【程序说明】下列程序输入1个大于2的整数,判断其是否为2个大于1的整数的乘积。

#include

void main()

{ int m,i;

while( ⑵ );

for(i=2;i<=sqrt(m);i++)

if( ⑶ ) { printf("%d*%d=%d\n",i,m/i,m);break; }

if( ⑷ ) printf("不可分解\n");

}

2.【程序说明】下列函数计算一个二维数组全体元素的和以及主对角元素的和。

void f( ⑴ )

{ int i,j;

⑵ ;

for(i=0;i

*s1=*s1+ ⑶ ;

for(j=0;j

}

3.【函数说明】链表的节点类型声明如下,下列函数中h为链表头指针,函数功能是删除成员cj值小于60的所有节点。

struct stu { char name[9]; int cj; stu *next; };

student *del_stu(student *h)

{ student ⑴ ;

if(h==NULL) return h;

if(h->cj

while(p1->next!=NULL) {

p2= ⑵ ;

if( ⑶ ) { p1->next=p2->next; free(p2); }

else p1=p2;

}

⑷ ;

}

四、程序设计题(1、2小题各10分,第3小题12分,共32分)

1. 输入一个正整数n,求1+1/2!+1/3!+……1/n!的值,要求调用自定义函数计算阶乘。

2. 编写通用函数,在n个元素的一维数组中,统计并返回比相邻元素大的数组元素个数(不考虑a[0]和a[n-1])。

3. 文本文件e:\c.txt 中按统一格式已经存储若干行学生信息:学号8位字符、空格、成绩3位整数)。编程,将所有60分(含60分)以上学生之学号、成绩写入到文本文件e:\c.txt 中,并显示总人数、不及格人数。

C程序设计参考答案

一、填空题(每小题2分,共20分)

⑴ a==-b ⑵ 15 ⑶ stdlib.h ⑷ Office ⑸ 8

⑹ void sort(float*,int) ⑺ float sum(float**,int,int)

⑻ x、y均为指向同类型数据的一级指针变量 ⑼ 5

⑽ fopen("g:\\aaa.txt","w")

二、程序阅读题(每小题8分,共24分)

1. 1 0 1 3 2. abcde 3. 2.5

0 1 0 1 abcd 7.5

0 -2 1 -1 abc 7.5

1 0 2 1 ab 7.5

三、程序填空题(每空2分,共24分)

1. ⑴ #include⑵ scanf("%d",&m),m

2.⑴ float **a,int m,int n,float *s1,float *s2

⑵ *s1=*s2=0; ⑶ a[i][i] ⑷ }

3. ⑴ *p1,*p2 ⑵ p1->next ⑶ p2->cj<60 ⑷ return h

四、程序设计题(1、2小题各10分,第3小题12分,共32分)

1. #include

int f(int k)

{ return k==0||k==1? 1:k*f(k-1); }

void main ( )

{ int i,n; float s=1;

while(scanf("%d",&n),n<1);

for(i=2;i<=n;i++) s=s+1.0/f(i);

printf("%f\n",s);

}

2. int f(float *a,int n)

{ int i,k=0;

for(i=1;ia[i-1] && a[i]>a[i+1]) k++;

return y;

}

3. 重点:文件读写(注意格式)函数,文件结束标志,打开、关闭。

以上就是关于湖北专升本C语言程序设计模拟练习题2的全部内容了,如果你还有专升本相关的疑惑(如专升本报名、考试动态、院校招生简章、统考动态、湖南专升本院校、历年真题、考试大纲、专升本等相关信息),可以在文章下方留下你的联系方式,老师会第一时间联系到你,为你答疑解惑哦!


湖南专升本最新资料领取

部分内容来源于网络转载、学生投稿,如有侵权或对本站有任何意见、建议或者投诉,请联系邮箱(1296178999@qq.com)反馈。 未经本站授权,不得转载、摘编、复制或者建立镜像, 如有违反,本站将追究法律责任!


本文标签: 3+2专升本全日制专升本

上一篇:湖北专升本C语言程序设计模拟练习题1                  下一篇:2021年湖北专升本英语模拟试题

湖南3+2 统招专升本

一键查询