文档库 最新最全的文档下载
当前位置:文档库 › 程序员(初级)之程序设计知识点汇总

程序员(初级)之程序设计知识点汇总

程序员(初级)之程序设计知识点汇总
程序员(初级)之程序设计知识点汇总

程序员之程序设计知识点一

1.1程序设计和程序设计语言

1.程序

从最一般的意义来说,程序是对解决某个计算问题的方法(算法)步骤的一种描述;而从计算机来说,计算机程序是用某种计算机能理解并执行的计算机语言作为描述语言,对解决问题的方法步骤的描述。计算机执行按程序所描述的方法步骤,能完成指定的功能。所以,程序就是供计算机执行后能完成特定功能的指令序列。

一个计算机程序主要描述两部分内容:描述问题的每个对象和对象之间的关系,以及描述对这些对象作处理的处理规则。其中关于对象及对象之间的关系是数据结构的内容,而处理规则是求解的算法。针对问题所涉及的对象和要完成的处理,设计合理的数据结构常可有效地简化算法,数据结构和算法是程序最主要的两个方面。

2.程序设计的任条和主要步骤

程序设计的任务就是分析解决问题的方法步骤(算法),并将解决问题算法的方法步骤用计算机语言记录下来。程序设计的主要步骤包括:认识问题、设计解决问题的算法、按算法编写程序、调试和测试程序。在程序开发过程中,上述步骤可能有反复,如发现程序有错,严重情况可能会要求重新认识问题和重新设计算法等。

3.机器语言和汇编语言

计算机能直接识别和执行的二进制代码称为计算机的机器语言。用有助于记忆的符号来代表二进制代码,称为汇编语言。汇编语言与机器语言几乎有一对一的关系。用汇编语言编写的程序称为“汇编源程序”,汇编源程序不能在计算机上直接执行,需要用汇编程序将汇编源

程序翻译成机器语言程序,然后执行由汇编程序翻译出来的机器语言程序。机器语言和汇编语言是与具体计算机紧密相关的,称它们是面向机器的语言。

4.高级语言

与机器语言和汇编语言相比较,高级语言与具体计算机无关,是一种能方便描述算法过程的计算机程序设计语言。高级语言种类千差万别,但一般包含有以下四种成分:数据成分用来描述程序所涉及的数据;运算成分用来描述运算;控制成分用来表达程序的控制构造;传输成分用来表达数据的传输。由于高级语言程序主要是描述计算机的解题过程,即描述复杂的加工处理过程,所以也称这种高级语言为面向过程语言。

用高级语言编写的程序称为“源程序”。计算机不能直接技源程序的语句运行,通常有解释方式和编译方式两种方法在计算机上执行源程序。

解释方式,即让计算机运行解释程序,解释程序逐句取出源程序中的语句,对它作解释执行,输入数据,产生结果。

编译方式,即先运行编译程序,从源程序一次翻译产生计算机可直接执行的二进制程序(称为目标程序);然后让计算机执行目标程序,输入数据,产生结果。

解释方式的主要优点是计算机与人的交互性好,调试程序时,能一边执行一边直接改错,能较快得到一个正确的程序。缺点是逐句解释执行,运行速度慢。

编译方式的主要优点是计算机运行目标程序快,缺点是修改源程序后必须重新编译以产生新的目标程序。

现在也有将上述两种方式结合起来的,即先编译源程序,产生计算机还是不能直接执行的中间代码,然后让解释程序解释执行中间代码。这样做的好处首先是比直接解释执行快;更大的好处是中间代码独立于计算机,只要有相应的解释程序,就可在任何计算机上运行。

5.面向问题语言

面向问题语言是为了易于描述和求解某类特定领域的问题而专门设计的一种非过程语言。用面向问题语言解题时,不仅摆脱计算机的内部逻辑,也不必关心问题的求解算法和求解的过程,只需指出问题是做什么,数据的输入和输出形式,就能由相应的计算机系统得到所需结果。如报表语言、SOL(Structured Query Language)语言等。SQL语言是数据库查询和操纵语言,能直接使用数据库管理系统。由于使用面向问题语言来解题只要告诉计算机做什么,不必告诉计算机如何做,能方便用户的使用和提高程序的开发速度。但实现面向问题语言的系统从最一般的意义下实现问题如何求解,通常实现的效率较低。另外,面向问题语言要求问题已有通用的求解方法,目前其应用范围还比较狭窄。

1.2C语言基础

1.C语言的发展史

目的是为编写系统程序研制一种高级程序语言。1963年,参照ALGOL60语言,增添了能描述计算机硬件特性的能力,称为CPL语言。1967年,作进一步的简化,改称BCPL语言。1970年,再进一步简化,并突出了硬件处理能力,称为B语言,并用于编写UNIX操作系统。1972年,进一步扩充数据类型和恢复通用性,称为C语言,并用C语言重写了UNIX操作系统。以后C语言开始流行,为统一版本,ANSI于1987年制定了C语言的标准,称为ANSIC。

2.C语言的特点

C语言主要有以下特点:

(1)与其它高级语言比较,更接近硬件,与机器语言比较,又更接近算法。C程序易编写、易读、易查错和易修改。

(2)数据类型与运算符丰富,描述算法更简单方便。

(3)C程序的结构简单,语言包含的语句类别少。

(4)是一种结构化语言,提供完善的结构化程序控制结构,适宜采用结构化程序设计方法开发程序。

(5)也是一种模块化程序设计语言,适宜大型程序的研制和开发。

(6)通常C系统都提供大量的库函数供程序开发人员选用,能简化程序开发。

3.C程序的基本结构

通常一个C程序包括一个或多个函数,其中必有一个main函数,称为主函数。C函数的定义主要分两部分:函数说明部分和函数体。其中函数体由C语言的语句序列组成,实现函数的功能。C程序总是从主函数开始执行。

4.C语言的基本语句

C语言的语句主要分以下几种:

(l)数据定义语句--用来定义程序中使用的各种数据,及能存放数据的对象的名称和特性。

(2)表达式语句--任何在有意义的表达式之后接上分号(;)构成的语句。最常见的有赋值表达式和函数调用表达式后加分号构成的表达式语句,分别称为赋值语句和函数调用语句。

(3)流程控制语句--用来控制程序执行过程的语句。它们有选择控制语句、循环控制语句、break语句。continue语句、return语句和goto语句等。

(4)复合语句--用花括号括住一个语句序列,即构成复合语句。复合语句用来表示其中的语句序列是一个整体,在逻辑上是单个语句,并且强调其中的语句按顺序逐一执行。

(5)空语句--只有单个分号(;)构成的语句。空语句表示没有任何操作,用于选择控制或循环控制没有特别被控制的成分语句,或在复合语句的末尾放置语句标号等。

(6)其它语句--如类型定义语句等。

5.注释

为了便于阅读和理解程序,可以在程序的任何地方插入注释,以说明程序、函数、程序段。语句的功能或采用的算法。C语言的注释是用/*”和“*/”括住的任意字符列。程序编译时,注释不参与编译,也不会出现在目标程序中。

6.C语言的字符集

C语言的基本字符集有:

(l)数字10个(0~9)。

(2)英文字母大、小写各26个(A~Z,a~z)。

(3)键盘符号33个,用于构成特殊符号,其中下线字符”起一个英文字母的作用,以构成标识符等语法成分。

(4)转义字符,转义字符是由字符(\)开始后跟单个字符或若干字符组成,通常用于表示控制代码或特殊符号。

7.C程序的基本词汇

C语言的基本词汇有:

(1)字面形式常量。如100、15.0、“A”、“ABC”。

(2)特殊符号。主要是运算符。

(3)保留字。在程序或语句中是用来表示特定语法含义的英文单词。

(4)标识符。用于命名程序对象,如变量、常量、函数、标号等。在C语言中,一个合理的标识符由英文字母或下线符开头,后跟或不跟由字母、下线符、数字符组成的字符列。~般以下线符开头的标识符作为系统内部使用。

利用基本词汇,按照给定的C语言的句法规则就可命名程序对象,描述表达式计算、构造语句、函数,直至整个程序。

程序员之程序设计知识点二

2.1C语言的数据类型

数据类型包含两方面的内容:数据的表示和对数据加工的操作。数据的全部可能表示构成数据类型的值的集合。数据全部合理的操作构成数据类型的操作集合。

在C语言中,把整型、实型和字符型称为基本数据类型,又称整型和实型为数值型。为了描述更复杂的数据结构,C语言还有构造类型、指针类型、放举类型和空类型。构造类型是指由若干个相关的数据组合在一起形成的一种复杂数据类型。

1.整型

整型数据按其存储在内存中的二进位信息的最高位是当作数值信息位还是当作数据的符号位,将整型数据分成带符号整型和无符号整型两种。每种整型又按所需的字节个数的多少分成三种。所以整型共有6种:

带符号整型(int)、带符号短整型(short int)、带符号长整型(long int,或long)、无符号整型(unsigned int)、无符号短整型(unsigned short int)以无符号长整型(unsigned long)。

2.实型

实型数据有表示范围和精度两个不同的特征,为了适应数的范围和精度的不同要求,实型数据分三种类型:单精度型(也称浮点型float)、双精度型(double)、长双精度型(long double)。

3.构造类型

构造类型是指由若干个相关的数据组合在一起形成的一种复杂数据类型,构造数据类型的成分数据可以是基本数据类型的,也可以是别的构造类型的。按构造方式和构造要求区分,构造类型主要有数组类型、结构类型和共用类型。数组类型是由相同类型的数据组成;结构类型可以由不同类型的数据组成;当不同数据类型不会同时使用时,以节约内存,让不同数据占用同一区域,这就是共用类型。

4.指针类型

指针类型是取程序对象(如变量)在内存中占居的地址为值的一种特殊的数据类型。

5.枚举类型

当变量只取很少几种可能的值,并分别用标识符对值命名时,这种变量的数据类型可用枚举类型来表示。如变量表示一个星期中的某一天,就可用校举类型描述该变量的类型,并以星期见的英文名对日期命名,对应的变量取某日的星期名称为其值。

6.void类型

用保留字VOid表示的数据类型有两种完全相反的意思,或表示没有数据(没有结果、没有形式参数),或表示某种任意类型的数据(如又与指针结合,用void。标记)。void表示空类型,void。表示任意数据的指针类型,程序如要使用void。类型的数据,应该将它强制地转换成某种具体的指针类型。

2.2 常量

常量是指程序运行过程中其值不可改变的数据。常量按其值的表现形式可分为如下类型:整型常量、实型常量、字符型常量、字符串常量和指针常量。

1.整型常量

C语言整型常量的书写形式有三种:

(1)十进制整数。通常整数的写法,如0,123,-45,+25。

(2)八进制整数。以数字符0开头并由数字符0-7组成的数字符序列,为八进制整数。如0123表示八进制整数,其值等于十进制整数l*8*8+2*8+3=83。

(3)十六进制整数。十六进制整数以OX(或OX)开头的整数。表示十六进制数的数字将有16个,它们分别是0-9和A、B、C、D、E、F,其中六个英文字母也可以小写。例如,0x123表示十六进制整数,其值等于十进制整数1*16*16+2*16+3=291;oxabc,其值等于10*16*16+11+16+12=2748。

