C语言程序设计交通程序设计基础57课件_第1页
C语言程序设计交通程序设计基础57课件_第2页
C语言程序设计交通程序设计基础57课件_第3页
C语言程序设计交通程序设计基础57课件_第4页
C语言程序设计交通程序设计基础57课件_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

朱红梅梁伯栋C语言程序设计交通程序设计基础1234目录CONTENTS计算机程序设计基础C程序设计流程数据类型、运算符与表达式选择结构5循环结构6数组7函数“纸上谈兵”学不出程序设计本领只有大量上机、编程、调试,才能掌握程序设计算法结构模块二程序设计进阶模块三顺序程序设计选择程序设计循环程序设计数组函数模块化程序设计基础知识模块一软件基本概念程序设计流程标识符常量变量基本数据结构C程序设计主要教学内容知识目标1.掌握C语言基本数据类型2.掌握C语言变量定义及使用方法;3.掌握C语言运算符与表达式;4.掌握C语言输入输出语句。010203能力目标1.能够正确定义变量和数据;2.能够正确使用运算符与表达式;3.能够使用输入输出语句编写简单的程序。素养目标1.具有良好的职业道德修养;2.尊重劳动,诚实守信;3.具有精益求精的工匠精神、创新意识以及较强的就业创业能力;4.具有较强的团队合作精神;5.具有职业生涯规划意识。学习目标WHAT:学什么?任务3-1数据类型logo数据类型、运算符与表达式学习任务任务卡创建一个微信通讯录如果要建一个微信好友通讯录,可能要用到哪些信息?基本信息对应的英文实际值真实姓名True_nameZhang_xiaosheng年龄Age16性别SexM(男)电话号码Tel_numbe市CityShangHai微信号Wx_number12345678昵称Pet_nameLaBiXiaoSheng电子邮箱地址E-mailLabixiaosheng555@163.com有哪些类别的数据?数字字母符号课堂练习#include"stdio.h" /*主函数*/main(){ printf("*******************************************\n"); printf("Mybestfriend--LaBiXiaoSheng\n"); printf("*******************************************\n"); printf("TrueName:Zhangxiaosheng\n"); printf("Wx_Number:12345678\n"); printf("Sex:M\n"); printf("Age:16\n"); printf("Tel_Numbern"); printf("City:Shanghai\n"); printf("E_mail:labixiaosheng555@163.com\n"); printf("*******************************************\n");}运行结果C语言中有哪些数据类型呢?数据类型整型(int)

整型

短整型(short)

长整型(long)字符型(char)

基本类型

单精度型(float)实型

双精度型(double)长双精度型(longdouble)枚举型(enum)

数据类型

数组类型

构造类型结构体型(struct)

共用体型(union)指针类型空类型(void)数值型整型数据整型数据基本整型int有符号整型signedint无符号整型unsignedint短整型shortint有符号短整型signedshortint无符号短整型unsignedshortint长整型longint有符号长整型signedlongint无符号长整型unsignedlongint课程案例#include<stdio.h>main(){unsignedshortx;unsignedinty;unsignedlongz;scanf("%ld",&z);x=z;y=z;printf("x=%d,y=%d,z=%ld",x,y,z);}1、准确无误写代码2、读懂代码3、运行代码两次输入分别是:3712345678904、思考结果为什么不一样?整型数据一个字节几位二进制数码?1Byte=8bit在C语言中,数据长度因编译器不同可能不同,通常可以用sizeof关键字来进行测试。整型数据一般以int类型为基础,shortint的长度不大于int,int类型的长度不大于longint类型的长度,即length(short)<=length(int)<=length(long)。整型数据#include"stdio.h"main(){ inta; shortintb; longintc; chard; printf("int型数据在内存中存储的字节数为%d\n",sizeof(int)); printf("shortint型数据在内存中存储的字节数为%d\n",sizeof(shortint)); printf("longint型数据在内存中存储的字节数为%d\n",sizeof(longint)); printf("char型数据在内存中存储的字节数为%d\n",sizeof(char)); printf("变量a在内存中存储的字节数为%d\n",sizeof(a)); printf("变量b在内存中存储的字节数为%d\n",sizeof(b)); printf("变量c在内存中存储的字节数为%d\n",sizeof(c)); printf("变量d在内存中存储的字节数为%d\n",sizeof(d));}整型数据整型数据的存储整型数据是以二进制数补码的形式存储的。有符号数据:存储单元的最高位为符号位,1表示负数,0表示正数。无符号数据:存储单元均为数据位。短整型数据在存储器中占2个字节,如图所示什么是二进制数据?进制转换18世纪德国数理哲学大师莱布尼兹提出二进制;20世纪30年代中期,德国科学家冯诺依曼大胆的提出,抛弃十进制,采用二进制作为数字计算机的数制基础

