当前位置:首页 » 编程语言 » 2017学c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

2017学c语言

发布时间: 2023-07-24 18:02:04

① 2017计算机二级考试《C语言》知识点

计算机等级考试为您推荐计算机等级考试基础知识点,高频考点,重点以及难点,希望对您学习计算机等级有所帮助,从而取得好成绩,这将是我们最大的心愿。

一)合法的用户标识符考查:

合法的要求是由字母,数字,下划线组成。有其它元素就错了。

并且第一个必须为字母或则是下划线。第一个为数字就错了。

关键字不可以作为用户标识符号。main define scanf printf 都不是关键字。迷惑你的地方If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。

二)实型数据的合法形式:

2.333e-1 就是合法的,且数据是2.333×10-1。

考试口诀:e前e后必有数,e后必为整数。.

三)字符数据的合法形式::

'1'是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。

'0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。

四) 整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节:

考试时候一般会说,在16位编译系统,或者是32位系统。碰到这种情况,不要去管,一样做题。掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。

五)转义字符的考查:

在程序中 int a = 0x6d,是把一个十六进制的数给变量a 注意这里的0x必须存在。

在程序中 int a = 06d, 是一个八进制的形式。

在转义字符中,’\x6d’才是合法的,0不能写,并且x是小写。

‘\141’是合法的。

‘\108’是非法的,因为不可以出现8。

转义字符意义 ASCII码值(十进制)

\a 响铃(BEL) 007

\b 退格(BS) 008

\f 换页(FF) 012

换行(LF) 010

回车(CR) 013

\t 水平制表(HT) 009

\v 垂直制表(VT) 011

\\ 反斜杠 092

\? 问号字符 063

\' 单引号字符 039

\" 双引号字符 034

\0 空字符(NULL) 000

\ddd 任意字符三位八进制

\xhh 任意字符二位十六进制

六)算术运算符号的优先级别:

同级别的有的是从左到右,有的是从右到左。

七)强制类型转换:

一定是(int)a 不是 int(a),注意类型上一定有括号的。

注意(int)(a+b)和(int)a+b 的区别。 前是把a+b转型,后是把a转型再加b。

八)表达式的考查:

是表达式就一定有数值。

赋值表达式:表达式数值是最左边的数值,a=b=5;该表达式为5,常量不可以赋值。

自加、自减表达式:假设a=5,++a(是为6), a++(为5);

运行的机理:++a 是先把变量的数值加上1,然后把得到的数值放到变量a中,然后再用这

个++a表达式的数值为6,而a++是先用该表达式的数值为5,然后再把a的数值加上1为6,

再放到变量a中。 进行了++a和a++后在下面的程序中再用到a的话都是变量a中的6了。

考试口诀:++在前先加后用,++在后先用后加。

逗号表达式:优先级别最低 ;表达式的数值逗号最右边的那个表达式的数值。

(2,3,4)的表达式的数值就是4。

九)位运算的考查:

会有一到二题考试题目。

总的处理方法:几乎所有的位运算的题目都要按这个流程来处理(先把十进制变成二进制再变成十进制)。

例1:char a = 6, b;

b = a<<2; 这种题目的计算是先要把a的十进制6化成二进制,再做位运算。

例2:一定要记住,

例3:在没有舍去数据的时候,<<左移一位表示乘以2;>>右移一位表示除以22016计算机二级考试C语言知识点总结2016计算机二级考试C语言知识点总结。

十)018的数值是非法的,八进制是没有8的,逢8进1。

十一)%符号两边要求是整数。不是整数就错了。

十二)两种取整丢小数的情况:

1、int a =1.6;

2、(int)a;

② 2017年计算机二级C语言考点解析:函数

7.1 库函数的正确调用
1.C语言提供了丰富的库函数,包括常用数学函数、对字符和字符串处理函数、输入输出处理函数等。在调用库函数时要注意以下几点:

(1)调用C语言标准库函数时必须在源程序中用include命令,include命令的格式是:

#include″头文件名″

include命令必须以#号开头,系统提供的头文件名都以.h作为后缀,头文件名用一对双引号″″或一对尖括号〈〉括起来。

(2)标准库函数的调用形式:

函数名(参数表)

2.在C语言中库函数的调用可以以两种形式出现:出现在表达式中;作为独立的语句完成某种操作。

7.2 函数的定义方法

1.C语言函数的一般形式为:

函数返回值的类型名 函数名(类型名 形参1,类型名 形参2,…)

{

说明部分

语句部分

}

定义的第一行是函数的首部,{}中的是函数体。

2.在老的C语言版本中,函数的首部用以下形式:

函数返回值的类型名 函数名(形参1,形参2…)

形参类型说明;

新的ANSI标准C兼容这种形式的函数首部说明。