整型常量也可在整数之后接上字母L(或l),特别指明它是long型的。

整型常量也可在整数之后接上字母U(或u),特别指明是不带符号的,即是unsigned 型的。为指明不带符号的long型整型常量,则需在整数之后同时加上字母U和L,表明该整型常量是unsigned long型的。

整型数据以二进制形式存放,要求短整型数据的字节数不能大于整型数据的字节数;整型数据的字节数不能大于长整型数据的字节数。对于带符号的整数,用二进制代码的最左二进位作为数的符号,1表示负数,0表示正数。

2.实型常量

C语言实型常量的一般书写格式是:

正负号整数部分.小数部分指数部分

其中,正负号可有可无,无正负号即为正实数;整数部分和小数部分都是十进数字符序列;指数部分是e(或E)后接上正负号(正号可有可无)和十进数字符序列。

按上述格式书写实型常量,另有两条限制:

(l)整数部分和小数部分可以任选,但不可同时都没有。

(2)小数点和指数部分不可以同时都没有。

ANSIC引入两个后缀字符,用f标识float型实型常量,用1(或L)标识fong double 型实型常量,而无后缀符的实型常量被认为是double型的实型常量。

要注意实型常量的有效位数,不要以为写上的数字都能被计算机所接受。在大多数C 系统中,一个float型实型数据在内存中占用4个字节(32个二进位),约7个十进位有效数字,能表示绝对值最接近0的实数约为10的-38次方,最大的实数约为10的38次方。例如,对于代码float x=123456.123f,在大多数系统中,实型常量123456.123f的最后两位数字是无效的。

double型实型数据占用8个字节(64个二进位),约15个十进位有效数字,能表示绝对值最接近0的实数约为10的一308次方,最大的实数约为10的308次方。

3.字符常量

字符型数据用于表示一个字符值,但字符型数据的内部表示是字符的ASCll代码(8位二进位的二进制形式)。字符型数据的类型符用char来标记。字符型常量的书写方法:(l)普通字符--用单引号括起一个字符。如’a’、’b’、’B’、’$’。

(2)特殊字符--用’\字符或字符列采标记。这种标记方法有三种:

’\特定字符’,标记特定控制符,如换行符用’\n’来标记。

’\1至3个人进制数字’,以人进数表示字符的ASCll代码。

’\X1至2个十六进制数字符’,以十六进制数表示字符的ASCll代码。

由于字符以代码存放,所以也可把字符值当作一个小整数。反之,一个小整数也可把它理解为是某个字符的代码,把它当作一个字符。

4.字符串常量

字符串常量用来表示一个字符序列,它的书写方法用双引号括住字符序列。例如:”ABC”、””等。字符串常量“”是一个空字符串,即不含任何有效字符的字符串。字符串数据顺序存储字符串字符的ASCll代码,并在最后字符后面存储一个H进制代码全为0的特殊字符,用来标记字符串的结束。所以字符串常量“1234”在内存占5个字节,而空字符串只占一个字节。字符串中的字符也可以是转义字符。

5.符号常量

为了提高程序的可读性,常量可以用以下形式命名:

# define 标识符常量

其中的标识符也称作符号常量,这里的常量是前面所述的某种常量、或是程序中前面定义的符号常量。例如:

# define MAXN 100

2.3 变量

变量是程序执行时,其值允许改变的数据对象,用来存储输入数据、计算的中间结果和程序的最终结果等。

1.变量定义

变量用标识符命名,通过变量定义引入的变量名习惯用英文字母开头,C系统可能也会预定义一些标记系统特性的变量,系统定义的变量习惯用下线字符开头。变量的数据特性由变量定义时指定的类型确定。若定义指定数据类型的变量(即不在指定数据类型基础上定义新数据类型的变量,如指定类型的指针、数组等),这种变量定义的句法为:数据类型符变量名1,变量名2,……;

编绎系统根据变量的数据类型确定存放它的值所需要的内存字节数,变量值的内部表示形多也由其类型确定。

2.内部变量和外部变量

变量按其定义出现在程序中的位置不同分成两类:在函数内定义的变量称为内部变量,而在函数之外(函数之间)定义的变量称为外部变量。

3.变量的存储类型

系统按程序对计算机存储空间使用的不同要求,将内存分成不同用途的块,与计算机的寄存器一起将存储空间分成不同类别。而C程序通过指定变量的存储类表明变量的不同的使用要求,让系统将变量分配于不同的内存块或寄存器。如在上述变量定义形式中,还要指定变量的存储类型,变量定义的形式为:

存储类型符数据类型符变量名1,变量名2,…;

其中存储类型有四种:auto(自动的)、static(静态的)、register寄存器的)和extem 外部的)。

外部变量只允许被指定为静态的,或不指定其存储类型。内部变量可以被指定为自动的或静态的、或寄存器的、或不指定存储类型,若不指定存储类型,它就是自动的。

自动变量是内部变量,在函数内或复合语句内定义,它们被分配在堆栈区。

静态变量可以是内部变量,也可以是外部变量。静态变量表示永久性和专用性,即在程序执行过程中一直存在,局限于定义它的函数(内部静态变量)或局限于定义它的程序文件中那些函数(外部静态变量)。静态变量被分配在与程序相联的内存数据区。

寄存器变量是函数的内部变量或参数,也是一种临时性的变量。如因函数使用非常频繁程序希望将它分配在寄存器,程序就可将变量指定为寄存器的,但编译系统也可能把它当作动变量处理。

指定存储类型是外部的,实际b是告诉编译器,这个变量是一个外部变量,在这里要使它,而它的定义或在别的程序文件或在后面的程序段等别的地方。

4.变量的作用域和生存期

变量的使用要注意变量的作用域(可使用范围)和生存期(存在的时间)。C语言规定,内部变量的作用域只局限于定义它的函数或复合语句。自动的内部变量是一种临时性变量,

函数被调用时分配,函数执行结束时释放。而静态变量在程序执行前分配,直至程序结束才释放。由于静态的内部变量在函数结束时,依旧保持存储,函数上一次调用时留在内部静态变量中的结果能被下一次调用时继续使用。外部变量也在程序启动前分配,直至程序执行结束释放。普通的外部变量能提供别的源程序文件中的函数使用(要对它作外部说明);静态的外部变量只能供定义它的源程序中的全部函数专用。由于外部变量能供整个程序使用,所以外部量不能重名。

5.变量定义初始化

变量定义是对变量的存储空间提出一种要求,存储空间分配后,变量的初值通常是不拔的。但程序可以要求系统在为变量分配存储空间同时为变量设定初值,这就是变量定义初始化。在变量的定义形式中,在变量名之后接上“=初值表达式”,该初值表达式的值就作为该变量的初值。C语言另有约定,对于静态变量和外部变量,若定义它们时未指定初值,系统给它们设置成全部二进位都是0的值。以下是各种变量定义的例子:

(l)定义整型,并对其初始化。

Short minInt =100;

int i= l,j= 2,k=3;

long p=-1L,q=1234567890L;

unsigned usi=254u;

unsigned long up=4294967295UL;

(2)定义字符型变量,并对其初始化。

char ch=’A’;

(3)定义实型(浮点型、双精度型)变量,并对其初始化。

float f=1.23456f;

double d=1.2345678op87654;

2.4 运算符

每个运算符都代表对运算对象的某种运算,都有自已特定的运算规则,规定运算对象的个数、运算对象数据类型,以及运算结果的数据类型。C语言还规定运算符有不同的优先级和结合性。运算符的优先级指表达式求值时,按运算符的优先级由高到低的次序计算。如“先乘除后加减”。运算符的结合性是指运算符要求它的运算对象对它的结合方向。结合性确定了在相同优先级运算符连续出现的情况下运算对象与运算符结合的顺序,通常也是计算顺序。如算术运算符的结合性是从左至右的,则连续的加减或连续的乘除是从左向右计算。而赋值运算符的结合性是从右至左的,则连续的赋值运算是从右向左逐个计算赋值。在C语言中,要特别注意某些运算符因运算对象数据类型不同,可能有不同的意义。

1.算术运算符

算术运算符的运算对象是基本数据类型的数据,实现通常的取整、取负、四则运算、求两整数相除后的余数的运算和增1减1运算。特别要留心的是整除运算、求余运算、增1运算和减1运算。

对两个整型数据执行除运算(/),称为整除运算,要特别注意的是两个整型数据的整除运算的结果是整型的,如表达式3/2的结果为1,表达式2/3的结果为0。

求余运算符(%)要求参与运算的两个运算对象均为整型数据,如5%3的值为2。一般来说,求余运算所得结果的符号与被除数的符号相同。如-5%3的值为-2,5%-3的值为2。

增1(++)和减1(--)运算符都是单目运算符,以整型、字符型和指针型变量为运算对象,并改变运算对象的值。按它们出现在变量之前和之后两种不同情况,其作用有微妙的差别。

前缀++

前缀++的一般形式是

++变量

例如,若X是整型或某种指针类型的变量,则++X使变量X的值增大1个单位,并以X 的新值作为表达式“++X”的运算结果。如以下语句执行前,变量X的值为1,语句j= ++ x;

使变量X的值变成3,变量j的值也为3。这里所说的一个“单位”是指:如果X是整型的,则++x就是普通的解释:“x的值比原值增加1";x是指针,它指向数组的某个元素,则++x 使它指向数组的后一个元素。

后缀++

后缀++的一般形式是

变量++

表达式“变量++”运算结果是该变量的原来值,在确定了表达式结果之后,用与前缀++相同的方式增大该变量的值1个单位。

前缀++和后缀++都能使变量的值增加1个单位,但是它们所代表的表达式的值却不相同,前者是变量增加后的值,后者是变量还未增加的原先值。例如i,j为整型变量,且i的值为4,以下分别用①和②表记的代码将使j获得不同的值:

①j=++i ;

②j=i++

都使变量i的值变为5,但①使j的值为5;②使j的值为4。

前缀--

前缀-- 的一般形式是

--变量

前缀--使变量的情减少(或后退)l个单位,并以变量的新值为表达式“--变量”的运算结果。

后缀--

后缀-- 的一般形式是

变量--

后缀-- 作用于变量时,以该变量的值作为表达式“变量--”的运算结果,即先取其值为结果,然后用与前缀--相同的方式减少该变量1个单位。

后缀-- 与前缀-- 的区别类似于后缀++与前缀++的区别。类似前面的例子,依旧假定i 的值为4,两代码

③j= --i

④j=i--

都使变量i的值变为3,但③使j的值为3;④使j的值为4。

使用++和--运算符时,其运算对象仅适用于变量,不能是常量等数据值表达式。如4++

或(i+j)++都是不合法的。

++和--是带有副作用的运算符。建议读者不要在一个表达式中对同一变量多次使用这样的运算符,可能会发生意想不到的结果。如i的值为4,对表达式

(i++)+(i++)

可能认为它的值为9(+5)。然而在TURBO C和MS C系统中,它的值为8。而表达式(++i)+(++i)

