计算机二级c语言.考试题库及答案,全国计算机等级考试二级C语言最新上机考试题库及答案...

本资料精选了全国计算机等级考试二级C语言上机考试题库中的典型题目,涵盖了填空题、修改题及程序设计题等多种题型,旨在帮助考生熟悉考试形式和加深对C语言的理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《全国计算机等级考试二级C语言最新上机考试题库及答案》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C语言最新上机考试题库及答案(27页珍藏版)》请在人人文库网上搜索。

1、第1套 一、填空给定函数的功能是调用fun函数建立班级通讯录。通讯录记录每位学生的编号,姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为答案yfile5.dat的二进制文件中。答案:1. STYPE 2. FILE 3. fp二、修改先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串后面。答案:1. for(i = 0 ; i data t二、修改将字符串中的字符按逆序输出,单补改变字符串中的内容。答案:void fun (char *a) printf(%c, *a) ; 三、程序比较两个字符串的长度(不得调用c语言提供的求字符串长。

2、度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。答案:int i; char *p=s , *q=t; int n=0,m=0; while(*p) n+;p+; while(*q) m+;q+; if(n=m) p=s; else p=t; return p;第7套 一、填空删除链表中数据域值相同的结点,使之只保留一个答案: q next next二、修改用选择法对数组中的n个元素按从小到大的顺序进行排序。答案: p = j; p=i; 三、程序求出1到答案之间(含答案)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。答案: int i ,j=0;。

3、 *n=0 ; for(i=1 ; i=a&ssi 0) else if(k= =0)三、程序使数组左下三角元素的值乘以n答案: int i, j; for(i = 0 ; i ttji) min=ttji ; k = j ; ppi = ttki ; 第16套 一、.填空程序通过定义。输出这位学生的信息答案: tt tt.scorei std 二、修改求出数组中最大数和次大数,并把最大数和a【0】中的数对调,次最大数和a【1】中的书对调答案: m=i; if(akam )m=k; 三、程序请编写一个程序。w是一个大与10的无符号整数,若w是n为的整数,函数求出w的低n-1位的数作为函数值返回。

4、答案: unsigned t,s=0, s1=1,p=0; t=w; while(t10) if(t/10) p=t%10; s=s+p*s1; s1=s1*10; t=t/10; return s;第17套 一、.填空对形参ss所指字符串数组中的M个字符串按长度由短到长进行排序。ss所指字符串数组中共有M个字符串,且串长N答案: i+1 k=j t 二、修改判断ch中字符是否与str所指串中的某个字符相同;若相同,什么也不做,若不同,则将其插在串的最后答案: void fun(char *str,char ch) if(*str != ch) str1=0;三、设计请编写一个函数把s所指字符。

5、串中的内容逆值答案: char bN ; int i = 0, j ; memset(b,0,N); for(j = strlen(s) - 1 ; j = 0 ; j-) bi+ = sj ; strcpy(s,b);第18套 一、填空求出形参ss所指的字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长,字符串数组中共有M个字符串答案: k len ssij 二、修改计算整数n的阶乘答案: result*=n-; return result;三、程序从s所指的字符串中删除给定字符。同一个字母的大小写按不同字符处理答案: char*p=s; int i = 0; 。

6、while(*p) if(*p!= c) si+ = *p ; p+; si = 0 ; 第19套 一、.填空求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。Ss所指的字符串数组中共有M个字符串答案: ssi n+j 1 二、修改将p所指字符串中每个单词的最后一个字母改成大写答案:if(*p= ) *(p-1)=toupper(*(p-1);三、程序请编写函数fun对长多为7个字符的字符串,除首,尾字符外,将其余5个字符按ASCII降序排列答案: char t ; int i, j ; for(i = 1 ; i = a & *p =num)。

7、 t=s/n;三、程序 删除一个字符串中指定下标的字符,其中,a指向原字符,删除指定字符后的字符串存在b所指的数组中,n中存放指定下标答案: int p,m=0; for(p=0;p0.); return x1;第29.套 一 填空将N*N的矩阵中元素值按列右移1个位置,右边被移出矩阵的元素绕回左边答案: N N-1 0二 修改计算并输出下列的前N项之和Sn,Sn+1大于q为止,q的值通过形参传入答案: s=s+(n+1.)/n; return t;三 设计求Fibon.数列中大于t的最小的一个数,结果由函数返回,答案: int f0 = 0, f1 = 1, f ; do f = f0 + 。

8、f1 ; f0 = f1 ; f1 = f ; while(f amid)三 设计除了尾部的*号外,将字符串中的*号全部删除,形参p以指向字符串中最后的一个字符,答案: char *q=a; int j=0; while(*q & q0.001)三 设计除了尾部的*号外,将字符串中的*号全答案: int j=0; char *q=a; while(*q &qn) while(*p&pave = a-ave+a-si ; a-ave /= N ;第37套 一.填空把形参a所指数组中的最大值放在a【1】中,按着求出a所指数组中的最小值放在a【1】数组中;把a所指数组元素的次大值放在a【2】中,把a。

9、数组元素中的次小值放在a【3】中;其余以此类推。答案: *a 2 i+1 二 修改按顺序给s所指数组中的元素赋予从2开始的偶数,在按顺序对每五个元素求个一平均值,并将这些值依次存放在w所指的数组中,若s所指数组元素的个数不是5的倍数,多于部分忽略不计答案: sum=0.0; if(i+1)%5=0)三 设计把低于平均分的学生数据放在答案所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回答案: int i ; double ave = 0.0 ; *n = 0 ; for(i = 0; i next; double av=0.0;int n = 0 ;while(p!=NUL。

10、L) av=av+p-s ; p=p-next; n+; av /= n ; return av;第41套 一.填空函数fun的功能。进行字母转换,其他字符则保持不变,答案: & A ch二 修改给一维数组a输入任意4个整数,并按下列的规律输入答案:void fun(int *a) aj=aj-1;三 设计计算并输出给定整数n的所有因子之和,规定n的值不大于1000答案: int s = 0, i ; for(i = 2 ; i =0 & k=0.)xn=xn*x*(0.5-n+1)/n; n+=1; sn+=xn; return(sn); 第44套 一.填空计算f(x)=1+x+x2/2!.。

11、xn/n!的前n项,答案: 1 1 i二 修改找出100至n之间三位数字相等的所有整数,把这些整数放在s所指数组中,个数作为函数值返回答案: k=i; c=k%10;三 设计计算并输出给定10个数的方差答案: int i; double avg=0.0, sum=0.0,abs=0.0, fc; for (i=0;i1 & n0)三 设计按分数的高低排列学生记录,高分在前答案: STREC tmp; int i,j; for(i = 0; i =eps) pi+=s;t=n/(2*n+1);s*=t;n+:pi=pi*2; return pi;第57套 一 填空计算下式前n项的和作为函数值返回。

12、。S=1*3/22-3*5/42+5*7/62+(-1)n-1(2*n-1)*(2*n+1)/(2*n)2.答案: 1 2*i (-1) 二 修改判断一个数是否为素数若是返回1 否则返回0答案:k+ ; if (m=k)三 设计 找出一维整形数组元素中最大值和他所在的下标,最大的值和他所在的下标通答案: int i ; *max=a0;*d = 0 ; for(i= 1; i (2*i+1) 二 修改求下列分数序列前n项和,结果通过函数值返回主函数答案: double fun(int n) s=s+(double)a/b;三 设计求去一个2*答案整型二维数组中最大元素的值,并将此值返回调用函数。

13、答案: int i, j, max=a00; for(i=0; i2; i+) for(j=0; jM; j+) if(maxaij) max=aij; return max;第59.套 一 填空给定程序中S=1/22+3/22-5/42+7/62(-1)n-1(2n+1)/(2n)2 至(2n+1)/(2n)2=10-3 求S答案: 0 i+ 2.0*i二 修改将s所指字符串的正序和反序进行连接,形成一个新串放在t所指的数组中答案: void fun (char *s, char *t) t2*d = 0;三 设计将s所指字符串中除了下标为奇数,同事ASCII值也为奇数的字符之外,其余的所以。

14、有字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中答案: int i, j = 0 ; for(i = 1 ; i strlen(s) ; i += 2) if(i% 2=0& si%2)tj+ = si ; tj = 0 ; 第60套 一 填空将形参s坐直字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回答案: si k 0二 修改将s所指字符串中最后一次出现的与t1所指字符串相同的字串替换成t2所指字符串,所形成的新串放在w所指的数组答案: while(*w) if(*r=*p) 三 设计将s所指字符串中ASCII值为奇数的字符删除,串中剩余字。

15、符形成新串放在t所答案: int i, j = 0 ; for(i = 1 ; i strlen(s); i+=2) if(si % 2=0) tj+ = si ;tj =0; 第61.套 一 填空将形参s所指字符串中的所有数字字符顺序前移,其他字符顺序后移,处理有新字符串的首地址作为函数值返回答案: j k p二 修改首先把b所指字符串中的字符按逆序存放,然后将a所指字符串中的字符和答案所指字符串中的字符。按排列的顺序交叉合并到c所指数组中,答案: while(ij) if (*a) 三 设计 将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,s所指串中答案: int i, j = 0 ; for(i = 0 ; i strlen(s) ; i+) if(!(i % 2) =0 & (si % 2) tj+ = si。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值