




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、全国计算机等级考试二级全国计算机等级考试二级高频考点高频考点Company Logo考试方式考试方式1、笔试:笔试:2、机试:机试:90分钟,满分分钟,满分100分。分。(其中含公共基础知识其中含公共基础知识30分。选择题分。选择题70分,填空题分,填空题30分分)90分钟,满分分钟,满分100分。分。无纸化考试:无纸化考试:120分钟。分钟。(1)填空()填空(2)改错()改错(3)编程)编程(4)程序设计题()程序设计题(24分)分)(1)选择题()选择题(40分)分)(3)改错题()改错题(18分)分)(2)填空题()填空题(18分)分)Company Logo目录目录1.程序设计基本概
2、念程序设计基本概念2.C程序设计程序设计的初步知识的初步知识3.顺序顺序结构结构4.选择选择结构结构5.循环循环结构结构6.字符型字符型数据数据7.函数函数8.地址和地址和指针指针9.数组数组10.字符串字符串11.对函数的进一步对函数的进一步讨论讨论12.用户用户标识符标识符的作用域和存储类的作用域和存储类13.编译预处理和动态存储分配编译预处理和动态存储分配14.结构体、共用体和用户定义类型结构体、共用体和用户定义类型15.位运算位运算16.文件文件Company Logo第第1章程序设计基本概念章程序设计基本概念Top1:各种:各种“程序程序”的概念的概念Top3:结构化程序设计:结构化
3、程序设计Top2:算法的特性:算法的特性C程序的上机步骤程序的上机步骤Company Logo什么是程序?什么是程序?Top1:各种:各种“程序程序”的概念的概念人们把需要用计算机完成的工作写成一条条指令,并把这些指令存储在内存中,当人们给出执行命令后,计算机就按指令顺序自动进行操作。这些可以连续执行的一条条指令的集合称为“程序”。Company Logo机器语言汇编语言高级语言面向过程面向对象CPU指令系统,由0、1序列构成的指令码组成如:10000000 加 10010000 减用助记符号描述的指令系统如 ADD A, B面向机器的语言程序设计是数据被加工的过程客观世界可以分类,对象是类的
4、实例对象是数据和方法的封装对象间通过发送和接受消息发生联系程序设计关键是定义类,并由类派生对象程序设计语言的发展程序设计语言的发展Top1:各种:各种“程序程序”的概念的概念Company Logo程序的程序的“转换转换”机器语言机器语言汇编语言汇编语言高级语言高级语言C语言语言编译编译汇编汇编源程序源程序目标程序目标程序.OBJTop1:各种:各种“程序程序”的概念的概念可执行程序可执行程序.exe链接链接二进制语言二进制语言Company LogoTop1:各种:各种“程序程序”的概念的概念v真题分析真题分析(2007年4月)下列叙述中错误的是A、计算机不能直接执行用C语言编写的源程序B、
5、C程序经编译后,生成后缀为.Obj的文件是一个二进制文件C、后缀为.Obj的文件,经连接程序生成后缀为.Exe的文件是一个二进制文件D、后缀为.Obj和.Exe的二进制文件都可以直接运行DCompany LogoTop1:各种:各种“程序程序”的概念的概念v真题分析真题分析(2006年4月)以下叙述中错误的是A、C语言源程序经编译后生成后缀为.OBJ的目标程序B、C程序经过编译、连接步骤之后才能形成一个真正可以执行的二进制机器指令文件C、用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D、C语言中的每条可执行语句和非执行语句最终都将转换成二进制的机器指令D只有二进制语句
6、才最终被转换只有二进制语句才最终被转换成二进制机器指令成二进制机器指令Company LogoTop1:各种:各种“程序程序”的概念的概念v真题分析真题分析(2008年9月)计算机能直接执行的程序是A、源程序B、目标程序C、汇编程序D、可执行程序DCompany LogoTop1:各种:各种“程序程序”的概念的概念v真题分析真题分析(2011年3月)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是(选择题第11题)A)C语言程序仅可以编译执行B)C语言程序仅可以解释执行C)C语言程序既可以编译执行又可以解释执行D)以上说法都不对CCompany LogoTop1:各种:
7、各种“程序程序”的概念的概念v真题分析真题分析(2011年3月)以下叙述中错误的是(选择题第12题)A)C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件DCompany LogoTop2:算法的特性:算法的特性什么是算法?什么是算法?算法是指为解决某个特定问题而采取的确定且有限的步骤。?Company Logo算法应具有以下五个特点:算法应具有以下五个特点:1有穷性:一有穷性:一个算法包含个算法包含的步骤是有的步骤是有限的。即在限的
8、。即在若干个步骤若干个步骤后结束,并后结束,并且每一步都且每一步都在合理时间在合理时间内完成内完成2确定性:算法确定性:算法中每一条指令中每一条指令必须有确切的必须有确切的含义,不能有含义,不能有二义性,对于二义性,对于相同的输入必相同的输入必能得出相同的能得出相同的执行结果。执行结果。3可行性:算法可行性:算法中指定的操作,中指定的操作,都可以通过已都可以通过已经验证可以实经验证可以实现的基本运算现的基本运算执行有限次后执行有限次后实现。实现。5有一个有一个或多个或多个输出:算法的输出:算法的目的是为了求目的是为了求解。这些解。这些“解解”只有通过输出只有通过输出得到。得到。4有零个有零个或
9、多个或多个输入:算法都输入:算法都是用来处理数是用来处理数据对象的,通据对象的,通常情况下这些常情况下这些数据对象需要数据对象需要通过输入来得通过输入来得到。到。Top2:算法的特性:算法的特性Company Logo如何评价算法?如何评价算法?时间复杂度时间复杂度1空间复杂度空间复杂度2对算法的要求有:必须是正确的,必须能高效率执行,即占用内存空间少,所需运行时间短。于是,对算法的评价可以从两个方面进行:Top2:算法的特性:算法的特性Company LogoTop2:算法的特性:算法的特性v真题分析真题分析(2007年4月)算法中,对需要执行的每一步骤操作,必须给出清楚、严格的规定,这属于
10、算法的是A、正当性B、可行性C、确定性D、有穷性CCompany LogoTop2:算法的特性:算法的特性v真题分析真题分析(2006年4月)以下叙述中错误的是A、算法正确的程序最终一定会结束B、算法正确的程序可以有零个输出C、算法正确的程序可以有零个输入D、算法正确的程序对于相同的输入一定有相同的结果B算法必须有一个或多个输出算法必须有一个或多个输出Company LogoTop3:结构化程序设计和模块化结构:结构化程序设计和模块化结构执行时按顺序逐条执行,没有分支,没有转移。可由赋值语句、输入/输出语句等构成。顺序结构顺序结构根据不同的条件执行不同分支中的语句。可由if语句、switch语
11、句等构成。选择结构选择结构根据各自的条件使一组语句重复执行多次或一次也不执行。可由for语句、while语句等构成。循环结构循环结构Company Logo什么是模块化结构?什么是模块化结构?将复杂任务分解成若干个子任务,每个子任务又可分解成多个小子任务,每个小子任务只需完成一个简单的功能。在程序设计时用一个小模块实现这些功能。称这样的程序设计方法为“模块化”方法,由一个个功能模块构成的程序结构为模块化结构。Top3:结构化程序设计和模块化结构:结构化程序设计和模块化结构Company LogoTop3:结构化程序设计和模块化结构:结构化程序设计和模块化结构v真题分析真题分析(2007年4月)
12、以下叙述中错误的是A、C语言是一种结构化的程序设计语言B、结构化程序由顺序、分支、循环三种基本结构组成C、使用三种基本结构构成的程序只能解决简单问题D、结构化程序设计提倡模块化的设计方法CCompany LogoTop3:结构化程序设计和模块化结构:结构化程序设计和模块化结构v真题分析真题分析(2011年9月)以下选项中关于程序模块化的叙述错误的是_。(选择题12题)A)把程序分成若干相对独立的模块,便于编码和调试B) 把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块C)可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序D)可采用自顶向下、逐步细化的设计方法把若干
13、独立模块组装成所要求的程序CCompany Logo开始开始结束结束编辑编辑编译编译连接连接运行运行运行结果运行结果可执行文件可执行文件 (.exe)源程序文件源程序文件 (.c) 目标文件目标文件 (.obj)图图 C程序上机调试过程程序上机调试过程此两种代码此两种代码不能执行不能执行C程序的上机步骤程序的上机步骤Company Logo第第2章章C程序设计的初步知识程序设计的初步知识Top4:C程序的结构和格式程序的结构和格式Top5:标识符的命名规则:标识符的命名规则Top6:C语言基本数据类型及其定义规则语言基本数据类型及其定义规则Top7:基本类型数据的相互转换:基本类型数据的相互转
14、换Top8:常见算术运算符的使用:常见算术运算符的使用Top9:算术运算符的优先级顺序:算术运算符的优先级顺序Top12:自加:自加自自减运算符减运算符Top10:赋值表达式的求值规则:赋值表达式的求值规则Top11:逗号表达式的求:逗号表达式的求值值规则规则Company Logo例例2.1 2.1 第一个程序第一个程序 Hello,WorldHello,World! !/* example1.1 The first C Program*/#include main() printf(“Hello,World!”);注释编译预处理函数语句输出:Hello,World!Top4:C语言程序的构
15、成和格式语言程序的构成和格式Company Logo例例2.22.2/* example1.1 calculate the sum of a and b*/#include /* This is the main program */main() int a,b,sum; a=10; b=24; sum=add(a,b); printf(”sum= %dn,sum);/* This function calculates the sum of x and y */int add(int x,int y) int z; z=x+y; return(z);运行结果:sum=34函数函数语句语句预处
16、理命令注释Company Logo 结构特点 函数与主函数 程序由一个或多个函数组成 必须有且只能有一个主函数main() 程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。 程序语句 C程序由语句组成 用“;”作为语句终止符 注释 /* */为注释,不能嵌套 不产生编译代码例: /*This is the main /* of example1.1*/ */ 非法 编译预处理命令Top4:C语言程序的构成和格式语言程序的构成和格式例: #include “stdio.h” 命令行,不是命令行,不是C语句语句Company Logov真题分析真题分析(2011年9月)以上
17、叙述中错误的是_(选择题11题)。A)C语言编写的函数源程序,其文件名后缀可以是CB) C语言编写的函数都可以作为一个独立的源程序文件C) C语言编写的每个函数都可以进行独立的编译并执行D)一个C语言程序只能有一个主函数Top4:C语言程序的构成和格式语言程序的构成和格式CCompany LogoTop4:C语言程序的构成和格式语言程序的构成和格式v真题分析真题分析(2008年9月)以下叙述中正确的是A、 C程序的基本组成单位是语句 B、 C程序中每一行只能写一条语句 C、简单C语句必须以分号结束 D、 C语句必须在一行内写完 CCompany LogoTop5:标识符的命名规则:标识符的命名
18、规则什么是标识符?什么是标识符?标识符是用来标识变量、符号常量、函数、数组、类型、标号以及一些具有专门含义的有效字符序列。通俗地讲,标识符就是一个名字。Company Logo标识分为三类:标识分为三类:预定义标识符预定义标识符用户标识符用户标识符关键字关键字Top5:标识符的命名规则:标识符的命名规则Company Logo 组成: 只能由字母、数字、下划线字母、数字、下划线组成,且第一个字母必须是字母或下划线 大小写敏感 不能使用关键字 长度:最长32个字符 命名原则: 见名知意 不宜混淆 如l与I, o与0例:判断下列标识符号合法性sum Sum M.D.John day Date 3d
19、ays student_name #33 lotus_1_2_3 char ab _above $123M.D.John3days#33char$123ab如何命名标识符?如何命名标识符?Company Logo&整型常量(整常数)整型常量(整常数) 三种形式:十进制整数:由数字09和正负号表示.如 123,-456,0八进制整数:由数字0开头,后跟数字07表示.如0123,011十六进制整数:由0 x开头,后跟09,af,AF表示. 如0 x123,0Xff问题:0123 = ( )100 x123 = ( )100Xff = ( )1083291255问题:0123 = ( )10
20、0 x123 = ( )100Xff = ( )10Top6:C语言基本数据类型及其定义规则语言基本数据类型及其定义规则Company Logo 整型常量的类型根据其值所在范围确定其数据类型在整常量后加字母l或L,认为它是long int 型常量&整型常量(整常数)整型常量(整常数) 三种形式:十进制整数:由数字09和正负号表示.如 123,-456,0八进制整数:由数字0开头,后跟数字07表示.如0123,011十六进制整数:由0 x开头,后跟09,af,AF表示. 如0 x123,0Xff例 30000 为int型 65536 为long int 型例 12 与 12LTop6:C
21、语言基本数据类型及其定义规则语言基本数据类型及其定义规则32767327680012 016 0 x10 0X23FD0568 o45 ox12t -0X12只能是正数只能是正数Company Logo&实型常量(实数或浮点数)实型常量(实数或浮点数) 表示形式:十进制数形式:(必须有小数点必须有小数点) 如0.123, .123, 123.0, 0.0, 123.指数形式:(e或E之前必须有数字;指数必须为整数)如12.3e3 ,123E2, 1.23e4 , e-5 , 1.2E-3.5 实型常量的类型默认double型在实型常量后加字母f或F,认为它是float 型Top6:C语
22、言基本数据类型及其定义规则语言基本数据类型及其定义规则X在内存中,实数一律是以指数形式存储的在内存中,实数一律是以指数形式存储的1计算机中存储整数不会出现误差,存储实型数往往存入误差。计算机中存储整数不会出现误差,存储实型数往往存入误差。2注意:注意:Company Logo35&字符常量字符常量 定义:用单引号单引号括起来的单个普通字符单个普通字符或转义字符转义字符. 字符常量的值:该字符的ASCII码值转义字符及其含义:转义字符含义nvradddtbf“xhh转义字符含义换行垂直制表回车响铃单引号3位8进制数代表的字符水平制表退格换页反斜线双引号2位16进制数代表的字符如 101
23、-A 012 -n 376 - x61 -a 60 -0 483 -()例:A-101-x41-65如 A65, a97, 048 , n10如 a A ? n 101 转义字符:反斜线后面跟一个字符或一个代码值表示例 转义字符举例 main() printf(101 x42 Cn); printf(I say:How are you?n); printf(C Programn); printf(Turbo C);运行结果:(屏幕显示)A B CIsay:”How are you?”C ProgramTurbo CTop6:C语言基本数据类型及其定义规则语言基本数据类型及其定义规则Compan
24、y Logo 字符常量与字符串常量不同&字符串常量字符串常量 定义:用双引号(“”)括起来的字符序列 存储:每个字符串尾自动加一个 0 作为字符串结束标志h e l l o 0例 字符串“hello”在内存中a a 0例 a“a”例 空串 “”0例: char ch; ch=“A”; 例: char ch; ch=A; Top6:C语言基本数据类型及其定义规则语言基本数据类型及其定义规则Company Logo编译程序根据变量定义为其分配指定字节的内存单元.地址int a=1, b=-3,c;abc2字节2字节2字节地址地址.内存1-3随机数 变量变量 概念:其值可以改变的量 变量的定
25、义 变量初始化:定义时赋初值 例: int a,b,c; float data;例: int a=2,b,c=4; float data=3.67; char ch=A; int x=1,y=1,z=1; int x=y=z=1; 变量的使用:先定义,后使用例1 int student; stadent=19; /Undefined symbol statent in function main 例2 float a,b,c; c=a%b; /Illegal use of floating point in function main 变量定义位置:一般放在函数开头main() int a,b
26、=2; float data; a=1; data=(a+b)*1.2; printf(“data=%fn”,data);变量定义可执行语句main() int a,b=2; a=1; float data; data=(a+b)*1.2; printf(“data=%fn”,data);Top6:C语言基本数据类型及其定义规则语言基本数据类型及其定义规则Company Logo&整型变量 占字节数随机器不同而不同,一般占一个机器字 shortintlong 可用sizeof(类型标识符)测量&实型变量 float:占4字节,提供7位有效数字 double:占8字节,提供151
27、6位有效数字&字符型变量 字符变量存放字符ASCII码 char与int数据间可进行算术运算例 float a;a=111111.111; /* a=111111.1*/double b;b=111111.111; /* b=111111.111*/例 a=D; /* a=68; */ x=A+5; /* x=65+5; */ s=!+G /* s=33+71; */没有字符串变量,用字符数组存放Top6:C语言基本数据类型及其定义规则语言基本数据类型及其定义规则mpany LogoTop6:C语言基本数据类型及其定义规则语言基本数据类型及其定义规则v真题分析真题分析(2011年3月)
28、以下选项中不能用作C程序合法常量的是(选择题13题)A)1.234 B)123C)123 D)x7GBmpany LogoTop6:C语言基本数据类型及其定义规则语言基本数据类型及其定义规则v真题分析真题分析(2011年3月)以下选项中可用作C程序合法实数的是_(选择题14题)A).1e0 B)3.0e0.2C)E9 D)9.12EAmpany LogoTop6:C语言基本数据类型及其定义规则语言基本数据类型及其定义规则v真题分析真题分析(2011年9月)以下选项中关于C语言常量的叙述错误的是_(选择题13题)A)所谓常量,是指在程序运行过程中,其值不能被改变的量B)常量分为整型常量、实型常量
29、、字符常量和字符串常量C)常量可分为数值型常量和非数值型常量D)经常被使用的变量可以定义成常量D常量是指在程序中不变的量,既然程序中已定义为变量,则不可能再定义为常量Company Logo 隐式转换 什么情况下发生运算转换-不同类型数据混合运算时赋值转换-把一个值赋给与其类型不同的变量时输出转换-输出时转换成指定的输出格式函数调用转换-实参与形参类型不一致时转换 运算转换规则:不同类型数据运算时先自动转换成同一类型Top7:基本数据类型间的转换:基本数据类型间的转换Company Logodoublefloatlongunsignedintchar,short低高说明:必定的转换运算对象类型
30、不同时转换例 char ch; int i; float f; double d;ch/i + f*d - (f+i)intintdoubledoubledoubledoubledoubledoubleintintdoubledoubledoubledoubledoubledouble10+a +i*f - d/l例 int i; float f; double d; long l;Company Logo 显式转换(强制转换)显式转换(强制转换) 一般形式:(类型名)(表达式)例 (int)(x+y) (int)x+y (double)(3/2) (int)3.6 说明:强制转换得到所需类型
31、的中间变量,原变量类型不变 例 main() float x; int i; x=3.6; i=(int)x; printf(“x=%f,i=%d”,x,i); 结果:x=3.600000,i=3精度损失问题较高类型向较低类型转换时可能发生Top7:基本数据类型间的转换:基本数据类型间的转换Top7:基本数据类型间的转换:基本数据类型间的转换v真题分析真题分析(2011年9月)若有定义语句:int a=10; double b=3.14;,则表达式A+a+b值的类型是_。(选择题14题)A).char B)int C) double D)floatCompany LogoCCompany Lo
32、goC运运算算符符算术运算符:(算术运算符:(+ - + - * * / % + - / % + -)关系运算符:(关系运算符:( = != = !=)逻辑运算符:(!逻辑运算符:(! & |& |)位运算符位运算符 :(:( | & | &)赋值运算符:(赋值运算符:(= = 及其扩展)及其扩展)条件运算符:(条件运算符:(?:?:)逗号运算符:(逗号运算符:(, ,)指针运算符:(指针运算符:(* * & &)求字节数求字节数 :(:(sizeofsizeof)强制类型转换:(类型)强制类型转换:(类型)分量运算符:(分量运算符:(. -.
33、-)下标运算符:(下标运算符:()其它其它 :(:(( ) -( ) -)Top8:常见算术运算符的使用:常见算术运算符的使用Company LogoTop8:常见算术运算符的使用:常见算术运算符的使用v 知识点知识点1、基本的算术运算符有:、 、/、% 2、关于除法运算/C语言规定:两个整数相除,其商为整数,小数部分被舍弃。例 5/2 = -5/2.0 =例 5/2 = 2 -5/2.0 = -2.53、关于求余数运算 要求两侧的操作数均为整型整型数据,否则出错。例 5%2 = -5%2 = 1%10 = 5%1 = 5.5%2例 5%2 = 1 -5%2 = -1 1%10 = 1 5%1
34、 = 0 5.5%2 ()Company Logo4、关于两边运算数类型不一致系统将自动进行转换,使两边一致后再进行运算。5、所有实型数的运算均以双精度方式进行,若是单精度,则在尾数部分添0,转换为双精度。Top8:常见算术运算符的使用:常见算术运算符的使用6、算术表达式的概念(1)表达式的概念 用运算符和括号将运算对象(常量、变量和函数等)连接起来的、符合语言语法规则的式子,称为表达式。(2)算术表达式的概念表达式中的运算符都是算术运算符。例如:3 + 6 * 9、(x + y) / 2 - 1等,都是算术表达式。Company LogoTop8:常见算术运算符的使用:常见算术运算符的使用7
35、、强制类型转换表达式(double)a 等价于(double)(a)(int)(x + y) (float)5 / 2 等价于(float)(5)/2 (float)(5 / 2) 注意:强制转换类型得到的是一个所需类型的中间量,原表达式类型注意:强制转换类型得到的是一个所需类型的中间量,原表达式类型并不发生变化。例如,并不发生变化。例如,(double)a 只是将变量只是将变量a的值转换成一个的值转换成一个double型的中间量,其数据类型并未转换成型的中间量,其数据类型并未转换成double型。型。 Top8:常见算术运算符的使用:常见算术运算符的使用v真题分析真题分析(2011年9月)若
36、有定义语句:int x=12,y=8,z;在其后执行语句z=0.9+x/y;则z的值为_。(选择题15题)A)1.9 B)1 C)2 D)2.4Company LogoB“/”为整除运算符,两边的运算对象都为为整除运算符,两边的运算对象都为整数时,运算结果为整型。整数时,运算结果为整型。Z为整型,所以最终结果为整数。为整型,所以最终结果为整数。Top8:常见算术运算符的使用:常见算术运算符的使用真题分析真题分析(2011年3月)以下程序运行后的输出结果是 (填空题第6题) 。#includemain() int a;a=(int)(double)(3/2)+0.5+(int)1.99*2);p
37、rintf(%dn,a);Company Logo3Company Logo1、算术运算符的优先级、算术运算符的优先级()()/%单目双目高低Top9:算术运算符的优先级顺序:算术运算符的优先级顺序2、算术运算符和圆括号的结合性、算术运算符和圆括号的结合性所谓结合性是指,当一个操作数两侧的运算符具有相同的优先级时,该操作数是先与左边的运算符结合,还是先与右边的运算符结合。自左至右的结合方向,称为左结合性。反之,称为右结合性。自左至右的结合方向,称为左结合性。反之,称为右结合性。结合性是语言的独有概念。结合性是语言的独有概念。除除单目单目运算符运算符、赋值赋值运算符运算符和和条件条件运算符运算符
38、是右结合性外,其它运算符是右结合性外,其它运算符都是左结合性。都是左结合性。例如,算术运算符的结合方向是例如,算术运算符的结合方向是“自左至右自左至右”,即:,即:在执行在执行“a b + c”时,变量时,变量b先与减号结合,执行先与减号结合,执行“a - b”;然后再执行加然后再执行加c的运算。的运算。Company Logo赋值运算赋值运算1赋值符号赋值符号“=”就是赋值运算符,它的作用是将一个表达式就是赋值运算符,它的作用是将一个表达式的值赋给一个变量。赋值运算符的一般形式为:的值赋给一个变量。赋值运算符的一般形式为: 如果表达式值的类型,与被赋值变量的类型不一致,但都是如果表达式值的类
39、型,与被赋值变量的类型不一致,但都是数值型或字符型时,系统自动地将表达式的值转换成被赋值数值型或字符型时,系统自动地将表达式的值转换成被赋值变量的数据类型,然后再赋值给变量变量的数据类型,然后再赋值给变量.例 a=3; d=func(); c=d+2; b=a;Top10:赋值表达式的求值规则:赋值表达式的求值规则变量变量 = 赋值表达式赋值表达式Company Logo几点说明:几点说明:(1)赋值运算符的优先级只高于逗号运算符,比其它的运算符优先级都)赋值运算符的优先级只高于逗号运算符,比其它的运算符优先级都低,且具有自右向左的结合性。低,且具有自右向左的结合性。如:如:a=2+7/3(2
40、)赋值运算符不是数学中的)赋值运算符不是数学中的“等于号等于号”,而是进行,而是进行“赋予赋予”操作。操作。(3)表达式)表达式x=y读作读作“将将y的值赋给变量的值赋给变量x”而不读作而不读作”x等于等于y“(4)如如a+b=c就是错误的。就是错误的。(5)赋值运算符右边也可以是赋值表达式。如)赋值运算符右边也可以是赋值表达式。如a=b=7+1,而而a=7+1=b则是错误的。则是错误的。(6)”“视作运算符,视作运算符,a=19是一个表达式,是一个表达式,C语言规定最左边变量语言规定最左边变量中所得到的新值就是赋值表达式的值。中所得到的新值就是赋值表达式的值。Top10:赋值表达式的求值规则
41、:赋值表达式的求值规则Company Logo赋值运算中的类型转换赋值运算中的类型转换3在在C语言的赋值表达式中,赋值号右边的值先转换成与左边的变量相语言的赋值表达式中,赋值号右边的值先转换成与左边的变量相同同的类型,然后进行赋值。的类型,然后进行赋值。注意注意:(1)当赋值号左边的变量为短整型,右边的值为长整型时,短整型变)当赋值号左边的变量为短整型,右边的值为长整型时,短整型变量只能接受长整型数据低位上的两个字节的数据,高位上的数据将丢量只能接受长整型数据低位上的两个字节的数据,高位上的数据将丢失。也就是说,右边的值不能超过短整型的数值范围。失。也就是说,右边的值不能超过短整型的数值范围。
42、Top10:赋值表达式的求值规则:赋值表达式的求值规则Company Logo(2)当赋值号左边的变量为无符号整型,右边的值为有符号整型时,)当赋值号左边的变量为无符号整型,右边的值为有符号整型时,则把内存中的内容原样复制。右边数据的范围不应超出左边变量可以则把内存中的内容原样复制。右边数据的范围不应超出左边变量可以接受的数据范围。同时要注意,这时负数将转换为正数。接受的数据范围。同时要注意,这时负数将转换为正数。例:例:unsigned a;a=-1;printf(“%dn”,a);1111111111111111-1的补码的补码结果结果a=111111111111111165535Top1
43、0:赋值表达式的求值规则:赋值表达式的求值规则Company Logo(3)当赋值号左边的变量为有符号整型,右边的值为无符号整型时,)当赋值号左边的变量为有符号整型,右边的值为无符号整型时,复制的机制同上,这时,若符号位为复制的机制同上,这时,若符号位为1,将按负数处理。,将按负数处理。例:例:int a;unsigned b;b=1000000000000000;a=b;printf(“%dn”,a);1000000000000000结果结果a=-(111111111111111+1)-32786Top10:赋值表达式的求值规则:赋值表达式的求值规则Company LogoTop10:赋值表
44、达式的求值规则:赋值表达式的求值规则v真题分析真题分析(2011年3月)若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是(选择题15题)A)a=(b=4)=3; B)a=b=c+1;C)a=(b=4)+c; D)a=1+(b=c=4);A赋值运算符左边只能是变量,不能是常量或是表达式Company LogoTop11 逗号表达式的运算规则逗号表达式的运算规则 形式:表达式1,表达式2,表达式n 结合性:从左向右 优先级:所有运算符中,逗号运算符优先级最低所有运算符中,逗号运算符优先级最低 逗号表达式的值:等于表达式n的值 用途:常用于循环for语句中例 a=3*5,
45、a*4 a=3*5,a*4,a+5例 x=(a=3,6*3) x=a=3,6*a例 a=1;b=2;c=3; printf(“%d,%d,%d”,a,b,c); printf(“%d,%d,%d”,(a,b,c),b,c); /a=15,表达式值60/a=15,表达式值20/赋值表达式,表达式值18,x=18/逗号表达式,表达式值18,x=3/1,2,3/3,2,3Company Logo例:#include main() int x,y=7; float z=4; x=(y=y+6,y/z); printf(x=%dn,x);运行结果:x=3 形式:表达式1,表达式2,表达式n 结合性:从左
46、向右 优先级:所有运算符中,逗号运算符优先级最低 逗号表达式的值:等于表达式n的值 用途:常用于循环for语句中Top11 逗号表达式的运算规则逗号表达式的运算规则Company LogoTop11 逗号表达式的运算规则逗号表达式的运算规则v 考点考点1. 逗号运算符的结合性为从左到右从左到右,先计算表达式1,最后计算表达式n,最后一个表达式的值即为最后一个表达式的值即为该逗号表达式的值。该逗号表达式的值。2.2. 逗号运算符在所有运算符中,逗号运算符在所有运算符中,优先级最低。优先级最低。Company LogoTop12自加、自减运算符自加、自减运算符自加运算符、自减运算符自加运算符、自减
47、运算符1i+(或或i-)表示在使用该表达式值之后将表示在使用该表达式值之后将i值加值加1(或减(或减1)。)。+i(或或-i)表示在使用该表达式值之前将表示在使用该表达式值之前将i值加值加1(或减(或减1)说明说明:(1)+和和-仅适用于变量(整型和实型),不能用于常量仅适用于变量(整型和实型),不能用于常量或表达式。或表达式。(2)+和和-运算符的结合方向是运算符的结合方向是“至右向左至右向左”。例 -i+ -(i+)i=3; printf(“%d,%d”,-i+,i); /-3 ,4例 j+k; (j+)+k;例 -i+i=3; printf(“%d,%d”,-i+,i); Company
48、 Logo考点:考点:Top12自加、自减运算符自加、自减运算符1、自增、自减运算符只能用于变量,不能用于常量和表达式。5+、-(a+b)等都是非法的。2、自增、自减运算符和其它运算符混合使用时,其结合性为:至右向左。3、自增、自减运算符,无论作为前缀(+a,-a)还是后缀( a +, a -)运算符,对于变量本身来说自增1或自减1都具有相同的效果,但对表达式来说却有着不同的值。Top12自加、自减运算符自加、自减运算符v真题分析真题分析(2011年3月有以下程序#includemain() int x=011;printf(%dn,+x);程序运行后的输出结果是(选择题18题)A)12 B)
49、11 C)10 D)9Company LogoCCompany Logo第第3章顺序结构章顺序结构Top13:赋值表达式与赋值语句:赋值表达式与赋值语句Top14:数据的输出:数据的输出Top15:数据的输入:数据的输入程序的三种基本结构程序的三种基本结构 结构化程序设计 基本思想基本思想:任何程序都可以用三种基本结构表示任何程序都可以用三种基本结构表示,限制使用无条件转移语句(goto) 结构化程序:由三种基本结构反复嵌套构成的程序叫 优点:结构清晰,易读,提高程序设计质量和效率 三种基本结构 顺序结构ABAB流程图N-S图Company LogoPAB真假PBA真假v选择结构选择结构kA1
50、A2AiAnk=k2k=k1k=knk=ki.l二分支选择结构l多分支选择结构Company Logov循环结构l当型循环结构l直到型循环结构PA假真当P为真AAP真假A直到P为真注:A,B,A1.An可以是一个简单语句,也可以是一个基本结构Company LogoTop13:赋值表达式与赋值语句:赋值表达式与赋值语句v 考点考点1. 赋值语句必须在最后出现分号,分号是语句中必赋值语句必须在最后出现分号,分号是语句中必不可少的部分。不可少的部分。2. 任何赋值表达式都可以加上分号而成为赋值语句,任何赋值表达式都可以加上分号而成为赋值语句,C语言规定赋值号左边不能为常量或表达式。语言规定赋值号左
51、边不能为常量或表达式。Company Logo格式:printfprintf( (“格式控制串格式控制串”,输出表,输出表) )功能:按指定格式向显示器输出数据返值:正常,返回输出字节数;出错,返回EOF(-1) 格式输出函数格式输出函数 输出表:要输出的数据(可以没有,多个时以“,”分隔) 格式控制串:包含两种信息 格式说明: %修饰符格式字符 ,用于指定输出格式 普通字符或转义序列:原样输出 格式字符Top14:数据的输出:数据的输出Company LogoTop14:数据的输出:数据的输出d,ix,Xoucse,Efg%格式字符:格式字符:十六进制无符号整数十六进制无符号整数不带符号十进
52、制整数不带符号十进制整数十进制整数十进制整数指数形式浮点小数指数形式浮点小数单一字符单一字符字符串字符串八进制无符号整数八进制无符号整数小数形式浮点小数小数形式浮点小数e和和f中较短一种中较短一种百分号本身百分号本身int a=567;printf ( “%d”,a);int a=255;printf(“%x”,a);int a=65;printf(“%o”,a);int a=567;printf(“%u”,a);char a=65;printf(“%c”,a);printf(“%s”,“ABC”);float a=567.789;printf(“%e”,a);float a=567.789;
53、printf(“%f”,a);float a=567.789;printf(“%g”,a);printf(“%”);567ff101567AABC5.677890e+02567.789000567.789%说明: 格式字符要用小写格式字符要用小写 格式字符与输出项个数应相同,按先后顺序一一对应格式字符与输出项个数应相同,按先后顺序一一对应 输出转换输出转换:格式字符与输出项类型不一致格式字符与输出项类型不一致,自动按指定格自动按指定格式输出式输出例 main() unsigned short u=65535; printf(”u=%hdn,u); 输出结果:u=-1例 int a=3,b=4;
54、 printf(“%d %dn”,a,b); printf(“a=%d , b=%dn”,a,b); 例 int a=3,b=4; printf(“%d %dn”,a,b); printf(“a=%d , b=%dn”,a,b);输出结果: 3 4 a=3, b=411 11 11 11 11 11 11 1165535Company Logov附加格式说明符(修饰符)附加格式说明符(修饰符).n对实数,指定小数点后位数(四舍五入)对字符串,指定实际输出位数修饰符功 能m输出数据域宽,数据长度m,左补空格;否则按实际输出输出数据在域内左对齐(缺省右对齐)-指定在有符号数的正数前显示正号(+)+
55、输出数值时指定左面不使用的空位置自动填00在八进制和十六进制数前显示前导0,0 x#在d,o,x,u前,指定输出精度为long型在e,f,g前,指定输出精度为double型lTop14:数据的输出:数据的输出Company LogoTop14:数据的输出:数据的输出v 考点考点1. 格式字符、长度修饰符和附加格式字符以及它们格式字符、长度修饰符和附加格式字符以及它们各自的功能。各自的功能。2. 在格式控制字符串中,格式说明与输出项从左到在格式控制字符串中,格式说明与输出项从左到右在类型上必须一一对应匹配。右在类型上必须一一对应匹配。3. 在格式控制串中,格式说明与输出项的个数应相在格式控制串中
56、,格式说明与输出项的个数应相同,若格式说明明少于输出项,则多余的输出项同,若格式说明明少于输出项,则多余的输出项不输出,相反,对于多余的格式将输出不定值。不输出,相反,对于多余的格式将输出不定值。4. 在格式控制串中,可以包含任意的合法字符(包在格式控制串中,可以包含任意的合法字符(包括转义字符)。括转义字符)。Top14:数据的输出:数据的输出真题分析真题分析(2011年年9月)若程序中已给整型变量月)若程序中已给整型变量a和和b赋值赋值10和和20,请写出按以下格式输出,请写出按以下格式输出a、b值的语句值的语句 (填空题第填空题第6题题)。*a=10,b=20*Company Logop
57、rintf(“*a=%=d,b=%d*n”);Top14:数据的输出:数据的输出真题分析真题分析(2011年年9月)以下程序运行后输出结果是月)以下程序运行后输出结果是(填空题第填空题第7题)。题)。#include main() int a=37;a%=9; printf(%dn,a);Company Logo1Top14:数据的输出:数据的输出真题分析真题分析(2011年9月)以下不能输出字符A的语句是_。(注:字符A的ASCII码值为65,字符a的ASCII码值为97)(选择题21题)A)printf(%cn,a-32); B)B) printf(%dn,A);C) printf(%cn
58、,65); D) printf(%cn,B-1);Company LogoBCompany Logo格式:getchar( )功能:从键盘读一字符返值:正常,返回读取的代码值;出错,返回EOF(-1) 字符输入函数字符输入函数 例 #include main() int c; printf(Enter a character:); c=getchar(); printf(%c-hex%xn,c,c);运行结果:Enter a character:AA-hex41Top15 数据输入数据输入Company Logo 格式输入函数格式输入函数格式: scanf(“格式控制串”,地址表)功能:按指定
59、格式从键盘读入数据,存入地址表指定的 存储单元中,并按回车键结束返值:正常,返回输入数据个数 地址表:变量的地址,常用取地址运算符& 格式字符:d,i,o,x,u,c,s,f,e例 scanf(“%d”,&a); 输入:10 则 a=10例 scanf(“%x”,&a); 输入:11 则 a=17Top15 数据输入数据输入Company Logo附加格式说明符(修饰符)附加格式说明符(修饰符)l修饰符功 能hm*用于d,o,x前,指定输入为short型整数用于d,o,x前,指定输入为long型整数用于e,f前,指定输入为double型实数指定输入数据宽度,遇空格或不可
60、转换字符则结束抑制符,指定输入项读入后不赋给变量例 scanf(“%4d%2d%2d”,&yy,&mm,&dd); 输入 19991015 则1999yy, 10 mm, 15 dd例 scanf(“%3d%*4d%f”,&k,&f); 输入 12345678765.43 则123k, 8765.43f例 scanf(“%2d%*3d%2d”,&a,&b); 输入 1234567 则12a, 67b例 scanf(“%3c%2c”,&c1,&c2); 输入 abcde 则ac1, d c2Top15 数据输入数据输入Company Logo 输入分隔符的指定一般以空格、TAB或回车键作为分隔符其它字符做分隔符:格式串中两个格式符间字符例 scanf(“%d%o%x”,&a,&b,&c); printf(“a=%d,b=%d,c=%dn”,a,b,c); 输入 123 123 123 输出 a=123,b=83,c=291例 scanf(“%d:%d:%d”,&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度离婚案件二次起诉状编写要点与范本
- 二零二五年智慧城市建设项目劳务单项分包服务协议
- 二零二五年度电梯加装工程设计与施工总承包合同
- 二零二五年度离婚协议书中英对照+子女监护权协议合同
- 二零二五年度房屋销售合作开发与营销合同
- 2025版专业舞台表演服装定制合同
- 二零二五年度物流园区基础设施建设合同
- 二零二五年度酒店管理服务合同续签协议
- 2025年时尚简约橱柜采购及一站式安装服务合同
- 二零二五年厂房水电智能化升级与维护服务合同
- ai直播项目创业计划书
- 混合式教学模式
- 医院标识标牌采购投标方案
- 铁路机车乘务员职业健康检查表
- 1到六年级古诗全部打印
- 火龙罐疗法经典课件
- 无精子症的诊疗策略
- 初中校本课程-《海洋教育》云雨的故乡教学课件设计
- GB/T 3098.15-2023紧固件机械性能不锈钢螺母
- 英语字贴冀教版小学英语三年级上册单词和重点句型衡水体练习字帖
- 二升三暑期奥数培优(学生教材)
评论
0/150
提交评论