的值为12。这是因为这些系统在处理i++时,先使用i的原值计算整个表达式,然后再让i连续两次自增;处理++i时,在计算表达式值之前,先对i执行两次自增,然后才计算表达式。放前一个表达式的值为8,后一个表达式的值为12。

因+与++(-与--类似)是两个不同运算符,对于类似表达式i+++j会有不同的理解:(i++)+ j或i+(++j)。C编译的处理方法是自左至右让尽可能多的字符组成一个合法的句法单位(如标识符、数字、运算符等)。因此,i+++j被解释成(i++)+j,而不是i+(++j)。

增1(++)和减1(--)运算符的结合方向是自右至左的。

2.关系运算符

用于关系运算的关系运算符有六个:<(小于)、>(大于)、<=(小于等于)、>=(大于等于)、==(等于)和!=(不等)。关系运算是双目运算,它的运算对象可以是基本数据类型的数据,用于比较大小;或是指向同一个数组两元素的指针,用于比较前后关系。在高级语言中,习惯称条件满足为“真”,不满足为“假”。特别在C语言中约定:比较后,条件满足(真)的值为1;比较后,条件不满足(假)的值为儿用关系运算符将两个子表达式连接起来,构成关系比较表达式,求得结果为1(真)或0(假)。

六个关系运算符中,运算符(<、<=、>、>=)的优先级高于运算符(==,!=)。如表达式X>y==Cy)==(C<d)。

另外,为便于描述两个复杂算式的比较,关系运算符的优先级低于算术运算符的优先级。

设有i=1,j=2,k=3,则表达式i>j的值为“假”,即表达式的值为0;表达式i==k>j的值为“真”,即表达式的值为1(先计算k>j,其值为1,等于i);i+j

关系运算符的结合方向是自左至右。仍设i=1,j=2,k=3,则表达式k>j>i的值为0(先计算k>j,其值为1,再计算1>1,结果为0)。

3.逻辑运算符

用于逻辑运算的逻辑运算符有三个:

&&(逻辑与)、||(逻辑或)、!(逻辑非)

其中运算符“&&”和“||”是双目运算符,要求有两个整型或字符型的运算对象,用于连接多个判定条件,构成更复杂的条件判定;运算符“!”是单目运算符,用于描述对给定条件的否定判定。

逻辑运算产生的结果也只能是1或0。1表示逻辑运算结果为“真”;用0表示运算结果为“假”。

在判定一个运算对象的值为“真”或“假”时,以运算对象的值不等于零为“真”,运算对象的值等于0为“假”。

逻辑运算符中,按优先级排列为:逻辑非运算符!的优先级高于逻辑与运算符&&,逻辑与运算符&&的优先级高于逻辑或运算符||。另外,&&和||的优先级低于关系运算符的优先级;!的优先级高于算术运算符的优先级。逻辑运算符||和&&的结合方向是自左至右,而逻辑运算符!的结合方向是自有至左。

需要特别指出的是,“逻辑与”和“逻辑或”运算符分别有以下性质:

a&&b,仅当a为0时,不管b为何值(实际上不再计算b),结果为0。

a||b,仅当a为1时,不管b为何值(实际上不再计算b),结果为1。

上述性质就是说,对于表达式a&&b,仅当子表达式a为非零时,才计算子表达式b;对于表达式a||b,仅当子表达式a为0时,才计算子表达式b。在具体编写程序时,也应利用以上性质。对于两个条件的逻辑与,如当条件1不成立情况下,条件2的值没有意义或不可计算时,逻辑表达式应写成:

条件l&&条件2

避免在条件1不成立情况下,计算条件2。如有条件:y/x>2且x!=0,应写成:x!=0 &&y/x>2

当X为0时,不会计算y/X。而写成:

y/X>2 &&X!=0

是不正确的,因为当X为0时,不能计算y/X。对于逻辑或也有类似情况。

由于上述性质,在计算连续的逻辑与和逻辑或运算时,实际上不分优先级,而是顺序从左至右计算。在计算逻辑与运算时,若有左运算对象的值为0,则不再继续计算逻辑与运算,并立即以0为逻辑与运算的结果;在计算逻辑或运算时,若有左运算对象的值为1,则不再继续计算逻辑或运算,并立即以1为逻辑或运算的结果。在顺序计算逻辑表达式的过程中,一旦确定了表达式的最终结果,就不再继续计算。

4.赋值运算符

赋值运算的最简单形式是

变量=表达式

其中“=”是赋值运算符。赋值运算的执行过程是:

(l)先计算赋值运算符右端的表达式;

(2)如表达式的类型与赋值运算符左边的变量类型不同(仅限于基本类型),将表达式值的类型自动转换成变量的类型;

(3)将求得的值赋给变量,即存储到由变量所占的内存中。

简单地说,计算表达式的值,将该值赋给变量。

赋值运算也有结果,经赋值运算后,赋值表达式具有赋值后赋位运算符左边变量同样的类型和值。因赋位运算有值,所以可以进一步参与运算,特别是可以再赋植给其它变量。赋值运算符的结合性是‘边有至左”的,当连续有多个赋值运算时,则从右至左逐个赋值。如有变量定义:

int k;double x;

则赋值表达式:

x=k=3.5

是先将实数3.5自动转换成整数3赋给整型变量k,然后又将整数3自动转换成实数3.0赋给实型变量X。所以,k的值是3,X的值是3.0。

在程序中,经常遇到在变量当前值的基础上作某种修正的运算。如

x=x+5.0

这类运算的特点是:变量既是运算对象,又是赋值对象。为避免对同一存储对象的地址重复计算,C语言弓队复合赋值运算符。它们是

+=、-=、*=、%=、〈〈=、〉〉= 、&= 、^=、|=

通常,记日为某个双目运算符,复合赋值运算

xθ=e

其等效的表达式为

x=xθ(e)

注意,当e是一个复杂表达式时,等效表达式的括号是必需的。如

y*=a+b

的等效表达式是y=y*(a+b)

赋值运算符和所有复合赋值运算符的优先级全相同,并且都是“自右至左”结合,它们的优先级高于远号运算符的优先级,低于其它所有运算符的优先级。

5.逗号运算符

逗号运算符“,”用于将若干表达式连接起来顺序地逐个计算。连续返号运算的一般形式为:

表达式1,表达式2,…,表达式n

它的计算顺序是从左到右逐一计算各表达式,并以表达式n的值为连续逗号运算的结果。例如,表达式

x=(i=3,i*2)

使i等于3,X等于6。其实,逗号运算只是把多个表达式串联起来,在许多情况下,使用逗号运算的目的只是想分别计算各个表达式的值,而并非想使用逗号运算中最后那个表达式的值。逗号运算最常用于for结构中,用于给多个变量登初值,或用于对多个变量的值逐一修改等。逗号运算符的优先级最低,其结合性是“自左向右”的。

6.条件运算符

条件运算是一个三目运算,有三个运算对象。条件运算的一般形式为

表达式1?表达式2:表达式3

条件运算的计算规则是:

(1)计算表达式1的值;

(2)如果表达式1的值非0(真),则计算表达式2,并以表达式2的值为条件运算的结果(不再计算表达式3);

(3)如果表达式1的值为0(假),则计算表达式3,并以表达式3的值为条件运算的结果(不再计算表达式2)。

例如,表达式

X>y?X:y

如果x>y条件为真,则条件运算取x值,否则取y值。

条件运算符(?:)的优先级高于赋值运算符,低于逻辑运算符,也低于关系运算符和

算术运算符。例如,表达式

max=X>y?X:y+l

等效于表达式

max=((x>y) ?x:( y+l))

条件运算符的结合性为“自右至左”。例如,表达式X>y?X:u>V?u:V

等效于表达式

X>y?X:(u>V?u:V)

7.长度运算符

长度运算以字节为单位给出其运算对象所需(或所占)的字节数,运算对象可以是任何类型的数据对象或数据类型。它是根据对象的类型来确定对象(所需)的字节数的。

长度运算有两种书写形式:

sizeof变量名或sizeof(类型名)

如果有某种类型为江的变量V,其中t可以是系统提供的类型或用户自己定义的类型,可以是简单的,也可以是数组、结构等。则sizeof V就是变量V所占的字节数。如有int j;

double x;

表达式sizeof j和sizeOf x分别是变量j和x所占的字节数。

sizeof(t)是系统为分配一个类型为t的数据对象所需的字节数。如sizeOf(int)和sizeof(dou-ble)分别是系统为分配一个类型为int和double变量所需的字节数。

8.位运算符

位运算的运算对象只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位率信息,按位完成指定的运算,得到位串信息的结果。位运算符又可分成两类:一类是位逻辑运算符,另一类是位移位运算符。

位逻辑运算符有:&(按位与)、|(按位或)、^(按位异或)、~(按位取反)

位移位运算有:<<(位左移)和>>(位右移)

其中按位取反运算符是单目运算符。其余均为双位运算符。位逻辑运算符的优先级从高到低,依次为~、&、^、|、,其中的结合方向自右至左,且优先级高于算术运算符,其余运算符的结合方向都是自左至右,且优先级低于关系运算符。位移位运算符的优先级低于算术运算符,高于关系运算符,它们的结合方向是自左至右。

按位与运算符(&)

按位与运算将将两个运算对象的对应位按位遵照以下规则进行计算:

0&0=0,0&l=0,1&0=0,1&l=1

即同为一的位,结果为1,否则结果为0。

例如,设3的内部表示为00000011,5的内部表示为00000101,则3&5的结果为00000001 按位与运算有两种典型用法。一是取一个位率信息的某几位,如以下代码截取。的最低7位、&0177t二是让某变量保留某几位,其余位设置成0,如以下代码让X只保留最低6位:x=X&077、以上用法都先要设计好一个常数,该常数只有需要的位是互,不需要的位是0。用它与指定的位串信息按位与。

按位或运算符(|)

按位或运算将两个运算对象的对应位按位遵照以下规则进行计算:

0|0=0,0|l=1,1|0=l,1|1=1

即只要有五个是1的位,结果为1,否则为0。

例如,023|035结果为037。

按位或运算的典型用法是将一个位串信息的某几位设置成1。如将要获得最右4位为1,其它位与变量j的其它位相同,可用逻辑或运算017|j。若要把这结果赋给变量j,可写成:j=017|j

按位异或运算符(^)

按位异或运算将两个运算对象的对应位按位遵照以下规则进行计算:

0^0=0,0^1=l,l^0=l,1^l=0

即相应位的值相同的,结果为0,不相同的结果为l。

例如,013^035的结果为026。

异或运算的意思是求两个运算对象相应位值是否相异,相异的为1,相同的为0。按位异或运算的典型用法是求一个位串信息的某几位信息的反。如欲求整型变量j的最右4位信息的反,用逻辑异或运算017^j,就能求得j最右4位的信息的反,即原来为1的位,结果是0;原来为0的位,结果是1。

按位取反运算符(~)

按位取反运算是单目运算,用来求一个位串信息按位的反,即那些为0的位,结果是1;而那些为1的位,结果是几例如,~7的结果为0xfff8。取反运算常用来生成与系统实现无关的常数。如要将变量X最低6位置成0,其余位不变,可用代码X=X&~077实现。以上代码与整数X用2个字节还是用4个字节来实现无关。

