第一篇:C语言机试试题大全
1、程序填空题
给定的程序的功能是调用fun函数建立班级通讯录。通讯录中记录 每位学生的编号、姓名和电话号码班级的人数和学生的信息从键盘
读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制中。填空:(1)STYPE
(2)FILE
(3)fp 改错:(1)for(i=0;i<=sl;i++)(2)t[2*sl]=' '或t[sl+sl]=' ' 编程:
*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 3、程序填空题 给定程序中,函数fun的功能是:讲自然数1~10以及它们的平方根写到名为myfile3.txt的文本中,然后再按顺序读出显示在屏幕上。填空:(1)fp(2)fclose(fp)(3)myfile3.txt 改错:(1)for(i=j+1;i 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; t[j++] = s[i]; 5、程序填空题 while(s[i]){ if(i % 2 == 0 && s[i] % 2 == 0) i++;} t[j] = 0;给定程序中已经建立一个带有头结点的单向链表,链表中的各结点数据域中的数据递增有序链接,函数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 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)n(3)head,ch 改错:(1)for(i=0,t=0;p[i];i++)(2)c[t]=' ';编程: int i; for(i=1;i If((ss[i]>='a'&&ss[i]<='z')ss[i]-=32; 9、程序填空题 给定程序中,函数fun的功能是:统计出带有头结点的单向链表中节点的个数,存放在形参n所指的存储单元中。 填空:(1)*n (2)next (3)head 改错:(1)a=NULL; (2)if(*r==*p)编程: int i,j=0;for(i=0;i