二级c语言常见知识点

2024-08-30

二级c语言常见知识点(共10篇)

篇1:二级c语言常见知识点

C语言二级考试知识点总结

1.在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控制流。2.可行性分析阶段产生可行性分析报告。概要设计说明书是总体设计阶段产生的文档。集成测试计划是在概要设计阶段编写的文档。

需求规格说明书是后续工作如设计、编码等需要的重要参考文档。3.除了堆排序算法的比较次数是,其他的都是n(n-1)/2。4.E-R图转换成关系模型数据则是把图形分析出来的联系反映到数据库中,即设计出表,所以属于逻辑设计阶段。

5.C语言中的非执行语句不会被编译,不会生成二进制的机器指令,所以A)错误。由C语言构成的指令序列称C源程序,C源程序经过C语言编译程序编译之后生成一个后缀为.OBJ的二进制文件(称为目标文件);最后要由“连接程序”把此.OBJ文件与C语言提供的各种库函数连接起来生成一个后缀为.EXE的可执行文件。

6.C语言中八进制整型常量的开头是数字0,十六进制整型常量的开头数字是0x。C语言中的实型常量有两种表示形式:小数形式,小数形式表示的实型常量必须要有小数点;指数形式,以“e”或“E”后跟一个整数来表示以10为底数的幂数,且规定字母e或E之前必须要有数字,且e或E后面的指数必须为整数。

7.循环队列有队头和队尾两个指针,但是循环队列仍是线性结构的;在循环队列中只需要队头指针与队尾两个指针来共同反映队列中元素的动态变化情况

8.链式存储结构既可以针对线性结构也可以针对非线性结构。链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间。9.在需求分析阶段可以使用的工具有数据流图DFD图,数据字典DD,判定树与判定表

10.对象有如下一些基本特点:标识唯一性、分类性、多态性、封装性、模块独立性好。

11.栈支持子程序调用。栈是一种只能在一端进行插入或删除的线性表,在主程序调用子函数时要首先保存主程序当前的状态,然后转去执行子程序,最终把子程序的执行结果返回到主程序中调用子程序的位置,继续向下执行,这种调用符合栈的特点

12.冒泡排序与简单插入排序与简单选择排序法在最坏情况下均需要比较n(n-1)/2次,而堆排序在最坏情况下需要比较的次数是 13.编译软件、操作系统、汇编程序都属于系统软件,只有C)教务管理系统才是应用软件。

14.耦合性是模块间互相连接的紧密程度的度量而内聚性是指一个模块内部各个元素间彼此结合的紧密程度

15.循环队列的队头指针与队尾指针都不是固定的,随着入队与出队操作要进行变化。因为是循环利用的队列结构所以对头指针有时可能大于队尾指针有时也可能小于队尾指针。

16.在E-R图中实体集用矩形,属性用椭圆,联系用菱形。17.算法是指解题方案的准确而完整的描述,算法不等于程序,也不等于计算方法,设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。

18.数据库系统的三级模式是概念模式、外模式和内模式

19.关于数据库设计的叙述:数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实和完善的。

20.面向对象基本方法的基本概念有对象、类和实例、消息、继承与多态性

21.一般来说,在线性表的链式存储结构中,各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致。线性链表中数据的插入和删除都不需要移动表中的元素,只需改变结点的指针域即可。

22.实体完整性约束要求关系的主键中属性值不能为空值。所以一个关系中应该有一个或多个候选关键字

23.软件危机主要表现在:软件需求的增长得不到满足;软件开发成本和进度无法控制;软件质量难以保证;软件不可维护或维护程度非常低;软件的成本不断提高;软件开发生产率的提高赶不上硬件的发展和应用需求的增长。

24.需求分析阶段的工作有:需求获取;需求分析;编写需求规格说明书;需求评审

25.黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证,黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能说明,26.系统结构图是对软件系统结构的总体设计的图形显示。在需求分析阶段,已经从系统开发的角度出发,把系统按功能逐次分割成层次结构,是在概要设计阶段用到的。PAD图是在详细设计阶段用到的。程序流程图是对程序流程的图形表示,在详细设计过程中用到。数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型,是在可行性研究阶段用到的而非软件设计时用到

27.栈是先进后出的数据结构,在整个过程中,栈底指针不变,入栈与出栈操作均由栈顶指针的变化来操作

28.数据定义语言:负责数据的模式定义与数据的物理存取构建;数据操纵语言:负责数据的操纵,包括查询及增、删、改等操作;数据控制语言:负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。

29.C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件。。

并不是源程序中的所有行都参加编译。在条件编译形式下,相关内容只在满足一定条件时才进行编译。。用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中 30.不能将一个整数直接赋给指针变量作为地址 31.函数调用中形参值的变化不会传递给实参。

32.auto:函数中的局部变量,动态地分配存储空间,数据存储在动态存储区中,在调用该函数时系统会给它们分配存储空间,在函数调用结束时就自动释放这些存储空间。register:为了提高效率,C语言允许将局部变量的值放在CPU中的寄存器中,这种变量叫“寄存器变量”,只有局部自动变量和形式参数可以作为寄存器变量。extern:外部变量(即全局变量)是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的末尾。如果外部变量不在文件的开头定义,其有效的作用范围只限于定义处到文件终了。static:静态局部变量属于静态存储类别,在静态存储区内分配存储单元。在程序整个运行期间都不释放。

33.取模运算符%的左右两个操作数均应为整数

