二级C语言上机题库复习资料
1、程序填空题
给定的程序的功能是调用fun函数建立班级通讯录。通讯录中记录
每位学生的编号、姓名和电话号码班级的人数和学生的信息从键盘
读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进
制中。
填空:(1)STYPE (2)FILE (3)fp
改错: (1) for(i=0;i<=sl;i++) (2) t[2*sl]='\0'或t[sl+sl]='\0'
编程:
*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);
2、程序填空题
给定程序的功能是:从键盘输入若干文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输出输入的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和Writetext实现。
填空:(1) *fw (2) str (3) str
改错:(1) void fun(long s,long *t)(2) s1=s1*10;
编程:int i,j=0,min=a[0].s;
for(i=0;i
{
if(a[i].s
{
j=0;b[j++]=a[i];min=a[i].s;
}
else if(min==a[i].s)
b[j++]=a[i];
}
return j;
3、程序填空题
给定程序中,函数fun的功能是:讲自然数1~10以及它们的平方根写到名为myfile3.txt的文本中,然后再按顺序读出显示在屏幕上。
填空:(1)fp(2)fclose(fp)(3)myfile3.txt
改错:(1)for(i=j+1;i
编程:*c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10;
4、程序填空题
给定程序中,函数fun的功能是:找出形参s所指字符串出现频率最高的字母(不区分大小写),并统计出其出现的次数,例如,形参s所指的字符串为:abcAbsmaxiess,程序执行后的输出结果为:
letter 'a':3 times
letter 's':3 times
填空:(1) "r" (2 )fs (3)ft
改错:(1) if (d%2==0)
(2 ) s/=10;
编程:
int i = 0, j = 0;
while(s[i])
{
if(i % 2 == 0 && s[i] % 2 == 0)
t[j++] = s[i];
i++;
}
t[j] = 0;
5、程序填空题
给定程序中已经建立一个带有头结点的单向链表,链表中的各结点数据域中的数据递增有序链接,函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。
填空:(1)x (2)p (3)s
改错:(1)long k=1; (2)num/=10;
编程:int i;
float aver=0.0;
for(i=0;i
aver=aver/n;
return aver;
6、程序填空题
给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部节点中的数据,并释放该节点,使链表缩短。
填空:(1) next (2) t->data (3) t
改错:(1) void fun(char *a) (2) print("%c",*a);
编程:int i;
char *p=s,*q=t;
int n=0,m=0;
while(*p) /*计算串s的长度n,其中p为临时指针*/
{
n++;
p++;
}
while(*q) /*计算串t的长度m,其中q为临时指针*/
{
m++;
q++;
}
if(n>=m) /*比较m和n的值,设置p指向较大的指针*/
p=s;
else
p=t;
return p;
7、程序填空题
给定程序中建立一个带有头结点的单向链表,链表中的各节点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的节点,使之只保留一个。
填空:(1) q (2) next (3) next
改错:(1) 缺分号 (2) p = i;
编程:*n=0; int i;
for(i=1;i<=m;i++)
if(i%7==0||i%11==0)
a[*n++]=i;
8、程序填空题
给定的程序中,函数fun的功能是:在带有头结点的单向链表中,
查找数据域中值为ch的结点。找到后通过函数值返回该结点在
链表所处的顺序号;如不存在值为ch的结点,函数返回0值。
填空:(1)0或NULL (2