3.函数名和形参名是由用户命名的标识符。在同一程序中,函数名必须。形式参数名只要在同一函数中即可,可以与函数中的变量同名。

4.C语言规定不能在一个函数内部再定义函数。

5.若在函数的首部省略了函数返回值的类型名,把函数的首部写成:

函数名(类型名 形参1,类型名 形参2,…)

则C默认函数返回值的类型为int类型。

6.当没有形参时,函数名后面的一对圆括号不能省略。

7.3 函数的类型和返回值

1.函数的类型由函数定义中的函数返回值的类型名确定,函数的类型可以是任何简单类型,如整型、字符型、指针型、双精度型等,它指出了函数返回值的具体类型。当函数返回的是整型值时,可以省略函数类型名。当函数只完成特定的操作而没有或不需要返回值时,可用类型名void(空类型)。

2.函数返回值就是return语句中表达式的值。当程序执行到return语句时,猛空程序的流程就返回到调用该函数的地方(通常称为退出调用函数),并空胡带回函数值。

7.4 形式参数与实际参数,参数值的传递

1.在函数定义中,出现的参数名称为形参(形式参数),在调用函数时,使用的参数值称为实参(实际参数)。

2.调用函数和被调用函数之间的参数值的传递是″按值″进行的,即数据只能从实参单向传递给形参。也就是说,当简单变量作为实参时,用户不能在函数中改变对应实参的值。

7.5 函数的正确调用(嵌套调用,递归调用)

1.调用函数时,函数名必须与被调用的函数名字完全一样。实参的个数与类型和形参的个数与类型一致。

2.C语言规定:函数必须先定义,后调用,也就是被调用函数必须在调用之前加以说明,或被调用函数整个放在调用函数之前。但对返回值类型为int或char类型的函数可以放在调用函数的后面。

3.C语言中函数定义都是互相平行、独立的,C语言不允许嵌套定义函数,但允许嵌套调用函数,也就是说,在调用一个函数的过程中,又调用另一个函数。

4.在C程序中,调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的递归调用。

5.递归调用函数是C语言的特点之一,有时递归调用会使求解的问题变得更简单明了。

7.6 局部变量和全局变量

1.局部变量

在一函数内部所定义的变量称为局部变量,局部变量只在本函数范围内有效。

注意:

①不同函数可以使用相同的局部变量名,它们将代表不同的对象,互不干扰;

②一个函数的形参也为局部变量;

③在函数内部,复合语句也可定义变量,这些变量也为局部变量,只在此复合语句中有效。

2.全局变量

在C语言中,程序的编译单位是源程序文件,一个源程序文件中包含一个或多个函数。在函数之外所定义枝亏瞎的变量称为外部变量,也称为全局变量。全局变量可以被包含它的源程序文件中的其他函数所共用,作用域为从定义变量的位置开始到源程序文件结束,全局变量可以增加函数之间数据的联系。

注意:当在同一个源程序文件中,全局变量与局部变量同名时,在局部变量的作用范围内,全局变量不起作用,局部变量起作用。

7.7 变量的存储类别、作用域及生存期

1.变量的存储类别

在C语言中,有两类存储类别:自动类别及静态类别。

有4个与两种存储类别有关的说明符:auto(自动)、register(寄存器)、static(静态)和extern(外部),这些说明符一般与类型说明一起出现,一般放在类型名的左边,例如:

auto long I,j;

也可写成:

long auto I,j;

(1)自动变量:自动变量是C程序中使用最多的一种变量,这种变量的建立和撤消都是在系统中自动进行的。

格式:[auto]数据类型 变量名[=初始化表达式],…;

上面的说明格式中,方括号中是可省略的部分,auto为自动类别标识符,若省略auto,系统缺省的存储类别也为自动类别。

注意:函数的形参也为自动类别,在定义时不必加存储类别标识符。

(2)寄存器变量:寄存器变量与自动变量的性质相同,其区别只在于存储的位置不同,寄存器变量存储在CPU的寄存器中,而自动变量存储在内存中的动态存储区,寄存器变量的存取速度要快些。

格式:register数据类型,变量名[=初始化表达式],…;

上面的说明格式中,register为寄存器变量的存储类别标识符。

说明:

①CPU中寄存器的数目是有限的,因此只能把少数的变量说明为寄存器变量;

②寄存器变量是存放在寄存器中的,而不是存放于内存中,所以,寄存器变量无地址;

③寄存器变量的说明应尽量放在靠近要使用的地方,用完后尽快释放,这样可提高使用效率。

(3)静态变量:静态类别变量的存储空间在程序的整个运行期间是固定的。

格式:static数据类型 变量名[=初始化表达式],…;

在上面的说明格式中,static为静态变量的存储类别标识符。

