




已阅读5页,还剩51页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计 第2章 简单C程序设计 C Programming C语言标识符命名规则 C语言关键字 C语言常量与变量 本章主要内容提示 常用表达式与优先级 输入输出函数 C Programming 本章学习目标 知识目标 掌握C语言标识符命名规则 熟记C语言关键字 正确理解C语言常量与变量 掌握C语言数据类型及转换 掌握常用表达式与优先级 熟练使用输入输出函数 能力目标 正确定义常量与变量 能根据要求正确输入 数据、输出结果 分析问题并根据要求 正确编写简单程序 【学习提示】第1章中,我们已经初步了解C语言程序设计的有关概念,对C 语言程序的总体结构有了一定认识,同时也分析了几个简单的C语言程序。 可以看出,采用程序设计语言解决实际问题时,需要考虑:使用哪些类型的 数据?如何处理? C Programming 2.1 C语言标识符与关键字 C语言基本字符 字符是组成语言的最基本的元素。语言字符集由 字母,数字,空格,标点和特殊字符组成。在字符常 量,字符串常量和注释中还可以使用汉字或其它可表示 的图形符号。 C语言的基本字符包括: 1.字母 小写字母az共26个 大写字母AZ共26个 2.数字 09共10个 3.空白符 4.标点和特殊字符 其它可打印字符,如:! # (多个变量用“,”号隔 开,但必须以“;”结束。(在C语言程序中所 有标点符号必须在英文格式下输入) 变量的初始化 变量定义后,就可以给变量赋值,这个过程叫 变量的初始化。也可以在变量定义同时进行赋值 。 C Programming 变量类型 变量是存放常量值(数据变量是存放常量值(数据 )的,常量(数据)有类)的,常量(数据)有类 型之分,因而变量也有类型之分,因而变量也有类 型之分,变量类型是来确型之分,变量类型是来确 定其变量定其变量存储空间的长度存储空间的长度 和和存储格式存储格式。 原因原因 类型说明类型说明 一般格式:一般格式:类型名类型名 变量名表;变量名表; 举例举例: intint i, j, I, count; i, j, I, count; short a=y, b; short a=y, b; long l1, l2; long l1, l2; unsigned n1,n2; unsigned n1,n2; char c1, c2,c3; char c1, c2,c3; float x1, x2; float x1, x2; double w, y, z1, z2; double w, y, z1, z2; 注明注明 变量必需先定变量必需先定 义,后使用义,后使用 。 变量分类变量分类 整形整形变量变量 浮点浮点变量变量 字符变量字符变量 C Programming 例如: int x; double y; x=68; y=132.8; 或 int x=68; double y=132.8; 两种初始化结果相同。 【例2-1】整型变量定义与使用 # include void main() int a,b,c,d; /*定义变量 a,b,c,d为整型*/ unsigned s; /*定义变量s 为无符号整型变量*/ a=20;b=-28;s=10 /*给变量赋值*/ c=a+s; d=b+s; ; /* 空语句*/ printf(“a+s=%d,b+s=%dn”,c,d) /* 输出计算结果*/ C Programming 2.3 常用运算符与表达式 C语言运算符丰富,可以把除了控制语句和输入/ 输出以外的几乎所有基本操作都作为运算符处理 ,所以C语言运算符可以看作是操作符。 C语言中提供一般高级语言的算术、关系、逻辑 运算符外,还提供赋值符运算符,位操作运算符 、自增自减运算符等。因此,C语言运算符类型 全、表达式丰富、灵活。 C Programming 学习运算符应注意: 运算符功能 与运算量关系 要求运算量个数 要求运算量类型 运算符优先级别 结合方向 结果的类型 C Programming C语言常见运算与运算符 运算类型运算符运算符含义结合关系 算术运算+ - / %加、减、乘、除、整除、取余自左至右 关系运算 = = 等价于:= C Programming 复合赋值运算符举例 分析x=y=z=3+5这个表达式。 根据优先级:原式x=y=z=(3+5); 根据结合性(从右向左):x=(y=(z=(3+5)x=(y=(z=3+5) 复合运算符表达式等价表达式复合运算符表达式等价表达式 +=y+=x+5y=y+(x=5)/=y/= x+5y=y/(x+5) -=y-= x+5y=y-(x+5)%=Y%=x+5y=y%(x+5) *=y*=x+5y=y*(x+5) C Programming 2.3.4 关系运算与关系表达式 “关系运算”就是“比较运算”。即将两个值进行比较,判 断是否符合或满足给定的条件。如果符合或满足给定的条 件,则称关系运算的结果为“真”;如果不符合或不满足给 定的条件,则称关系运算的结果为“假”。 C Programming 关系运算符 关系运算符包括:、 = 、 = 、!= 关系运算符优先级: 前4种关系运算符的优先级别相同,后两种 也相同。前4种高于后两种。 关系运算符的优先级低于算术运算符但高于赋 值运算符 例如:ca+b等价于c(a+b); a=bc等价于a=(bc C Programming 关系表达式 用关系运算符将两个表达式(算术、关系、逻辑、赋值 表达式等)连接起来所构成的表达式,称为关系表达式 。 关系运算的一般形式: 表达式 关系运算符 表达式 关系表达式的值是一个逻辑值,即“真”或“假”。 举例:设 a=3,b=7,c=5,d=4,判断下面各表达式值 ab; a+bc+d (提示:等价与(a+b)(c+d)); a*ca+b /c(a+b) ab!=c /(ab)!=c a=bc /a=(bc) 例 int a=3,b=2,c=1,d,f; ab (ab)=c b+cb f=abc /表达式值0 /表达式值1 /表达式值1 /d=1 /f=0 = = != 优先级6(高) 优先级7(低) 结合方向: 自左向右 优先级别: 如下 C Programming 2.3.5 逻辑运算符和逻辑表达式 逻辑表达式:用逻辑运算符(逻辑与、逻辑或、 逻辑非)将关系表达式或逻辑量连接起来构成逻 辑表达式。 逻辑运算符及其优先顺序 C语言提供三种逻辑运算符: (1)中“%d”就是 格式说明,表示数据按照十进制格式输出。不同类型数 据用不同格式字符。 C Programming printf(“a=%d b=%f ”, a,b); 函数名 格式说明 输 出 表 列 普通 字符 v格式说明:由%和格式字符构成 v普通字符: 需原样输出的字符, 可为转义字符 C Programming 转义字符说明 在语句printf(“%d %dn”,a,b);“n”称为转 义符,在此表示输出后换行。 转义字符以反斜线“开头,后跟一个或几个字 符。转义字符具有特定的含义,不同于字符原有 的意义,故称“转义”字符。转义字符主要用来 表示那些用一般字符不便于表示的控制代码。除 “n”外,“t”表示横向跳格(下一输出区) ,“r”表示回车,“b”表示退格。 C Programming 输出格式字符 格式字符含义格式字符含义 %d带符号十进制整数%s输出字符串 %o无符号八进制整数%f输出含小数,隐含输出6位 小数 %x无符号十六进制整数%e以指数形式输出 %u无符号十进制整数%g%f或 %e中输出宽度短的一 个 %c输出单个字符 C Programming 附加格式说明字符 printf函数可以指定输出数据类型外,还可以通 过附加格式说明指定输出数据的字段宽度、精度 、对齐方式,附加格式说明字符含义如下,在具 体应用中加以领会。 格式字符 % m .n h/l 开始符 标志字符 宽度指示符 精度指示符 长度修 正符 格式转换符 C Programming 【例2-3】输出函数应用 void main() int a=88,b=89; /*定义整型变量a、b并赋 值*/ printf(“%d %dn“,a,b); /*按照整数格式输出a、 b值*/ printf(“%d,%dn“,a,b); /*增加非格式符号“,”输 出a、b值*/ printf(“%c,%cn“,a,b); /*按照字符格式输出*/ printf(“a=%d,b=%d“,a,b); /*增加非格式字符, 进一步说明并输出a、b值*/ 运行结果 88 89 88,89 X ,Y a=88,b=89 C Programming 程序举例 #include main() float f1 = 100.15799, f2 = 12.55, f3 = 1.7; int n1 = 123, n2 = 45, n3 = 6; printf(“printf WITHOUT width or precision specifications:n“); printf(“%fn%fn%fn“, f1, f2, f3); printf(“%dn%dn%dn“, n1, n2, n3); printf(“printf WITH width and precision specifications:n“); printf(“%5.2fn%6.1fn%3.0fn“, f1, f2, f3); printf(“%5dn%6dn%3dnn“, n1, n2, n3); C Programming 不同输出格式比较 void main() int a=29; float b=1243.2341; double c=24212345.24232; char d=h; printf(“a=%d,%5d,%o,%xn“,a,a,a,a); printf(“b=%f,%lf,%5.4lf,%en“,b,b,b,b ); printf(“c=%lf,%f,%8.4lfn“,c,c,c); printf(“d=%c,%8cn“,d,d); 运行结果: a=29, 29,35,1d b=1243,234131,1243,234131,1243,2341,1.24323e+03 c=242122345.242320,24212345.242320,24212345.2423 d=h, h C Programming 2.4.2 格式化输入函数scanf( ) scanf()函数是一个标准库函数,它的函数原 型在头文件“stdio.h”中,与printf函数相同 ,作用是从输入设备读取各种格式、各种类型的 数据。 scanf函数的一般形式 : scanf(格式控制字符串,地址列表) 其中:格式控制字符串的含义与printf类似,它指定输 入数据项的类型和格式。 地址列表是由若干个地址组成的列表,可以是变量的地 址( 地址表列 F 注意格式说明与输入变量之间的对应关系: 个数与类型 C Programming 使用scanf函数还必须注意事项: 使用scanf函数还必须注意以下几点: a. scanf()函数中没有精度控制,如: scanf(“%5.2f“, 是非法的。 b. scanf中要求给出变量地址,如给出变量名则会出错。 如 scanf(“%d“,a);是非法的,应改为scnaf(“%d“, 才是合法的。 c. 在输入多个数值数据时,若格式控制串中没有非格式字 符作输入数据之间的间隔则可用空格,TAB或回车作间隔 。 d. 在输入字符数据时,若格式控制串中无非格式字符,则 认为所有输入的字符均为有效字符。 C Programming 【例2-5】分析程序,正确输入数 据,写出输出结果 #include “stdio.h“ void main() int a,b,c; printf(“input a,b,cn“); scanf(“a=%d,b=%d,c=%d“, printf(“*a=%d,b=%d,c=%d*“,a,b,c); 运行结果 input a,b,c a=66,b=77,c=88 *a=66,b=77,c=88* C Programming 2.4.3 其它输入、输出函数 1.putchar函数(字符输出函数) 一般形式:putchar(字符表达式); 功能:向终端(显示器)输出一个字符(可以是可 显示的字符,也可以是控制字符或其它转义字符 )。 2. getchar函数(字符输入函数) 一般形式:c=getchar(); 功能:从终端(键盘)输入一个字符,以回车键确 认。函数的返回值就是输入的字符。 C Programming 3. puts函数(字符串、字符数组中字符串输出函 数) 一般形式:puts(char *str); 功能:将字符串或字符数组中存放的字符串输出到 显示器上。 例如:putstr(“ChinanBeijingn”); 4. gets函数(字符串输入函数) 一般形式:gets(char *str); 功能:接收从键盘输入的一个字符串,存放在字符 数组中。 C Programming #include main() charchar ch; printfprintf(“Press a key and then press Enter:“); ch = getchargetchar(); printfprintf(“You pressed “); putcharputchar(ch); putcharputchar(n); 举例: 运行程序 Press a key and then press Enter: A You pressed A C Programming 2.5 简单C程序设计 编写一个求解一元二次方程根的程序 问题分析: 相关公式:一元二次方程为 ax2 +bx+c=0(假定b2-4ac0) 在b2-4ac0条件下,方程有两个不等的实根 输入量:一元二次方程的系数,方程的系数可以是整数,也 可以是实数。 函数使用:计算平方根的函数,输入、输出函数。 输出量:方程的根。 中间变量:为简化程序,将重复使用的中间结果用变量表示 。 提示信息:增加程序友好性,在输入输出过程中给予必要的 提示信息 C Programming 算法设计: 定义变量a、b、c、p、q、x1、x2 计算中间变量p、q的值 输入a、b、c的值 计算方程根 显示求解结果 C Programming 源代码 #include #include void main() float a,b,c,disc,p,q,x1,x2; printf(“请输入一元二次方程系数 a b cn”); scanf(“%f%f%f“, /* 输入a,b,c */ disc=b*b-4*a*c; /* 计算中间变量值 */ p=-b/(2*a); q=sqrt(disc)/(2*a); /*调用库函数,计算平方根值*/ x1=p+q; x2=p-q; /* 计算方程的2个根 */ printf
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数学课程标准考试及答案
- 2025年贵州省安顺市公需课培训(专业技术人员继续教育)试题及答案
- 2025年贵州二级建造师考试试题库(答案+解析)
- 职业培训考试题目及答案
- 安全教务培训课件
- 高一开学考试试题及答案
- 商业合同履行守信承诺书(6篇)
- 语文高二月考试卷及答案
- 大学三级考试a卷真题及答案
- 软件开发笔试题目及答案
- 2025年亚马逊AWS云服务合同范本参考
- 班干部聘任仪式
- 2025年老年病学住院医师规培出科考试理论笔试答案及解析
- 激光武器物理课件
- 气瓶泄漏应急演练范文大全
- 2025年REACH 250项高度关注物质SVHC清单第34批
- 2025年软件架构师专业技术考核试题及答案解析
- 八上语文第9课《天上有颗南仁东星》课件
- 2025-2026学年苏教版(2024)小学科学三年级上册(全册)课时练习及答案(附目录P102)
- DBJT15-110-2015 广东省建筑防火及消防设施检测技术规程
- 2024年BRCGS包装材料全球标准第7版全套管理手册及程序文件(可编辑)
评论
0/150
提交评论