天津财经大学耿小庆C语言课件第2章数据类型_第1页
天津财经大学耿小庆C语言课件第2章数据类型_第2页
天津财经大学耿小庆C语言课件第2章数据类型_第3页
天津财经大学耿小庆C语言课件第2章数据类型_第4页
天津财经大学耿小庆C语言课件第2章数据类型_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计(TheCProgrammingLanguage)耿小庆第二章数据类型、常量和变量第二章数据类型、常量和变量§2-1基本数据类型§2-2常量§2-3变量§2-4常用输入输出函数重点:常量、变量的各种用法,printf()、scanf()的使用。

难点:字符常量、字符串常量、printf()、scanf()的格式说明。§2-1基本数据类型空值类型void字符型char数据类型整型int双精度型double浮点型(单精度型)float基本数据类型联合体union构造数据类型数组结构体struct枚举地址类型:指针第2章第8章第6、7章第5章第6章

2.1.1数据类型的分类§2-1基本数据类型2.1.2基本数据类型的取值范围类型长度取值范围char8位(1字节)-128~127unsignedchar8位(1字节)0~255int(short)16位(2字节)-32768~32767unsignedint(short)16位(2字节)0~65535long32位(4字节)-2147483648~2147483647unsignedlong32位(4字节)0~4294967295float32位(4字节)-3.4×1038~3.4×1038double64位(8字节)-1.7×10308~1.7×10308longdouble80位(10字节)-1.7×10308~1.7×10308§2-2常量在程序运行过程中,其值保持不变的量为常量。大多数常量在程序中不必进行任何定义或说明,可直接使用。C语言中常量分为:整型常量(整数)实型常量(实数)字符常量字符串常量符号常量可直接使用必须进行宏定义§2-2常量2.1.1整型常数(即整数)不允许加入分节符,取值范围按CPU所处理的机器字的位数。

符号正负数分别在数值前加+、-号,+号可以省略。如:356,-265前缀表示进制十进制:无前缀八进制:前缀0十六进制:前缀0x30、030、0x30后缀长整数L或l30l无符号后缀U或u30u§2-2常量2.2.2实型常量(即实数)十进制双精度小数形式:±整数.小数30、30.不同指数形式:±尾数e(E)±阶码阶码必须为整数e(E)两边均不能缺省尾数前面的+号和-号表示整个数的正负阶码前面的+号和-号则表示数值的大小

1.5e3-----1500,0.0000000023---2.3e-9×1.527e、2e、e、1.3e2.5§2-2常量2.2.3字符常量字符常量——用一对单引号包围起来的单一字符表示方法:直接表示法:可显示字符'A','b','1','','?',‘0'不可显示字符‘\n’‘\t’‘\a’特殊字符‘\\’‘\’’‘\”’ASCII码表示法:‘\三位八进制码’‘\x两位十六进制码’0~255‘A’---‘\101’---‘\x41’字符常量直接具有数值(一字节整数)c=65;c=’A’;c=’A’+5;z=’@‘+’!’‘A’--65,‘a’--97‘0’--48‘’--32‘?’--63ASCII8位§2-2常量main(){chari;i='A';prinrf("%c=%d,%c=%d,%c“,i,i,i+32,i+32,i+2);}A=65,a=97,C将大写字母转换为小写字母#include"stdio.h"main(){charc;c=getchar();if(c>='A'&&c<='Z')putchar(c-'A'+'a');}Kk§2-2常量2.2.4字符串常量字符串常量——用一对双引号包围起来的一串字符存储:字符串中的字符按从左至右的顺序,依次占用内存的连续储存空间n+1,自动在串尾加一结尾标志NULL—0‘\0’7332971093297……0

“Iamastudent.”“asd\b\4d\xfio\”0”‘I’‘’‘a’‘m’‘’‘a’……‘\0’‘’‘\0’“”——空格串‘\0’“”——空串2字节1字节§2-2常量2.2.5符号常量——代替常量的标识符格式:

#define标识符常量#definePI3.1415926#defineARRAY_SIZE100优点:修改程序容易#definePI3.14159->#definePI3.14易理解、可读性强#defineBLUE1#defineEOF–1#defineNULL0#defineSIZE50#开头无;一句占一行§2-3变量2.3.1变量及变量的说明变量就是在程序运行期间其值可以发生变化的量变量必须先定义(说明)才能使用变量定义格式:[存储类型]数据类型变量名表;变量名--标识符sum,value,profit同类型变量可一起说明intsum,value;变量一经说明,编译系统就为其分配存储空间变量存储空间的首地址,即为变量的地址。取地址符号&2000H2001H2002H2003Hfloatprofit;&profit=2000Hscanf("%d",&profit);profit§2-3变量2.3.2变量的类型整型整型基本型的长度即为CPU的字长16位无符号整数变量只能接收、存放不带符号整数。inti;shorts;longl;unsignedintui;

