计算机二级c语言

1.栈的理论

  • 栈是一个先进后出的结构,类似于堆盘子,先放到地上的盘子最后被取走(默认只能取走一个盘子),栈支持子程序调用。
  • 栈其实就是操作受限的线性表,只有一个口,每一次操作时,这个口可以当出口也可以当入口.
  • 例如:水桶,注入水时,水桶的头当做入口,倒水时,水桶的头当做出口

2.标识符

标识符只能是字母(A~Z,a~z)、数字(0~9)、下划线()组成的字符串,并且其第一个字符必须是字母或下划线。例如,正确的标识符:abc,a1,prog_to。C语言中把标识符分为三类:关键字,预定义标识符,用户自定义标识符。

C语言中八进制整型常量的开头是数字0,十六进制整型常量的开头数字是0x。C语言中的实型常量有两种表示形式:小数形式,小数形式表示的实型常量必须要有小数点;指数形式,以"e"或"E"后跟一个整数来表示以10为底数的幂数,且规定字母e或E之前必须要有数字,且e或E后面的指数必须为整数。 028错误,八进制中没有数字8。10,000 数字中不能有逗号。

3.真题

1.在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控制流。

2.结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句。

3.算法有穷性是指算法程序的运行时间是有限的。

4.快速排序,冒泡排序, 直接插入排序,堆排序,除了堆排序算法的比较次数是nlog2n,其他的都是n(n-1)/2。

5.E-R图转换成关系模型数据则是把图形分析出来的联系反映到数据库中,即设计出表,所以属于逻辑设计阶段。

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

7.函数pow(x,e)错误应该直接使用exp(x)函数。

8.取模运算符"%",二元运算符,具有左结合性,参与运算的量均为整型。

9.C语言中利用sizeof()函数判断数据类型长度,在VC6.0平台中,整型int,float占有4个字节,double型数据占有8个字节。

10.不能将一个整数直接赋给指针变量作为地址,函数的返回值可以是地址,即指针。函数调用中形参值的变化不会传递给实参。

11.指针是用来存放地址的变量,用 (类型名 *指针变量名)的形式定义。赋值时应将某个变量地址即&x 赋给指针变量。

12.a[][],二维数组,先行后列。

13.字符串的输入不能使用scanf("%s",s);而应该使用gets(s)。

14.声明静态局部变量:函数调用结束后,其占用的存储单元不释放,在下次该函数调用时,该变量保留上一次函数调用结束时的值。

15.auto:函数中的局部变量,diao调用该函数时自动分配空间。
register:寄存器变量,使用时才占用内存单元的变量。
extern:外部变量(即全局变量)是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的末尾。
static:静态局部变量属于静态存储类别,在静态存储区内分配存储单元。在程序整个运行期间都不释放。

16.预处理命令是以“#”号开头的命令,它们不是C语言的可执行命令,这些命令应该在函数之外书写,一般在源文件的最前面书写,但不是必须在起始位置书写,语言的预处理能够实现宏定义和条件编译等功能,所以D)错误。

17.unsigned char a=8,c;c=a>>3;解析:无符号整型变量a的值为8,二进制表示为00001000,右移3位后为00000001,即十进制的1,所以输出c=1。

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

19.有序线性表为顺序存储时才能用二分法查找。可以证明的是对于长度为n的有序线性表,在最坏情况下,二分法查找只需要比较log2n次,而顺序查找需要比较n次。

20.在需求分析阶段可以使用的工具有数据流图DFD图,数据字典DD,判定树与判定表。

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

22.switch()语句后不应该有分号。switch(expr1),中的expr1不能用浮点类型或long类型,也不能为一个字符串,case后面常量表达式的类型必须与switch后面表达式的类型一致。

23.数组说明的一般形式为:类型说明符 数组名 [常量表达式]。不能用变量定义数组长度,定义数组时必须为其指明长度,数组长度为空时非法。

24.数组定义后,不可以对数组整体赋值,字符串赋值可以使用strcpy(ss[1],"right");这样的形式,将字符串在内存中的首地址赋给指针数组的一个元素,这是可以的。

25. char *s1="abc",*s2="123";   字符串是一个特殊的数组,所以按照数组的规则,s1应该指向的是数组的首地址,即"abc"的第一个字符的地址。s2指向的是"123"的第一个字符的地址。

26.全局变量的作用域是从声明处到文件的结束。

27.关键字typedef的作用只是将C语言中的已有的数据类型作了置换,并不是增加新的类型。

28.栈是先进后出的线性表,队列是先进先出的线性表,循环队列是线性结构的线性表,有序线性表既可以采用顺序存储结构,也可以采用链式存储结构。