34.条件表达式:x=表达式1?表达式2:表达式3 的含义是:先求解表达式1,若为非0(真),则求解表达式2,将表达式2的值赋给x。若表达式1的值为0(假),则求解表达式3,将表达式3的值赋给x。35.在任意一棵二叉树中,度为0的叶子节点总是比度为2的节点多一个

36.数据库应用系统中的核心问题是数据库的设计

37.因为x,y都是double型数据,所以输入时的格式字符应为%lf 38.char s[7];s={“Olympic”};中字符数组s的大小至少为8,才能存放下字符串。(字符串的末尾都有结束标志“”)。

39.数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实和完善的。

40.详细设计的任务是为软件结构图中而非总体结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节

41.数据定义语言:负责数据的模式定义与数据的物理存取构建;数据操纵语言:负责数据的操纵,包括查询及增、删、改等操作;数据控制语言:负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。

42.C语言中整型变量分为4种,基本型int,短整型short int,长整型long int和无符号型(unsigned int、unsigned short、unsigned long)

篇2:二级c语言常见知识点

C语言的非数值处理功能很强,因此它被广泛地应用于数据库管理系统和应用软件。大多数的关系数据库管理系统,如dBASE,Fox$ASE,ORACLE等,都是由C语言编写的。各种不同部门的应用软件也大都是用G语言开发的,C语言在开发数据库应用软件方面应用很广,深受开发者的欢迎。

2.图形图像来统的应用程序方面

C语言在图形图像的开发中也有着广泛的市场。很多图形图像系统,如AutoCAD通用图形系统等,就是使用C语言开发的,并且在这些图形系统中可以直接使用C语言编程,实现某些功能。C语言编译系统带有许多绘图功能的函数,利用这些函数开发图形应用软件十分方便。所开发的应用程序常用C语言编写接口界面,这样既方便又灵活,效果很好。这是因为该语言提供有图形处理功能,便于实现图形图像的各种操作。因此,C语言在图形图像的应用方面很好地发挥了它的作用。

3.编写与设备的接。程序方面

C语言不仅在建立友好界面方面有着广泛应用,如下拉式菜单、弹出菜单、多窗口技术等;而且在编写与设备的接口程序方面也有着广泛应用。这是因为C语言不仅具有高级语言的特性还具有低级语言的功能,因此,在编写接口程序方面十分方便,有时它与汇编语言一起使用,会显示出更高的效率。

4.数据结构方面

由于C语言提供了十分丰富的数据类型,不仅有基本数据类型还有构造的数据类型,如数组、结构和联合等,把它们用于较复杂的数据结构〔例如,链表、队列、伐、树等)中显得十分方便,这方面已有许多成熟的例程供选择使用。

5.排序和检索方面

排序和检索是数据处理中最常遇到并较为复杂的间题。使用C语言来编写排序和检索各种算法的程序既方便又简洁。特别是有些排序算法采用了递归方法进行编程,更显得清晰明了。因此、人们喜欢使用G语言来编写这方面的程序。

上述列举了五个方面的应用,但绝不是说C语言的应用仅限如此,而是说在这几个方面目前使用得更多些。C,语言可以说在各个领域中都可以倪用,并且都会有较好的效果。所以,C语言是当前被用于编程的最广泛的语言之一。

另外,C语言是一种结构化程序设计语言,在编写大型程序中也很方便,特别是该语言又提供了预处理功能,其中文件包含在多人同时开发一个大程序时将带来减少重复和提高效率等好处,因此,越来越多的人喜欢用C语言来开发大型程序。

1.计算机二级C语言程序设计考点:C语言的特点

2.计算机二级C语言程序设计考点解析:C语言程序实例

3.计算机二级C语言程序设计考点:指针

4.计算机二级C语言程序设计考点:数组

5.计算机二级C语言程序设计考点:函数

6.计算机二级C语言考点:字符型数据

7.计算机二级c语言试题

8.计算机二级C语言程序设计考点解析:常用的输人函数

9.计算机二级C语言程序设计考点:单词及词法规则

篇3:谈二级C语言之函数的声明

1.1 填空

#include

void fun (unsigned long*n)

{unsigned long x=0, i;int t;

i=1;

while (*n)

/**********found**********/

{t=*n%__1__;

/**********found**********/

if (t%2!=__2__)

{x=x+t*i;i=i*10;}*n=*n/10;

}

/**********found**********/

*n=__3__;

}

main ()

