




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计,第一讲,笔试考试,二级C语言笔试只有选择题(70分)和填空题(30分)两种题型。这两种题型的解题方法有所不同; 在备考时要深化对基本概念和知识点的理解; 注重实践,同时要做一些针对性的练习,和 课后习题(必须做); 分析总结:特别是历年真题分析 争取从中找出规律性的东西以及解题技巧。,上机考试,上机考试只有三种题型,程序填空题,程序修改题和程序编写题。 上机考试题库也只有100套题,只要我们做会了100套题,上机考试绝对没有问题! 要充分利用我们的资料,我们教材的上机题库分册,争取要做完!尤其是我们的修改题和填空题,只要掌握了它的主要类型,60分就很简单拿到手了!,一、C语言特点 (了解),语言简洁、紧凑、灵活 运算符和数据类型丰富 程序设计结构化、模块化 生成目标代码质量高 可移植性好,例 C语言与Pascal语言比较 C语言 Pascal语言 含义 BEGIN.END 复合语句 if(e) s; IF(e) THEN s 条件语句 int i ; VAR i:INTEGER 定义i为整型变量 int a10; VAR a:ARRAY110 OF INTEGER 定义整型数组a int f(); FUNCTION f():INTEGER 定义f为返值整型的函数 int *p; VAR p:INTEGER 定义p为指向整型变量的指针 i+= 2; i=i+2 赋值i+2i i+,+i; i=i+1 i自增值 结论:C比 Pascal简练,源程序短。,C语言程序设计,32个关键字:(由系统定义,不能重作其它定义) auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef unsigned union void volatile while,C语言程序设计,9种控制语句: if( )else Switch for( ) while( ) dowhile( ) continue break goto return,C语言程序设计,34种运算符: 算术运算符:+ - * / % + - 关系运算符: = != 逻辑运算符:! & | 位运算符 : | & 赋值运算符:= 及其扩展 条件运算符:?: 逗号运算符:, 指针运算符:* & 求字节数 :sizeof 强制类型转换:(类型) 分量运算符:. - 下标运算符: 其它 :( ) -,C语言程序设计,C语言程序设计,简单的C语言程序 #include “stdio.h” /*宏定义部分*/ #define PI 0x22 /*宏定义部分,定义常量*/ main() /*求两数之和*/ int a,b,sum;float s; /*变量说明*/ a=10; /*把整数10赋值给变量a*/ b=20; /*把整数20赋值给变量b*/ s=PI*a*a; /*假如a是半径,则s相当于面积*/ sum=a+b; /*把两数之和赋值给变量sum*/ printf(“a=%d,b=%d,sum=%dn”,a,b,sum); /* 把计算结果输出到用户屏幕上*/ ,二 、C语言基本格式的总结 1. 必须包含这样的格式 main() 2. C语言的函数体可以分为:定义部分和执行部分。 3 .变量必须先定义后使用。 4. 每一条完整的语句后必须有一个分号。 5. 一行内可以写多个语句。 6.#开头的编译预处理命令。,C语言程序设计,格式特点: 习惯用小写字母,大小写敏感 不使用行号,无程序行概念 可使用空行和空格 常用锯齿形书写格式,C语言程序设计,main( ) . . . . ,main( ) int i , j , sum; sum=0; for(i=1; i10;i+) for(j=1;j10;j+) sum+=i*j ; printf(“%dn”,sum); ,结构特点: 函数与主函数 程序由一个或多个函数组成 必须有且只能有一个主函数main() 程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。 程序语句 C程序由语句组成 用“;”作为语句终止符 注释 注释的形式;功能和作用;注意事项;位置; /* */为注释,不能嵌套 不产生编译代码,例: /*This is the main /* of example1.1*/ ! */,编译预处理命令,C语言程序设计,三、标识符 定义:用来标识变量、常量、函数等的字符序列 组成: 只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线; 大小写敏感(大小写不同); (用户)不能使用关键字; 长度:最长32个字符 标识符分类: 关键字:32个关键字; 预定义 :系统保留的,特定用途的; 用户:用户自定义的,用来标识。 命名原则: 见名知意 不宜混淆 如l与I, o与0,常考题型:,1.以下不能定义为用户标识符的是_. A) scanf B) Void C) _3com_ D) int 2.以下不合法的用户标识符是_. A) j2_KEY B) Double C) 4d D) _8_,十进制:4956= 410+910 +510+610,二进制:1011=12+02 +12+12,十六进制:81AE=816+116 +1016+1416,八进制:4275=48+28 +78+58,四、数制及转换,各种进制之间的转换 二进制、八进制、十六进制转换成十进制 方法:按权相加,各种进制之间的转换(整数) 二进制、八进制、十六进制转换成十进制 方法:按权相加,十进制转换成二进制、八进制、十六进制 原理:,方法:连续除以基,从低到高记录余数,直至商为0,二进制与八进制之间的转换 二进制转换成八进制:从右向左,每3位一组(不足3位左补0),转换成八进制 八进制转换成二进制:用3位二进制数代替每一位八进制数,000 0 001 1 010 2 011 3 100 4 101 5 110 6 111 7,二进制与十六进制之间的转换 二进制转换成十六进制:从右向左,每4位一组(不足4位左补0),转换成十六进制 十六进制转换成二进制:用4位二进制数代替每一位十六进制数,例 (11010101111101)2=(0011,0101,0111,1101)2=(357D)16,例 (4B9E)16=(0100,1011,1001,1110)2=(100101110011110)2,0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 A 1011 B 1100 C 1101 D 1110 E 1111 F,数值的表示方法原码、反码和补码 原码:最高位为符号位,其余各位为数值本身的绝对值 反码: 正数:反码与原码相同 负数:符号位为1,其余位对原码取反 补码: 正数:原码、反码、补码相同 负数:最高位为1,其余位为原码取反,再对整个数加1,负数补码转换成十进制数:最高位不动,其余位取反加1,例 补码:11111001 取反:10000110 加1: 10000111=-7,一般用大写字母 是宏定义预处理命令,不是C语句 直接常量: 整型常量 实型常量 字符常量 字符串常量,如 #define PRICE 30,五、常量 定义:程序运行时其值不能改变的量(即常数 ) 分类: 符号常量:用标识符代表常量 定义格式: #define 符号常量 常量,常考题型: 1.以下选项中可作为C语言合法的整数的是_. 10110B 0386 0xffA x2f2 2.以下程序运行后输出结果是_.,整型常量(整常数) 三种形式: 十进制整数:由数字09和正负号表示.如 123,-456,0 八进制整数:由数字0开头,后跟数字07表示.如0123,011 十六进制整数:由0x开头,后跟09,af,AF表示. 如0x123,0Xff,例 12 与 12L,例 30000 为int型 65536 为long int 型,整型常量的类型 根据其值所在范围确定其数据类型 在整常量后加字母l或L,认为它是long int 型常量,问题: 0123 = ( )10 0x123 = ( )10 0Xff = ( )10,实型常量(实数或浮点数) 表示形式: 十进制数形式:(必须有小数点) 如0.123, .123, 123.0, 0.0, 123. 指数形式: (e或E之前必须有数字;指数必须为整数)如12.3e3 ,123E2, 1.23e4 , e-5 , 1.2E-3.5 考试题型如: 以下选项中合法的实型常数是_. A)5E2.0 B) E-3 C) .2E0 D) 1.3E 以下选项中不能作为合法常量的是_. A)1.234E04 B)1.234E0.4 C) 1.234E+4 D) 1.234E0,实型常量的类型 默认double型 在实型常量后加字母f或F,认为它是float 型,aaa,26,字符常量 定义:用单引号括起来的单个普通字符或转义字符. ,字符常量的值:该字符的ASCII码值,如 101 -A 012 -n 376 - x61 -a 60 -0 483 -(),例: A-101-x41-65,如 A65, a97, 048 , n10,如 a A ? n 101,转义字符:反斜线后面跟一个字符或一个代码值表示,字符常量与字符串常量不同,字符串常量 定义:用双引号(“”)括起来的字符序列 存储:每个字符串尾自动加一个 0 作为字符串结束标志,六、变量 概念:其值可以改变的量 变量名与变量值 变量定义的一般格式: 数据类型 变量1,变量2,变量n;,变量初始化:定义时赋初值,例: 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;,变量的使用:先定义,后使用,变量定义位置:一般放在函数开头,整型变量 占字节数随机器不同而不同,一般占一个机器字 shortintlong 可用sizeof(类型标识符)测量,实型变量 float:占4字节,提供7位有效数字 double:占8字节,提供1516位有效数字,字符型变量 字符变量存放字符ASCII码 char与int数据间可进行算术运算,例 a=D; /* a=68; */ x=A+5; /* x=65+5; */ s=!+G /* s=33+71; */,没有字符串变量,用字符数组存放,基本数据类型(标准C),整型,字符型,实型,有,无,说明:数据类型所占字节数随机器硬件不同而不同,上表以IBM PC机为例:,七、 运算符和表达式,学习运算符应注意:(如何识记) 运算符功能 与运算量关系 要求运算量个数 要求运算量类型 运算符优先级别 结合方向 结果的类型,算术运算符和表达式 基本算术运算符: + - * / % 结合方向:从左向右 优先级: - - * / % - + - (2) (3) (4) 注意事项: “-”可为单目运算符时,右结合性 两整数相除,结果为整数 %要求两侧均为整型数据,例 5/2 = -5/2.0 =,例 5%2 = -5%2 = 1%10 = 5%1 = 5.5%2,例 5/2 = 2 -5/2.0 = -2.5,例 5%2 = 1 -5%2 = -1 1%10 = 1 5%1 = 0 5.5%2 (),例,表达式3.6-5/2+1.2+5%2的值是_. A)4.3 B) 4.8 C)3.3 D)3.8,自增、自减运算符+ - 作用:使变量值加1或减1 种类: 前置 +i, -i (先执行i+1或i-1,再使用i值) 后置 i+,i- (先使用i值,再执行i+1或i-1) 识记:+在前先加后用; +在后先用后加。 ,例 j=3; k=+j; j=3; k=j+; j=3; printf(“%d”,+j); j=3; printf(“%d”,j+); a=3;b=5;c=(+a)*b; a=3;b=5;c=(a+)*b;,/k=4,j=4,/k=3,j=4,/4,/3,/c=20,a=4,/c=15,a=4,自增、自减运算符+ - 作用:使变量值加1或减1 种类: 前置 +i, -i (先执行i+1或i-1,再使用i值) 后置 i+,i- (先使用i值,再执行i+1或i-1),补充说明: + - 不能用于常量和表达式,如5+,(a+b)+ + -结合方向: 自右向左 优先级:- + - -* / % -+ - (2) (3) (4),例 -i+ -(i+) i=3; printf(“%d”,-i+); /-3,例 -i+ i=3; printf(“%d”,-i+);,学考结合: 有下列程序: (p16) main() int a=10,b=11; printf(“%d%d”, +a,b+); printf(“%d,%d,%dn”, -a,b-); 运行结果是。,例.以下程序的运行结果是_ main() int m=12,n=34; printf(“%d%d”,m+,+n); printf(“%d,%d,%dn”,n+,+m); ,赋值运算符和表达式 简单赋值运算符 符号: = 格式: 变量标识符=表达式 作用:将一个数据(常量或表达式)赋给一个变量,复合赋值运算符 种类:+= -= *= /= %= = = &= = |= 含义 : exp1 op= exp2 exp1 = exp1 op exp2,例 a=3; d=func(); c=d+2;,说明: 结合方向:自右向左 优先级: 14 左侧必须是变量,不能是常量或表达式,赋值表达式的值与变量值相等,且可嵌套,赋值转换规则:使赋值号右边表达式值自动转换成其左边变量的类型,例 3=x-2*y; a+b=3;,例 float f; int i; i=10; f=i; 则 f=10.0,例 int i; i=2.56; /结果i=2;,例: a=b=c=5 a=(b=5) a=5+(c=6) a=(b=4)+(c=6) a=(b=10)/(c=2),/表达式值为5,a,b,c值为5,/ b=5;a=5,/表达式值11,c=6,a=11,/表达式值10,a=10,b=4,c=6,/表达式值5,a=5,b=10,c=2,说明: 结合方向:自右向左 左侧必须是变量,不能是常量或表达式 优先级: 12,赋值表达式的值与变量值相等,且可嵌套,赋值转换规则:使赋值号右边表达式值自动转换成其左边变量的类型,例: a=12; a+=a-=a*a,例: int a=2; a%=4-1; a+=a*=a-=a*=3;,/a=-264 等价于a=a+(a=a-(a*a),/a=0 等价于a=a+(a=a*(a=a-(a=a*3),逗号运算符和表达式 形式:表达式1,表达式2,表达式n 结合性:从左向右 优先级: 15 逗号表达式的值:等于表达式n的值; 用途:常用于循环for语句中,例 a=3*5,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”,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东南方工报传媒有限公司招聘5人笔试模拟试题及答案解析
- 2025四川南充阆中市中医医院招聘编外工作人员5人(护士岗位)笔试备考试题及答案解析
- 护理医学专业毕业论文
- 毕业论文指导教师简介
- 护理系毕业论文设计图
- 2025安徽黄山市黄山区招引急需紧缺教育储备人才5人笔试模拟试题及答案解析
- 2025鄂尔多斯万正投资集团找35人笔试参考题库附答案解析
- 大学生毕业论文文秘专业
- 书法导游试题及答案
- 家长工作测试题及答案
- 2025至2030中国过程中的电机和驱动器行业产业运行态势及投资规划深度研究报告
- 粮食机收减损培训课件
- 2025年河北中考生物真题含答案
- 单位保洁服务方案(3篇)
- 血透患者高钾血症护理查房讲课件
- 2025年山东高考化学试卷真题及答案详解解读(精校打印)
- 道德与法治作业设计感悟
- 健康教育中医养生课件
- 小学生编织手工课件
- 广西现代物流集团招聘笔试真题2024
- CJ/T 449-2014切断型膜式燃气表
评论
0/150
提交评论