C语言基本知识.ppt_第1页
C语言基本知识.ppt_第2页
C语言基本知识.ppt_第3页
C语言基本知识.ppt_第4页
C语言基本知识.ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章C语言基本知识 2 1字符集和标识符 2 1 1字符集字符集是高级语言的编译系统所能识别的字母 数字和特殊符号 C语言的字符集包括 1 大小写英文字母 2 数字 3 运算符 6 特殊符号 7 空白符 空格符 换行符 制表符 2 1 2标识符 标识符 由字母 数字 下划线组成且由字母或下划线开头的字符串 C语言的标识符有 关键字 保留字 C编译程序预先登录的标识符 表示固定含义特定字 具有特殊含义的标识符用户自定义字命名规则 不能使用关键字 特定字作为用户定义字 也不能与函数名同名标识符的前8个字符要有区别 不同系统有不同规定 标识符最好能根据它所代表的含义取名字母的大小写本别代表不同的意义 2 2变量与常量 2 2 1变量程序执行中可以改变的量称为变量 变量包括变量名和变量值 定义变量的格式 类型说明符变量名表 变量初始化对于函数内部定义的普通变量 在没有用赋值号对其赋值之前 其初始值为不定值 有时候为了计算结果的正确性 我们要给变量一个初始值 称为变量的初始化 P15 16 2 2 2常量和符号常量 常量 程序运行过程中不能被改变的量 一般的数据显式写法均表示常量 如程序中 20 整型常量15 8 实型常量 a 字符常量符号常量 用一个符号表示一个常量定义格式 define标识符常量使用预处理命令 define定义符号常量时 为了与变量区别 通常使用大写字母命名 例2 1 definePI3 14159main intr doubles r 10 s 2 PI r printf 圆的周长是 f s 2 3C语言的数据类型 著名计算机科学家沃思提出 程序 数据结构 算法以考生各科成绩及总分排队问题为例 成绩的存放 以数组形式 排队方法 算法所以 存放数据的方式直接反映了一种语言的数据表达能力 数据的存储方式又称之为 数据类型 2 3 1 基本类型 整型 字符型 实型 单精度 双精度 2 3 2C语言的基本数据类型 短整型 普通整型 长整型 2 4 1整型常量 C语言提供了三种形式十进制例 256 308 120等八进制 以数字0开头表示的整数例 0235 0146等 0235 2 82 3 8 5 15710十六进制 以 0 x 开头的整型数如 0 x16 0 x28 2 4整型数据 一 分类 2 4 2整型变量 表2 1带限定词后不同类型整数的长度和范围 带方括号部分可以省略 注意 不同版本的C 类型长度不一定完全相同 二 定义方法整型变量分别以下列方式定义限定词int变量名表 1 基本整型 inta b c 2 短整型shortint或shorta b c 3 长整型longint或longa b c 4 无符号型unsigneda b c unsignedshorta b c unsignedlonga b c 例2 2 main inta b c d 指定a b c d为整型变量 unsignedu 指定u为无符号整型变量 a 12 b 24 u 10 c a u d b u printf a u d b u d n c d 运行结果为a u 22 b u 14 由此看到 不同类型的整型数据可进行算术运算 三 关于整型常量程序中出现的整型常数 系统按以下规则分配变量 内存单元 或赋值给相应变量当常数 量 在 32768 32767之间 则可赋给int longint变量 若超越 而在 2147483648 2147483647之间 则可赋给longint变量 3 若int shortint长度相同 则二者皆可赋值 4 一个非负整数 32768则可赋给unsignedint 5 一个常数后加 l 或 L 表示长整数 如123l 主要用于函数调用时形 实参数传递 四数据的溢出 在c中一个int型变量的最大允许值为32767 如果再加1 会出现什么情况 例2 3 整型数据的溢出 main inta b a 32767 b a 1 printf d d a b 运行结果为32767 32768 printf函数的功能是按照指定的格式显示数据 为给要显示的数据指定格式需要用转换说明符 和转换字符 根据需要转换字符有不同 显示整型数据的转换字符有 d o x u等 分别表示 d 表示把数据按十进制整数输出 o 表示把数据按八进制整数输出 x 表示把数据按十六进制整数输出 u 表示把数据按无符号整数输出 如下例 2 4 3用printf显示整型数据 例2 4 将整型变量按不同进制输出 include stdio h voidmain intx y z x 129 y 0127 z 0 x128 printf d d d n x y z printf o o o n x y z printf x x x n x y z 运行结果 129 87 296201 127 45081 57 128 1 d格式符 有以下几种用法 d 按整型数据的实际长度输出 md m为指定的输出字段的宽度 若数据位数小于m 则左端补空格 若数据位数小于m 则按实际位数输出 ld 输出长整型数据 也可指定宽度 在 后面加符号 数据显示左对齐 否则右对齐 例2 5 d格式符的不同使用方法 include stdio h voidmain inta 123 b 12345 printf 4d 4d n a b longc 135870 printf ld c printf 8ld c 运行结果 例2 6 o x u格式符的使用 include stdio h voidmain inta 1 printf x o d n a a a unsignedintb 65535 intc 2 printf d o x u n b b b b printf d o x u n c c c c printf d 8 sizeof int 运行结果 scanf 格式输入函数 scanf 格式信息 地址表列 10 15 例2 7 scanf输入整数main inta b c scanf d d 输入 10 15输出 a 10 b 15 a b 地址列表是用地址运算符 取变量的地址 2 4 4用scanf输入整型数据 使用scanf函数 要注意 一个输入域就是一个连续的非空白字符的数字串 格式信息中除了 开始的转换说明符 还可以有普通字符 只是这些字符不是显示在屏幕上 而是要求用户在输入数据时 要在相应的位置输入相同的字符 除空格 tab或换行符 使用scanf函数时注意转换说明的数量是否与输入变量的数量相匹配 并且检查每个转换是否适合对应的变量如果scanf函数调用中忘记在变量名前加 符号 将产生不可预知的且可能是毁灭性的后果 如 inta b c scanf d d d 输入形式 10 11 12 scanf a 3db 3oc x 输入形式 a 123b 456c 10 2 5实型数据 2 5 1实型常量有二种表示形式1 十进制形式如 0 126 523 64等2 科学计数法形式对于较大或较小的数 可用科学计数法形式0 0000126 1 26E 51260000 1 26E 6或1 26E6 E e 均可 分为单精度型与双精度型 分别为floatx y z 单精度 doublea b c 双精度 有的版本还支持 longdouble 一般地 单精度占4字节内存单元 双精度占8字节内存单元 长双精度10个字节 2 5 2实型变量 注意 不同机器对实型变量的有效数字长度的限制如 pc机 单精度一般为7位 双精度15位 单精度数值 10 38 1038双精度数值 10 308 10308 于是 floata a 123456 789则实际赋值a 123456 7 2 6 1字符常量用一对单引号括起来的单个字符 如 a A 二者不一样 以 开头后接一个字符或n个字符代表了一种特殊字符常量 转义字符 如 n 换行 r 回车 2 6字符型数据 其它如下表 字符形式 n t v b r f ddd xxh 功能 换行 横向跳格 即跳到下一个输出区 竖向跳格 退格 回车 走纸换页 反斜杠字符 单引号 撇号 字符 1到3位8进制数所代表的字符 1到2位16进制数所代表的字符 注意 三位八进制 表示ASCII码字符如 101 表示字母A又 x两位十六进制 十六进制ASCII字符 x41 表示字母A例 chara 101 2 如果需要输出百分号 则要用 include stdio h main floati 0 04 printf Itcanbeexpressedasapercentage d i 100 输出结果 Itcanbeexpressedasapercentage 40 其定义方式为 charc1 c2 c1 A c2 B 字符变量只占一个字节单元 用来存放一个字符的变量 2 6 2字符变量 一个字符存入一个字符变量 其对应单元存放的是其ASCII码 即ASCII码的二进制形式 由此 字符变量中的数据是一整型数据 输出时既可输出字符 亦可输出整数 且字符变量可作整数运算 2 6 3字符数据的实际存放形式 例1 main charc1 c2 c1 97 c2 98 printf c c c1 c2 运行结果ab 看如下几个例子 例2 main charc1 c2 c1 a c2 b c1 c1 32 c2 c2 32 printf c c c1 c2 运行结果AB 例3 main inti charc i a c 97 printf c d n c c printf c d n i i 运行结果 a 97a 97 有的系统将一个字节的整型变量的最高位 作为符号 这时对0 127之间的字符可输出正整数 ASCII 但128 255字符最高位为1 则作为负数输出 由此最好用unsignedint存放字符整数 ASCII 注 2 6 4用printf函数和scanf函数显示和输入字符 使用转换说明符 c可以输出或者输入单个字符注意 在使用scanf函数时 尽量不要将 c与其他转换说明一起使用 因为可能出错 例如 使用scanf d c 如果输入29w 则c的结果不是 w 而是 空格 解决办法是在控制字符串中加空格 2 6 5getchar函数和putchar函数 getchar函数是接收一个输入的字符 没有参数 返回的数据类型为整型 是字符的ASCII码 一般格式是 字符变量 getchar putchar是输出一个字符 需要输出的字符作为函数的参数 放在括号里 一般使用格式 putchar 字符变量或字符常量 用双引号括起来的字符串 例 GoodMorning 注意 A 与 A 是不同 字符串存放时 在最后加上 0 空字符 于是 2 6 6字符串常量 A A 0 但 A A 注意 1 字符串长度 实际字符个数 1 但最后 0不输出 printf GoodMorning 此处不写 0 自动加上 2 单个字符的字符串不能赋给字符变量 例 charc c a 是错误的 程序 计算产品代码的校验位 超市的每件商品都会有一个条码 称为通用产品代码 每个条码可以表示成12位的数 例如包装为260克的某碘盐的条码如下 024600010030商品种类生产厂商产品校验码校验码的作用是帮助识别条码是否错误 如果错误则前11位数字可能会和最后一位数字不一致 一种计算校验位的方法是 第1 3 5 6 9 11位数字相加 然后把第2 4 6 8 10位数字相

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论