{unsigned long n=-1;

while (n>99999999||n<0)

{p r i n t f ("P l e a s e

i n p u t (0

fun (&n) ;

printf ("n The result is:%ldn", n) ;

}

1.2 改错

#include

#define M 5

/************found************/

int fun (int n, int xx[][])

{int i, j, sum=0;

printf ("n The%d x%d matrix:n", M M) ;

for (i=0;i

{for (j=0;j

/************found************/

printf ("%f", xx[i][j]) ;printf ("n") ;

}

for (i=0;i

sum+=xx[i][i]+xx[i][n-i-1];return (sum) ;

}

main ()

{i n t a a[M[M]={{1, 2, 3, 4, 5}, {4, 3, 2, 1, 0},

{3, 4, 5, 6, 7}};

printf ("n The sum of all elements on2 diagnals is%d.", fun (M, aa) ) ;

}

1.3 编程

#include

#include

#define N 16

typedef struct

{char num[10];

int s;

}STREC;

STREC fun (STREC*a, char*b)

{

}

main ()

{STREC s[N]={{"GA005", 85}, {"GA003", 76}, {"GA002", 69}, {"GA004", 85},

", 72}, {"GA008", 64}, {"GA006", 87},

", 91}, {"GA012", 64}, {"GA014", 91},

", 64}, {"GA018", 64}, {"GA016", 72}};

STREC h;

char m[10];

int i;FILE*out;

printf ("The original data:n") ;

for (i=0;i

{if (i%4==0) printf ("n") ;

printf ("%s%3d", s[i].num, s[i].s) ;}

printf ("nn Enter the number") ;gets (m) ;

}

2 上机操作解析

2.1 填空

(1) 10; (2) 0; (3) x

2.2 改错

(1) int fun (int n, int xx[][M]) ; (2) printf (“%d”, xx[i][j]) ;

2.3 编程

STREC fun (STREC*a, char*b)

{

int i;

}

3 知识点详析

函数的声明:

(1) 函数声明中的参数名可以省略, 可以是任意合法的用户标识符, 不必与函数定义中的形参名一致, 也可以与程序中的其他用户标识符同名。

(2) 对函数进行声明, 能使C语言的编译程序在编译时进行有效的类型检查。参数类型、顺序和个数要求与函数定义中的保持一致。

(3) 如果函数的返回值是整型或字符型, 可以不必进行声明, 系统对它们自动按整型声明。

摘要:全国计算机等级考试是在每年的三月份与九月份举行, 其中作为本科生报考人数最多的就是二级C语言, C语言的上机操作题每年困扰着这无数的大学生们, 二级C语言的上级操作题分为三题, 即填空题, 改错题, 编程题, 总共100分, 本文举例了二级C语言的一些试题加以分析, 并且着重介绍了函数的声明。

关键词:全国计算机等级考试,二级C语言,上机操作,函数的声明

参考文献

[1]路瑾铭.全国计算机等级考试过关宝典系列——教程 (二级C语言) .2011 (9)

篇4:二级c语言常见知识点

2008年下半年二级C语言程序设计的全国报考人数为50.99万人,笔试试卷的整卷难度为0.57,整卷的信度达到了0.89。本次考试二级C全国取证率为32.3%。全卷的难度适中,信度较好。现就将本次考试中的部分难题做简要分析,以帮助考生复习备考,取得满意的成绩。

选择题第32题:

有以下程序

#include

void fun( int a, int b )

{intt;

t=a; a=b; b=t;

}

main()

{intc[10]={1,2,3,4,5,6,7,8,9,0}, i;

for (i=0; i<10; i+=2)fun(c[i], c[i+1]);

for (i=0;i<10; i++)printf("%d,", c[i]);

printf("n");

}

程序运行后的输出结果是

A)1,2,3,4,5,6,7,8,9,0,

B)2,1,4,3,6,5,8,7,0,9,

C)0,9,8,7,6,5,4,3,2,1,

D)0,1,2,3,4,5,6,7,8,9,

【答案】A

【分析】

(1)该题考生答对率只有29.6%,59.1%的考生选择了错误项B。

(2)这是一道典型的调用函数与被调用函数之间数据传递的问题。在调用函数时,实参的值将传送给对应的形参,但形参的变化不会影响对应的实参。教材例7.3(P.82)深刻地说明了这个过程。估计很多考生知道这一点,但理解不够深刻,故一旦试题更换格式,就会出错。

(3)这道题区分度较高,达到0.347,说明是一道好题。

选择题第40题:

有以下程序

#include

main()

{ FILE *pf;

char *s1="China", *s2="Beijing";

pf=fopen("abc.dat","wb+");

fwrite(s2,7,1,pf);

rewind(pf); /*文件位置指针回到文件开头*/

fwrite(s1,5,1,pf);

fclose(pf);

}

以上程序执行后abc.dat文件的内容是

A)ChinaB)Chinang

C)ChinaBeijingD)BeijingChina

【答案】B

【分析】

(1)只有28.5%的考生答对,有37.9%的考生选择了D。属于本套试卷里最难的选择题。

(2)在文件使用方式上,本题使用的是“wb+”,意思是为写建立一个新的二进制文件,并在读和写过程中,可以由位置函数设置读和写的起始位置。为降低试题难度,本题特地在语句rewind(pf);后面有注解提示:文件位置指针回到文件开头。因此,在写入字符串“Beijing”后,文件指针回到文件头,再写入“China”,文件的内容就成为“Chinang”,正确答案是B。

(3)该题区分度0.375,属好题。

填空题第8题:

以下程序的输出结果是___。

#include

main()

{int i,j,sum;

for(i=3;i>=1;i--)

{sum=0;

for(j=1;j<=i;j++)sum+=i*j;

}

printf("%dn",sum);

}

【答案】1

【分析】

(1)本题只有19.2%的考生答对。

(2)该题考核考生做题时的细心。在第一个for循环体中,由于每次循环都将sum置0,因此,影响sum值的因素就只与最后一次循环语句相关,此时,i为0,j为1,sum只能是1了。

(3)这道题本身不难,如果考生能够仔细阅题,掌握关键点,就不会出错了。

填空第9题:

以下程序的输出结果是___。

# include

main()

{ intj, a[]={1,3,5,7,9,11,13,15}, *p=a+5;

for(j=3;j;j--)

{switch ( j )

{ case1:

case2:printf("%d", *p++);break;

case3:printf("%d", *(--p));

}

}

}

【答案】9911

【分析】

(1)本题只有16.3%的考生答对,是难题。

(2)该题主要考核考生三个方面的知识,一是选择结构switch语句,一个是自加减运算,另一个是指针。j=3时,执行printf("%d", *(--p));语句,结果是输出9;j=2时,执行printf("%d", *p++); break; 结果是输出9,这是答对本体的关键!*p++指的是使*p作为表达式的值,然后使指针变量p本身增1;j=1时,执行空语句后,继续执行case2语句,此时输出11。所以本题的答案是9911。

篇5:C语言二级上机考试要点总结

2007年9月,教育部考试中心对现有的全国计算机等级考试大纲进行了改革,二级C语言上机考试时间由60分钟增加到了90分钟,编程环境由以前的TC2.0改为VC++6.0。[2]本文根据对近几年来二级C语言上机考试中的程序设计题进行归类总结,提出相应的策略,并对考生应对2007新大纲以后的C语言上机环境给出一些建议。2 对以往考试的分析

历年的全国计算机等级考试中二级C语言上机考试程序设计题目全部出自于由南开大学出版社编写南开100题,每次考试教育部考试中心会对题库做相应的改动,增加一些新的题型或题目,考试中,考生随机抽取一套进行测试。笔者对2005年4月至2007年9月2004版新大纲以后的6次考试中的程序设计题目进行了总结,将这些题目一共分成了6大类,对每种类型的题目进行了分析。2.1 对一维数组和字符串的操作

该类型的题目在以往的机试中所占比例最大,为40%,考生应对该知识点做全面的复习和掌握。一维数组可以分为数值型和字符型,其中数值型数组的数据类型为整型和实型,字符型数组的数据类型为字符型,我们通常会把字符型数组叫做字符串,但是应该注意字符型数组与字符串之间是存在区别的,也就是’’结束标志问题。在复习该部分的时候,考生应该掌握以下两个问题:(1)对一维数组的操作

对一维数组进行操作的时候,不可避免的要访问相关的数组元素,在C语言中访问数组元素一般采取单层循环的方法进行遍历,假设数组长度为n,数组下标是在0到(n-1)之间的,考生应该牢固掌握在一维数组中求最大值、最小值,移动元素,查找特定值,存储数组元素的方法。

(2)对字符串的操作

该类问题是每次考试的重点和难点,特别是将字符串同指针结合起来以后,难度就更大了。考生在解决此类问题是应特别注意字符串的结束标志’’,它不仅仅用来作为字符串的结束标志,而且在对字符串进行操作的时候,它也是循环的结束标志。考生在复习该部分的时候,应该注意这样的几个基本问题:大小字母转换、奇偶数判别、删除或添加指定的字符和字符的移动。此外,考生应该牢固掌握指针的特性及字符串操作函数的使用和实现方法,特别是字符串连接函数与求子串函数,在以往的考试中多次要求考生自己编写,考生应对该知识点做重点掌握。2.2 数值计算

该类型的题目在历年的机试中占22%,考查的机率也非常高。该类题目一般给定一个数列计算公式,然后要求考生编写一个函数类实现求数列的前n项的值、累加和或者积。在解决该类的问题,首先要找到给定数列的变化规律,然后根据其变化规律来编写一个单层或者双层的循环来求其相应的值。在编写程序的过程中,往往还会用到一些数学函数,如:sqrt()、fabs()、pow()等,考生应该牢固掌握math.h中的一些常用数学函数的功能和使用方法。另外,还应该注意数据类型之间的区别,特别是float和int类型,不同的数据类型产生的运算结果也是不一样的。2.3 对结构体的操作

该部分对非计算机专业的学生来说是一个难点,因为结构体在《数据结构》这门课程中应用最为广泛,但考生忽视对该知识点的复习,但在以往的机试中,有17%的题目是属于该类型。考生在复习这部分的时候,首先应注意结构体成员的两种不同的引用方法:结构体变量和指向结构体的指针,也就是结构体成员运算符’.’和指向运算符’->’,在编程的过程中,往往会涉及到结构体数组,其实这类数组除了数据类型是结构体以外,其它的特性和普通数组是一样的,结构体除了定义、赋值和初始化以外,它的其它操作和普通变量也是一样的,包括在结构体数组(记录)中进行查找、删除、求最大最小值等操作,我们应该用对待普通变量的方法来解决结构体的问题,这样的话,难度就可以大幅度的降低。2.4 对二维数组的操作

该类问题在历年的机试中占16%,考生应对二维数组的数组元素的遍历方法、存储方式、矩阵转换等问题做重点掌握。在C语言中,访问二维数组的数组元素一般采用双层循环的方法实现,因为二维数组具有两个下标:行下标与列下标;二维数组可以按行或者按列转化成一维数组进行存储;对二维数组进行行列转换的时候,要将行下标和列下标进行互换。考生还应该掌握上三角矩阵、下三角矩阵的特性,在考试中,该知识点也有所涉及。2.5 数制转换

该部分在以往的机试中占11%,包括两类问题:一是整数合并,二是类型转换。在复习该部分时,考生应该注意C语言中int型、long型、float型和double型数据所占的存储空间的大小和精度,注意’%’(模)运算和’/’(除法)运算的特点,特别应该灵活的使用模运算与除法运算求数据相应位数上的数值。掌握强制类型转换的方法以及按规定的位数保留小数的方法。2.6 素数

该部分在历年的机试中占6%,考生应该牢固掌握素数的基本概念和判断素数的方法。特别需要考生注意的是整数1不是素数,所以在判断素数的时候,应该从2开始,到(n-1)结束,能够除尽的不是素数,不能除尽的是素数。判断素数问题是C语言中的一个基本算法,不仅会在程序设计中会考到,而且往往在程序填空和程序改错中也会有所涉及,因此,考生应对该知识点认真复习。3 程序设计中应注意的问题 3.1 熟悉编程环境

根据2007年9月教育部考试中心颁布的新大纲,二级C语言的编程环境由TC2.0改为VC++6.0,考生应该熟练掌握VC++6.0的使用方法,虽然VC支持鼠标操作,但是考生还是应该掌握几个常用快捷方式来提高编程效率。特别要注意在对程序进行改动以后要保存,要进行编译连接生成可执行(.exe)文件。3.2 养成良好的程序设计风格

二级C语言机试中的程序设计题,一般来说程序都比较简短,源代码一般不超过5行,在题目指定的函数内编写程序。考生在答题的时候尽量采用易于理解而且比较简单的代码来解决问题,注意不要改动函数的参数,语句的界符“{}”也应该具有层次性的缩进,必要时,使用一定的注释来帮助自己理解程序。3.3 谨慎使用指针

指针是C语言的精华,也是机试考查的重点内容,指针的使用非常灵活,在使用的指针的时候一定要注意对其进行初始化,所谓初始化也就是给指针一个初值,没有初值的指针是很危险的,除了一定得不到正确答案外,如果指针越界,容易引起死机。如果死循环带来的死机是“假死”,大部分可以用“Ctrl+Break”来恢复,但指针越界引起的死机却是真死,请考生一定要牢记。[3] 3.4 熟练掌握循环结构

循环结构的程序是程序设计中涉及最多的知识点,根据以上的分析,我们可以看出几乎每一类题目都会涉及到使用循环来解决问题,因此考生应该掌握循环结构的特征和使用方法,以达到能够熟练使用的目标。应该引起注意的是,在编制循环结构程序的时候考生应该尽量使用“for”循环和“while”循环,避免使用“do……while”循环和“goto”语句,因为“for”循环和“while”编写出来的循环程序易于理解,不容易出错。3.5 沉着应战,认真细心

二级C语言上机考试时间有限,虽然从以前的60分钟改为了90分钟,但是相对于其它语种的上机考试来说,二级C语言的上机时间还是非常紧迫的。考生在答题的过程中应该保持一个良好的心态和平静的心情,遇到问题的时候不能慌乱,最好能够在机试时带一张草稿纸和一支笔,在编程之前先画出程序的流程图来明确解题思路。在遇到程序错误时一定要根据错误代码检查相应位置,检查的过程中应该认真仔细,确保能够解决问题。4 结束语

篇6:计算机二级C语言入门程序

#include

main

{

int sign=1;

float deno=2.0,sum=1.0,term;

while(deno<=100)

{

sign=-sign;

term=sign/deno;

sum=sum+term;

deno=deno+1;

}

printf(“the sum is %f ”,sum);

}

2

#include

#define PI 3.14159

#define R 5.3

main()

{

printf(“area=%f ”,PI*R*R);

/*输出面积*/

printf(“circumference=%f ”,2*PI*R);

/*输出周长*/

}

3

#include

main()

{

int a,b=2;

a=1;

float data;

data=(a+b)*1.2;

printf(“data=%f ”,data);

}

4

#include

main()

{

float a,b;

a=123456.72e5;

b=a+20;

printf(“a=%f ”,a);

printf(“b=%f ”,b);

}

运行结果都是123456780.000000

5

#include

main()

{

char a=0x1261,b;

b=a-32;

printf(“%c,%c %d,%d ”,a,b,a,b);

}

6

#include

main()

{

int i=5,x;

x=i++;

printf(“i=%d,x=%d ”,i,x);

printf(“%d ”,++i);

printf(“%d ”,--i);

printf(“%d ”,i--);

printf(“%d ”,-i++);

printf(“%d ”,-i--);

}

++在前 先干别人让它干的事 再干其他事

++在后 先干自己该干的事请 再干其它事

7

#include

main()

{

int x,a;

x=(a=3,6*3);

printf(“a=%d,x=%d ”,a,x);

x=a=3,6*a;

printf(“a=%d,x=%d ”,a,x);

}

8

#include

main()

{

short int a=289;

char c;

long int b=98304;

c=a; /*截取a的低八位赋值给c*/

a=b; /*截取b的低八位赋值给a*/

printf(“a=%d c=%d ”,a,c);

}

9

#include

main()

{

umsign short int a;

a=-1;

printf(“%u”,a);

}

10

#include

main()

{

int a;

a=3.567;

printf(“%d ”,a);

}

11

#include

main()

{

float x;

int i;

x=3.6;

i=(int)x;

printf(“x=%f,i=%d ”,x,i);

}

12

#include

main()

{

int a;

float b;

printf(“char:%d byte ”,sizeof(char));

printf(“int:%d byte ”,sizeof(int));

printf(“a:%d byte ”,sizeof(a));

printf(“b:%d byte ”,sizeof(b));

}

1.计算机二级C语言程序设计考点解析:C语言程序实例

2.计算机二级C语言每日练习

3.计算机二级C语言复习建议

4.计算机二级c语言试题

5.计算机二级C语言程序设计考点:C语言的特点

6.计算机二级C语言程序设计考点:C语言的应用

7.计算机二级C语言程序设计考点:函数

8.计算机二级C语言程序设计考点:数组

9.计算机二级C语言程序设计考点解析:运算

篇7:二级C语言上机考试改错题总结

根据本人多年研究全国计算机等级考试二级若错误行中有整数1除以某个表达式或变量时,必C语言,发现很多考生对上机考试存在很大的问须把整数1改为1.0;若变量或表达式是整型时,题。现将本人在教学当中对二级C语言上机考试题则只能进行强制类型转换。

库总结的经验和大家分享,希望能对我们考生的考

试有所帮助,顺利通过考试!以下是对上机考试改

错题的做题方法和总结,改错题的错误主要分为以

7、字符串类问题

下几类: 若错误行中有字符串结束符,则特别要要注意结束

1、if或while语句 符有没有写错。但是要区分清楚字符‘o’和数字’若错误行是if或者while语句,则要注意以下点: 0’。

1)首先判断是否正确书写if或while关键字;

