计算机二级C语言选择题错题知识点记录。
1,在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控制流。
2,结构化程序设计的基本原则:自顶向下,逐步求精,模块化,限制使用goto语句。不包括多态性。
3,概要设计说明书是总体设计阶段产生的文档,集成测试计划是在概要设计阶段编写的文档。
4,算法的有穷性是指:算法的程序的运行时间是有限的。
5,对长度为n的线性表排序,堆排序算法的比较次数是nlog2n,快速排序,冒泡排序,直接插入排序都是n(n-1)/2。
6,E-R图转换成关系模型数据则是把图形分析出来的联系反映到数据库中,即设计出表,所以属于逻辑设计阶段。
7,自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。笛卡儿积是利用R集合中元素为第一元素,S集合中元素为第二元素构成的有序对。
8,C语言中的非执行语句不会被编译,不会生成二进制的机器指令。由C语言构成的指令序列称为C源程序(它以ASCII代码形式存放在一个文本文件中),经过C语言编译程序编译之后生成一个后缀为.OBJ的二进制文件(目标文件),最后要由“连接程序”把此.OBJ文件与C语言提供的各种函数连接起来生成一个后缀为.EXE的可执行文件。
9,小数形式表示的实型常量必须要有小数点,指数形式,以‘e’‘E’后跟一个整数来表示。且规定字母eE之前必须要由数字,且之后的指数必须为整数。
10,C语言标识符由字母,下划线,数字组成,且必须是字母或下划线开头,关键字不能做标识符。C语言严格区分大小写,所以‘FOR’可以作为标识符。
11,代数式子用C语言表示:sqrt(fabs(pow(n,x)+exp(x))) [开方,浮点数绝对值,几次方,e次方]
12,取模运算符‘%’,二元运算符,具有左结合性,参与运算的量均为整型。
13,sizeof()函数判断数据类型长度,整型int占有4个字节,double型数据占有8个字节。
14,“%c”为输入单个字符,getchar()函数也为输入单个字符。
15,if(a=1) b=1;c=2; else d=3;(这句错误,多了一句c=2;)
16,case语句注意有没有break;
17,for(i=0;i<4;i++,i++) for(k=1;k<3;k++); printf("*"); 程序输出*。因为for循环后跟了一个空语句,就直接跳出了。
18,不可以将指针赋予一个整数作为地址值。改变形参的值,不会改变对应实参的值。
19,float *p=&x 对 float *p=1024 错,不能给指针赋予值。
20,x[2][3]定义的是一个两行三列的二维数组。
21,字符串的输入不能使用scanf(“%s”,s),而应该使用gets()。可以使用scanf("%c",&s[i]);组合进行处理。
22,sizeof(p)计算的是数组p中所有元素所占用的字节数,而不是char型数据所占字节数。 *q=p;sizeof(*q)正确,sizeof(p[0])正确,sizeof(char)正确。
23,s[i]!=0;for循环判断的条件是数值不等于0,字符串中出现\0代表转义为数字0。
24,只有使用才占用内存单元的是:auto和register。auto:函数中的局部变量,动态分配存储空间,数据存储在动态存储区中。register:C语言允许将局部变量的值放在CPU中的寄存器中,这种变量叫“寄存器变量”,只有局部自动变量和形式参数可以作为寄存器变量。extern:外部变量是在函数外部定义的,它的作用域从变量定义开始到本程序末尾。static:在静态存储区内分配存储单元,整个程序运行期间都不释放。
25,不能在定义结构体的同时,又用结构体类型名定义变量。定义结构体的各个项都可以省略。
26,在被调用函数中改变形参值对于调用函数中的实参没有影响。
27,C语言的预处理可以实现宏定义和条件编译的功能。预处理命令是以“#”号开头的命令,这些命令应写在函数之外,但不是必须在起始位置书写。
28,(a>>3)(右移操作)无符号整型变量a的值为8,二进制表示为00001000,右移三位为00000001,十进制为1。
29,fread()函数的参数buffer表示一个内存块的首地址,代表读入数据存放的地址。
30,循环队列有队头和队尾两个指针,但是循环队列仍是线性结构。
31,最坏情况下,二分法查找只需要比较log2n次,而顺序查找需要比较n次。
32,链式存储结构中每个节点都由数据域与指针域两部分组成,增加了存储空间。
33,在需求分析阶段可以使用的工具有数据流图DFD图,数据字典DD,判定树与判定表。
34,在数据管理技术发展的三个阶段中,数据共享最好的是数据库系统阶段。
35,115L表示115是长整型数据,而不是升的单位。
36,不能将x+z的值赋给表达式y*5,赋值语句左侧必须是一个变量。
37,逗号表达式:先计算第一个,再计算第二个,然后以第二个作为整个表达式的值。如果有第三个就接着计算第三个。
38,问号表达式的判断是,若为非0,和若为0。
29,switch(x)语句后面不应该有分号,x不能用浮点数或long类型,也不能为一个字符串,case后面得跟常量,并且要和x类型一致。(不是看是否有结果,而是看是否格式正确。)
30,(*f)(),f=add;k=*f(a,b) 错误
31,数组长度为空,就是非法,int n=10;int x[n]; 错误,n为变量,不可以作为数组长度。
32,数组两实,数组一空二实,指针实,指针空,都是可以的,但是对指针可以单个赋值(相当于把首地址赋予),数组不可以。
33,三种复制方式:for(i=0;t[i]=s[i];i++) while(*t=*s){t++,s++} for(i=0,j=0;t[i++]=s[j++];);
34,全局变量的作用域是从声明处到文件结束。不是所在文件的全部范围。
35,关键字typedef的作用是将C语言中的已有数据类型作了置换,并不是增加新的类型。
宏定义后面不能跟分号。
36,malloc函数动态分配一个整型内存空间,然后把函数返回的地址用(int *)强制类型转化为整型指针,不管赋值几次,最后只会有一个数留在申请的动态内存中。
37,C语言中的文件可以进行随机读取,对文件写操作后不需要关闭再打开,可以使用fseek()函数进行重新定位即可。
38,栈支持子程序调用,栈是一种只能在一端进行插入或删除的线性索,在主程序调用子函数时要首先保存主程序当前的状态,然后转去执行子程序,最终把子程序的执行结果返回到主程序中调用子程序的位置,继续向下执行,这种调用符合栈的特点。
39,堆排序最最坏情况下需要比较的次数是最少的。
40,软件测试的目的是为了发现错误而执行程序的过程,并不涉及改正错误。调试为改正错误。
41,耦合性是模块间互相连接的紧密程度的度量,内聚性是指一个模块内部各个元素间彼此结合的紧密程度。
42,数据库应用系统中的核心问题是数据库的设计。
43,投影运算是指对于关系内的域指定可引入新的运算。
44,关系模式中,实体和联系都可以表示为关系。
45,C语言中整型常量可以用十进制,八进制和十六进制,但不包括二进制。
46,scanf函数:在输入多个数据时,若格式控制控制串中无非格式字符,则认为所有输入的字符均为由有效字符。不需要加空格,最后直接加回车就行。
47,在switch语句中,不一定使用break。
48,double数据,输入时的格式字符应为%1f或者%1e,float为%f,
49,函数调用中发生的数据传送是单向的。即只能把实参的值传递给形参,而不能把形参的值反向传递给实参。
50,字符数组可以在定义的时候初始化,但是不可以在定义数组后,对数组名赋值,数组名是常量,代表数组首地址。
51,宏定义名一般用大写,但不是必须用大写。
52,^异或操作。
53,队列结构对于头指针有时可能大于队尾指针,有时可能小于。
54,算法的空间复杂度是指算法在执行过程中所需要的内存空间。
55,N-S图提出了用方框图来代替传统的程序流程图,PAD图是问题分析图,E-R图是数据库中用来表示E-R模型的图示工具。
56,E-R图中实体用矩形,属性用圆形,联系用菱形。
57,scanf("%d,%d,",&a,&b);输入时切近要输入逗号,保证匹配。
58,strcat()函数为字符串连接函数,strcpy()函数为字符串拷贝函数(注意这里从拷贝开始后就会清空之后的数据,因为拷贝过来‘/0’,就代表着字符串结束在拷贝数据之后)。
59,在局部变量的作用范围内,外部变量被“屏蔽”,不起作用。
60,rewind(pf);文件位置指针回到文件开头。这时再写入数据会覆盖之前写入的数据。
61,软件生命周期:软件产品从提出,实现,使用维护到停止使用退役的过程。从概念,到不能使用。开始考虑
62,继承是指类之间共享属性和操作的机制。
63,层次模型的基本结构是树形结构,网状模型是一个不加任何条件限制的无向图,关系模型采用二维表来表示,三种划分原则是数据之间的联系方式。
64,数据库三级模式:概念模式,内模式,外模式。概念:数据库系统中全局数据逻辑结构的描述,是全体用户公共数据的视图。外模式:子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述,内模式:物理模式,给出了数据库存储结构与物理存取方法。
65,变量命名:“$”是非法字符。
66,常量中:双引号表示字符串,单引号表示字符。
67,C语言又提供了两种特殊的字符:八进制转义字符和十六进制转义字符。'\011',这是一个正确的八进制字符常量。
68,strcmp()函数是字符串比较函数,以第一个不相同的字符的大小作为比较的结果,OK<ok,此函数会返回负值。
69,islower()函数是判断是否为小写字母。-‘a’+'A'为-32表示转化为大写字母。
70,在外部函数内部定义的静态变量是始终存在的,当函数调用退出后,仍会保存数据。
71,结构体定义的是结构体类型,可以用它去声明结构体变量。
72,^异或:不同为1,相同为0。
73,线性结构满足:有且只有一个根节点与每个结点最多有一个前件,也最多有一个后件。有一个以上根节点的数据结构一定是非线性结构。
74,二叉树性质:在任意一颗二叉树中,度为0的叶子结点总是比度为2的结点多一个。
75,软件生命周期可以分为:软件定义,软件开发与软件运行维护三个阶段。
76,数据字典是在需求分析阶段建立,在数据库设计过程中不断完善,修改的。
77,面向对象基本方法的基本概念:对象,类和实例,消息,继承与多态性。
78,算法特性:有穷性,确定性,可行性,0个或多个输入,一个或多个输出。
79,x=5=4+1 不能将4+1的值赋予5 x=y==5;正确
80,%2d%f 输入876 543.0 分别赋予了87和6.0
81,char a="aa" 错误,将常量‘“aa”赋给字符串变量a。
82,(c>=2&&c<=6)||(c!=3)||(c!=5) 结果为真,第一个条件不成立时,c的值肯定不为2,3,4,5,6,
83,外部函数调用时,只有传递地址的数才被同步改变。
84,N为变量,不能用来定义数组大小,C语言不允许定义动态数组,定义数组的大小必须为常量表达式。
85,文件是由数据序列组成,可以构成二进制文本或文本文件。
86,遇见宏定义,直接套用,先不管优先级。
87,n++先参与运算,再自增,++n先自增,再参与运算。