对于没有学习过
湖北普通专升本编程语言的同学们来说,肯定会有一定难度的,同学们在空余时间可以做一做这套C语言程序设计模拟练习题。
一、填空题(每小题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]='';puts(a);
⑸若声明“char a[]="hangzhou",*p=a;”,执行语句“for(i=0;*p!='';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("%.1fn",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=%dn",i,m/i,m);break;}
if(⑷)printf("不可分解n");
}
2.【程序说明】下列函数计算一个二维数组全体元素的和以及主对角元素的和。
void f(⑴)
{int i,j;
⑵;
for(i=0;i<m;i++)p=""{
*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("%fn",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语言是循序渐进和积累的过程,千万不要着急,这些知识点都是为以后作铺垫的。
编辑推荐