8、指针类问题

2)然后看有没有用小括号把整个表达式括起来,若错误行中有指针变量,并且该变量名之前没有指若没有则加上小括号; 针运算符,则一般都是加上指针运算符;

3)若条件表达式中有指针变量而且没有指针运算

9、函数首部类问题:

符时,则加上指针运算符; 若错误行是函数首部,则要注意:

4)若if条件表达式中只有一个等于号即数学等号1)首先看该行最后有没有分号,若有则删掉分号;(=),则要改写成两个等于号即逻辑等号(= =); 若中间有分号则要改为逗号;

5)若if条件表达式为其他的比较运算符,则一般2)形参和实参类型不一致问题

是进行逆转或加一个等于号;① 若实参是个地址或数组名或指针变量名,则对

2、for语句 应的形参肯定是指针或数组;

若错误行是for语句,则要注意以下几点:②若实参是二维数组名,则对应的形参应该是指

1)首先判断for有没有书写正确; 针数组或是二维数组;

2)然后看for中的表达式是不是用分号(;)隔开,③若后面用到某形参的时候有指针运算符,则该若不是则改为分号。形参比为指针类型;

记住是分号(;),不是逗号(,)!④若形参是二维数组或指向M 个元素的指针变

3)再者,分析for中的三个表达式,是否符合题量,则该二维的长度必须与main中对于数

