已阅读5页,还剩57页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计语言C 信息与计算科学教研室 GCGSTAFF.SHU.EDU.CN 第二章上机指导与解题分析 2.1 Turbo C 2.0集成开发环境的使用 进入集成开发环境 执行TC 2.0目录下TC.EXE 程序的输入 选择菜单File | New 运行程序 选择菜单Run | RunCtrl+F9 查看程序运行结果 选择菜单Run | User Screen 或按Alt+F5键 程序存盘 选择菜单File | Save 或按F2键 程序的加载 选择菜单File | Load或按F3键 2.1上机编程环境 输入编辑源程序 TEST.C 编译生成目标程序 TEST.OBJ 连接生成可执行程序 TEST.EXE 编辑 运行 编译连接 调试 单步 跟踪 断点 2.2 Turbo C集成开发环境 程序编辑的块操作 建立块:决定块首Ctrl+K,B 决定块尾Ctrl+K,K 块复制:Ctrl+K, C 块移动:Ctrl+K,V 块删除:Ctrl+K, Y 撤消块:Ctrl+K,H 临时进入DOS状态 进入:选择菜单File | Os shell 退出:键入命令EXIT 2.2 Turbo C集成开发环境 文件保存 F2 用户屏幕 ALT+F5 语法出错及修正 程序有语法错误,编译时会出现编译出错 框,按任意键后,出错信息显示在EDIT窗 口下方 的Message窗口中。 按F6键可使光标在EDIT和Message窗间切 换 2.2 Turbo C集成开发环境 Turbo C 2.0集成开发环境配置 选择菜单Option | Directores出现对话框: 选择菜单Option | Save保存新设置 Include directories: C:TCINCLUDE Library directores: C:TCLIB Output directory: E: Turbo C directory: C:TC Pickfile name: Current Pickfile: 2.2 Turbo C集成开发环境 程序运行调试 简单调试:ECHO法 (加PRINTF句) 程序的单步运行 菜单Run|Step Over或F8键(把函数作为语句) 菜单Run|Trace into或F7键(跟踪进入函数内) 程序运行到光标处 光标移到指定行选Run|Go toCursor 或F4键 程序运行到断点处 设置断点:光标,Break/Watch|Toggle breakpoint 或按Ctrl+F8键,出现红色光条 撤消所有断点:Break/Watch|Clear breaks 2.2 Turbo C集成开发环境 变量值的观察 单步运行时,可观察指定变量的值,指定的变量 及值显示在Message窗口中 指定(增加)要观察的变量: Break/watch |Add watch或按Ctrl+F7健, 删除所有观察变量: 选择菜单Break/watch | Remove all watchs 删除某个观察变量: 选中要删的变量后按Del或Break/watch | Delete watch 第三章 数据类型、运算符和表达 式 3.1 基本数据类型 char(1), int(2),unsigned(2),long(4) float(4), doubl(8) 3.2 常量 常量-程序运行过程中其值不能被改变的量。 3.2.1 整型常量 3.2.2 实型常量 3.2.3 字符常量 3.2.4 字符串常量 3.2.5 符号常量 3.2.1 字符常量 1.字符常量是用一对单引号(作为定界符)括起来 的 一个字符。 A, a, 5, ?, +, !, $。 字符不能是单引号 、双引号 “ 、反斜杠 。 2.字符常量具有数值,即其 ASCII 代码值。 C = A; 与 C = 65; 等价。 3.转义字符 一对单引号括起来,内部是 反斜线开头,后跟一个字符,如n。或 反斜线开头,后跟一个一到三位八进制数,或 后跟一个一到二位x开头的十六 进制数。(表 2.1) 3.2.2 字符串常量 1.字符串常量一对双引号括起来的字符系列。 例:“hello!“, “program“, “a“, “123.45“ 2.存储形式 字符串的每个字符占一个字节,在其尾部自 动 追加一个字符0 。 h e l l o ! 0 104 101 108 108 111 33 0 3.2.3 整型常量 整型常量即整常数 1.整数 取值范围:一般占一个机器字,如字长两字 节, 则为 -32768 +32767 表示形式: 十进制整数 以非0开头的整数 八进制整数 以0开头的整数 十六进制整数 以0x或0X开头的整数 例:-123、456、0123、-0x123 0000 7FFF 0001 FFFF-1 整数 int (2) 长整数long (4) 2.长整数 取值范围:占四字节 2147483648 +2147483647 表示形式:在整数后面加字母L或l 例:456l、-0456l、0x456l 3.2.4 实型常量 实型常量又称浮点数常量,只使用十进 制,有两种表示形式: 3.2.4 实型常量 十进制形式 由正负号、整数部分、小数点、小数部分组成 例:0.0、12.34、0.123、.123、-123.0 、- 123. 指数形式 由正负号、整数部分、小数点、小数部分、E(e) 后带或不带正负号的整数组成 合法:1e-5、-3.14157E+7、-28e-005、 123.45E0 非法:E8、3E-5.6、.e2、4e、e 单精度float 双精度double 长双精度longdouble 3.2.5 符号常量 符号常量即用一个特定的符号来代表一个常量 定义:#define 符号常量 常量(字符串) 例: #define R 5.179 先定义,后使用;符号常量一般用大写字母 例1: #define PRICE 35 #define NUM 10 #define SUM PRICE+NUM main ( ) printf(“total=%dn“, SUM*2); 结果:total=55 3.3 变量 变量:程序运行过程中其值可以改变的量。 变量名和变量值: 变量名 (标识符) a 变量值 98 变量存储单元地址100H 变量分为两类 普通变量:存放各种普通的数据 指针变量:存放地址 3.3 变量 3.2.1 整型变量 int 3.2.2 实型变量 float 3.2.3 字符变量 char 3.2.4 指针变量 int *p float *p 标识符 用来标识变量名、符号常量名、函数 名、 数组名、文件名的有效字符序列 标识符必须由字母或下划线开头,后跟字母或 下 划线或数字,字母区分大小写 C 语言认标识符的前8位 变量须“先定义,后使用”,一般用小写字母 3.3.1 普通变量定义的一般形式: 数据类型 变量名; 例: int a; int a,b; 3.3.2 定义普通变量时可以对它初始化 例: int a = 3, b = 2; 1 整型变量 数据类型 所占 位数 数 值 范 围 int16-3276832767 (-215 215-1) short int16-3276832767 (-215 215-1) long int32 -21474836482147483647 (-231 231-1) unsigned int160 65535 ( 0 216-1 ) unsigned short160 65535 ( 0 216-1 ) unsigned long320 4294967295 ( 0 232-1) 2 实型变量 数据类型所占位数数值范围有效数字 float3210 -37 103867 double6410 -307 103081516 long double128 10 -4931 104932 1819 例2:main() float x,y; x=111111.111; y=222222.222; printf(“%fn“,x+y); 运行结果为 333333.328125 3 字符变量 说明字符变量使用 char 标识符 一个字符变量在内存中占一个字节 将一个字符常量赋值给一个字符变量,实际 上 是把该字符的 ASCII 代码放到字符变量对应 的 内存单元中去 字符数据与整型数据的存储形式相类似,可 以 相互赋值或混合运算,一个字符数据既可以 以 字符形式输出,也可以整数形式输出 例3:main() char c1,c2; c1=a; c2=b; printf(“%c %cn“,c1,c2); printf(“%d %dn“,c1,c2); 例4: main() int c1 ; char c2; c1=a; c2=98; printf(“%c %cn“,c1,c2); printf(“%d %dn“,c1,c2); 运行结果:a b 97 98 4.关键字(保留字) C保留字(关键字)不允许作标识符 有四类,共32个 数据类型:char, int, unsigned, long, float, double, short 等14个。 存储类别:static, auto 等5个。 流程控制:if, else, do, for, while 等12个 。 运算符: sizeof. 3.4 运算符与表达式 3.4.1 算术运算符及其表达式 3.4.2 赋值运算符及其表达式 3.4.3 关系运算符及其表达式 3.4.4 逻辑运算符及其表达式 3.4.5 条件运算符及其表达式 3.4.6 逗号运算符及其表达式 3.4.7 和地址有关的运算符 3.4.8 sizeof运算符及其表达式 3.4.9 数据类型转换 3.4.10 运算符优先级结合律 运算符,表达式,句子 用运算符和括号将运算对象(包括常量、变量和 函数等)连接起来符合C语言规则式子叫表 达式 。 C 语言规定每个语句的最后必须有一个分号。 i + + a = 3 i + +; a = 3; 表达式可以语句中,语句不可以在表达式中。 a = ( b = 4 ) + ( c = 6 ); a = ( b = 4;) + ( c = 6 ); 错! 表达式 算术,关系,逻辑,赋值,条件,逗号 int x=1+2/3; 0b)?c:d; x=1,y=2; 3.4.1 算术运算符 加、减、乘、除和取余运算符: + 、-、*、/、% 除号/ - 当两个整型数相除时,结果为整数(商的整数 部分)1/4=0.25?1/4=01.0/4=0.25 - 当被除数和除数只要有一个是实型数时,结果 为实数的商。 取余号 % 123%10,123/10%10, 123/100%10 只能对整型数运算。 2. 自增、自减运算符:+、- 用法 - 前置运算: +或-用在变量之前,先将变量的 值增1或减1,再将该变量的新值用于表达式 中 - 后置运算: +或-用在变量之后,先将变量的 值用于表达式中,再将该变量的值增1或减1 例: i=5+j-; i=5+-j; i+j, i+j=i+(+j) 只能用于变量,不能用于常量和表达式 合法:i+; -j; i=(j+)*5; 非法:6-; i=(j*5)+; 例3:main() int a=5,c; c = + a; /* a先增1,再运算 */ c = c + a +; /* a先运算,再增1 */ printf (“a = %d tc = %dn“,a,c); 结果:a = 7 c = 12 3. 取负运算符:- 3.4.2 赋值运算符 1. 基本赋值运算符: = a = 3 a = a + 1 a = b = c = 1 2. 复合赋值运算符: + = 、-=、*=、/=、 % =、|=、=、=、 = = =b?2.4:5(a、b为整型) 若ab,表达式=2.4;若a=a printf(“%cn“,ch); 3.4.6 逗号运算符 ,printf(“%d”,(x=1,x=2,x=3); 例: (1) x=(3+14),40,y=10,y+20); (2) x=10+5,10+15 (3) x=(10+5,10+15) 3.4.7 i 的地址赋给指针p, 即指针 p 指向了变量 i 。 取内容运算符* :取出指针所指向的变量的内 容 例:y = *p; 指针 p 指向的变量值赋给变量 y 。 *p = x; 变量x的值赋给指针指向的变量 例9 指针的概念 main ( ) int x, *p; p = x = 20; printf(“x: %d n “, x ); printf(“*p: %d n“, *p); printf(“ printf(“ p: %x n “, p ); printf(“ 运行结果 : x: 20 *p: 20 p1 = p2 = c = *p1 + *p2; d = *p1 - *p2; printf (“a+b=%d n“, c ); printf (“a-b=%d n“, d ); 结果:a+b=18 a-b=2 3.4.8 sizeof运算符 sizeof() 1用于数据类型 使用形式:sizeof(type) 数据类型必须用括号括住。如sizeof(int)。 2用于变量 使用形式:sizeof(var_name)或sizeof var_name 例:int x=1; printf(“%d”,sizeof(x); printf(“%d”,sizeof(float); 3.4.9 数据类型的转换 不同数据类型的常量、变量混合运算时,要先转 换成同一类型后进行运算。转换方法有两种: 1. 自动转换 表达式运算时的转换规则: long double 高 double float unsigned long int long int unsigned int int char, short int 低 例11:10 + a + I * f - d / e int char float float double long int int float float double double 赋值号两边的数据类型不同时的转换规则: 赋值号右边的类型转换成左边的类型。当右边 的 数据类型比左边长时,右边的数据被截取所需 的 长度 2. 强制转换 形式: ( 类型名 ) 操作数 其中操作数可以是常量、变量或表达式。 例: ( double ) a ( float ) ( x + y ) ( int ) 4.5 / 3 例12: main() char c; int i; i=11361; /* 0x2c61*/ c=i; /* 0010110001100001*/ printf(“%c %d %x“, c, c, c); 运行结果:a 97 61 3.4.10优先级和结合性 运算符的优先级和结合性 优先级:操作数两边有两个运算符, 首先参加优 先级高的运算符一侧的运算。 单目算术关系逻辑条件赋值逗号(三目) 结合性:操作数两侧的运算符优先级相同时,C 规定了各种运算符的结合方向,即“自左至右” 或“自右至左”。例 y = 2 + 3 - 4 * 5 + 6 5 - 20 -15 + 6 -9 3.5 数据输入输出 C语言本身不具备执行输入输出的语句 , 输入输出功能是通过调用函数实现的。 3.5.1 格式化输入输出函数 3.5.2 字符输入输出函数 3.5.1 格式化输入输出函数 1. 输出函数 printf ( ) 功能:向显示器输出信息 使用形式: printf (“输出格式“, 输出表列); 输出格式可由三部分组成: 格式说明、按原样输出的字符、转义字符 输出表列是需要输出的一些数据,可以是表达 式 例:int a = 123; printf (“a=%dn“, a); 有多个输出数据,则: - 输出表列中各输出间用逗号分隔 - 格式说明与输出数据的个数相同且一一对应 如:int i = -5; float j = 98; printf (“i = %d, j = %-10.2f n“, i, j ); 输出为:i = -5, j =98.00 输出格式说明 1. 输出格式说明由%后跟一个格式字符组成: % d 以十进制整数的实际长度输出 % f 以十进制实数形式输出, 小数部分6位 % c 输出单一字符 % s 输出字符串 % 输出一个百分号 %x 以十六进制无符号形式输出整数 %o 以八进制无符号形式输出整数 %u 以十进制无符号形式输出整数 %e 以指数形式输出实数 %g 选用%f和%e中输出宽度较短的一种格式 2. 输出格式选择项 + 结果右对齐 - 结果左对齐 0 用于输出数值,不用位置填0 (缺省填空格) m 指定输出宽度(列数) .n 对实数,表示输出n位小数 对字符串,表示从左端截取的字符个数 l 用于输出长整型 L 用于输出长双精度型 例13: main ( ) int a = 345, b = -1; printf (“a = %d, %x, %o n“, a, a, a ); printf (“b = %u n“, b ); 结果为: a = 345, 159, 531 b = 65535 例14: main ( ) float x = 345.678; printf (“x = %f %e %gn“, x, x, x ); printf (“%f %n“, 1.0/3 ); 结果为: x = 345.678009 3.45678e+02 345.678 0.333333% 例15: main ( ) printf (“%3s,%7.2s,%.4s,%-5.3sn“, “CHINA“,“CHINA“, “CHINA“, “CHINA“ ); 结果为: CHINA, CH,CHIN,CHI 2. 输入函数 scanf( ) 使用形式 功能:从键盘接受输入信息 使用形式: scanf(“输入格式“ ,地址表列); 输入格式可由二部分组成: 格式说明、按原样输出的字符 格式说明和输出函数中的输出格式相似。 地址表列由需输入的变量的地址,或字符串首 地址列表组成。 如: int i; scanf (“%d“, 运行时输入:14 有多个数据输入,则: - 地址表列中各输入间用逗号分隔 - 格式说明与输入变量的个数相同且一一对应 - 输入数据时,数据之间以一个或多个空格分 隔 如:int i, j; scanf (“%d%d“, 运行时输入:3 4 当双引号中有按原样输入的字符,输入时应按 原 样键入。 如:scanf (“a = %d, b = %d“, 运行时输入:a = 3, b = 4 用“%c“格式输入字符,则空格和转义字符都作 为 有效字符输入 如: scanf (“%c%c%c“, 运行时应输入: abc 不应输入: a b c 输入实数时,不能规定精度。 如:scanf (“%7.2f“, 不允许。 输入格式说明 1. 输入格式说明由%后跟一个格式字符组成: % d 用于输入十进制整数 %
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年来宾道路客运输从业资格证考试真题保过
- 2024年客运从业资格证考试题目和答案解析
- 2024年晋中资格证客运题库
- 2024年景德镇客运从业资格证考试模拟考试
- 2023届新高考化学选考一轮总复习学案-热点1 离子方程式的正误判断
- 2024年广州海珠区住宅装修工程合同
- 2024年建筑工程合同详解版
- 《第八单元 世界经济的全球化趋势》试卷及答案-高中历史必修2-人教版-2024-2025学年
- 不同埋深下盾构输水隧洞预应力双层衬砌模型试验
- 提升泵站施工组织设计方案
- 我的家乡吉林课件
- 云南开放大学学前儿童社会教育离线作业1-4
- 二年级100以内加减乘除混合口算题(直接打印)
- 写作与沟通智慧树知到期末考试答案章节答案2024年杭州师范大学
- 2023全国大学生网络安全知识竞赛题库及答案大全
- 新课标“物联网实践与探索”模块教学设计与实施
- 大学生职业生涯规划书工业机器人技术专业
- 《中华民族多元一体格局》
- 《心理统计学》练习题库
- 金融资产投资合作协议
- 河南省2023-2024-学年度高一年级学业质量监测考试语文试题(含答案)
评论
0/150
提交评论