当两个长度不同的数据进行位运算时(例如long型数据与int型数据),将两个运算对象的右端对齐进行位运算。如果短的数为正数,高位用0补满;如果短的数为负数,高位用1补满。如果短的为无符号整数,则高位总是用0补满。

位运算用来对位串信息进行运算,得到位串信息结果。如以下代码能取整型变量k的位串信息的最右边为亚的信息位:((k-l)^k)&k。

位左移运算符(<<)

位左移运算符用来将左运算对象(整型或字符型数据)作为二进位信息串作整体向左移动,移动的位数由右运算对象指定,右端空出的位用0补充,得到新的位申信息。例如014<<2,结果为060,即48。

位右移运算符(>>)

位右移运算将一个位串信息向右移指定的位,右端移出的位的信息被丢弃。例如12>>2,结果为3。与左移相反,对于小整数,每右移1位,相当于除以人在右移时,需要注意符号位问题。对无符号数据,右移时,左端空出的位用0补充。对于带符号的数据,如果移位前符号位为刚正数),则左端也是用0补充;如果移位前符号位为1(负数),则左端用0或用1补充,这取决于计算机系统。对于负数右移,称用0补充的系统为“逻辑右移”,用1补充的系统为“算术右移”。以下代码能说明读者上机的系统所采用的右移方法:printf(”%d\n\n\n”,-2>>4);

者输出结果为一l,是采用算术右移;输出结果为一个大整数,则为逻辑右移。

2.5 表达式

表达式就是将运算符与运算对象连接起来描述计算的式予。按表达式的构成规则分,表达式可分以下几类:

1.初等量表达式

初等量表达式是常量、变量、字符串、函数调用、数组元素、结构成分和带圆括号的表达式等。

2.单目运算表达式

单目运算表达式是由单目运算符和一个运算对象构成的表达式。单目运算符的优先级低于初等量的运算符,它们的结合性都是“自有向左”结合。

3.双目运算表达式

双目运算表达式的一般形式为

表达式双目运算符表达式

双目运算符自左向右结合。按双目运算符分类,又可分算术表达式、关系表达式、逻辑表达式、赋值表达式和远号表达式。由于C语言没有特别的真、假值,判定时,以非0值为真,以0值为假。所以,前述的C语言的各种表达式的计算结果都可作为逻辑值。

4.条件运算表达式

条件运算表达式的一般形式为

表达式?表达式:表达式

条件运算符自右向左结合。

2.6 数据类型转换

1.隐式类型转换

C语言允许基本数据类型中的不同类型数据进行混合运算。因不同类型的数据所占内存字节数和其内部表示形式的不同,在算术运算中(其它运算例外)一个运算符所涉及到的各运算对象,能根据运算对象的情况,要求运算对象的值从一种类型转换成另一种类型。这种类型转换是自动进行的,称作隐式类型转换。隐式类型转换严格遵守以下规则,按所列优先顺序实行类型转换。

(1)如有运算对象是long double型的,则其余运算对象也转换成long doube型。

(2)如有运算对象是double型的,则其余运算对象也转换成double型。

(3)如有运算对象是float型的,则其余运算对象也转换成float型。

(4)如有运算对象是unsigned long int型的,则其余运算对象也转换成unsigned long int 型。

(5)如有运算对象是long int型的,则其余运算对象也转换成long int型。

(6)如有运算对象是unsigned int型的,则其余运算对象都转换成unsigned int型。

(7)最后,运算对象和结果都是int型的。

根据最后一条规则,两个char型和short型运算对象都自动转换成int型参与运算,并且结果是int型的。

2.显式类型转换

算术运算中,基本数据类型的混合运算会发生隐式类型转换,当要求与隐式类型转换规则不一致时,可在表达式中用显式类型转换运算,强制地将一种类型的表达式值转换成另一种类型的位。显式类型转换的书写形式为

(类型名)表达式

其中(类型名)是对其后的表达式作强制类型转换运算,它将表达式的值强制地转换成类型名所指明的类型。例如,库函数sqrt()是求一个double型值的平方根。为求整型变量m的平方根,正确的写法是

sqrt((double)m)

在求m的平方根之前,先将m的值强制地转换成double型,然后去调用函数sqrt()。

类型转换不只改变表达式的值的类型,也可能会因两种表示形式上的差异,值的大小会有一些误差。

程序员之程序设计知识点三

3.1 顺序结构

顺序结构用来描述一个计算或操作序列,表示从序列的第一个计算开始,顺序执行序列中的每个计算,直至序列的最后一个计算。通常,一个复杂的计算过程不能用一个简单的计算来表达,而需把复杂的计算描述成简单计算的序列。

1.复合语句

在C语言中,将顺序执行的语句序列,用花括号括起来,构成C语言的复合语句。在逻辑上视复合语句为单个语句,它也能用作其它结构语句的成分语句。在很多场合,复合语句内还会包含其它结构语句。

2.表达式语句

在顺序结构中,最频繁使用的是表达式之后接上一个分号。例如,在赋值表达式之后接上分号,完成用表达式的值更新某变量,习惯称这种表达式语句为赋值语句;在函数调用之后接上分号,完成指定的计算功能,习惯称这种表达式语句为函数调用语句。

3.2 常用输入输出库函数

最基本的输入输出库函数有字符输入函数、字符输出函数、格式输入函数和格式输出函数。

1.字符输入函数

字符输入函数getchar()的功能是从标准输入设备上(通常是键盘终端)读取一个字符。该函数没有参数,对它的每次调用,就返回下一个输入字符的ASCII代码值。例如,执行语句

ch=getchar();

使变量ch得到输入字符的ASCII代码值。一般情况下,这里的变量ch为char型或int 型。当程序在输入字符后,用ch判定输入文件是否结束时,变量ch必须是int型的。这是

因为文件结束标记值是-1,是int型的。程序中常用EOF表示当前读人字符是文件结束标记,常量名EOF在文件Stdio.h中被定义为-1。

2.字符输出函数

字符输出函数ptuchar()有一个字符的ASCII代码值参数,函数调用putchar (ch)的功能是将以出值为其ASCII代码的字符输出到标准输出设备(通常是终端显示屏)上。这里ch可以是char型或int型数据。

3.格式输入函数

格式输入函数scanf()的作用是从标准设备读人字符序列,按格式控制字符率所包含的格式解释输入字符序列,并将解释结果存储到对应的变量中。调用格式输入函数scanf()的一般形式为

scanf(格式控制字符串,变量地址,变量地址,……)

格式控制字符串是字符串表达式,通常是由一对双引号括起来的字符串常量,直接用于解释输入字符序列。格式控制字符率可以包含:

·空白类字符(空格符或制表符),它们使输入跳过空白类字符,直到遇到下一个非空白类字符。

·普通字符(不包括%),它们要求输入字符流中下一个字符与它相同。

·格式转换说明,以字符’%’开头至输入格式符结束的字符序列组成。格式转换说明引导对下一输入字符段进行转换。

格式转换说明的一般形式为

%[*][w][h/l/L]输入格式符

输入格式符共有14个,有12种不同输入格式,其中大纲要求掌握的7种输入格式符的意义见表3.1。用方括号括住的内容是输入格式修饰说明,可以缺省,它们的意义是:

(1)*--星号(赋值抑制符),对应的输入数据项按格式要求被输入,但结果不存储。带星号的格式转换说明不对应变量地址。用它来跳过一个输入数据项。

(2)--整型常数(域宽说明),表示输入数据项的字符段的有效字符数。若实际输入字符段的字符数小于W,以实际有效字符为准。

对于数值数据输入格式来说,输入域定义为从下一个非空白类字符起(因此可能跳过若干个空格符、制表符、换行符),到一个与数值数据相矛盾的字符,或直到输入了指定个数的字符数;对于字符率输入格式来说,输入域定义为从下一个非空白类字符起,输入非空白类字符,直至遇到空白类字符,或直到输入了指定个数的非空白字符。

(3)h/l/L长度修饰符,指明输入数据项的存储类型。

h 修饰格式符d,o,X时,表示输入的整数按短整型存储。

l 修饰格式符d,O,X时,表示输入的整数按长整型存储。

l 修饰格式符e,f时,表示输入的实数按double型存储。

缺省时,对于格式符d,o,x,表示输入的整数按int整型存储;对于格式符e,f,表示

输入的实数是按float型存储。

3.3 常用输入格式符表中格式符的意义

d 输入十进制形式的整型数据

O 以人进制形式输入整型数据

X 以十六进制形式输入整型数据

C 输入字符数据

S 输入字符串

e,f 输入实型数据

说明:

(1)格式控制字符率之后给出的是变量地址,而不是变量名(除非是指针)。如要为整型变量n输入数据,写成