意; 组的第二维的长度相同。

第一个表达式表示起始条件,3)函数类型不一致问题

第二个表达式表示终止条件,①若函数中没有return语句,则函数类型为第三个表达式表示循环变量的变化。void;

3、return语句 ②若函数中有return语句,则函数的类型必须若错误行为return语句,则要注意以下几点: 与rerun后的变量类型一致;

1)首先看是不是正确书写return关键字; 记住,调用函数的类型与main中的该函数的类型

2)然后看是不是缺少分号,若是则加上分号即可; 一致!

3)再者判断return后的变量或表达式是否正确; 10.语法错误问题:

这种错误需要根据题意来分析,分析返回变量或表1)语句缺少分号。若错误号中语句没有以分号结达式的值和类型。束则加上分号;

2)变量名不一致。C语言是区分大小写的,若错

4、赋值语句 误行中有大写字母一般都改为小写字母; 若错误行是赋值语句,则要看赋值是否正确,然后11.逻辑错误问题:

看赋值运算符是否写正确。这种题型主要是表达式错误,占的题量比较多

5、定义语句 而且我们没有统一的做题方法,需要我们具体问题若错误行是定义语句,则要注意: 具体分析。

1)首先分析变量类型名是否写对; 12.书写错误问题:

2)然后分析给变量赋初值是否正确; 特别注意我们的注释部分,注释是以/*开始,以

3)若以上均不是,则看是不是少定义了某个变量或*/结尾,不能有多余的,有也只能在/*和*/里面。少了花括号; 注意,比如“/***注释部分*****/*/”是错误的!