静态变量的初始化在编译时进行,定义时可用常量或表达式进行显式初始化。对于没有初始化的静态变量,自动初始化为0(整型)或0.0(实型)。

注意:静态变量具有可继承性,这与自动变量有所不同。

(4)外部变量:使用extern可使外部变量使用范围扩充到需要使用它的函数。外部变量可作显式的初始化,若不作初始化,系统将自动地初始化为0或0.0。

格式:[extern]数据类型,变量名[=初始化表达式],…;

上面的说明格式中,extern使外部变量的作用范围扩大到其他源程序文件中。

注意:局部变量既可以说明为自动类别,也可以说明为静态类别;全局变量只能说明为静态类别。

2.变量的作用域及生存期

在C语言中,变量必须先说明后使用,在程序中一个已定义的变量的使用范围就是此变量的作用域。经过赋值的变量在程序运行期间能保持其值的时间范围为该变量的生存期。

(1)局部变量的使用域及生存期

①自动变量的使用域及生存期

自动变量的存储单元被分配在内存的动态存储区,每当进函数体(或复合语句)时,系统自动为自动变量分配存储单元,退出时自动释放这些存储单元。自动变量的作用域为从定义的位置起,到函数体(或复合语句)结束为止。

自动变量在进入到定义它们的函数体(或复合语句)时生成,在退出所在的函数体(或复合语句)时消失,这就是自动变量的生存期。

使用自动变量的优点是使各函数之间造成信息分隔,不同函数中使用同名变量时不会相互影响。

②寄存器变量的使用域及生存期

寄存器变量的使用域及生存期与自动变量相同。

③静态存储类别的局部变量

在函数体(或复合语句)内部,用static说明的变量静态存储类别的局部变量,这种变量的作用域与自动(或寄存器)变量的作用域相同,但是生存期有所不同。

在整个程序运行期间,静态局部变量在内存的静态存储区中占据着永久的存储单元,甚至在退出函数后下次再进入函数时,静态局部变量仍使用原来的存储单元。由于不释放存储单元,所以这些存储单元中的值将会被保留下来。静态局部变量的生存期将一直延长到程序运行结束。

静态局部变量适合于在函数调用之间必须保留局部变量值的独立变量。

③ 2017年计算机二级C语言模拟题及答案(3)

2017年计算机二级C语言模拟题及答案(3)

1). 以下选项中不合法的标识符是( )

A.FOR

B.&a

C.print

D._00

正确答案:B

答案解析:合法的标识符要满足组成字符为a~z以及A~Z,数字字符0到9和下划线,其中数字不开头,不能是关键字。选项B中,&不属于组成字符,是错误的。

2). 下列描述中正确的是( )

A.程序就是软件

B.软件开发不受计算机系统的限制

C.软件既是逻辑实体,又是物理实体

D.软件是程序、数据与相关文档的集合

正确答案:D

答案解析:计算机软件与硬件是计算机系统中相互依存的两部分。计算机软件是包括程序、数据及相关文档的完整集合。软件由两部分组成:一部分是机器可执行的程序和数据;二是机器不可执行的,与软件开发、运行、维护、使用等有关的文档。软件具有以下六个特点:①软件是一种逻辑实体,而不是物理实体,具有抽象性。②软件的生产与硬件不同,它没有明显的制作过程。③软件在运行、使用期间不存在磨损、老化问题。④软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移值的问题。⑤软件复杂性高,成本昂贵。⑥软件的开发涉及诸多社会因素。

3). 变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。若要求将a的高4位取反,低4位不变,所要执行的运算是

A.a^b

B.a|b

C.a&b

D.a<<4

正确答案:A

答案解析:本题考查的是位运算的知识,对于任何二进制数,和1进行异或运算会让其取反,而和0进行异或运算不会产生任何变化,故本题选A。

4). 下列关于栈叙述正确的是( )

A.栈顶元素最先能被删除

B.栈顶元素最后才能被删除

C.栈底元素永远不能被删除

D.以上三种说法都不对

正确答案:A

答案解析:栈是先进后出的线性表,栈顶的元素最先被删除,栈底的元素最后被删除。

5). 已知 int a=1,b=3则a^b的值为

A.3

B.1

C.2

D.4

正确答案:C

答案解析:^是按位异或运算,如果对应位不同则结果为1,相同则为0。

6). 按条件f对关系R进行选择,其关系代数表达式为( )

A.R|X|R

B.R|X|Rf

C.бf(R)

D.∏f(R)

正确答案:C

7). 信息隐蔽的概念与下述哪一种概念直接相关( )

A.软件结构定义

B.模块独立性

C.模块类型划分

D.模拟耦合度

正确答案:B

