计算机二级C语言知识点大全,弄懂这些题集所含知识点稳过(二)

综合题集知识点二

以下是备考计算机二级C语言冲刺阶段总结的题集中所含的知识点!踏踏实实弄懂每一个知识点,就稳了。

2020年11月6日星期五
补充:不出所料,一次性顺利通过,虽然还是有点不太满意。可能是自己当时考完太过自信。选择题有两三道涉及的知识点一无所知,另外的可能就是会的但因为粗心做错了,编程题大概率是满分,扣分也可能只是扣在修改题,因为当时做完回想了下好像还有其他答案。
在这里插入图片描述
在这里插入图片描述

2020年8月17日星期一

线性表的顺序存储结构具备如下两个基本特征:
1.线性表中的所有元素所占的存储空间是连续的;
2.线性表中个数据元素在存储空间中是按逻辑顺序依次存放的;

结构化程序设计中,要注意尽量避免goto语句的使用。

软件测试主要包括单元测试、集成测试、确认测试和系统测试。

需求分析阶段的工作可概括为4个方面:
1.需求获取;
2.需求分析;
3.编写需求规格说明书;
4.需求评审;

一个变量实际上是代表了内存中的某个存储单元,必须先定义后使用,且在定义时为之分配存储单元,不能随时改变。

Do循环体while循环(条件表达式),如果不考虑break的话,循环体的执行次数与条件表达式的执行次数一样。

字符常量是用单引号括起来的一个字符。

利用递归函数求出数组a中的最大值:

#include<stdio.h>
int f(int a[],int n)
{
	if(n>1)                              //递归停止的条件
	{
		int t;
		t=f(a,n-1);
		return t>a[n-1]?t:a[n-1];       //返回的值给上一个调用递归的函数变量t再进行判断
	}
	else
		return a[0];
}

int main()
{
	int a[]={8,2,9,1,3,6,4,7,5};
	printf("%d\n",f(a,9));
}

2020年8月18日星期二

报错:“left operand must be l-value”的意思是左操作数必须是左值。
左值(l-value):出现于“=”左边的标识符。(为变量)。
右值(r-value):出现于“=”右边的标识符。(变量或表达式)。

编译如下程序:

#include<stdio.h>
int main()
{
	float i;
	float j=12.1,k=5.2;
	i=j/k;
	printf("%f\n",i);
	return 0;
}

警告:warning C4305: ‘initializing’ : truncation from 'const double ’ to 'float ’
原因:C语言中,默认情况下小数是double型,并且double不能进行隐式转换为float。
解决办法:在小数后面加上f或F,即float j=12.1f,k=5.2f;就不会有警告了。

加强文件这一块的练习,各个函数分别起什么作用。

2020年8月19日星期三

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

gets函数中参数需要指定长度。

2020年8月20日星期四

在单链表的第一个结点前增加一个表头结点,队头指针指向表头结点,最后一个结点的指针域的值由NULL改为指向表头结点,这样的链表称为循环链表。在循环链表中,只要指出表中任何一个结点的位置,就可以从它出发没有重复地扫描到表中其他所有的结点。
双向链表与二叉链表都可以扫描到所有结点,但是会有重复。
有序链表如果是单链表的情况下,不能扫描到所有结点。

需求分析的主要任务是:定义和描述目标系统“做什么”。

Int a=b=c=d=1;该语句首先执行赋值运算d=1,由于b、c、d并未定义,故编译不通过,提示没有定义标识符b、c、d。

在printf(“%d\n”,11+011)中,11为十进制,011为八进制形式,打印格式%d表示十进制格式输出,因此,先将八进制数转化为十进制数,011(8)=1*81+1*80=9,相当于printf(“%d\n”,11+9),故答案为20。

若有定义:double x;则表达式x=0,x+10,x++的值是:0.0。
计算过程:首先赋值x=0,然后将x加10,但是并不对x进行赋值,最后计算x++,注意是后自加,所以x=0.0。
解释:逗号运算符可以把两个以上(包含两个)的表达式连接成一个表达式。逗号运算符的优先级是所有运算符中级别最低的,逗号运算符保证左边的子表达式运算结束后才进行右边的子表达式的运算。也就是说,逗号运算符是一个序列点,其左边所有副作用都结束后,才对其右边的子表达式进行运算,并以最右边表达式值作为整个逗号表达式的值。

以下程序段中变量已正确定义:
for(i=0;i<4;i++,i++)
for(k=1;k<3;k++);printf(“”);
此处需注意第二个for循环后的分号,C语言约定分号为一条语句的结束。所以printf(“
”)执行一次。

有以下程序:

#include
main()
{char s[]=012xy\08s34f4w2”;
int i,n=0;
for(i=0;s[i]!=0;i++)
if(s[i]>=0&&s[i]<=9)n++;
printf(%d\n”,n);
}

字符型数组中的元素是字符型,’\0’=0,因此该程序段可以计算出’\0’之前阿拉伯数字的个数。由字符串s可知,有3个阿拉伯数字。

C语言函数参数传递分为:
1.值传递过程:被调函数的形参作为背调函数的局部变量处理,即在内存的堆栈中开辟空间以存放由主调函数放进来的实参的值,从而成为了实参的一个拷贝。值传递的特点是被调函数对形参的任何操作都是局部变量进行,不会影响主调函数的实参变量的值。
2.地址传递过程:被调函数的形参虽然也作为局部变量在堆栈中开辟了内存空间,但是这时存放的是由主调函数放进来的实参变量的地址。被调函数对形参的任何操作都被处理成间接寻址,即通过堆栈中存放的地址访问主调函数中的实参变量。正因为如此,被调函数对形参做的任何操作都影响了主调函数中的实参变量。