scanf(”%d",n)是不正确的,应写成scanf(”%d”,&n)

(2)如果在格式控制字符串中除格式转换说明和空白符之外,还有其它字符,则在输入数据时应输入与这些字符相同的字符。例如,

scanf(”%d,%d’’,&i,&j)

则在为i,j输入数据时,紧接在第一个整型数据之后,需要有一个逗号字符,如输入1,2

是正确的;而输入

1 2

等其它形式都是不正确的。

(3)在用”%c ”格式转换说明输入字符时,空白类字符和用转义字符表示的字符都能作为有效字符输入。要输入一串空白类字符之后的第一个非空白类字符,可采用格式”%C”。格式字符率中的空格符使输入跳过空白类字符到第一个非空白类字符,然后被C格式输入。

(4)为整型变量输入整数时,若变量类型为短整型,则必须在格式符之前加长度修饰说明h;若变量类型为长整型,则必须在格式符之前加长度修饰说明1。

(5)输入数值数据时,输入字符流中的前导空白类字符会被自动跳过,从空白类字符后的数值数据字符开始输入。构成数值数据的字符被输入转换成计算机的内部表示,并存储结果。

若第一个非空白类字符不能构成数值字符,则立即结束输入。

(6)S格式用来输入字符串,对应的变量地址为字符列表(数组)的首地址,该数组必须大到足以容纳可能输入的最长字符串。在输入字符流中,跳过前导的空白类字符,以非空白类字符开始,以后随的第一个空白类字符结束的非空白类字符的字符序列作为一个字符串。scanf()函数在输入的字符序列之后自动添加字符率结束标记符'\0'(因此,存储输入字符序列的字符数组的长度必须比实际最长字符串的字符数多1)。

(7)e,f格式用未输入实数,对应的数据存储地址为实型数据存储地址。如格式转换说明中含有长度修饰说明1,则为double型变量地址;若无长度修饰说明,则为float型变量地址。输入数据的字符序列是由正负号(可有可无)、十进制数字串、带小数点的小数部分(可

有可无)。以e或E开头的指数部分(可有可无)组成。

(8)在跳过前导空白符后,正在输入数值数据和字符串时,遇以下情况,就认为该数据结束:

·遇空白类字符:空白符、制表符、换行符。

·已读人由有效字符数所指定的字符数。如”%4d多至4个数字符。

·对于输入数值数据,下一个字符不能构成正确的数据格式。如

scanf(”%d%C%f,&i,&c,&x)

假定变量i,c,x分别为int型、char型和float型。若输入字符列为:

123a123x.26

则变量i为123,变量c为字符a,变量x为123.0。

(9)输入数据时,将字符流转换成内部表示后,存储到对应变量中。例如,

scanf(”%3d%*4d%d”,&i,&j)

如输入字符行为

123456 78

将使变量i=123,j=78。其中数据456因赋值抑制符*的作用被跳过。一般从键盘读入数据,不指定输入数据项的有效字符数,数据项与数据项之间用空白符,或制表符,或回车符分隔。

4.格式输出函数

格式输出函数printf()的作用是将输出项接指定的格式排版输出到标准设备上(通常是终端显示屏)。调用printf()函数的一般形式为

printf(格式控制字符串,表达式,表达式,……)

其中格式控制字符率是字符串表达式,通常是由用一对双引号括起来的字符串常量。它包含三类字符:普通字符、转义字符和格式转换说明,它们的作用分别如下:(l)普通字符,要求按原样输出。

(2)转义字符,要求技转义字符的意义输出,如’\n’,表示输出时回车换行,’\b’表示退格等。

(3)格式转换说明,以字符%开头至格式符结束的字符列组成,其一般形式为

%[-」「+」「」[#」「W][.p][h/l/L]输出格式符

其中用方括号括住的内容是格式修饰说明,可以缺省(不出现),如"%d"、"%7.5f"等。每个格式转换说明对应一个输出项,输出项可以是常量、变量或表达式。格式转换说明的作用是将对应输出项的内容按格式符要求产生出字符列,并按格式修饰说明排版输出。

输出格式符共有16个,有12种不同的格式,考试大纲只要求掌握表3.2所列的九种。

3.4 常用输出格式符表中格式符的意义

d或i 整型数据以十进制形式输出

o 无符号整型数据以八进制形式输出

X 无符号整型数据以十六进制形式输出

U 元符号整型数据以十进制形式输出

C 字符的ASCll码数据,输出对应的字符

S 输出字符串

f 以“整数部分.小数部分”形式输出实型数据

e 以[-]n.nnnnne±xx输出实型数据

g 以f或e格式输出

说明:

(1)x格式符同。格式符一样,把符号位作为数的一部分输出。对于x格式,用字符a、b、c、d、e、f(或A、B、C、D、E、F)表示9之后的六个十六进制数字符。

(2)一个整数,只要它的位在0-255范围内,也可以用字符形式输出,输出以该整数为ASCII代码的字符。反之,一个字符数据也可以用整数形式输出,输出该字符的ASCII代码值。

(3)f、e和g格式符用于输出实型数据,格式转换时有四舍五人处理。对于f格式,小数点后的数字个数可由格式修饰说明p指定,若p为0,不显示小数点。用e格式输出时,对于非0实数,小数点前有一位非零数字,输出格式中的有效位数可由格式修饰说明p指定;字符e(或E)之后是指数,指数部分至少包含两个数字。若输出值的绝对值不小于1E+100,则指数部分多于两位数字。

g格式能根据表示数据所需字符的多少自动选择f格式或e(或E) 格式输出实数,选择是以输出时所需字符数多少为标准。

格式修饰说明有七种,教材只介绍其中四种,它们的意义分别说明如下:

(1)W域宽说明,W是一个十进制整数,表示输出字段的字符数。若转换后需要的字符个数比给出的W多,则以实际需要为准;若转换后需要的字符数比W少,就在左边用填充字符补足(若给出左边对齐标志(-),则在右边补填充字符人通常用空白符作填充字符,若十进制整数W之前有前导0(此0不表示以八进制数给出字段宽度),则以字符0作填充字符。

(2)- 左对齐标志,当转换后字符个数少于W时,在W所限定的字段宽度内,转换所得字符列左对齐,右边补填充符。缺省时,右对齐,左边补填充符。

(3).p,其中p也是十进制整数。

对于g或e格式输出,p指明输出精度(有效数字位数),可以缺省,缺省值依赖于系统的规定(下面的例子设p的缺省值为6)。

对于f格式输出,p指明输出字符列的小数点之后的数字个数,可以缺省。

对于S格式输出,p指明最多输出字符率的前p个字符,多余截断。缺省时,字符串的内容全部输出。

对于d.i、O、u、x和X,表示至少出现的数字个数。

同域宽说明一样,p也可以是字符*,而实际值由后面一个输出项的整数值给出,若该值为负值,相当于没有给出p。

(4)l指明输出项的类型。

长度修饰符l用于格式符d、i、o、u、X,表示对应的输出项是长整型或无符号长整型。

以下是格式输出的一些例子。例如,

int i=1234;long j=1234567L;

程序设计基础实验指导书

说明 每个实验做完以后,按照实验报告模板格式完成相应的实验报告,存储为word 文档,最终提交的实验文档数量种类和命名原则如下例:(不按要求 者拒收) 目录结构图目录实验 1 内的文件种类和命名原则实验报告成绩将作为平时成绩的一部分计算到期末总成绩中。 实验报告严禁相互抄袭,一经发现抄袭和被抄袭者本次实验按零分计算!

实验1 C 的实验环境和C 语言的数据类型 1. 实验目的 ⑴ 了解在具体的语言环境下如何编辑、编译、连接和运行一个C 程序。 ⑵ 通过运行简单的C 程序,初步了解C 源程序的特点。 ⑶ 掌握C 语言数据类型, 熟悉如何定义一个整型、字符型和实型的变量,以及对它 们赋值的方法。 ⑷ 掌握不同的类型数据之间赋值的规律。 ⑸ 学会使用C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加(+ +)和自减(--)运算符的使用。 2. 实验内容和步骤 检查所用的计算机系统是否已安装了C 编译系统并确定他所在的子目录。 进入所用的集成环境。 熟悉集成环境的界面和有关菜单的使用方法。 输入并运行一个简单的、正确的程序。 3. 实验题目 输入下面的程序 # include "stdio.h" void main() { printf( "This is a c program.\n" ); } 程序无误,其运行的结果为:(请填写) ⑵ 输入并编辑一个有错误的 C 程序。 # include “ stdio.h ” void main() { int a,b,sum a=123; b=456; sum=a+b print( “ suism%d n” ,sum); } 运行后程序出现几处错误,请分别指出,并逐一更改: ⑶ 若k,g 均为int 型变量, 则下列语句的输出为, : # include "stdio.h" void main() { int k, g; k=017; g=111;

程序设计基础实践课目标要求

程序设计基础 课程实践目标要求 一、课程实践目标 程序设计基础课程实践是督促和检验学生程序设计综合能力的教学环节,通过课程实践使学生综合使用所学过的C语言程序设计知识,掌握结构化程序设计的基本思路和方法,在所掌握的基本知识和技能的基础上,进一步提高自学能力和查找资料的能力,解决一定程度的复杂的结构化程序设计问题,加深对所学知识的理解与掌握,增强学生利用自己所学知识解决实际问题的能力,为以后的程序开发打下基础。 课程实践的目的和要求: 1、使学生巩固和加强《C语言程序设计》课程的理论知识。 2、使学生掌握C语言的基本概念、语法、语义和数据类型的使用特点。 3、使学生掌握C语言程序设计的方法及编程技巧,能正确使用C语言编写程序。 4、进一步理解和运用结构化程序设计的思想和方法;学会利用传统流程图或N-S图表示算法。 5、使学生掌握调试程序的基本方法及上机操作方法。 6、掌握书写程序设计开发文档的能力,使学生学会撰写课程实践总结报告。课程实践的思想和方法还可以作为学生做毕业论文时的参考资料。 7、通过查阅手册和文献资料,培养学生独立分析问题和解决问题的能力。为学生做毕业设计打好基础。 8、初步掌握开发一个小型实用系统的基本方法:结合实际应用的要求,使课程实践既覆盖知识点,又接近工程实际需要。通过激发学习兴趣,调动学生主动学习的积极性,并引导他们根据实际编程要求,训练自己实际分析问题的能力及编程能力,并养成良好的编程习惯。 9、培养学生的创新能力和创新思维。学生可以根据指导书和相关文献上的参考算法,自己设计出相应的应用程序。 10、培养学生良好的程序设计风格。在实际编程中,为了提高编程质量,对空行、空格和注释均有要求。学生在课程实践书写代码时,应该严格按要求处理,以便建立良好的程序设计风格。 二、课程实践内容 1.基本要求 ⑴课程实践题目选一,可以协商合作,但每名同学必须完成每个功能函数,甚至每条语句的作用。只有了解了整个程序设计思路,每个函数、设置每条语句的作用,才达到开“计算机与程序设计语言”这门课的目的。

最新《公共基础知识》重点归纳

法理 ●法的概念:特定物质生活条件决定的统治阶级意志的体现,由国家制定认可,由国家强制力保证实施的行为规范的综合 ●法的特征:1、调整人的行为或社会关系2、国家制定或认可、并具有普遍约束力3、以国家强制力保护实施4、规定权利和义务 ●法的本质:统治阶级意志的表现 ●法的规范作用:指引、评价、预测、教育和强制 法的作用 ●法的社会作用:维护统治阶级的阶级统治;执行社会公共事务。 ●法与经济基础的关系:经济基础决定法,法又反作用于经济基础。 ●法与生产力的关系:生产力发展的水平直接影响法的发展水平。法律离开社会生产力的发展,既无存在的可能,也无存在的必要。 ●法对市场经济宏观调控的作用:引导;促进;保障;制约。 ●法对微观经济的作用:确认经济活动主体的法律地位,调节经济活动中的各种关系,解决经济活动中哦的各种纠纷,维持正常的经济秩序 ●法与政治的关系:法受政治制约(政治关系发展、整体改革、政治活动的内容),法服务于政治(调节阶级间、阶级内关系,维护社会关系、社会秩序;打击制裁违法犯罪,调整公共事务关系,维护公共秩序) ●法与党的政策的关系: 相同点(内容实质方面联系):阶级本质、指导思想、基本原则、经济基础、社会目标等 区别:意志属性、规范形式、调整范围(不尽同)、实施方式、稳定性程序化程度 ●法与党的政策相互作用: 一、法的制定:1、政策是立法的依据和指导思想 2、发将政策转为形式合理效力普遍的行为规范 二.发的实施:1、政策变法,使正统,又反之约束政治活动 2、法的实施借助政策作用 ●社会主义民主与法制是相互依存、相互作用、紧密联系、不可分割的。 ●民主是法制的前提和基础,因为:民主是法制产生的依据、力量源泉,决定了法制的性质和内容 ●法的渊源的专有含义:法律规范的形式上的来源和其外在表现形式 ●法律效力等级为:宪法-法律-行政法规-地方性法规-规章(部门和地方政府)。 ●宪法:根本大法,最高法律效力 ●法律:由全国人大或其常务委员会制定、颁布;全国范围内生效;规范性法律文件 ●行政法规:国务院为领导和管理国家各项行政事务根据为宪法、法律 国务院发布的决定、命令,凡具有规范性的也属于发的渊源 ●地方性法规:地方人大及常委会制定(省、自治区、直辖市、省政府所在市、国批的较大市),适用本地方。 ●规章:1、部门规章:指由国务院各部委+中银+审计署+具有行政管理职能的直属机构;依据为:宪法、法律、国务院的行政法规、决定、命令 2、地方规章:政府制定(省、自治区、直辖市、省自治区政府所在市、经济特区所在市、国的较大市)依据:宪法、法律、行政法规 ●自治条例和单行条例:民族自治地方人大制定,区域内生效 ●特别行政区法:在特别行政区内实行的制度由全国人大以法律规定。 ●国际条约:与民法规定不同的,适用国际条约,但声明保留的条款除外。 ●规定是规范性文件,不属于法律范畴,效力低于法律。 ●广义的法律包括法律、行政法规、地方性法规和规章。 ●法律关系三要素(法律规范在调整人们行为过程中形成的权利义务关系):主体(法律关系的参加者)、客体(权利义务指向的对象:物、精神产品、人身、行为)、内容(权利义务) ●权利能力:能够才加一定的法律关系,依法享有权利承担义务的主体能力; 行为能力:法律关系的主体能够通过自己的行为实际取得权利和承担义务的能力 行为能力必须以权利能力为前提,无权利能力就无法谈行为能力。 ●法人的权利能力:生于成立,终于解体 公民的权利能力:始于出生,终于死亡 ●自然人有权利能力,未必有行为能力,根据年龄和精神状况,分为:完全、限制、无行为能力人

教育基础知识必考知识点

2018 年教育基础知识必考知识点 1.在我国,最早把“教”和“育”连在一起使用的人是孟子。 2.世界教育改革趋势:教育终身化、教育全民化、教育民主化、教育多元化和教 育技术现代化。 3.英国哲学家和自然科学家培根对教育学的独立做出了重要贡献,于 1623 年首 次提出;夸美纽斯是使教育学走上独立发展道路的第一人。1632 年出版的《大 教学论》被看作教育学走上独立发展道路的标志。 4.苏联教育家赞可夫《教学与发展》中以一般发展为出发点,提出了“高难度教学”、“高速度教学”、“理论知识起知道作用”、“理解学习过程”和“使所 有学生包括差生都得到发展”的五大教学原则。 5.学校文化是一所学校在长期的教育实践过程中积淀演化和创造出来的,并为其 成员所认同和遵循的价值挂念体系、行为规范准则和物化环境风貌的一种整合的 结晶。 6.瑞士心理学家皮亚杰认为个体认知发展的一般规律感知运算水平、前运算水平、具体运算水平、形式运算水平。美国心理学家柯尔伯格认为人的道德认知遵循前 世俗水平、世俗水平、后世俗水平。 7.人力资本论是由美国经济学家舒尔茨提出的。1960 年 12 月,他在美国经济 学第 78 届年会所作的《人力资本投资》的讲演,被称为人力资本理论创立的 “宪章”。人力资本理论的核心是“人力资本”。 8.《孟子·尽心上》“得天下英才而教育之,三乐也。”东汉许慎 《说文解字》“教,上所施,下所效也”;“育,养子使作善也”。 9.骑士教育是一种融宗教精神和尚武精神于一体的特殊的家庭教育形式;宫廷学 校是设在宫廷之内专门为王族子弟提供教育的学校。 10.卢梭和裴思泰洛齐等人继承并发展了夸美纽斯的自然教育思想。卢梭是法国 启蒙主义思想家和教育家,他在《爱弥儿》中提出了自然与自由教育的思想。他 人为人的本性是善良的,人最可贵的是自由 11.苏联教育家苏霍姆林斯基《给教师的建议》《把整个心灵献给孩子》《帕夫 雷什中学》中系统论述了他的全面和谐教育思想。被称为“活的教育学”。 12.物质文化是学校文化的空间物态形式,是学校精神文化的物质载体。学校物 质文化有两种表达方式:A.学校环境文化;B.设施文化。 13.遗传决定论的代表人物:英国的高尔登和美国的霍尔。 14.教育目的两种对立的观点:一是个体本位论,其代表人物有中国的孟子,西 方有卢梭和裴思泰洛齐;二是社会本位论,其代表人物有中国的荀子,西方有柏 拉图和康德。 15.广义的教育包括家庭教育、社会教育、学校教育。 16.明代以后,八股文被规定为考科举的固模式。 17.西欧中世纪主要学校类型教会学校,分为僧院学校、大主教学校、教区学校。 18.教育多元化表现为:培养目标多元化、办学形式多元化、管理模式多元化、 教学内容多元化、评价标准多元化等。 19.英国哲学家洛克提出了“白板说”,“人类之所以千差万别,便是由于教育 之故”。主张:①取消封建等级教育,人人都可以接受教育。②认为绅士教育使 最重要的,甚至反对资产阶级的子弟同劳动人民的子弟共同在学校礼接受教育, 主张绅士教育应该在家庭中实施。洛克的思想反映在他的代表作《教育漫话》当中。 20.美国教育家布鲁姆认为,教学应该以掌握学习为指导思想,以教育目标 为导向,以教育评价为调控手段,形成了完整的掌握学习理论体系。 21.规范文化,也叫制度文化,是一种确立组织机构,明确成员角色与职责,规 范成员行为的文化,主要有三种表达方式:一是保证学校正常运行的组织形态;

程序设计基础实验内容

实验指导 实验一 Visual C++开发环境使用 1.实验目的 (1)熟悉Visual C++集成开发环境。 (2)掌握C语言程序的书写格式和C语言程序的结构。 (3)掌握C语言上机步骤,了解C程序的运行方法。 (4)能够熟练地掌握C语言程序的调试方法和步骤 2. 实验内容 输入如下程序,实现两个数的乘积。 #include ; int main() { x=10,y=20 p=prodct(x,t) printf("The product is : ",p) int prodct(int a ,int b ) int c c=a*b return c } (1)在编辑状态下照原样键入上述程序。 (2)编译并运行上述程序,记下所给出的出错信息。 (3)再编译执行纠错后的程序。如还有错误,再编辑改正,直到不出现语法错误为止。3.分析与讨论 (1)记下在调试过程中所发现的错误、系统给出的出错信息和对策。分析讨论成功或失败的原因。 (2)总结C程序的结构和书写规则。 实验二数据类型、运算符和表达式 1.实验目的 (1)理解常用运行符的功能、优先级和结合性。 (2)熟练掌握算术表达式的求值规则。 (3)熟练使用赋值表达式。 (4)理解自加、自减运算符和逗号运算符 (5)掌握关系表达式和逻辑表达式的求值 2.实验内容 (1)整数相除 #include<> int main() {

int a=5,b=7,c=100,d,e,f; d=a/b*c; e=a*c/b; f=c/b*a; printf("d=%d , e=%d ,f=%d\n",d,e,f); return 0; } (2)自加、自减运算 #include<> int main() { int a=5,b=8; printf("a++=%d\n",a++); printf("a=%d\n",a); printf("++b=%d\n",++b); printf("b=%d\n",b); return 0; } (3)关系运算和逻辑运算 #include<> int main() { int a=5,b=8,c=8; printf("%d,%d,%d,%d\n",a==b&&a==c,a!=b&&a!=c,a>=b&&a>=c,a<=b&&a<=c); printf("%d,%d\n",a<=b||a>=c,a==b||b==c); printf("%d,%d,%d,%d\n",!(a==b),!(a>=b),!(a>=c),!(a<=b)); return 0; } (1)在编辑状态下输入上述程序。 (2)编译并运行上述程序。 3.分析与讨论 (1)整数相除有什么危险?应如何避免这种危险? (2)分析a++和++a的区别。 (3)条件表达式和逻辑表达式的意义是什么,它们取值如何? (4)如何比较两个浮点数相等?为什么? 实验三格式化输入输出函数的使用 1.实验目的 (1)掌握格式字符使用的方法。 (2)掌握printf()进行格式化输出的方法。 (3)掌握scanf()进行格式化输入的方法。 2.实验内容 (1)输入如下程序,观察运行结果 #include<>

Java编程基础知识点汇总及习题集答案

J a v a编程基础知识点汇总及习题集答案 集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-

目录 第一章 Java入门 (2) 第二章 Java基础 (5) 第三章条件转移 (14) 第四章循环语句 (20) 第五章方法 (26) 第六章数组 (33) 第七章面向对象 (42) 第八章异常 (63) 第一章 Java入门 知识点汇总 1、JAVA 三大体系 Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个平台中最核心的部分,包含Java 最核心的类库。 JavaEE:(J2EE,Java 2 Platform, Enterprise Edition,企业版),开发、装配、部署企业级应用,包含Servlet、JSP、JavaBean、JDBC、EJB、Web Service等。 Java ME:(J2ME,Java 2

Platform Micro Edition,微型版),用于小型电子设备上的软件开发。 2、JDK,JRE,JVM的作用及关系作用 ★JVM:保证Java语言跨平台 ★JRE:Java程序的运行环境 ★JDK:Java程序的开发环境 关系 ★JDK:JRE+工具 ★JRE:JVM+类库 3、JDK环境变量配置 path环境变量:存放可执行文件的存放路径,路径之间 用逗号隔开 classpath环境变量:类的运行路径,JVM在运行时通过classpath加载需要的类 4、重点掌握两个程序 :Java编译器工具,可以将编写好的Java文件(.java)编译成Java字节码文件(.class); :Java运行工具,启动Java虚拟机进程,运行编译器生成的字节码文件(.class) 5、一切程序运行的入口public static void main (String args []){ World!”); } 课堂笔记

程序设计基础(C语言)复习题

山东理工大学成人高等教育程序设计基础(C语言)复习题 一、填空题 1、一个C程序总是从函数开始执行,并在其中结束。 2、C语言的函数由和两部分组成。 3、在C语言中,字符串“ABDEF”的长度是。 4、C语言的一个源程序有且只有一个函数,C函数由 、两部分组成。 5、C语言的数据类型转换有两种,它们是自动转换和。 6、C语言变量名中的字符有之分。 7、求a、b较大值的条件表达式是。 8、表达式5+6<8 的值是。 9、已知整型变量i的值是24,则表达式i%5的值是 10、C语言数组下标的最小值是。 11.C语言的标识符只能由字母、数字和组成。 12.有符号整数在内存中是以二进制码形式存储的。 13.若有int n=3.96;则n的结果为。 二、判断题 1.一个C语言程序总是从main()函数开始执行的。( ) 2.C语言中不区分字母的大小写。( ) 3.'a'和'\n'都是字符型常量。( ) 4.5%3的结果是2。( ) 5.在C语言中表示逻辑运算结果时,以1表示真,以0表示假。( ) 三、阅读理解程序,写出输出结果 1、设有以下程序: main( )

{ int i, a[10]; for (i=0;i<10;i++) a[i]=i ; printf(“%d %d %d”,a[1],a[2],a[3]); } 输出结果: 2、设有以下程序: main( ) { int i=1,sum=0; while (i<=5) { sum=sum+i; i++;} printf(“i=%d, sum=%d” ,i,sum); } 输出结果: 3、设有以下程序: main( ) { int a,b,k=4,m=6,*p1=&k,*p2=&m; a=p1==&m; b=(*p1)/(*p2)+7; printf(“a=%d,b=%d”,a,b); } 输出结果: 4、设有以下程序: main() { int x,y,m,n; m =10; n=13; x=--m; y=n--; printf(“%4d%4d%4d%4d”,m,n,x,y); } 输出结果: 5、main() 运行结果为: {int f[6]={1,2,3,4,5,6},i; for(i=5;i>=0;i--) printf("%d\n",f[i]); } 6、main() 运行结果为: {int a=6,b=3,t; t=a;a=b;b=t; printf("%d,%d\n",a,b);

公共基础知识考试题型

公共基础知识考试题型 公共基础知识考试题型 (1)法律 ①考查的知识点:主要涉及法学基础理论、宪法、行政法、刑法、民法、经济法。具体来说,考查法的概念、作用、法律渊源,宪法的重要法条,行政行为的基本知识,行政复议的行政诉讼的开展,民法中的自然人、法人、合同等,刑法中几个涉及公务员犯罪的犯罪构成及刑罚等,经济法中的产品质量、损害赔偿责任等。 ②基本题型:该部分知识的命题形式有单选、多选、判断、案例分析,题型变化不大,主要考查考生对应该掌握的知识点的精准识记,以及对相关知识点的理解、把握和运用。 (2)政治 ①考查的知识点:哲学方面,主要涉及哲学的基本问题,唯物主义与唯心主义,辩证法与形而上学,感性认识与理性认识,主要矛盾和矛盾的主要方面,质与量辩证法。邓小平理论和“三个代表”:当代中国的马克思主义、社会主义的本质和根本任务、社会主义初级阶段的基本经济制度和分配制度、社会主义市场经济、我国的对外开放和外交战略、社会主义民主政治和党的领导,“三个代表”重要思想、科学发展观、和谐社会等。政治经济学:商品的价值量、价值形式与货币、价值规律、剩余价值、需求供

给与均衡收入再分配政策等。②基本题型:该部分内容的命题形式有单选、多选、判断、简答、论述、综合分析。既考核考生对相关知识点的识记,也考核考生对相关知识点的理解。 (3)行政管理 ①考查的知识点:政府职能、政府机构改革、国家公务员制度、管理学的基本原理、公共行政、行政管理过程、行政领导等。 ②基本题型:该部分知识的命题形式有单选、多选、判断、案例分析、综合分析。主要考查考生对应该掌握的知识点的准确记忆,以及对相关知识点的理解和运用。 (4)人文和科技 ①考查的知识点:主要涉及历史常识、科技常识、日常生活百科,知识点分布太散,很难把握。 ②基本题型:该部分知识的命题形式主要是单选,偶尔会出现多选和判断。题型变化不大,主要考核考生的知识面。 (5)公文写作与处理 ①考查的知识点:公文的特点、种类,常用公文的格式,常用公文写作、公文的处理。②基本题型:该部分知识的命题形式多种多样,主要有单选、多选、判断、公文改错(纠错)、公文实务、作文题。既考查考生对相关基本知识的准确识记,也考查考生对相关知识的理解、把握和应用。

记叙文基础知识(知识点全包括).

记叙文基础知识(知识点全包括) 记叙文含义: 以记叙、描写为主要表达方式,以写人记事,写景状物为主要内容的一种文体。初中课本中的小说、散文、童话、寓言、新闻、通讯、报告文学、游记、传记、回忆录等,都属于记叙文的范畴。 一、记叙文的范围 从一个大范围看:记叙文有一般记叙文和特殊记叙文之分。其中一般记叙文就是简单的写人记事的文章,而抒情意味浓郁的散文和有着虚构情节的小说就属于特殊记叙文的范畴。我们在阅读的过程中,要首先注意弄清文章的体裁,然后根据不同的特点认真答题。 表达方式:(5种)叙述、描写、议论、抒情、说明(叙写论说情) 狭义的记叙文,包括记叙性的文学作品。 广义的记叙文是指以记人、叙事、写景、状物为主,对社会生活中的人、事、景、物的情态变化和发展进行叙述和描写的一类文章,常见的如消息、通讯、特写、报告文学、游记、日记、参观记、回忆录,以及一部分书信等。 正因为记叙文写的是生活中的见闻,所以一定要表达出作者对于生活的真切感受。 二、考纲有如下具体要求 关于记叙文阅读考纲有如下具体要求:(记叙文、新闻、通讯) 1.能指出记叙的要素(时间、地点、人物、事情的起因、经过、结果)。理解记叙文所记叙的事件、人物、景物及其所表现的思想意义。 2.理解记叙文的人称(第一人称、第三人称),记叙的顺序(顺叙、倒叙、插叙)的特点和作用。 3.能归纳记叙文的中心思想,理解记叙文的中心和材料的关系、理解记叙的详略得当。 4.理解和分析记叙中叙述、描写、议论、抒情、说明等多种表达方式综合运用的特点和作用。 5.理解和分析记叙文中常用的表现手法(象征、对照、衬托等)和修辞手法(比喻、拟人、排比等),理解记叙性语言准确、生动的特点。 三、各种表达方式综合运用 叙述:把人物的经历和事物的发展变化过程表达出来的一种表达方式。它是写作中最基本、最常见、也是最主要的表达方式。是作者对人物的经历和事件的发展变化过程以及场景、空间的转换所作的叙说和交代。 例如:1.桌子上放着一本书。

C语言程序设计基础实验报告3【VIP专享】

实验3 逻辑结构程序设计一、实验目的 1、了解C 语言表示逻辑量的方法(以0代表“假”,以非0代表“真” )。 2、学会正确使用逻辑运算符和逻辑表达式。 3、熟练掌握if 语句和switch 语句。 4、结合程序掌握一些简单的算法。 5、学习调试程序。 二、实验内容和步骤 本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。 1、改错题。给定程序MODI1.C 的功能是:对于如下函数: 用scanf 函数输入x 的值,求y 值。/* MODI1.C */#include void main() { int x, y; /***********found***********/ scanf ("%d", &x);if ( x < 1 )y = x; /***********found***********/else if ( 1 <=x&& x < 10 ) y = 2*x -1 ; else y = 3*x -11; printf("y = %d\n", y ); } 程序中有两处错误,错误都在提示行: /***********found***********/的下面一行。请改正程序中的错误, 使它能得出正确的结果。注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构! 修改程序后,运行程序,输入x 的值(分别为x<1、1≤x<10、x ≥10三种情况,如0.5、8、15),检查输 出的y 值是否正确。 ?? ? ??≥-<≤-<=)10(113) 101(12)1(x x x x x x y

2、从键盘输入某学生的考试成绩,要求输出成绩等级A 、B 、C 、D 、E 。学生的成绩可分成5个等级,90- 100分为A 级,80-89分为B 级,70-79分为C 级,60-69分为D 级,0-59分为E 级。要求在输入负数时, 给出错误提示。 ① 事先编好程序,要求分别用if 语句和switch 语句实现。运行程序,并检查结果是否正确。 ② 再运行一次程序,输入分数为负值(如-70),这显然是输入时出错,不应给出等级。修改程序,使之 能正确处理任何数据。当输入数据大于100或小于0时,通知用户“输入数据错”,程序结束。 3、给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位 数字,例如:原数据为321,应输出123。(BX4.6) 分别用1位正整数、2位正整数、3位正整数、4位正整数、5位正整数作为测试数据进行测试。 除此之外,程序还应当对不合法的输入作必要的处理。例如:当输入负数时或输入的数超过5位(如123 456)数时。4、输入3 个整数,要求按由小到大的顺序输出。

程序设计基础知识点)

第三部分程序设计基础 3.1 程序、程序设计、程序设计语言的定义 ⑴程序:计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。 ⑵程序设计:程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。 ⑶程序设计语言:程序设计语言用于书写计算机程序的语言。语言的基础是一组记号和一组规则。根据规则由记号构成的记号串的总体就是语言。在程序设计语言中,这些记号串就是程序。程序设计语言有3个方面的因素,即语法、语义和语用。 3.2 高级语言和低级语言的概念及区别 ⑴高级语言:高级语言(High-level programming language)是高度封装了的编程语言,与低级语言相对。

它是以人类的日常语言为基础的一种编程语言,使用一般人易于接受的文字来表示(例如汉字、不规则英文或其他外语),从而使程序编写员编写更容易,亦有较高的可读性,以方便对电脑认知较浅的人亦可以大概明白其内容。 ⑵低级语言:低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,和具体机器的指令系统密切相关。机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。 ⑶区别: 高级语言:实现效率高,执行效率低,对硬件的可控性弱,目标代码大,可维护性好,可移植性好低级语言:实现效率低,执行效率高,对硬件的可控性强,目标代码小,可维护性差,可移植性差 了解知识:CPU运行的是二进制指令,所有的语言编写的程序最终都要翻译成二进制代码。越低级的语言,形式上越接近机器指令,汇编语言就是与机器指令一一对应的。而越高级的语言,一条语句对应的指令数越多,其中原因就是高级语言对底层操作进行了抽象和封装,

2016-2017(1)C++程序设计基础

诚信应考,考试作弊将带来严重后果! 华南理工大学本科生期末考试 《C++程序设计基础》 A卷 注意事项:1. 开考前请将密封线内各项信息填写清楚; 2. 所有答案请直接答在答题纸上,否则无效; 3. 试卷和答题纸同时提交; 4.考试形式:闭卷; 5. 本试卷共四大题,满分100分,考试时间120分钟。 一、单项选择题,请将正确的选项涂写在答题纸相应位置上。(共20小题,每小题 1分,共20分) 1.下列符号在计算当中不是分隔符的是( )。 A. ; B. [] C. () D. {} 2.int a = 4;对下面四个表达式的值说法正确的是()。 (1) a += (a++); (2) a += (++a); (3) (a++) += a; (4) (++a) += (a++); A.9、10、10、11 B.(3)式错误 C.(4)式错误 D.(3)(4)都错误 3.下列程序段执行后的输出结果是()。 int i=3; i=(++i)+(++i)+(++i);cout<=1; i--) cout << i < 0); D. i=0; while(i <= 10); cout << ++i <

