C语言开发经验
Posted 电气自动化资料库
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言开发经验相关的知识,希望对你有一定的参考价值。
一、 方法总结
1、 二级 C 语言上机编程题在二级上机考试中属于较难题型,因此很多同学都害怕通过不了。综合往年的考试,结合考试大纲,每年考试的编程题都有一定的规律和方法,只要同学们认真熟练使用做题的方法,通过考试是没有问题的。2、 编程题做题方法一:使用 C 语言特有的函数做题 (1) 编程思想:使用 C 语言函数库中的做题,做题时必须注意包含对应的头文件(2) 考题举例:题库中的第 37 题,要求将数字字符串转化为对应整数,例如“-1234”转化后为-1234。做题时需要添加头文件#include "stdlib.h",然后在 fun 函数中写入程序return atol(p);其中 atol(p)表示将 p 从字符串转化为长整型数。最后编译,运行后输入测试数据后即可得到满分。#include <stdio.h>#include <string.h>#include "stdlib.h" long fun ( char *p){return atol(p); } (3) 方法总结:该类方法可以适用的题目较少,同学们了解即可。3、 编程题做题方法二:使用规律做题 (1) 编程思想:部分题目的答案是固定的,不会因为输入的数据改变而改变,因此这部分题目我们直接将答案记住即可,减少编程的麻烦。(2) 考题举例:题库中的 70 题,求 cos(x)-x=0 的一个实根。做题时候在 fun 函数中输入 return 0.739085;后点击编译和运行即可,无需输入测试数据。(补充:如果需要输入测试数据,程序在输出的黑屏上面会提示,不过一般是英文提示,所以同学们要格外小心)#include <math.h>#include <stdio.h>double fun(){ return 0.739085;} (3) 考题总结:该题为每年必考的题目,因此同学们要将答案熟记,以便大家能顺利通过考试。4、 编程题做题方法三:使用 C 语言编程 (1) 编程思想:该种方法是考试中使用频率最多的方法,就是使用学习的 C 语言进行编程,对C 语言的知识进行综合运用,因此难度较大,容易出错。(2) 考题举例:题库 14 题,求小于形参 n 同时能被 3 和 7 整除的所有自然数之和的平方根,并作为函数的返回。做题时时一定要按照三个步骤来:一要定义,二要满足题意,三要看有无返回。#include <math.h>#include <stdio.h>
double fun( int n){ int i;int sum=0; for(i=0;i<n;i++) { if(i%3==0&&i%7==0) { sum=sum+i; }} return sqrt(sum);} (3) 考题总结:该题属于编程方法中较简单的题型,做题时也可以使用简便方法,请参考考试总结中的叙述。5、 编程题做题方法四:使用简便方法做题 (1) 编程思想:顾名思义这是一种简单而且高效的方法,可是要提醒大家里面的方法不是看一遍就能掌握的,同学们要仔细再仔细,多练习多思考。(2) 考题举例:题库第 8 题,要求除了字符串前导的*号之外,将串中其他的*号全部删除。例如,字符串的内容:****A*BC*DEF*G*******,删除后为:****ABCDEFG。做题步骤如下:1) 读题目,否则将不能正确做题。该题目的要求很清晰,就是删除*号,但是不能删除前导*号。这里大家要知道什么是前导*号?其实它是指字符串中第一个字母以前的全部*号,该题中有 4 个前导*号。2) 开始做题,找到 NONO 函数,了解做题的来龙去脉。以该题为例,以下是 NONO 函数的全部内容:NONO(){ /* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE *in, *out ;int i ; char s[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 函数:分析过程有点多,第一次就要将其看懂,后面就可以很轻松!① FILE *in, *out;表示定义了两个文件类型的指针 in 和 out,用来指向某个打开的某个文件。② int i ; char s[81] ;定义了一个整型的变量 i,一般用来表示循环的递增;定义了一个字符类型的一维数组 s,这里数组 s 没有存储任何的数据,因此一般是闲置用来后面题目中存放数据使用的。③ in = fopen("D:\\k01\\24010001\\in.dat","r") ;in 是上面定义的文件指针,用来指向一个文件 in.dat。首先大家要知道 open 在英语里面表示是“打开”,file 在英语里面是“文件”,因此形象记忆 fopen 就是打开文件,打开什么文件?看后面的存储目录 D:\\k01\\24010001\\in.dat,就是这个路径下面的文件 in.dat,以”r”只读的形式打开,记住不能就行对 in.dat 的改动。④ out = fopen("D:\\k01\\24010001\\out.dat","w") ;out 文件指针用来指向 out.dat,打开的方式以”w”写的方式写数据,换句话说:in.dat 是考试时候的数据源文件,而out.dat 是用来存放答案的文件,所以要确保 out.dat 中的数据完全正确。⑤ for(i = 0 ; i < 10 ; i++)循环语句,该循环将执行 10 次 ⑥ fscanf(in, "%s", s) ;从 in 文件所指向的数据源文件 in.dat 中读取一行字符串数据给一维数组 s,(顺便说下为什么知道是读取一行字符串数据,是因为%s 格式是用来控制字符串的,因此不难判断),通过循环语句,将读取 10 行数据进行处理,该题目总共 40 分,因此每行就是 4 分。⑦ fun(s) ;调用函数 fun,传入实参 s,我们从题目得知 fun 函数要完成的事情是删除字符串中的*号,但是不删除前导*号,每次传入的数据都会被执行。⑧ fprintf(out, "%s\n", s) ;printf 在第二章学习的时候知道是输出的意思,fprintf的意思是将数据输出到 out 指针指向的文件中,以“%s\n”格式方式输出,输出的数据是 s,同学们一定要注意,此时的 s 是修改过的 s,即是删除*号后的字符串。⑨ fclose(in) ;关闭文件指针 in⑩ fclose(out) ;关闭文件指针 out,文件打开后要将其关闭。3) 在 VC6.0 中 fun 函数位置输入一些简单的语句,例如:输入定义一个 test 变量,给其赋值,最好多敲几个回车进去,如果数据有返回值,必须输入返回值。然后点击编译,运行后将出现这个界面:
以上是关于C语言开发经验的主要内容,如果未能解决你的问题,请参考以下文章