29.二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子节点总是比度为2的节点多一个。

30.软件测试的目的是为了发现错误而执行程序的过程,不涉及改正错误.

31.投影运算是指对于关系内的域指定可引入新的运算。

32.算术运算符+的优先级高于-= ,且-=的结合方向为自右向左,所以表达式x-=x+x可以表示成x=x-(x+x).

33.C语言中没有<>运算符。

34.函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。 因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化.

35.字符型指针变量可以用选项A)的赋值方法:char*s;s="Olympic".

36.字符数组可以在定义的时候初始化:char s[]={"Olympic"};? 或者char s[]="Olympic".

37.b=2 a^(b<<2) : b为2,二进制为00000010,执行左移两位操作后为00001000,然后与a 00000001做异或操作结果为00001001,即十进制的9。

38.数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中数据组织、数据操纵、数据维护、控制及保护和数据服务等。是一种在操作系统之上的系统软件。

39.在E-R图中实体集用矩形,属性用椭圆,联系用菱形。

40.面向对象方法中的继承:继承是指类之间共享属性和操作的机制。

41.概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。

外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述。

内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法。

42.E前和都都必须要有数字,且后要为整数。

43.a=1;b=2;^为按位或,&为按位与,那么a^b为3,再与c按位与仍然为3;

44.线性结构应满足:有且只有一个根结点与每个结点最多有一个前件,也最多有一个后件,循环链表和双向链表都是线性结构的数据结构。

45.程序调试的任务是诊断和改正程序中的错误。

46.文件是由数据序列组成,可以构成二进制文件或文本文件。

47.isdigt(*s)这个函数表示检查*s是否是数字(0~9)。

48.在实际应用中,队列的顺序存储结构一般采用循环队列的形式。

49.函数的形参和实参分别占用不同的存储单元。

50.设文件指针fp已定义,执行语句fp=fopen("file","w")后,以"w"方式打开文件,只能写不能读。

51.白盒测试法主要有逻辑覆盖、基本路径测试等。逻辑覆盖测试包括语句覆盖、路径覆盖、判定覆盖、条件覆盖、判断-条件覆盖。

黑盒测试法有等价类划分法,边界值分析法,错误推测法

52.程序执行的效率与数据的存储结构、数据的逻辑结构、程序的控制结构、所处理的数据量等有关。

53.算法的时间复杂度与问题规模有关,与计算机系统无关,空间复杂度没有必然的联系。

56.模块之间的耦合应尽可能的低,模块的内聚度应尽可能的高。

57.模块的扇出是指本模块的直属下层模块的个数。或者说是由一个模块直接调用的其他模块数。模块的扇入是指有多少个上级模块调用它。

58.循环结构、选择结构、顺序结构是结构化程序的三种基本结构。

59.C语言程序运行时可以从键盘上读入用户输入的字符或数据,并依此改变程序的运行步骤。

60.合法的标识符是由字母、数字和下划线组成,并且第一个字符必须是字母或下划线,用户标识符不能是C语言中的关键字或函数。

61使用符号\可以将一条#include 命令写在多行里.

62.数组名本身就是一个地址,作为形参时,数组退化成指针类型。

63.C语言中,“”括起来的是字符串,' '括起来的是字符,“ ”是长度为0的字符串,它包含字符串结束标志符'\0',所以不是空字符串,'\n'是回车字符,“\n”是字符串,它还包括字符串结束标志符'\0',C语言中,以“\”开头的字符属于转义字符,其中'\ddd',ddd是三位八进制数,它代表一个ASCII字符,'\xhh',hh是两位十六进制数,也代表一个ASCII字符。

64.C语言文件打开时,打开方式"a+"表示打开一个文本文件,从文件开始位置读,在文件尾部添加数据,如果指定的文件不存在,系统将使用调用fopen()时指定的文件名创建一个新的文件,如果指定的文件存在,那么文件原有内容将被保存,新的数据追加到原有文件之后。

4.c语言c++区别。

C++是一个开放标准,旨在实现速度和性能和关键性的高性能系统。而C是一个结构化语言,C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)

C++使开发人员能够使用非常高级的抽象进行编程,擅长面向对象程序设计。而就语言本身而言,在C中更多的是算法的概念,对语言本身而言,C是C++的子集,也具有强大的功能。但是C不能直接实现但C++能直接支持的包括面向对像语义的支持,模板元编程和泛型编程的支持

总的来说,C++是基于C语言发展而来,起初,C语言并不支持面向对象,后来引入了面向对象的概念,即成了C++,C++是编译型语言,编译器将代码编译成机器码,一般用于追求高效的,底层的开发,例如单片机。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值