[工学]第2章 C语言基础.ppt_第1页
[工学]第2章 C语言基础.ppt_第2页
[工学]第2章 C语言基础.ppt_第3页
[工学]第2章 C语言基础.ppt_第4页
[工学]第2章 C语言基础.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计,第2章 C语言基础,本章将主要介绍C语言的基本语法和语义。 了解常量与变量的含义。 掌握数据类型及类型间的混合运算。 掌握运算符与表达式及其优先级和结合性,第2章 C语言基础,第2章 C语言基础,基本数据类型 常量 变量 运算符与表达式 各类型数据间的混合运算,讲课提纲,第2章 C语言基础,2.1 C的数据类型,数据类型决定: 1. 数据占内存字节数 2. 数据取值范围 3. 其上可进行的操作,数据往往都是以某种特定形式存在的, C语言提供的数据类型如下:,第2章 C语言基础,2.2 常量,整型常量:10、28; 实型常量:3.14; 字符常量:a、A ;,程序运行过程中,值不发生改变的量称为常量 。 直接常量 直接常量(即常数):10、3.14等都是直接常量 。 常量分为:,常量可以直接用于输入或赋给其他变量,第2章 C语言基础,2.2 常量,整型常量 三种形式: 十进制整数:由数字09和正负号表示.如 32、-8、0等 八进制整数:由数字0开头(注意:不是字母o) ,后跟数 字07表示.如 012、011、016 十六进制整数:由0x(或0X)开头,后跟09,af,AF表 示.如 0x123,0Xff,注意:八进制数、十六进制数的合法数字表 示,十六进制数中字母大、小写等同,0xaa等同于0xAA,第2章 C语言基础,2.2 常量,main() printf(“%d,%dn“,0,32767); printf(“%d,%on“,010,010); printf(“%d,%on“,0x10,0X10); ,输出结果是: 0,32767 8,10 16,20,举例:,第2章 C语言基础,2.2 常量,实型常量(浮点数) 即带小数点的实数。 表示形式: 十进制数形式:(必须有小数点) 如 0.1234、.1234、1234.、0.0 指数形式: 由尾数、字母e或E、指数三部分组成。 如3.85e4 或 3.85E4 均表示 3.85104,(e或E之前必须有数字;指数必须为整数),例:判断下列指数形式的合法性 13E6 3.5e4.5 .e3 1.23456e2 e,规范化的指数形式: 在字母e(或E)之前的尾数中,小数点左边应有一位(且只能有一位)非零的数字。例如: 3.478e2,第2章 C语言基础,2.2 常量,main() printf(“%fn“,0.1234); printf(“%en“,123.456); ,程序输出结果是: 0.123400 1.23456e+02,按规范化的指数形式输出,字符常量,字符常量区分大小写,如 a、I、A、n,如 a、A是两个不同的字符常量,字符常量的值:该字符的ASCII码值,如 a在内存的字节中存放的ASCII值是97,特殊的字符常量 :以一个“”开头的字符序列。 (转义字符),第2章 C语言基础,2.2 常量,定义:用单引号括起来的单个普通字符或转义字符.,第2章 C语言基础,2.2 常量,“转义字符”:即 将反斜杠()后面的字符转换成另外的意义。 如:n 中 的 “n” 不代表字母 n 而作为 “换行” 符。 (仍代表一个字符),以“”开头的特殊字符,第2章 C语言基础,2.2 常量,main() printf(“%c,%cn“,a,A); printf(“%d,%dn“,a,A); printf(“%c,%cn“,a-32,A+1); ,程序输出结果是: a,A 97,65 A,B,由于字符常量存放的是ASCII码值,所以字符常量可以同数值常量一样参加算术运算。,第2章 C语言基础,23 变 量,标识符 用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列称为标识符。 规定标识符只能由字母、数字和下划线三种字符组成,并且第一个字符必须为字母或下划线。,例:判断下列标识符号合法性 area、sum、 a&b、$234、 _above、PI 、name、Name、class、CLASS,第2章 C语言基础,23 变 量,C语言的标识符中,将区分大小写,name和Name、CLASS和class都是不同的标识符。,第2章 C语言基础,23 变 量,#define PI 3.14 main() float r,c,area; r=2.4; printf(“c=%f,area=%fn“,c,area);,r、c和area就是变量名 ,命名规则应遵守标识符命名规则,变量的定义 程序运行过程中,值可改变的量称为变量。每一个变量都应该有一个名字作为标识,属于用户标识符。,第2章 C语言基础,23 变 量,变量定义的一般格式: 数据类型 变量1,变量2,变量n;,C语言所允许的任何数据类型,包括基本数据类型及构造数据类型 等,合法标识符,例: int i; float data;,变量必须遵从“先定义,后使用”的原则。,第2章 C语言基础,23 变 量,整型变量 1. 分类 : 归纳起来,可以用以下6种整型变量。即: 有符号基本整型 signed int 有符号短整型 signed short int 有符号长整型 signed long int 无符号基本整型 unsigned int 无符号短整型 unsigned short int 无符号长整型 unsigned long int,第2章 C语言基础,23 变 量,2内存中的存放形式: 数据在内存中是以二进制形式存放的。,一个int整数通常用两个字节存放:其中最高位用来存放整数的符号, 0表示正整数, 1表示负整数 实际上,一个有符号整数在内存中,是以补码形式存放的。,第2章 C语言基础,23 变 量,(一)正整数 : 整数5在内存中存放的形式为: 0000000000000101 (最高位为符号位,该位为0表示数值为正),第2章 C语言基础,23 变 量,(一)负整数 : 负整数在内存中存放的形式为: 1111111111111011 (最高位为符号位,该位为1表示数值为负)。,第2章 C语言基础,23 变 量,例:int a,b; (指定变量a、b为整型) unsigned int c,d;(指定变量c、d为无符号整型),(三)无符号整数 : 两字节存放一整数,若说明为无符号整数,其中最高位不再用来存放整数的符号,16个二进制位全部用来存放整数,因此无符号整数不可能是负数 3整型变量的定义 :,编译程序会按各变量类型为其开辟相应的存储单元,但是存储单元中原有值并没被清除。,第2章 C语言基础,23 变 量,main() int a=10,b=25; unsigned short c=2,d=100; long e=123456,f=1234567; ,定义a、b为整型变量,它们的初值分别为10和25,定义变量c、d为无符号短整型,初值分别为2和100,定义e、f为长整型,初值分别为123456和1234567,对变量的定义,一般是放在一个函数的开头部分的声明部分.,规定,可在定义变量时给变量赋初值,称为变量初始化。,第2章 C语言基础,23 变 量,四 实型变量 1. 实型数据在内存中的存放形式 一个实型数据在内存中占4个字节(32位)。 2实型变量的分类(注意其有效位) C实型变量分为单精度(float型)、双精度(double型)和长双精度型(long double)三类。 实型变量也应在使用前加以定义。如: float x,y; (指定x、y为单精度实数) double z; (指定z为双精度实数),第2章 C语言基础,23 变 量,字符型变量 1字符变量的定义 : 一个字符变量在内存中占一个字节 char c1,c2; c1=a;c2=b;/*对c1、c2赋值 */ 2字符数据在内存中的存放及其使用方法 : 存放的是该字符相应的ASCII码。 例如: 字符a 的ASCII码为97,b为98,第2章 C语言基础,23 变 量,字符数据的存储形式与整数的存储形式类似。 所以字符数据与整型数据可以互相赋值。,字符型数据,第2章 C语言基础,23 变 量,字符数据和整型数据的相互赋值与变换输出:,举例: main() char c1,c2; int i,j; c1=97;c2=98; i=A;j=B; printf(“%c %cn”,c1,c2); printf(“%d %dn”,c1,c2); printf(“%c %cn“,i,j); printf(“%d %dn“,i,j); ,程序的运行结果是: a b 97 98 A B 65 66,返回,字符输出函数putchar() 字符输入函数getchar() 格式输入函数printf() 格式输出函数scanf(),常用输入输出函数,字符输出函数putchar(), 作用是向终端输出一个字符。 基本格式:putchar(ch); 用法说明: 参数ch使用比较灵活,可以是除字符串常量之外的字符常量、字符变量、整型常量、整型变量、实型常量、实型变量或各种表达式 在程序中使用putchar()函数时,该程序的开头必须用一条预编译命令“#include ”。 putchar()函数可以输出控制字符,如: putchar(n);,putchar函数,例 在putchar函数中使用不同参数输出字符A。 #include “stdio.h“ main() char ch=A; int i=65; putchar(ch); /*输出字符变量所代表的字符,得到运行结果中第一个A*/ putchar(i); /*输出以整型变量i的值为ASC码的字符,得到运行结果中第二个A*/ putchar(A); /*直接输出字符常量A,得到运行结果中第三个A*/ putchar(65); /*输出以十进制整型常量65为ASC码的字符,得到运行结果中第四个A*/ putchar(n); /*输出一个换行符*/ ,程序运行结果: AAAA,字符输入函数getchar() ,接收从终端(或系统隐含指定的输入设备)输入的1个字符。它没有参数。 基本格式: getchar();,getchar函数,例 输入单个字符 #include “stdio.h“ main() char ch; ch=getchar(); /*从键盘上接收一个字符*/ putchar(ch); /*在屏幕上输出该字符*/ ,例 输入输出字符练习。 #include main( ) char ch1,ch2,ch3; ch1=getchar( ); ch2=getchar( ); ch3=getchar( ); putchar(ch1); putchar(ch2); putchar(ch3); ,格式:printf(“格式控制串”,输出项表) 功能:按指定格式向显示器输出数据 返值:正常,返回输出字符个数;出错,返回EOF(-1),printf 函数,输出表:要输出的数据(可以没有,多个时以“,”分隔) 格式控制串:包含两种信息 格式说明: %修饰符格式字符 ,用于指定输出格式 普通字符或转义序列:原样输出 格式字符 d,i,o,x,u,c,s,f,e,附加格式说明符(修饰符),第3章 顺序结构程序设计,第3章 顺序结构程序设计,main() int a,b,c; a=printf(“%.5dn“,38); b=printf(“%en“,123.456789); printf(“a=%d,b=%d,c=%dn“,a,b,c); ,例3.5 printf函数的返回值,程序运行结果: 00038 1.23457e+02 a=6,b=12,c=8,3. 3. 4scanf函数,格式: scanf(“格式控制串”,地址表) 功能:按指定格式从键盘读入数据,存入地址表指定的 存储单元中,并按回车键结束 返值:正常,返回输入数据个数,地址表:变量的地址,常用取地址运算符& 格式字符:d,i,o,x,u,c,s,f,e,例 scanf(“%d”, 输入:10 则 a=10,例 scanf(“%x”, 输入:11 则 a=17,第3章 顺序结构程序设计,附加格式说明符(修饰符),例 scanf(“%4d%2d%2d”, 输入 19991015 则1999yy, 10 mm, 15 dd,例 scanf(“%3d%*4d%f”, 输入 12345678765.43 则123k, 8765.43f,例 scanf(“%2d%*3d%2d”, 输入 1234567 则12a, 67b,例 scanf(“%3c%2c”, 输入 abcde

温馨提示

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

最新文档

评论

0/150

提交评论