穿孔纸带是早期计算机的输入和输出设备,它将程序和数据转换二进制数码:带孔为1,无孔为0,经过光电扫描输入电脑进位计数制进位计数制进位计数制进位计数制也称数制,就是人们利用数字符号按进位原则进行数据大小计算的方法。人们最熟悉的进制就是十进制,另外还有二进制、八进制及十六进制等。01指一个数制中表示基本数值大小不同的数字符号,如0,1,2,3,4,5,6,7,8,9数码02指一个数值所使用的数码的个数,如10,2,6,8基数03指一个数值中某一位上的1所表示数值的大小,如十进制123,1的位权是102=100;2的位权是101=10,3的位权是100=1位权01基数:10逢十进一,借一当十数值后面加字母D表示十进制03基数:8逢八进一,借一当八在数值后面加字母O表示八进制02基数:2逢二进一,借一当二在数值后面加字母B表示二进制04基数:16逢十六进一,借一当十六在数值后面加字母H表示十六进制012345678901234567010123456789ABCDEF十进制按位权展开表示方法:1025位权:103102101100所有数码实际大小的总和:1×103+0×102+2×101

+5×100=1025思考:计算机中为什么使用二进制数来表示数据?进位计数制不足:使用不方便,阅读与书写困难。010203在物理上,表示两种状态的元件结构简单,易实现;在运算时,计算规则简单;在逻辑上,刚好对应真和假。十进制转非十进制八进制二进制十六进制十进制方法整数部分,除基取余小数部分,乘基取整十进制转换成二进制(1)整数部分:除2取余法,商为0止,倒排列方法整数部分,除基取余小数部分,乘基取整例:将(57)10转换成二进制1100110572281473122222余数(低位)余数(高位)十进制转换成二进制(2)小数部分:乘2取整法,顺排列方法整数部分,除基取余小数部分,乘基取整转换结果:(0.875)10=(0.111)2例:将(0.875)10转换成二进制小数0.875×2=1.75整数部分=10.75×2=1.5整数部分=10.5×2=1

整数部分=1(高位)(低位)练习:将(215.25)10转换成二进制数(215)10=(11010111)2(0.25)10=(0.01)2

(215.25)10=(11010111.01)2非十进制转十进制八进制二进制十六进制十进制方法按位权展开,乘权求和二进制转换成十进制方法按位权展开,乘权求和(1025)10=1×103+0×102+2×101

+5×100=1025(1101.01)2=1×23+1×22+0×21

+1×20+0×2-1+1×2-2

=(13.25)10这里,2是基数,”2i”为位权八进制、十六进制转换成十进制(1)八进制转换成十进制(2)十六进制转换成十进制方法按位权展开,乘权求和(24.6)8=2×81+4×80+6×8-1=(20.75)10(4C.A)16=4×161+12×160+10×16-1=(76.625)10十六进制数共有16个不同的符号:0,1,2,3,4,5,6,7,8,9,10,A,B,C,D,E,F其中A表示10,B表示11,C表示12,D表示13,E表示14,F表示15常用数制对照表十进制二进制八进制十六进制十进制二进制八进制十六进制00008100010811119100111920102210101012A30113311101113B41004412110014C51015513110115D61106614111016E71117715111117F二进制数补码原码:(1)正数原码既是它二进制(2)负数的原码就是把符号位数值化补码:(1)正数补码与原码相同(2)负数的补码是反码末位(最右端位)加1。反码:(1)正数反码与原码相同(2)负数的反码,其原码的符号位不变,其它位按位取反001101110011011114,135‬D原码0011011100110111反码0011011100110111补码1011011100110111-14,135‬D原码1100100011001000反码1100100011001001补码完全相同二进制数补码课堂练习5,145‬D原码反码补码-5,145‬D原码反码补码#include"stdio.h" //文件包含/*定义sum函数*/unsignedshortsum(unsignedshortx,unsignedshorty){unsignedshortz; //声明定义变量zz=x+y; //计算z等于x与y的和值return(z); //将z的值返回,通过sum带回调用处}/*主函数*/main() {unsignedinta,b,c; //声明定义变量a,b和cscanf("%d%d",&a,&b); //输入变量a和b的值c=sum(a,b); //调用sum函数,将得到的值赋给cprintf("c=%d\n",c); //输出变量c的值}请输入以下程序,分别输入1234567890和1111111111,看看结果和你笔算的结果一样吗?为什么?‭01001001100101100000001011010010‬‭01000010001110100011010111000111‬‭10001011110100000011100010011001‬+课堂练习整型数据分类整型数据的存储二进制数及转换二进制数的原码、反码、补码*整型数据小结数据类型整型(int)

整型

短整型(short)

长整型(long)字符型(char)

基本类型

单精度型(float)实型

双精度型(double)长双精度型(longdouble)枚举型(enum)

数据类型

数组类型

构造类型结构体型(struct)

共用体型(union)指针类型空类型(void)实型数据实型数据单精度float双精度doublefloat长双精度

longdoublefloat全部是有符号实型数据!实型数据字符型数据整型(int)

整型

短整型(short)

长整型(long)字符型(char)

基本类型

单精度型(float)实型

双精度型(double)长双精度型(longdouble)枚举型(enum)

数据类型

数组类型

构造类型结构体型(struct)

共用体型(union)指针类型空类型(void)字符型数据字符型数据带符号字符型char无符号字符型unsignedchar字符型数据二进制数字符存储存储:A存储65(01000001‬)显示:AA65%c%d字符型数据本质上是一种整型数据,可以和数值型数据进行各种运算。只是当需要以字符形式输出时,按对应的图案输出。比如inta=65;print("%c",a);将输出‘A’字符型数据字符‘A’为什么是65?不是66、67?ASCII字符ASCII(美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,到目前为止共定义了128个字符。

常用字符:10:换行符13:回车符48-57:数字0-

温馨提示

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

评论

0/150

提交评论