第二部分二级C 语言程序设计
“/*”和“*/”必须成对出现,“/”和“*”两者之间不可以有空格;②注释可以用英文、中文,可以出
章程序设计基本概念
现在程序中任意合适的地方;③在注释之间不可以
考点1 程序设计
再嵌套“/*”和“*/”。例如,/*/*?*/*/形式是非法
1.C 程序
的;④注释从“/*”开始到最近的一个“*/”结束,其
高级语言编写的程序称为“源程序”,由二进
间的任何内容都被编译程序忽略。
制代码表示的程序称为“目标程序”,而“编译程序”3.源程序的书写格式
是指可以把源程序转换成目标程序的软件。由
C 程序书写格式的基本习惯有:① 一行内....C 语言构成的指令序列称为C 源程序,源程序文件
可以写几个语句,一个语句可以分写在多行上;
的后缀名为“.c”。源程序经过C编译程序编译生成
② 每个语句和数据定义的最后必须由一个分
后缀为“.obj”的二进制文件(称为目标文件),然
后由称为“连接程序”(Link)的软件,把目标文号“;”结束(分号是C 语句的一部分,不是语
。 件与C 语言提供的各种库函数连接起来,生成后缀句之间的分隔符)
4.C 语言的风格 为“.exe”的可执行文件。
C 语言的风格主要有:C 语言简洁、紧凑,2.算法的5 个特性
使用方便、灵活;运算符丰富。C 语言的运算算法是指为解决某个特定问题而采取的
符包含的范围很广泛,共有34 种运算;数据结确定且有限的步骤。一个算法应当具有5 个特
构丰富,具有现代化语言的各种数据结构;用性:有穷性、确定性、可行性、有0 个或多个输
函数作为程序模块以实现C 程序的模块化; 入、有一个或多个输出。
C 语言允许直接访问物理地址,能进行位操作,
3.结构化程序和“模块化”设计
能实现汇编语言的大部分功能,可以直接对硬件
(1)结构化程序:结构化程序分为顺序结
进行操作;生成目标代码质量高,程序执行效率
构、选择结构和循环结构3种形式。
高;用C 语言写的程序可移植性好。5.标识
(2)“模块化”结构结构化程序设计提倡模块符 化的设计方法:每个程序设计人员分别完成一个
(1)标识符
或多个小模块,称为“模块化”方法;由一个个
所谓标识符就是C 语言中的变量名、函数
功能模块构成的程序结构为模块化结构。
名、数组名、文件名、类型名等。C 语言合法
考点2 C 程序的结构和格式 标识符的命名规则是:①标识符由字母、数字1.main 函数 和下划线组成;②第一个字符必须为字母或下
任何一个有效的程序都有且只能有一个 划线;③区分大小写:大写字母与小写字母被main()函数,它的地位相当于程序的主体,就像认为是两个不同的字符;④C 语言规定了一个大树的树干;而其它函数都是为main()服务的,就标识符允许的字符个数,即标识符的前若干个像大树树干分出的枝干。main 函数具有3个特... 字符有效,超过的字符将不被识别。 点:① C 语言规定必须用main 作为主函数名。其.(2)标识符分类 后的一对圆括号中间可以是空的,但不能省略; C 语言的标识符可分为关键字、预定义标识② 程序中的main()是主函数的起始行,也是C 程符和用户标识符3 类:关键字、预定义标识符、序执行的起始行。每一个程序都必须有且只有一用户标识符。 个主函数;③ 一个C 程序总是从主函数开始执考点3 常量和变量 行,到程序执行完后,从主函数结束执行,不论1.常量 main 函数在程序中的位置如何。 所谓常量是指在程序运行过程中,其值不2.程序中的注释 能被改变的量。
在一个C 程序中放在符号“/*”和“*/”
在C 语言中,常量分为5种..:整型常量;实之间的内容,称为对程序的注释。注释是对程
型常量;字符常量;字符串常量;符号常量。
序的说明。编写注释时应遵循4条规则....:①符号 整型常量和实型常量又称数值型常量,它
第二部分二级C语言第1
- 14 -
选择题考点秘籍—二级C 语言
们有正值和负值的区分。两者的区别是:整型常量只用数字表示,不带小数点。实型常量必须用带小数点的数表示。 (1)整型常量:整型常量有两种分类方法:短整......型常量、长整型常量、基本整型常量、无符号型 常量;十进制常量、八进制常量和十六进制常量。 (2)实型常量:实型常量又称实数或浮点数,一般用小数形式或指数形式来表示。实型常量分为小数和指数两种形式。 (3)字符常量:C的字符常量是用单引号(撇号)括起来的一个字符。如'a'、'D'、'%'等都是字符常量。注意:'a'和'A'是不同的字符常量。 C 允许用一种特殊形式的字符常量,就是以一.....个“\\”开头的字符序列。
(4)字符串常量:字符串常量是用一对双引号括起来的字符序列。
(5)符号常量:在C语言程序中,用一个符号名来代表一个常量,称为符号常量。2.变量
所谓“变量”是指在程序运行过程中,可以改变的值。通俗而言,数学公式x+5=y 中, x、y 都可以看作一个变量。程序中用到的所有 变量都必须遵循以下6 条规则:用一个名字作为标识;变量的名字由用户定义;它必须符合标识符的命名规则;程序中所有变量都必须先定义后使用;对变量的定义通常放在函数体内的前部, 但也可以放在函数的外部或复合语句的开头;在定义变量的同时要说明其类型,系统在编译时就能根据其类型为其分配相应的存储单元。一个变量实质上是代表内存中的某个存储单元。在程序中对某个变量的操作实际上就是对这个存储单元的操作。变量有整型变量和实型变量两种之分。 (1)整型变量:整型变量分为4种类型....:基本型:以int 表示;短整型:以short int 表示, 或以short 表示;长整型:以long int 表示,或以long 表示;无符号型:以unsigned int 表示,存储单元中全部二进制位用作存放数本身,而不包括符号。
(2)实型变量:C语言中实型变量分为两.种.类.型.:①单精度型变量:定义的形式为“float
a,b,c;”;②双精度型变量:定义的形式为“double x,y,z;”。在一般计算机系统中,为float类型的变量分配4 个字节的存储单元,为double 类型的变量分配8 个字节的存储单元,并按实型数
的存储方式存放数据。 3.整型数据的分类
前面提到的常量中有一种称为整型常量,变量中也有一种称为整型变量,我们统称为整型数据。前面我们也提到整型变量和整型常量都可以分为基本型、短整型、长整型和无符号型。不同的编译系统或计算机系统对这几类整型数据所占用的字节数有不同的规定。 考点4 算术表达式 1.基本的算术运算符
C语言中,基本的运算符包括5种:加(+)、减(-)、乘(*)、除(/)和求余(%)。这些运算符需要两个运算单位,称为双目运算符。加(+)、减(-)两个运算符很特殊,也可用作单目运算符,运算符必须在运算数的左边,如-55、+35。
加(+)、减(-)、乘(*)、除(/)可以使用整型和实型数据,而求余运算符(%),其运算对象只能是整型,在%运算符左侧的运算数为被除数,右侧的运算数为除数,运算结果是两数相除后所得的余数,如3%2=1(用3除以2,余数为1)。
2.运算符的优先级、结合性和算术表达式 (1)算术运算符的优先级
算术运算符和圆括号的优先级高低次序: ()、+ 、-、*、/ 、%、+ 、-
单目
双目 同级 同级 同级高 低 (2)算术运算符和圆括号结合性
在算术运算符中,只有单目运算符“+”和“-”的结合性是从右到左的,其余运算符的结合性都是从左到右。
(3)算术表达式
用算术运算符和一对圆括号将运算数(或称操作数)连接起来的、符合C 语言规则的表达式称为算术表达式。算术表达式的运算规则和要求:①在算术表达式中,使用多层圆括号,但左右括号必须配对。运算时从内层圆括号开始,由内向外依次计算;②在算术表达式中,若包含不同优先级的运算符,则按运算符的优先级由高到低进行;若表达式中运算符的级别相同,则按运算符的结合方向进行。
- 15 -
第二部分二级C 语言程序设计
3.强制类型转换表达式
利用强制类型转换运算符可以将一个表达式的值转换成所需类型。
【格式】(类型名)(表达式)
“类型名”称为强制类型转换运算符。 考点5 赋值表达式 1.赋值运算符
(1)赋值运算符
赋值运算符的符号为“=”,由赋值运算符组成的表达式称为赋值表达式。先求出右边表达式的值,然后把此值赋给赋值号左边的变量。
【格式】变量名=表达式 (2)赋值表达式
【格式】<变量><赋值运算符>(表达式) 使用赋值表达式时应注意6条事项....:①赋值 运算符的优先级别只高于逗号运算符,比任何其 它运算符的优先级都低,且具有自右向左的结合性;②赋值运算符不是数学中的“等于号”,而是进行“赋予”的操作;③赋值表达式x=y的作用是,将变量y所代表的存储单元中的内容赋给变量x所代表的存储单元,x中原有的数据被替换掉;④赋值运算符的左侧只能是变量,不能是常量或表达式;⑤赋值运算符右边的表达式也可以是一个赋值表达式;⑥在C语言中,“=”号被视为一个运算符,x=78是一个表达式。 (3)赋值语句
【格式】<变量><赋值运算符>(表达式); 【说明】在赋值表达式的尾部加上一个“;” 号,就构成了赋值语句,也称表达式语句。 2.复合赋值表达式
在赋值运算符之前加上其它运算符可以构成复合赋值运算符。在C 语言中共有10 种复合赋值运算符,其中与算术运算有关的复合运算符有:+=、-=、*=、/=、-=。复合赋值运算符的优先级与赋值运算符的优先级相同。 3.赋值运算中的类型转换
如果赋值运算符两侧的数据类型不一致,在赋值前,系统将自动先把右侧表达式求得的数值按赋值运算符左边变量的类型进行转换,也可以用强制类型转换的方式人为地进行转换后将值赋给赋值运算符左边的变量。这种转换仅限于数值数据之间,通常称为“赋值兼容”。在C 语言的表达式中,如果运算符两边的整型类型不相同,将进行类型之间的转换。转换规则....:①当赋值
运算符左边的变量为短整型变量,右边的值为
长整型变量,短整型变量只能接受长整型变量低位上两个字节中的数据,高位上两个字节中的数据将丢失;②当赋值运算符左边的变量为无符号整型,右边的值为有符号整型时,则把内存中的内容原样复制。右边数值的范围不应超出左边变量可以接受的数值范围,此时负数将转换为正数;③当赋值运算符左边的变量为有符号整型,右边的值为无符号整型时,复制的机制同上。这时若符号位为1,将按负数处理。 考点6 自加、自减和逗号运算 1.自加运算符(++)
使用自加运算符时应注意5个事项....:①自加运算符“++”的运算是使运算对象增1。②运算 符“++”是单目运算符,运算对象可以是整型变量,也可以是实整型变量,但不能是常量或表达式。所以像++3、(i+j)++是不合法的;③用自加运算符构成表达式时,既可以是前缀形式,也可以是后缀形式。④运算符“++”的结合方向是“自右向左”。⑤不要在一个表达式中对同一个变量进 ...
行多次,诸如i++或++i 等运算。 2.自减运算符(--)
使用自减运算符时应注意5个事项....:①自减运算符“--”的运算是使运算对象减1。②运算符 “--”是单目运算符,运算对象可以是整型变量,也可以是实整型变量,但不能是常量或表达式。 ③用自减运算符构成表达式时,既可以是前缀形 式,也可以是后缀形式。④运算符“--”的结合 方向是自右向左。⑤不要在一个表达式中对同一...
个变量进行多次诸如i--或--i 等运算。 3.逗号运算符和逗号表达式 (1)逗号运算符
“,”是C 语言提供的一种特殊运算符,称为逗号运算符。逗号运算符的结合性为从左到右。在所有运算符中,逗号运算符的优先级最低。 (2)逗号表达式
用逗号运算符将表达式连接起来的式子称为逗号表达式。
【格式】表达式1,表达式2,?,表达式n 【说明】由于逗号运算符的结合性为从左到右,所以逗号表达式将从左到右进行运算。即先计算表达式1,然后计算表达式2,依次进行,最后计算表达式n,最后一个表达式的值就是此逗号表达式的值。
- 16 -
选择题考点秘籍—二级C 语言
第2 章顺序结构
考点1 字符型常量与变量 1.字符常量
一个字符常量代表ASCII 字符集中的一个字符,在程序中用单引号把一个字符括起来作为字符常量。例如,'A'、'a'都是合法的字符常量。 2.转义字符常量
转义字符又称反斜线字符,这些字符常量总是以一个反斜线开头后跟一个特定的字符,用来代表某一个特定的ASCII 字符,这些字符常量也必须括在一对单引号内。C 语言中的转义字符见表2-1。
表2-1 转义字符及其功能 字符形式 \\n \\t \\v \\r \\f \\b \\\\ \\' \\\\\ddd \\xhh \\0 功能 回车换行 横向跳若干格(代表“Tab”键) 竖向跳格 回车符 换页符 退格符(代表“Backspace”键) 反斜杠字符 单引号(撇号)字符 双引号字符 3 位八进制数代表的一个ASCII 字符 2 位十六进制数代表的一个 ASCII 字符 空值,其ASCII 码值为0 3.字符串常量 字符串常量是由双引号括起来的一串字符。在C 语言中,字符串是借助于字符型一维数组来存放的,并规定以字符'\\0'作为“字符串结束标志”。'\\0'是一个转义字符,称为空值,它的ASCII 码值为0。'\\0'作为标志占用存储空间,但不计入字符串的实际长度。 4.字符常量的运算
①在C 程序中,字符常量可参与任何整数运算;②通过算术运算把数字字符转换为整数值或把一位整数转换为数字字符;③字符可以进行关系运算。 5.字符变量
C 语言中,字符变量用关键字char 进行定
义,定义时可同时赋初值。当把字符放入字符变量中时,字符变量中的值就是该字符的ASCII 码值,所以字符变量可以作为整型变量来处理,可以参与对整型变量所允许的任何运算。 考点2 putchar 与getchar 函数
(1) putchar函数输出字符 【格式】putchar(ch)
【说明】ch 可以是字符变量或是字符常量,在以上函数调用的后面跟一个分号“;”,就形成一行独立的输出语句。
(2) getchar()函数输入字符 【格式】ch= getchar()
【说明】getchar()后的一对圆括号内没有参数,但这一对圆括号不可少,getchar()函数从终端读入一个字符作为函数值。以上调用形式把读入的一个字符赋给变量ch。 考点3 printf 函数
1.printf 函数的一般调用形式
printf(格式控制,输出项1,输出项2,?) 【说明】“格式控制”是字符串形式,“输出项”是要输出的字符或变量名。在printf 函数的调用之后加上“;”,则构成输出语句。 2.printf 函数中常用的格式说明
格式控制中,每个格式说明都必须用“%” 开头,以一个格式字符作为结束,在此之间可以根据需要插入“宽度说明”、左对齐符号“-”、前导零符号“0”等。
①格式字符:主要用于说明输出字符的格式; ②长度修饰符:在“%”和格式字符之间,可以加入长度修饰符,以保证数据输出格式的正确和对齐;③输出数据所占的宽度说明:当使用%d、%c、%f、%e、%s的格式说明时,输出数据所占的宽度由系统决定,通常按照数据本身的实际宽度输出,前后不加空格,并采用右对齐的形式;④输出数据左对齐:输出数据都默认为右对齐,若想左对齐,可以在格式控制中的“%” 和宽度之间加一个“-”号来实现;⑤使输出数据总带“+”和“-”:通常输出的数据如果是负数,前面有“-”,但正数前面的“+”一般都省略了。如让每一个数前面都带正负号,可以在“%”和格式字符之间加一个“+”来实现。
3.使用printf 函数时的注意事项
①printf 的输出格式为自由格式,是否在两个数之间留逗号、空格或回车,完全取决于
- 17 -
第二部分二级C 语言程序设计
格式控制;②格式控制中必须含有与输出项一一对应的输出格式说明,类型必须匹配;③在格式控制中,除了前面要求的输出格式,还可以包括任意的合法字符(包括汉字和转义符); ④如果要输出“%”,可以在格式控制中用 “%%”表示,将输出一个“%”;⑤printf函数有返回值,返回值是本次调用输出字符的个数,包括回车等控制符。 考点4 scanf 函数
1.scanf 函数的一般调用形式
scanf 函数一般用于输入数据信息。 scanf(格式控制,输入项1, 输入项2,?) 【说明】在scanf函数调用之后加“;”,则构成输入语句。
2.scanf 函数中常用的格式说明
格式控制的主要作用是指定输入时的数据转换格式,即格式转换说明。
每个格式说明都必须用“%”开头,以“格式字符”作为结束。允许用于输入的字符及相应功能见表2-2。
表2-2 格式字符及其说明 格式说明 字符 输入一个字符 c 输入带符号的十进制整型数 d 输入整型数,整型数可以是带先导 0 的八进制数,也可以是带先导 i 0x(或0X)的十六进制数 以八进制格式输入整型数,可以带0 先导0,也可以不带 以十六进制格式输入整型数,可以x 带先导0x 或0X,也可以不带 以无符号十进制形式输入整型数 u 3.通过scanf 函数从键盘输入数据
①输入数值数据:输入的数据之间必须用空格、回车符、制表符(Tab键)等间隔符隔开,间隔符个数不限。②指定输入数据所占的宽度:在格式字符前加入一个正整数指定输入数据所占的宽度。③跳过某个输入数据:可在“%”和格式字符之间加入“*”号,作用是跳过对应的输入数据。④在格式控制字符串中插入其他字符:scanf函数中的格式控制字符串是为了输入数据用的,因此若想在屏幕上输出提示信息,应该首先使用printf函数输出。
考点5 位运算的含义和应用 1.位运算符的含义
C 语言提供了6 种位运算符,含义见表2-3。 表2-3 各种位运算符及其含义 运算符 含义 优先级 按位求反 1(高) ~ 左移 << 2 右移 >> 2 按位与 & 3 按位异或 ^ 4 按位或 5(低) | 2.位运算符的使用 位运算符与赋值运算符结合可以组成扩展的值运算符,其表示形式及含义见表2-4。
表2-4 扩展位运算符及其表达式 扩展运算符 表达式 表达式的含义 <<= a<<=2 a=a<<2 >>= b>>=n b=b>>n &= a&=b a=a&b ^= a^=b a=a^b |= a|=b a=a|b 3.简单的位运算 (1)“按位取反”运算
运算符(~)是位运算符中惟一的一个单目运算符,运算对象应置于运算符的右边,其运算功能是把运算对象的内容按位取反(使每一位上的0变1,1变0)。
(2)“左移”运算
左移(<<)运算符是双目运算符。运算符左边是移动对象,右边是整型表达式,代表左移的位数。左移时,右端(低位)补0;左端 (高位)移出的部分舍弃。 - 18 -
f(lf) e(le) s 以带小数点的数学形式或指数形式输入浮点数(单精度数用f,双 精度数用lf) 以带小数点的数学形式或指数形式输入浮点数(单精度数用f,双 精度数用lf) 输入一个字符串,直到遇到'\\0'。 若字符串长度超过指定的精度则自动突破,不会截断字符串
2017全国计算机等级考试二级C语言知识点超全整(打印版)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)