8). 变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。若要求将a的高4位取反,低4位不变,所要执行的运算是

A.a^b

B.a|b

C.a&b

D.a<<4

正确答案:A

答案解析:本题考查的是位运算的知识,对于任何二进制数,和1进行异或运算会让其取反,而和0进行异或运算不会产生任何变化,故本题选A。

9). 下列关于栈叙述正确的是( )

A.栈顶元素最先能被删除

B.栈顶元素最后才能被删除

C.栈底元素永远不能被删除

D.以上三种说法都不对

正确答案:A

答案解析:栈是先进后出的线性表,栈顶的元素最先被删除,栈底的元素最后被删除。

10). 已知 int a=1,b=3则a^b的值为

A.3

B.1

C.2

D.4

正确答案:C

答案解析:^是按位异或运算,如果对应位不同则结果为1,相同则为0。

④ 2017年计算机二级C语言命题特点及应对策略

一、命题原则

全国计算机等级考试大纲明确规定:二级C语言考试由“二级公共基础知识”和“二级C语言程序设计”两大部分组成,考试内容严格按照“宽口径、厚基础”的原则设计,主要考核我们对该学科的基础理论、基本知识和基本技能的掌握程度,以及运用所学理论和知识解决实际问题的能力。

二、考试要求

根据命题原则,大纲对我们如何复习应试也提出了相应的要求。主要强调了两个方面:

一是 强调我们对基本概念、基本理论和和拿基本知识点的掌握;

二是 强调我们综合运用所学知识进行实际应用到程序编写中的能力。

也就是说,我们要想通过二级C语言考试,不仅要熟练地掌握该学科的基本理论知识和操作技能,还要具有较强的分析与解决实际问题的能力,真正做到学以致用。应做到以下两点:

1.学好基础知识

这里所说的基础知识是指C语言中基本概念、基本原理和规定关键字、基本结构等基本知识点。二级C语言考试中,概念性的知识点比较多。我们对这些基础知识要用心理解、记忆。这一类型题目一般都是考察教材中的概念,如果这样简单的题目都丢分,那就实在可惜。

2.掌握操作技能和综合运用能力

二级C语言考试注重对程序设计实际操作能力的考察,要求我们运用所学理论知识和操作技能解决实际问题。二级C语言考试考核的主要内容就是程序设计的基本操作和把所学理论知识和操作技能综合起来,并能在实际应用中加强对这些知识的熟练掌握。

三、应试对策

我们在备考时,要针对考试大纲和考试要求进行复习,主要应注意以下几个方面:

1.牢固、清晰地掌握基本知识

二级C语言考试的重点是基本知识的掌握情况和实际编程应用,但其前提条件是对基本知识点的掌握。因此,我们正确地理解、熟记基本概念和原理是通过考试的前提条件。那么我们要如何才能做到这一点呢?我们可以通过以下3方面来实现:

① 在考前冲刺阶段要注意“比较总结”学习成果,特别是对一些关系复杂的知识点,通过比较、总结更容易理解、牢记。“比较总结”是一烂衡个好的学习方法,同时也是一个好的增强记忆方法,在C语言中有些问题只有通过综合比较、总结才容易在脑海中留下牢固的印烙;

② 理解概念要准确,尤其是一些容易混淆、重要的概念,一定要在考前冲刺阶段准确地掌握它们之间在操作步骤和实现功能上的细微区别,一定不能忽视;

③ 通过联想记忆各考点,在C语言中有一部分考点不是孤立的,而是相互联系的,我们要能通过一个考点联想到与他相关的考点、这样就能扩大记忆了。

2.选择的习题要有针对性,切不可进行“题海战术”

现在关于二级C语言考试的习题很多,搞题海战术肯定是不行的。我们应根据考试大纲,在考前冲刺阶段适当地做一些与二级C语言考试题型相同饥棚做的题,我们可以做些试卷和历年试题(最近2~3年即可)。研究历年考试题型、分析现在考试形式是通过考试的一个重要法宝,这做可使我们较快地掌握考试题型,从而在最短的时间内达到的学习效果。

注意:根据分析这些年来考试的情况,每年都会有少数新的考点出现,所以在研究历年考题时,不要忽视了一些以往没有考过的知识点,应适当理解记忆。

3.上机实践笔试中程序设计类题目

学习笔试中程序设计类的题目方法是上机操作,验证自己的解题思路和做题结果。通过在计算机上验证这类题,可以发现错误和纠正解题思路,加深我们的记忆。

⑤ 用vs2017学习C语言,应该下载哪个工作负载求解答

要不换codeblocks吧(笑)
――――――――――――――――
最上面三个是windows,.net和c++吧,把c++选上就可以了,怕不行还可以再多选一个windows,大概要下载2g左右的东西