篇8:二级c语言常见知识点

关键词:全国计算机等级考试,二级C语言,上机操作,switch语句的说明

1 上机操作题

1.1 填空题

1.2 改错题

1.3 编程题

2 上机操作题答案

2.1 填空题

(1) N (2) N-1 (3) 0

2.2 改错题

(1) s=s+ (double) (n+1) /n; (2) return t;

2.3 编程题

3 知识点详析

switch语句的说明:

(1) switch、case、default、break均是关键词, 格式中大括号括起来的部分称为switch语句体。switch语句体中可以没有break语句和default语句。

(2) switch语句的括号中的表达式的值必须是整型或者字符型, 不能为实型。case后面的表达式可以是求得整型量和字符型量的常量表达式, 但常量表达式中不能含有变量。

(3) 执行过程中如果遇到break语句, 则跳出switch语句。case只作为一个入口, 如果执行完某一个case或者default语句块后没有遇到break, 则继续顺序往下执行, 直到遇到break语句或者switch语句体末位为止。

(4) 每一个switch语句中default最多只能有一个, 通常出现在switch的最后部分, 但也可以出现在case之间或所有case之前。

(5) 在case后的各常量表达式的值不能相同, 否则会出现错误。在case后, 允许有多个语句, 可以不用{}括起来。

参考文献

[1]路瑾铭.全国计算机等级考试过关宝典系列——教程 (二级C语言) .2011 (9)

篇9:二级c语言常见知识点

关键词:C语言;程序调试;常用技巧;常见错误

中图分类号:TP312.1 文献标识码:A 文章编号:1674-7712 (2012) 18-0032-01

当我们完成了C语言程序的源程序的编写之后,我们要使用C语言的编译器将其翻译成计算机能够执行的二进制代码形式的目标程序,再通过连接,最终形成可执行程序。但这个过程中可能会出现各类问题。比如编译未通过,连接未通过,或是生成了可执行程序,但并非我们的预期目标。

所谓程序调试,是指对程序的查错和排错。调试程序一般应经过人工检查,即静态检查;上机调试,即动态检查;运行程序,试验数据及检查和分析错误原因等几个步骤。