两个类型相同的结构体,可以使用一个给另一个初始化,使它们相等,前提是右值结构体变量所有成员全部初始化了。

2020年8月22日星期六

设数据元素的集合D={1,2,3,4,5},则满足下列关系R的数据结构中为线性结构的是:
A)R={(1,2),(3,4),(5,1)}
B)R={(1,3),(4,1),(3,2),(5,4)}
C)R={(1,2),(2,3),(4,5)}
D)R={(1,3),(2,4),(3,5)}
答案:B
解释:
一个非空的数据结构如果满足以下两个条件:
1.有且只有一个根节点;
2.每一个节点最多有一个前件,也最多有一个后件;
称为线性结构。
把答案中的第一个元素集合取出来,如A)选项中的(1,2),写成12。然后看后面的(3,4),因为(3,4)在(1,2)中找不到前驱和后继,所以暂时并列处理写成12和34。再看(5,1),其中(5,1)的后继和(1,2)的前驱相等,所以最终写成512和34,5和3为根节点,不符合线性结构有且只有一个根节点的特性。同理,B)写成54132,根节点为5;C)写成123和45,根节点为1和4;D)写成135和24,根节点为1和2。

线性链表,就是指线性表的链式存储结构,这种链表每个节点只有一个指针域,故又称为单链表。

二叉树为非线性结构,叶子节点没有后件但是可以有指向前件的指针。

通常把软件产品从提出、实现、使用、维护到停止使用、退役的过程称为软件生命周期。

计算机软件按功能分为:
1.应用软件:是为了应用于特定的领域而开发的软件;
2.系统软件:是管理计算机的资源,提高计算机的使用效率,为用户提供各种服务的软件,如操作系统、数据库管理系统、编译程序、汇编程序和网络软件等;
3.支撑软件(工具软件);

采用E-R图方法得到的全局概念模型是对信息世界的描述,并不适用于计算机处理,为了适合关系数据库系统的处理,必须将E-R图转换成关系模型。
下表为E-R模型和关系模型的对照表:
E-R模型 关系模型 E-R模型 关系模型
实体 元组 属性 属性
实体集 关系 联系 关系

数据库设计的4个阶段为:
1.需求分析阶段;
2.概念设计阶段;
3.逻辑设计阶段;
4.物理设计阶段:主要目标是对数据内部物理结构作调整并选择合理的存取路径,以提高数据库访问速度以及有效利用存储空间;
一般RDBMS中留给用户参与物理设计的内容大致有索引设计、集簇设计和分区设计。

深刻理解选择语句含义:

#include 
main() 
{
int x; 
scanf(%d”,&x);
if(x>10)printf(1);
else if(x>20)printf(2);
else if(x>30)printf(3);
}

若运行时输入:35<回车>,则输出结果是1。

break语句作用是结束整个循环过程,不再判断执行循环的条件是否成立,且在嵌套循环中,其只跳出内层分支结构;continue语句只能用在循环结构中,其作用是结束本次循环,即不再执行循环体中continue语句之后的语句,而是立即转入对循环条件的判断与执行。

分隔符(空格符、制表符(Tab键)、回车符)。

设有函数定义:void sub(int k, char ch){…}则以下对函数sub的调用语句中,正确的是:A
A)sub(1,97);
B)sub(2,’97’); ‘97’不是合法字符
C)n=sub(3,’a’); 注意函数返回类型为空,不返回任何值,所以不是正确调用方法
D)sub(4,”a”); “a”为字符串,不是合法字符

注意输出的变量名是谁:

#include 
main()
{
char s[10]=”verygood”,*ps=s;
ps+=4;
ps=”nice”;
puts(s);
}

程序运行结果是:verygood

2020年8月23日星期日

二叉链表是二叉树的物理实现,是一种存储结构,不属于线性结构。

关系模型实体间的联系采用二维表来表示,简称表。

在数据流图(DFD)中,对所有元素都进行了命名,所有名字定义集中起来就构成了数据字典(DD)。

软件需求规格说明书有以下几个方面的作用:
1.便于用户、开发人员进行理解和交流;
2.反映出用户问题的结构,可以作为软件开发工作的基础和依据;
3.作为确认测试和验收的依据;

C语言的源程序名的后缀是.c;目标文件的扩展文件是.obj;可执行文件的扩展名是.exe。

C语言标识符的定义中区分大小写,如printf和printF不一样。

int(*f)(int); 为指向函数的指针变量的定义方法,其中f为指向函数的指针变量,第一个int为函数返回值类型,第二个int为函数的形参类型。

在C语言中,数组名类似于一个指向数组首地址的指针常量,一旦定义就不能修改其内容。
如:

#include
 main()
{
char s[]=”abcde”;
s+=2;
printf(%d\n”,s[0]);
}

以上程序中s+=2;语句让数组名s的内容加2是错误的,编译无法通过。

后续还有综合题集知识点三、综合题集知识点四、综合题集知识点五

整理不易,对你有帮助的话给个一键三连,谢谢

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

士别三日,当刮目相待

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值