二级C语言上机编程题技巧总结光华教育.docx

上传人:b****6 文档编号:2994876 上传时间:2022-11-17 格式:DOCX 页数:37 大小:742.05KB
下载 相关 举报
二级C语言上机编程题技巧总结光华教育.docx_第1页
第1页 / 共37页
二级C语言上机编程题技巧总结光华教育.docx_第2页
第2页 / 共37页
二级C语言上机编程题技巧总结光华教育.docx_第3页
第3页 / 共37页
二级C语言上机编程题技巧总结光华教育.docx_第4页
第4页 / 共37页
二级C语言上机编程题技巧总结光华教育.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

二级C语言上机编程题技巧总结光华教育.docx

《二级C语言上机编程题技巧总结光华教育.docx》由会员分享,可在线阅读,更多相关《二级C语言上机编程题技巧总结光华教育.docx(37页珍藏版)》请在冰豆网上搜索。

二级C语言上机编程题技巧总结光华教育.docx

二级C语言上机编程题技巧总结光华教育

二级C语言上机编程题技巧

目录

一、方法总结1

1前言1

2编程题做题方法一:

使用C语言特有的函数做题1

3编程题做题方法二:

使用规律做题2

4编程题做题方法三:

使用C语言编程2

5编程题做题方法四:

使用简便方法做题2

二、考题总结7

1第一种类型:

字符串操作一,字符串删除*号7

2第二种类型:

字符串操作二,移动字符串9

3第三种类型:

数学问题一,将两个数字按照要求合并成一个数字10

4第四种类型:

数学问题二,二维数组相关类型题目11

5第五种类型:

找出数组中的最大值或者最大值所在的下标12

6第六种类型:

字符串操作三。

包括统计单词、字符的个数,比较字符串,转换字符串13

7第七种类型:

字符串操作四,删除指定字符15

8第八种类型:

结构体17

9第九种类型:

链表类型19

10第十种类型:

数学问题二,素数20

11第十一种类型:

数学问题三,公式类型21

三、注意事项25

 

一、方法总结

1前言

二级C语言上机编程题在二级上机考试中属于较难题型,因此很多同学都害怕通过不了。

综合往年的考试,结合考试大纲,每年考试的编程题都有一定的规律和方法,只要同学们认真熟练使用做题的方法,通过考试是没有问题的。

2编程题做题方法一:

使用C语言特有的函数做题

(1)编程思想:

使用C语言函数库中的做题,做题时必须注意包含对应的头文件

(2)考题举例:

题库中的第37题,要求将数字字符串转化为对应整数,例如“-1234”转化后为-1234。

做题时需要添加头文件#include"stdlib.h",然后在fun函数中写入程序returnatol(p);其中atol(p)表示将p从字符串转化为长整型数。

最后编译,运行后输入测试数据后即可得到满分。

#include

#include

#include"stdlib.h"

longfun(char*p)

{

returnatol(p);

}

(3)方法总结:

该类方法可以适用的题目较少,同学们了解即可。

3编程题做题方法二:

使用规律做题

(1)编程思想:

部分题目的答案是固定的,不会因为输入的数据改变而改变,因此这部分题目我们直接将答案记住即可,减少编程的麻烦。

(2)考题举例:

题库中的70题,求cos(x)-x=0的一个实根。

做题时候在fun函数中输入return0.739085;后点击编译和运行即可,无需输入测试数据。

(补充:

如果需要输入测试数据,程序在输出的黑屏上面会提示,不过一般是英文提示,所以同学们要格外小心)

#include

#include

doublefun()

{

return0.739085;

}

(3)考题总结:

该题为每年必考的题目,因此同学们要将答案熟记,以便大家能顺利通过考试。

4编程题做题方法三:

使用C语言编程

(1)编程思想:

该种方法是考试中使用频率最多的方法,就是使用学习的C语言进行编程,对C语言的知识进行综合运用,因此难度较大,容易出错。

(2)考题举例:

题库14题,求小于形参n同时能被3和7整除的所有自然数之和的平方根,并作为函数的返回。

做题时时一定要按照三个步骤来:

一要定义,二要满足题意,三要看有无返回。

#include

#include

doublefun(intn)

{

inti;

intsum=0;

for(i=0;i

{

if(i%3==0&&i%7==0)

{

sum=sum+i;

}

}

returnsqrt(sum);

}

(3)考题总结:

该题属于编程方法中较简单的题型,做题时也可以使用简便方法,请参考考试总结中的叙述。

5编程题做题方法四:

使用简便方法做题

(1)编程思想:

顾名思义这是一种简单而且高效的方法,可是要提醒大家里面的方法不是看一遍就能掌握的,同学们要仔细再仔细,多练习多思考。

(2)考题举例:

题库第8题,要求除了字符串前导的*号之外,将串中其他的*号全部删除。

例如,字符串的内容:

****A*BC*DEF*G*******,删除后为:

****ABCDEFG。

做题步骤如下:

1)读题目,否则将不能正确做题。

该题目的要求很清晰,就是删除*号,但是不能删除前导*号。

这里大家要知道什么是前导*号?

其实它是指字符串中第一个字母以前的全部*号,该题中有4个前导*号。

2)开始做题,找到NONO函数,了解做题的来龙去脉。

以该题为例,以下是NONO函数的全部内容:

NONO()