程序设计基础C实验报告版

《程序设计基础C》 实 验 报 告 教学班级:113100501 学号:11310050142 姓名:江式鑫课程教师:张建勋实验辅导教师:张建勋 重庆理工大学计算机学院 2014年2月

实验5 循环程序设计 教学班级:_______ 学号:__________ 姓名:___________ 实验日期:___________ 实验地点:_________(机房) 实验成绩:___________ 一、实验目的 (1) 了解C语言循环结构的使用范围。 (2) 学会正确使用逻辑运算符和逻辑表达式。 (3) 熟练掌握C语言的三种循环结构:whilc语句、do……whilc语句、for语句的特点和使用方法。 (4) 能够编写一些有实际应用意义的循环结构程序。 二、实验内容 1.基本内容 题目1:计算1-3+5-7+......-99+101的值。(提示:注意符号的变化)#include void main() { int i,t=1,s=0; /* t标识正负符号*/ for (i=1;i<101; i+=2) /*error*/ { s+=i*t; t= -t; } printf("s=%d\n",s); } ①请改错,并运行程序。 ②分别用do……while语句和while语句改写以上程序。 题目2:分析程序,运行时输入:24579(注:表示回车换行)。 #include

void main() { int c; while((c=getchar())!='\n') { switch(c-'2') { case 0: case 1: putchar(c+4); case 2: putchar(c+4);break; case 3: putchar(c+3); case 4: putchar(c+2);break; default:putchar(c); } } printf("\n"); } 题目3:下面程序的功能是打印100以内个位数为3且能被3整除的所有数,选择合适的语句填入该空格中。 #include void main() { int i,j; for(i=0;__________________ ;i++) { j=i*10+3; if(__________________) continue; printf("%4d",j); } } 题目4:编程输出:用0~4任意组成无重复数字的三位数?都是多少?每行输出10个数。 #include