程序调试是一项细致深入的工作,需要下功夫、动脑子、善于累积经验。在程序调试过程中往往反映出一个人的水平、经验和科学态度。上机调试程序的目的决不是为了“验证程序的正确性”,而是“掌握调试方法和技术”。

一、调试过程中的一些常用技巧

1.先简后繁。先用一组简单的数据对程序进行测试,检验各函数是否有出错现象,然后用复杂数据对程序进行调试,直到确定程序对正常数据没有错误为止。

2.由大到小。出现错误时,要逐步缩小可能出现错误的范围,从整个程序到指定函数,再到指定区域,再到指定行。在对程序缩小范围或对编译没通过的程序缩小错误范围时可以用发“/* */”来进行调试,确定正常范围,缩小错误范围。

3.单步调试。编辑完C语言源程序并保存后,右按F8键进行主函数程序单步执行,如果源程序无语法错误,则每按一次F8键执行一句主函数程序,同时可用Ctrl+F7组合键设置所要跟踪的变量,以查看程序的执行进程,从而更容易查出程序的错误。但是,F8键只能单步执行主函数程序,它将调用非主函数视为一条语句执行,并不能转到被调函数的内部进行语句单步运行,所以在有些程序出错时,不能精确查出出错位置。因此,当主函数调用其它函数时,应当使用F7键,它能在F8键功能的基础之上,进一步深入到被调用函数内部,从而真正做到程序单步执行,即每按一次F7键,仅执行一条语句,遇到函数调用就转到被调用函数内部执行语句。当使用F8或F7进行单步调试时,应当用Ctrl+F7进行变量跟踪。

4.设置断点。断点就是程序运行中可能会中断的地方,方便开发者在程序运行的过程中查看程序当前的运行状态,比如变量的值、函数的返回值等等。F9用于在当前光标所在前行下断点,如果当前行已经有断点,则取消断点。有的地方不能下断点,比如空行、基本类型定义语句(未初始化)等等非执行语句。

二、常见错误分析

在实际的C语言编程过程中可能会出现各种各样的错误。这其中可能有算法错误,有因为对C语言中的某些语法知识理解的不正确而产生的错误,还有因为疏怱大意而产生的程序的录入错误等等。这些错误中,算法错误必须经过后期的试运行和调试才能解决,而其他错误是可以经过训练能够避免的。

(一)由于语法知识理解不正确而导致的错误

这类错误有时并不能被马上发现,因为有些情况下错误会被编译器识别并报错,而有些却不能被编译器识别,但运行结果却和预计的情况不一致。以下是在这方面常见的一些出错的情况。

1.转义字符的用法不当。决不能用的字符是由单个字符组成,而转义字符却是很特殊的一类字符,它是以一个键盘符号反斜杠“\”开始后跟上单个字符或是若干个字符组成的,通常用来表示键盘上的控制代码或特殊符号,例如回车换行符、响铃符号等。程序设计过程中有时不能正确地区分转义字符和普通字符。

2.有符号型转换成无符号型。在数据类型中,有时候会遇到将有符号的数据转换成无符号的数据。要想解决这个问题,我们一定要明白数据在计算机中是如何存储的。数据在机器中的存储是以二进制补码形式存储,正数的符号“+”用二进制0表示,而负数的符号“-”用1来表示,正数的原码补码相同,但是负数的补码是其原码的二进制位取反加1。这样来回转换很麻烦,也容易搞错。

3.“%”的连续使用。在C语言中“%”作为格式描述字符用在输入输出语句中,当我们需要将多个 “%”一起作用时则应特别注意。

4.break语句和continue语句。如果程序设计者搞不清楚break语句和continue语句,没有真正理解两者的含义,所以也容易犯错误。这两个语句都可以用在循环语句中,但两者的作用不同。break语句主要的作用是用来跳出该循环,提前结束循环,接着执行循环语句下面的语句;而continue语句主要作用是结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。

5.函数参数值传递。在函数参数传递的过程中,很多设计者很容易搞错实参在什么时候值不变,什么时候传值后改变。

6.带参宏定义的展开。C语言中带参的宏定义虽然看上去很简单,如果没有真正理解宏定义的话,在宏展开的时候很容易搞错。宏定义是通过#define开头的编译预处理命令来实现,在调用宏的时候要进行展开,并且再用实参去代换形参。

(二)录入过程中常见的错误

在源程序编辑过程中由于疏怱大意而产生的录入错误在所有的错误中不在少数,甚至占更大的比例,常见的错误有误把“=”作为“等于”比较符;使用自加(++)和自减(--)运算符时出错;混淆字符和字符串的表示形式;语句后面漏分号;输入输出的数据的类型与所用格式说明符不一致;忘记定义变量;未注意int型数据的数值范围;输入时数据的组织与要求不符;在不该加分号的地方加了分号;输入变量时忘记使用地址符;括弧不配对;switch语句的各分支中漏写break语句;引用数组元素时误用了圆括弧;对应该有花括弧的复合语句,忘记加花括弧;在用标识符时,忘記了大写字母和小写字母的区别;在定义数组时,将定义的“元素个数”误认为是“可使用的最大下标值”;误以为数组名代表数组中全部元素;对二维或多维数组的定义和引用的方法不对;混淆字符数组与字符指针的区别;用指针变量之前没有赋值;不同类型的指针混用;所调用函数在调用语句之后才定义,而又在调用前未加说明;将函数的形参和函数中的局部变量一起定义;函数的实参和形参类型不一致;没有注意函数参数的求值顺序;混淆数组名与指针变量的区别;误认为形参值的改变会影响实参的值;混淆结构体类型与结构体变量的区别,对一个结构体类型赋值;使用文件时忘记打开,或打开方式与使用情况不匹配。