实型单精度float双精度double floata;doubled;字符型char8位charc;unsignedcharuc;§2-3变量2.3.3变量的初始化——在说明变量的同时,给变量赋初值目的:在程序开始运行时,某些变量就具有确定的值。格式:[存储类型]数据类型变量名=初值;初值--常量、常量表达式、变量、变量表达式inta,b=20,c;charc='A';floatpi2=2*3.14159;inti=10;intj=i+10;§2-4常用输入输出函数2.4.1格式输入输出函数所谓格式化输入,输出是指按照指定的格式完成输入,输出工作格式输出函数printf()格式:printf(“输出格式字符串”[,输出项序列]);格式说明其它字符转义序列§2-4常用输入输出函数输出格式字符串格式说明:%+附加字符+格式字符%——格式转换说明符,亦称转换说明符附加字符:±m.n①宽度说明m%4d至少4位②精度说明.n%.2f保留两位小数字符串截前n位%6.2f(6位,2位小)③-向左靠齐%-10d转义字符以\开头转码序列\n回车换行,\t(水平制表,8),\b退格,\r回车,\f换页其它字符原样输出§2-4常用输入输出函数格式字符含义%d有符号十进制整数%ld有符号十进制长整数%o无符号八进制整数%x无符号十六进制整数%u无符号十进制整数%c单个字符%s字符串%f定点小数实数%e指数形式实数%g%f和%e的较短者%%%本身输出格式字符及其含义§2-4常用输入输出函数main(){prinrf("Helloworld!\n");prinrf("Hello\nworld!\n\nHelloworld!");}Helloworld!Helloworld!空一行Helloworld!§2-4常用输入输出函数输出项序列输出项可以缺省输出项序列与格式说明符一一对应(个数、顺序)main(){intn;n=511;printf("whatisthevalueof%dinoctal?\n",n);printf("%s%ddecimalis%ooctal.\n”,“Right",n,n);}whatisthevalueof511inoctal?Right511decimalis777octal.§2-4常用输入输出函数main(){staticchars[]="ABCDEFGHIJKLMN";doublex=1.2345678;prinrf("N1<%s>\n",s);prinrf("N2<%20s>\n",s);prinrf("N3<%-20s>\n",s);prinrf("N4<%5s>\n",s);prinrf("N5<%-5s>\n",s);prinrf("N6<%.10s>\n",s);prinrf("N7<%20.10s>\n",s);prinrf("N8<%f>\n",x);prinrf("N9<%10.2f>\n",x); prinrf("N10<%-10.2f>\n",x);prinrf("N11<%010.2f>\n",x);prinrf("N12<%e>\n",x);prinrf("N13<%g>\n",x);}N1<ABCDEFGHIJKLMN>N2<ABCDEFGHIJKLMN>N3<ABCDEFGHIJKLMN>N4<ABCDEFGHIJKLMN>N5<ABCDEFGHIJKLMN>N6<ABCDEFGHIJ>N7<ABCDEFGHIJ>N8<1.234568>N9<1.23>N10<1.23>N11<0000001.23>N12<1.23457E+00>N13<1.234568>§2-4常用输入输出函数

格式输入函数scanf()格式:scanf("输入格式字符串",输入项地址序列);scanf(“%d%f”,&a,&b);输入格式字符串在“输入格式字符串”中,一般只含输入格式说明符 ×scanf(“%d\n”,&a);scanf(“Enteraninteger:%d”,&a);输入多个数据,数据之间用空格、Tab键、回车键作为间隔符。scanf(“%d%d%d”,&a,&b,&c);输入102030或10->20->30%md%*md——从输入序列中读入或禁止m位在使用输入字符时,凡从键盘输入的字符,包括空格、Tab键、回车键等均被作为有效字符接收。scanf(“%c%c”,&c1,&c2);输入序列:AB结果:c1=’A’,c2=’’避免方法:a.ABb.scanf(“%c%*c%c”,&c1,&c2);printf(“Enteraninteger:”);scanf(“%d”,&a);§2-4常用输入输出函数格式字符含义%d有符号十进制整数%ld有符号十进制长整型%o无符号八进制整数%x无符号十六进制整数%u无符号十进制整数%c单个字符%s字符串%f单精度(浮点型)实数%lf双精度实数输入格式字符及其含义§2-4常用输入输出函数输入项序列输入项序列必须是地址序列,除了%s其它必须加&输入项序列与格式说明符的个数不一定相等main(){inti;floatf;charc,s[10];scanf(“%1d%*3d%c%6s%2f”,&i,&c,s,&f);printf(“i=%d,c=%c,s=%s,f=%f\n”,i,c,s,f);}123456789012345i=1,c=5,s=678901,f=23.000000§2-4输入输出函数

2.4.2字符输入输出函数#include<stdio.h>

字符输入函数getchar()功能:从标准设备(键盘)读入一字节代码(输入一字符)intc;c=getchar();返回整型输入^Z时,得到标志值-1文件尾EOF字符输出函数putchar()putchar(c); putchar(getchar());putchar(‘A’);putchar(65);putc

温馨提示

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

评论

0/150

提交评论