公共基础知识大总结

201.毛泽东的《星星之火可以燎原》一文,标志着农村包围城市革命理论的形成 毛泽东——《目前形势和我们的任务》,明确提出了新民主主义的三大纲领 毛泽东在《目前形势和我们的任务》中指出土地改革必须注意的两个基本原则: ①必须满足雇农和贫农的要求 ②必须坚决的团结中农,不损害中农的利益 毛泽东——《将革命进行到底》,提出了人民民主专政 毛泽东1946年6月30日——《论人民民主专政》,标志着人民民主专政理论的最终形成 毛泽东1955年《中国农村的社会主义高潮》——提出了“政治工作是一切经济工作的生命线” 毛泽东1930年5月《反对本本主义》——“中国革命的胜利要靠中国同志了解中国情况”毛泽东1925《中国社会各阶级的分析》——中国过去一切革命斗争成效甚少的主要原因是:没有找到团结真正的朋友以攻击真正的敌人 八七会议——提出了“枪杆子里出政权” 《井冈山的斗争》1928.11 农村包围城市,武装夺取政权的重要文献之一 《星星之火,可以燎原》1930.1 初步形成了农村包围城市,夺取全国胜利的革命道路理论 《反对本本主义》1930.5 “没有调查,就没有发言权”,提出从实际出发的思想,首次明确反对教条主义 《中国革命和中国共产党》1939.12 首次提出了“新民主主义革命”的科学概念 系统地阐明了中国革命的历史进程必须分为民主主义革命和社会主义革命两部分 《新民主主义论》1940.1.9 指出中国革命的历史进程,必须分两步,第一步是民主主义革命,第二步是社会主义革命,这是性质不同的两个革命过程 《<共产党人>发刊词》1939.10 提出三大法宝的理论体系:统一战线、武装斗争、党的建设。提出建立一个思想上、政治上、组织上完全巩固的政党,是一项“伟大的工程”。第一次明确提出“马克思主义的理论和中国革命实践相结合”这个根本思想原则。 《论十大关系》1956.4.25 主要阐述了正确解决我国经济建设方面存在的某些矛盾的基本原理,强调要处理好矛盾的各个方面以调动各种积极因素。 《关于正确处理人民内部矛盾》1957.6.19 第一次系统阐述了社会主义社会基本矛盾的学说,提出了正确区分和处理两类不同性质矛盾的学说。 《关于领导方法的若干问题》1943.6 第一次从哲学高度对群众路线做了理论概括。“在我党的一切工作中,凡属正确的领导,必须是从群众中来,到群众中去。” 《论联合政府》1945.4 毛泽东在中共七大上的讲话。提出党的三大作风(理论联系实践,密切联系群众,批评与自我批评); 《论人民民主专政》1949年6月30 为纪念中国共产党成立二十八周年而写的一篇论文。论述了即将成立的中华人民共和国的国家性质,各阶级在国家中的地位及其相互关系,国家对内、对外政策等。 《将革命进行到底》1948.12.30 第一次使用“人民民主专政”的概念。 《反对党八股》1942.2 延安整风的文献 八七会议1927.8.7 属于毛泽东思想形成的雏形阶段。 在“八七”会议上,毛泽东就统一战线、农村问题、军事和组织问题作了多次发言,针对大革命失败后的实际情况提出了带有根本性的意见,为制定党的路线方针和政策起了重要作用。毛泽东思想作为中国化的马克思主义,对中国革命和中国共产党的指导性作用是在八七会议上第一次比较完整地体现的 首次提出马克思主义中国化的问题。提出了“枪杆子里面出政权”的著名论断