{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。

*/

FILE*in,*out;

inti;chars[81];

in=fopen("D:

\\k01\\24010001\\in.dat","r");

out=fopen("D:

\\k01\\24010001\\out.dat","w");

for(i=0;i<10;i++)

{

fscanf(in,"%s",s);

fun(s);

fprintf(out,"%s\n",s);

}

fclose(in);

fclose(out);

}

分析NONO函数:

分析过程有点多,第一次就要将其看懂,后面就可以很轻松!

1FILE*in,*out;表示定义了两个文件类型的指针in和out,用来指向某个打开的某个文件。

2inti;chars[81];定义了一个整型的变量i,一般用来表示循环的递增;定义了一个字符类型的一维数组s,这里数组s没有存储任何的数据,因此一般是闲置用来后面题目中存放数据使用的。

3in=fopen("D:

\\k01\\24010001\\in.dat","r");in是上面定义的文件指针,用来指向一个文件in.dat。

首先大家要知道open在英语里面表示是“打开”,file在英语里面是“文件”,因此形象记忆fopen就是打开文件,打开什么文件?

看后面的存储目录D:

\\k01\\24010001\\in.dat,就是这个路径下面的文件in.dat,以”r”只读的形式打开,记住不能就行对in.dat的改动。

4out=fopen("D:

\\k01\\24010001\\out.dat","w");out文件指针用来指向out.dat,打开的方式以”w”写的方式写数据,换句话说:

in.dat是考试时候的数据源文件,而out.dat是用来存放答案的文件,所以要确保out.dat中的数据完全正确。

5for(i=0;i<10;i++)循环语句,该循环将执行10次

6fscanf(in,"%s",s);从in文件所指向的数据源文件in.dat中读取一行字符串数据给一维数组s,(顺便说下为什么知道是读取一行字符串数据,是因为%s格式是用来控制字符串的,因此不难判断),通过循环语句,将读取10行数据进行处理,该题目总共40分,因此每行就是4分。

7fun(s);调用函数fun,传入实参s,我们从题目得知fun函数要完成的事情是删除字符串中的*号,但是不删除前导*号,每次传入的数据都会被执行。

8fprintf(out,"%s\n",s);printf在第二章学习的时候知道是输出的意思,fprintf的意思是将数据输出到out指针指向的文件中,以“%s\n”格式方式输出,输出的数据是s,同学们一定要注意,此时的s是修改过的s,即是删除*号后的字符串。

9fclose(in);关闭文件指针in

10fclose(out);关闭文件指针out,文件打开后要将其关闭。

 

3)在VC6.0中fun函数位置输入一些简单的语句,(有时也可以直接运行):

输入定义一个test变量,给其赋值,最好多敲几个回车进去,如果数据有返回值,必须输入返回值。

然后点击编译,运行后将出现这个界面:

要求输入一个字符串,可以任意的从键盘中输入字符串,例如输入:

12345回车,得到:

程序中出项Pressanykeytocontinue则说明程序已经运行,将在考试文件夹下面生成out.dat文件,否则在考生文件夹下面将不会生成out.dat文件,就没有办法继续做题。

4)打开in.dat

1关闭第三步程序运行的界面,打开int.dat文件。

2在VC++6.0界面中“单击File”,在弹出的菜单中选取“Open”,打开考生文件夹D:

\\k01\\24010001下面的in.dat文件。

截图如下:

3查找范围里面选中D盘

4找到k01下面的24010001,发现没有in.dat文件,单击文件类型,选择“所有文件(*.*)”即可

5选中in.dat,然后单击打开,出现下图所示界面为正确打开

分析in.dat中的数据发现每行数据都是由*号和字母组成的,总共有10行。

5)打开out.dat

1和打开in.dat同样的方法打开out.dat

2将out.dat里面的数据清空,即将out中所有东西都删除,让out没有任何的代码

3将in.dat中第一行数据****A*BC*DEF*G********复制到out.dat中

4将out.dat第一行数据的中间*和尾部*全部删除,然后敲入回车

5以此类推将in.dat中剩余9行按照上面的步骤复制到out.dat中进行修改,两行中间没有空行

6)保存交卷

1单击左上方的保存,保存结果

2保存后关闭vc++6.0方可交卷

二、考题总结

1第一种类型:

字符串操作一,字符串删除*号

1、考题库中考题对应编号:

8、9、10、19、45、54、57、61、65、71、77、90、92、93、(以上均为*号题);100(暂时无法加载)、56、60、72、75、85、86

2、举例:

以第10题为例讲解

1)分析题目:

使字符串的前导*号不得多于n个,若多于n个,则删除多余的*好,若少于或等于n个,则什么也不做,字符串中间和尾部*号不得删除。

2)分析NONO函数:

NONO()

{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。

*/

FILE*in,*out;

inti,n;chars[81];

in=fopen("D:

\\k01\\24010001\\in.dat","r");

out=fopen("D:

\\k01\\24010001\\out.dat","w");

for(i=0;i<10;i++)

{

fscanf(in,"%s",s);

fscanf(in,"%d",&n);

fun(s,n);

fprintf(out,"%s\n",s);

}

fclose(in);

fclose(out);

}

NONON函数具体分析方法前面(方法四)已经详细讲解过了,现将不同的点进行分析。

fscanf(in,"%s",s);表示从in.dat中读取一个字符串放到数组s中

fscanf(in,"%d",&n);表示从in.dat中读取一个整型数据给变量n,从题目中我们不难发现s和n之间的关系,就是如果s字符串中的前导多于n个删除,则删除多余的*号,否则什么也不做。

fprintf(out,"%s\n",s);只将修改后的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1