- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
国家二级计算机考试
2012年3月全国计算机等级考试二级C语言上机题库及答案
第1套
一、 填空
给定函数的功能是调用 fun 函数建立班 级通讯录。 通讯录记录每位学生的编号, 姓名和电话号码。班级的人数和学生的 信息从键盘读入,每个人的信息作为一 个数据块写到名为答案 yfile5.dat 的二进 制文件中。 答案:1. STYPE 2. FILE 3. fp
二、修改 先将在字符串 s 中的字符按正序存放到 t 串中, 然后把 s 中的字符按逆序连接到 t 串后面。 答案:1. for(i = 0 ; i sl ; i++) 2. t[2*sl] =` 0`;
三、程序 将两个两位数的正整数 a,答案合并成 一个整数放在 c 中。合并的方式是:将 a 数的十位和个位数依次放在 c 数的千 位和十位上,答案数的十位和个位数依 次放在 c 数的百位和个位上。 *c=(a/10)*1000+(b/10)*100+(a%10)*10 +(b%10);
第 2 套
一、填空 从键盘输入若干行文本(每行超过 80 个字符) ,写到文件答案 yfile4.txt 中, 用-1 作为字符串输入结束的标记。然后 将文件的内容读出显示在屏幕上。文件 的读写分别有自定义函数 ReadText 和 WriteText 实现。 答案 :*fw str str
二、修改 从低位开始取出长整形变量 s 中的奇数 位上的数,依次构成一个新数放在 t 中, 高位仍放在高位,低位仍放在低位。 答案: long *t sl = sl*10;
三、程序 将两个两位数的正整数 a,答案合并成 一个整数放在 c 中。合并的方式:将 a 数的十位和个位数依次放在 c 数的千位 和十位上,答案数的十位和个位数依次 放在 c 数的百位和个位上。 *c=(b/10)*1000+(a%10)*100+(b%10)*10 +(a/10);
第 3 套
一、填空 将自然数 1~10 以及它们的平方根写到 名为答案 yfile3txt 的文本文档中,然后 再顺序读出显示在屏幕上。 答案: (1)fp (2)fclose(fp) (3)fname 二、修改 将 n 个无序整数从小到大排序。 答案: for(i=j+1;in;i++) p=i; 三、程序 将两个两位数的正整数 a,答案合并成 一个整数放在 c 中。合并的方式是:将 a 数的十位和个位数依次放在 c 数的千 位和十位上,答案数的十位和个位数依 次放在 c 数的百位和个位上 *c=(b%10)*1000+(a%10)*100+(b/10)*10 +(a/10); 一、填空 第4套 调用函数 fun 将指定源文件中的内容复 制到指定的目标文件中,复制成功时函 数返回值为 1, 失败时返回值为 0, 在复 制的过程中,把复制的内容输出到终端 屏幕。主函数中源文件名放在变量 sfname 中,目标文件名放在变量 tfname 中 答案: “r” fs ft 二、修改 将长整形数中每一位上为偶数的数依次 取出,构成一个新数放在 t 中。高位仍 在高位仍在低位。 答案: if(d%2==0) s /= 10; 三、程序 将两个两位数的正整数 a,答案合并成 一个整数放在 c 中。合并的方式是:将 a 数的十位和个位数依次放在 c 数的千 位和十位上,答案数的十位和个位数依 次放在 c 数的百位和个位上。 *c=(a%10)*1000+(b/10)*100+(a/10)*10 +(b%10); 第 5 套 一、填空 把形参 x 的值放入一个新结点并插入到 链表中,插入后结点数据域的值仍保持 递增有序。 答案: x p s 二、修改
计算正整数 num 的各位上的数字之积。 答案:long k=1; num/=10 ; 三、程序 计算 n 门课程的平均分,计算结果作为 函数值返回。 答案:int i; float ave=0.0; for(i=0; in; i++) ave=ave+a[i] ; ave=ave/n; return ave; 第 6 套 一、填空 给定程序中已建立一个带有头结点的单 向链表,在答案 ain 函数中将多次调用 fun 函数,没调用一次 fun 函数,输出链 表尾部结点中的数据,并释放该节点, 是链表缩短。 答案: next t-data t 二、修改 将字符串中的字符按逆序输出,单补改 变字符串中的内容。 答案:void fun (char *a) printf(%c, *a) ; 三、程序 比较两个字符串的长度(得调用 c 语 言提供的求字符串长度的函数) 函数返 , 回较长的字符串。若两个字符串长度相 同,则返回第一个字符串。 答案:int i; char *p=s , *q=t
文档评论(0)