程序设计基础实验内容

实验指导 实验一 Visual C++6.0开发环境使用 1.实验目的 (1)熟悉Visual C++6.0集成开发环境。 (2)掌握C语言程序的书写格式和C语言程序的结构。 (3)掌握C语言上机步骤,了解C程序的运行方法。 (4)能够熟练地掌握C语言程序的调试方法和步骤 2. 实验内容 输入如下程序,实现两个数的乘积。 #include (stdio.h); int main() { x=10,y=20 p=prodct(x,t) printf("The product is : ",p) int prodct(int a ,int b ) int c c=a*b return c } (1)在编辑状态下照原样键入上述程序。 (2)编译并运行上述程序,记下所给出的出错信息。 (3)再编译执行纠错后的程序。如还有错误,再编辑改正,直到不出现语法错误为止。3.分析与讨论 (1)记下在调试过程中所发现的错误、系统给出的出错信息和对策。分析讨论成功或失败的原因。 (2)总结C程序的结构和书写规则。 实验二数据类型、运算符和表达式 1.实验目的 (1)理解常用运行符的功能、优先级和结合性。 (2)熟练掌握算术表达式的求值规则。 (3)熟练使用赋值表达式。 (4)理解自加、自减运算符和逗号运算符 (5)掌握关系表达式和逻辑表达式的求值 2.实验内容

(1)整数相除 #include int main() { int a=5,b=7,c=100,d,e,f; d=a/b*c; e=a*c/b; f=c/b*a; printf("d=%d , e=%d ,f=%d\n",d,e,f); return 0; } (2)自加、自减运算 #include int main() { int a=5,b=8; printf("a++=%d\n",a++); printf("a=%d\n",a); printf("++b=%d\n",++b); printf("b=%d\n",b); return 0; } (3)关系运算和逻辑运算 #include int main() { int a=5,b=8,c=8; printf("%d,%d,%d,%d\n",a==b&&a==c,a!=b&&a!=c,a>=b&&a>=c,a<=b&& a<=c); printf("%d,%d\n",a<=b||a>=c,a==b||b==c); printf("%d,%d,%d,%d\n",!(a==b),!(a>=b),!(a>=c),!(a<=b)); return 0; } (1)在编辑状态下输入上述程序。 (2)编译并运行上述程序。 3.分析与讨论 (1)整数相除有什么危险?应如何避免这种危险? (2)分析a++和++a的区别。 (3)条件表达式和逻辑表达式的意义是什么,它们取值如何? (4)如何比较两个浮点数相等?为什么? 实验三格式化输入输出函数的使用 1.实验目的

计算机程序设计基础实验12个实验

《计算机程序设计基础》实验教学 大纲 课程编号:1303072 实验学时:24课程学分:3.5 课程类型:必修教学对象:全校各非计算机专业先修课程: ㈠实验目的与要求  本实验课程面向文法学院学生,通过本课程的学习与实验,使学生了解程序设计的一些基本概念,掌握计算机程序设计的一般方法,具备使用计算机解决实际问题的初步能力。 在实验教学中提倡“实验前要准备,实验中要认真,实验后要总结”;突出上机实践操作环节,强调在教师指导下的以学生为中心完成每次上机的具体内容和要求;对于普遍问题采用领练、辅导有机

结合的方法;尽量采用 CAI 辅助教学软件。 通过实验教学使学生能够建立计算机程序设计的基本概念;在简单的程序设计过程中掌握Visual Basic可视化设计的步骤,逐步搞清什么是对象、对象的属性以及事件和方法等重要概念。在此基础上,掌握程序设计的3种基本结构。 ㈡实验考核方式与成绩评定方法考核方式: 1.考核学生每次实验完成情况; 2.考核学生的计算机基本操作能力; 3.上机考试 成绩评定:学生应按照每次实验的要求,完成指定的实验任务,并按要求提交实验报告和实验文件,成绩评定由实验指导教师根据学生实验完成情况按照优秀、良好、中等、合格、不合格五个等级给出,实验成绩占20%计入学生课程成绩。  本学期需上交实验报告为三次,实验报告实验要求用本校实验报告册书写。要求填写学号、班级、姓名、实验指导老师、实验日期,报告内容包括实验名称、实验目的、实验内容、详细操作步骤及结果,最好写出自己的上机体会和总结。

㈢ 实验项目设置 根据教学内容和实验教学目的,共设4个实验项目: 项目一,认识Visual Basic,包括2个实验; 项目二,程序设计基础,,包括6个实验; 项目三,常用控件及界面设计,包括2个实验;项目四,文件管理,包括1个实验; 总的实验数为12个实验。 实验项目名称实验内容与学时分配总学时 数 认识Visual Basic 1.Visual Basic 程序设计环 境 2.窗体和最基 本控件 4 程序设计基础1.数据类型及函数 2.顺序程序设计 3.分支结构程序设计4.循环结构程序设计5.数组 6.过程 12 常用控件及界面设计1.常用标准控件 2.界面设计 4 文件管理1.文件管理2

(完整版)《C语言程序设计》基本知识点

《C语言程序设计》教学基本知识点 第一章C语言基本知识 1.C源程序的框架 尽管各个C源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。 2.C语言源程序的书写规则: (1)C源程序是由一个主函数和若干个其它函数组成的。 (2)函数名后必须有小括号,函数体放在大括号内。 (3)C程序必须用小写字母书写。 (4)每句的末尾加分号。 (5)可以一行多句。 (6)可以一句多行。 (7)可以在程序的任何位置加注释。 3.语句种类 语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C语言的基本语句可以分为五大类。 (1)流程控制语句 流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。其中后两种结构要用特定的流程控制语句实现。 (2)表达式语句 表达式语句的形式是:表达式;,即表达式后跟一分号“;”,分号是语句结束符,是一个语句必不可少的成分。表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。最常见的表达式语句是赋值语句。 (3)函数调用语句 函数调用语句实际上也是一种表达式语句,形式为:在一次函数调用的小括号后面加上一个分号。 (4)空语句 空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义转折点使用。 (5)复合语句 复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。注意复合语句中最后一个语句末尾的分号不能少。复合语句右大括号后面没有分号。 4.运算符 用来表示数据各种操作的符号称为运算符。运算符实际上代表了一种类型数据的运算规则。不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。 根据参加操作的数据个数多少,可以将C语言的运算符分为单目运算符,双目运算符和三目运算符(三目运算符只有条件运算符一个)。 根据运算对象和运算结果的数据类型可分为算术运算符、关系运算符、逻辑运算符等。 5.表达式 表达式是由常量、变量、函数,通过运算符连接起来而形成的一个算式。一个常量,一个变量或一个函数都可以看成是一个表达式。 表达式的种类有: 算术表达式、关系表达式、逻辑表达式、赋值表达式、字位表达式、强制类型转换表达式、逗号

相关文档
相关文档 最新文档