以上只是列举了一些初学者常出现的错误,这些错误大多是由于对C语言的语法不熟悉造成的。对C语言使用多了,熟练了,错误自然就会减少了。在深入使用C语言后,还会出现其他一些更深入、更隐蔽的错误。

参考文献:

[1]韩京洋,向志强.C语言调试技巧[J].电脑编程技巧与维护,2012,16.

篇10:计算机二级C语言复习建议

一、各章节知识点罗列:

第三章:基础知识

1、了解C的基本数据类型:int 、short int 、long int、unsign int、char、float、double、long double这些类型在内存中所在字节数;P22

2、八进制、十六进制整数的书写格式;

*3、浮点数指数形式的表示方法;

*4、字符常量的四种表示方法:P25表3-2;

5、字符串常量的表示方式;

*6、变量的命名规则:字母和下划线开头、数字字母下划线的组合;且不能是系统已经定义的关键字;

**7、常用的库函数,特别是数学函数:P31;

8、printf()函数的使用:P35和P312;

9、scanf()函数的使用:P36和P313;

*10、运算符及其优先级;P41表3-3;重点:%,++,--,类型强制转换;

11、sizeof运算符:P57

*第四章:3种基础程序结构

1、if语句;

2、switch()语句;

3、for循环:

4、while循环;

5、do-while循环;

6、break语句和continue语句的用法;

典型例题:

1、分段函数;课后作业4.4

2、素数的求法;P116例4.36

3、多项式的求法;P100例4.25,P115例4.35

4、百元百鸡问题;课后作业4.23

5、水仙花数;P111例4.32

6、数的分解;P112例4.33

7、兔子数列;P103例4.27

第五章:数组

1、一维数组的定义、多种赋初值和初始化方式;

2、一维数组全部元素的遍历访问;

3、二维数组的定义、多种赋初值和初始化方式;

4、二维数组全部元素的遍历访问;

典型例题:

1、在数组中查找某个值;P135例5.6;

*2、折半查找;P136例5.7;

3、数组的逆序输出;P140例5.10;

*4、冒泡排序法;P141例5.11;

*5、选择排序法;P143例5.12;

*6、矩阵相关题目:矩阵是否对称,例5.14;矩阵的转置;矩阵主对角线、副对角线的访问;

*7、杨辉三角形;P150课后作业5.11;

第六章:指针

1、指针的定义、&运算符、*运算符;

2、指针的初始化和赋值;

3、用指针访问一维数组;P159例6.5;

#4、用指针访问二维数组;P166例6.12;

#5、指向行数组的指针变量;

*6、指针与字符串(一维字符数组);P174例6.17,P175例6.18;

7、指针与二维字符数组;

*8、字符串处理函数:P177

典型例题:

1、P180例6.21;

2、P181例6.22;

3、P183例6.24;

第七章:函数

*1、掌握函数的定义与调用;

2、理解函数的返回值;P205

*3、函数的传值调用(形参为一般变量);

*4、函数的传地址调用(形参为指针变量或数组变量);

#5、函数的递归调用;P236例7.31;例7.32;例7.33;

6、静态变量;P244例7.37,例7.38;

典型例题:

1、基础函数的编写:P201例7.3;P204例7.5;P211例7.10;

2、函数形参为数组变量或指针变量:P222例7.17;P223例7.18;P227例7.22;P227例7.23;

第八章:结构体

*1、结构体的定义、结构体变量的定义、初始化和赋初值、结构体变量内存容量的计算;

*2、结构体变量的访问;P260成员运算符;

3、结构体数组的定义、赋初值和访问;

4、联合体的定义、结构体变量的定义、初始化和赋初值、联合体变量内存容量的计算;

*5、枚举类型的定义、枚举变量的定义、初始化和赋初值;

6、typedef的使用;

典型例题:

1、P266例8.5;

第九章:文件

*1、文件的操作方式:P291表9-1;

*2、fopen()、fclose()、fscanf()、fprintf()的使用;

3、fputc()、fgetc()、fputs()、fgets()、fread()、fwrite();

4、rewind()、ftell()、fseek()、fseek的三个起始位置值:P300表9-2;

二、复习建议:

1、第三、四、五、六、七章为考试重点,应重点复习;

2、第八和第九章都只考1-2题选择题;

3、第三章是C语言的基础内容,也是选这题的重点;

4、第四章是C语言的3中编程结构,是重点中的重点;

5、第五章的重点就是掌握数组的使用以及几个基础算法;

6、第六章主要是将指针与数组结合使用,要能使用指针来对数组元素进行访问和操作;

7、第七章要懂得如何编写、调用一个函数;对于函数形参是指针变量或数组变量的题目,是编程、改错、填空等大题的重点也是难点。

8、第八章和第九章,主要是靠选择题,不是考试的重点;

三、附加说明

1、*,表示重点内容;

2、#,表示是难点,不一定是重要;

1.计算机二级C语言考试复习五要点

2.计算机二级C语言每日练习

3.计算机二级c语言试题

4.计算机二级C语言考试考什么

5.计算机二级C语言的考点

6.计算机二级C语言练习题

7.计算机二级C语言重点知识点

8.计算机二级C语言考试必看技巧

9.计算机二级C语言考点:字符型数据

上一篇:小暑对农业的影响 小暑时节种什么下一篇:医学教育研究课题