版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
CONTENTS1任务1-3:操作要点及步骤2知识点1-7关键字、标识符、知识点1-8数据类型3知识点1-9常量、知识点1-10变量4知识点1-11printf()格式输出函数5【例1-3-1】符号常量、变量定义、初始化与输出任务1-3:操作要点及步骤1C语言项目化教程(项目引领、任务驱动)主讲:朱香卫教授1.创建工程项目及项目主文件(main.c)
(1)打开d盘上的d:\CLanguageProgram\StuScoreManagementSystem文件夹,在文件夹下找到StuScoreManagementSystem.dsw工作空间文件,双击可打开任务1-1已经建立的工作空间。任务1-3:操作要点及步骤
(2)创建项目工程
选择“File”→“New”菜单命令,新建一个项目类型为“Win32ConsoleApplication”项目,项目名称为:task1_3,注意选择将task1_3项目添加到当前的工作空间(StuScoreManageSystem),即单击“Addtocurrentworkspace”单选按钮。新建的task1_3项目为活动的项目,为保险起见,可以在task1_3项目上单击右键,将该项目设置为活动的项目(SetasActiveProject快捷菜单)。
(3)创建C源代码文件在VC++集成开发环境下选择“File”→“New”菜单命令,在出现新建文件对话框中输入main.c文件名,然后单击“OK”按钮,则新建了C语言的main.c源文件。2.编写程序源代码、编译、组建、运行程序(1)编辑main.c源程序文件
在工作空间视图中task1_3项目“SourceFiles”文件夹中双击main.c文件,打开main.c文件,在空的代码编辑窗口中输入如下代码:即将任务1-2中task1_2项目中的main.c的源代码全部复制到该项目中的main.c空文件中,并且将所有的整型(int)改浮点型(float),同时将printf()函数中的%d改为%f,将所有的注释中的“整数”全部改为“浮点数”。(2)编译源文件(3)连接应用程序(4)运行应用程序知识点1-7关键字、标识符、知识点1-8数据类型2知识点1-7关键字、标识符知识点1-8数据类型C语言项目化教程(项目引领、任务驱动)主讲:朱香卫教授一、关键字在C语言中预先规定了一批标识符,它们在程序中都代表着固定的含义,不能另作他用,这些字符称为关键字,也称为保留字。二、预定义标识符即预先定义并具有特定含义的标识符。预定义标识符是C语言中系统预先定义的标识符,如系统类库名、系统常量名、系统函数名。预定义标识符具有见字明义的特点,如函数printf()为“格式输出”函数,英语全称加缩写printf;函数scanf()为“格式输入”函数,英语全称加缩写scanf等。预定义标识符可以作为用户标识符使用,只是这样会失去系统规定的原意,使用不当,程序会出错。三、用户标识符由用户根据需要定义的标识符称为用户标识符,一般用来给C语言中的变量名、函数名、数组名、文件名、类型名等命名。知识点1-8数据类型根据ANSI标准,C语言常用的关键字分类如下:数据类型关键字包括char、double、float、int、long、short、unsigned、union、void、enum、signed、struct等;控制语句关键字包括do、break、case、continue、for、goto、return、else、default、if、while、switch、extern等;存储类型关键字包括auto、register、static;
其他关键字包括const、sizeof、typedef、volatile、inline。知识点1-7关键字、标识符知识点1-9常量、知识点1-10变量3一、常量:是指在程序运行过程中其值不能改变的量。根据数据类型的不同,常量又可分为4种类型。知识点1-9常量、知识点1-10变量C语言项目化教程(项目引领、任务驱动)主讲:朱香卫教授上表中字符常量的转义字符如表所示常量的类型取值范围整型常量12、0、-34为整型常量实型常量3.14、-2.3为实型常量字符常量一般字符:‘a’、‘A’、‘c’;转义字符:‘\n’符号常量符号常量在使用之前必须先定义,习惯上符号常量的标识符用大写字母,其一般格式如下:#define标识符常量符号常量是预编译指令#define,不是语名,所以行末没有分号,用来指定用一个符号名称代表一个常量,其功能是把该标识符定义为其后的常量值。例如:#definePI3.1415926 //定义符号常量PI符号常量PI代表3.1415926,它只是用符号常量代表一个字符串,在预编译时仅进行字符替换,在预编译后,符号常量就不存在了(全置换成3.1415926了),对符号常量的名字是不分配存储单元的。
一经定义,以后在程序中用该标识符代替该常量出现,这提高了程序的可读性,也给程序的修改带来了极大的方便(如果程序中需要改变PI的精度,只需要修改符号常量的定义即可,程序中所有用到符号常量PI的地方,精度全部改了)。转义符ASCII码字符含义\00NULL表示字符串结束\a7BEL电脑的蜂鸣器发出“嘀”的一声\b8BS左退一格,即从当前位置移到前一列\f12FF换页\n10NL(LF)换行,将当前光标移到下一行的开头\r13CR回车,将当前光标移到本行的开头\t9HT横向跳到下一制表位置\v11VT垂直跳到下一制表位置\’39’单引号\”34”双引号\\92\反斜线\ddd
1~3位八进制ASCII码所代表的字符\xhh
1~2位十六进制ASCII码所代表的字符二、变量:指在程序运行过程中,取值可以改变的数据。每一个变量都用一个标识符来表示,该标识符称为变量名。每个变量都属于某个确定的数据类型,在内存中占据一定的存储单元,在该存储单元中存放变量的值,因此,变量具有如下4个属性:1.变量名:一个变量必须有一个名字,即变量名。变量名是一种标识符,它必须遵守标识符的命名规则。2.类型:不同的变量用不同的数据类型指定,例如整型变量用int。3.地址:当变量被定义后,系统就自动为其在内存中开辟存储空间;不同数据类型的变量占用相应大小的内存空间。4.变量值:每个变量对应的值被保存在该变量在内存中分配的存储空间中。
知识点1-9常量、知识点1-10变量C语言项目化教程(项目引领、任务驱动)主讲:朱香卫教授在C语言中,变量一定要先定义后使用。定义变量的一般格式如下:
数据类型变量1,[变量2,…]类型必须是C语言的有效数据类型。变量名表是一个或多个标识符,中间用逗号隔开,最后用分号表示变量定义结束。
inti=9;//定义了整型变量i,将9赋值给整型变量I下图(a)表示了整型变量i数据,该整型数据在内存中的存放形式如下图(b)所示,占4个字节。例如:inta=10;下图表示了变量a的4个属性知识点1-9常量、知识点1-10变量(数据类型转换)C语言项目化教程(项目引领、任务驱动)主讲:朱香卫教授在C语言中,进行数据类型之间的转换有两种转换方式:隐式类型转换与强制类型转换。一、隐式类型转换(编译器主动进行的类型转换也叫自动类型转换):变量的数据类型升级为高一级变量的数据类型时,可避免数据丢失,即从低类型到高类型的隐式类型转换是安全的。1.算术运算式中,低类型能够转换为高类型。2.赋值表达式中,赋值运算符“=”右边的变量转换为左边的变量类型。
3.函数调用时,实参转换为形参的类型。
4.函数返回时,函数返回值,return表达式转换为返回值类型。1.任务1-3main()函数中printf("x+y=%f\n",jiafa(5,6));int
->unsignedint->long->unsigned->longlong->float->double->longdouble
二、C语言可显式指定类型转换(强制类型转换),它语法格式为:(目标类型)变量名或者具体的数值例如:intsum=103,count=7;
floatave;doubleaverage=(double)sum/count;//注意不要写作(double)(sum/count)ave=(float)average;三、隐式类型转换与强制类型转换应用的场景如下:
思考:将任务1-3main()函数中printf("x+y=%f\n",jiafa(5,6));语句改为:printf("x+y=%f\n",jiafa(5.3,6.7));后编译后为什么会出现如下2个警告信息?warningC4305:'function':truncationfrom'constdouble'to'float'
2.从高类型到低类型的转换是不安全的,将会降低精度或截断数据,可能得不到预期的结果。知识点1-11printf()格式输出函数4知识点1-11printf()格式输出函数C语言项目化教程(项目引领、任务驱动)主讲:朱香卫教授一、printf()函数的功能:格式化输出printf(printformat)函数的功能是按用户指定的格式,把指定的数据打印到显示器屏幕上。二、printf()函数的格式:printf("格式控制字符串"[,输出列表]);
printf()函数调用的格式中的“[,输出列表]”,表示可选项。任务1-1中printf()函数无输出列表,表示只是原样输出英文双引号中的内容,起到显示提示用户操作、显示提示帮助信息等作用,此时“格式控制字符串”中不能包含格式控制符。
如果选择“输出列表”可选项,则“输出列表”项与“格式控制字符串”以英文的逗号分隔,且“输出列表”项也以英文的逗号分隔输出列表项。
例如:inta=5,b=6;print(“%d+%d=%d\n”,a,b,jiafa(a,b));1.格式控制字符串包含2类字符。(1)普通字符:普通字符串,在输出时原样照印,在显示中起提示、分隔作用(转义字符‘\n’等可以理解为特殊的字符)。例如:printf(“pleaseinputtwonumbers\n”);printf(“%d+%d=%d\n”,a,b,jiafa(a,b));普通字符格式控制字符串原样输出调用此printf()函数后,应在屏幕输出5+6=11
格式声明输出列表(输出a,b变量值及函数的返回值)知识点1-11printf()格式输出函数C语言项目化教程(项目引领、任务驱动)主讲:朱香卫教授printf(“%d+%d=%d\n”,a,b,jiafa(a,b));普通字符格式控制字符串原样输出调用此printf()函数后,应在屏幕输出5+6=11
格式声明输出列表(输出a,b变量值及函数的返回值)f()函数格式字符串中:%附加字符格式字符格式字符说明d,i以带符号的十进制形式输出整数(正数不输出符号)o以八进制无符号形式输出整数(不输出前导符0)x,X以十六进制无符号形式输出整数(不输出前导符0x),用x则输出十六进制数的a~f时以小写形式输出,用X时,则以大写字母输出u以无符号十进制形式输出整数c以字符形式输出,只输出一个字符s输出字符串f以小数形式输出单、双精度数,隐含输出6位小数e,E以指数形式输出实数,用e时指数以“e”表示(如1.2e+02),用E时指数以“E”表示(如1.2E+02)g,G选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0。用G时,若以指数形式输出,则指数以大写表示附加字符说明l长整型整数,可加在格式符d、o、x、u前面)m(代表一个正整数)数据最小宽度n(代表一个正整数)对实数,表示输出n位小数;对字符串,表示截取的字符个数-输出的数字或字符在域内向左靠1.printf()函数输出对象的类型应与上述格式说明匹配,否则出现错误。2.除了X,E,G外,其他格式字符必须用小写字母,如%d不能写成%D。3.printf()函数中格式控制字符串内包含\n,\t,\b,\r,\f和\377等转义字符。4.一个格式声明以“%”开头,以格式字符之一为结束,中间可以插入附加格式字符(也称修饰符)。5.如果想输出字符“%”,应该在“格式控制字符串”中用连续两个“%”表示,如:printf(″%f%%\n″,1.0/4);知识点1-11printf()格式输出函数C语言项目化教程(项目引领、任务驱动)主讲:朱香卫教授(2)格式说明符:以“%”开头的字符串,在%后跟有各种格式字符,它的形式为:%[修饰符]格式符,以说明输出数据的类型、形式、长度、小数位数等。常用格式说明符及使用场合如下表所示:类型格式使用场合整型int%d输入/输出基本整型数据%md输出m位整型数据,如果数据的位数小于m,则在左端补空格,数字向右对齐;如果数据的位数大于m,则按实际数据位数输出%-md与%md类似,不同之处是如果输出数据的位数小于m,则数字左对齐,同时右端补空格%o以八进制无符号形式输出整数%x或%X以十六进制无符号形式输出整数%u以无符号的十进制形式输出整数long%ld输入/输出长整型数据实型float%f以小数形式输入/输出单精度实型数据%m.nf指定输出的数据共占m列(包括小数点占一列),小数部分占n列,如果数值长度小于m,则左端补空格%-m.nf与%m.nf类似,不同之处是如果输出数字的位数小于m,则数字左对齐,同时右端补空格%e以指数形式输入/输出单精度实型数据double%lf以小数形式输入/输出双精度实型数据%le以指数形式输入/输出双精度实型数据字符型char%c输入/输出单个字符字符串
%s输出字符串知识点1-11printf()格式输出函数C语言项目化教程(项目引领、任务驱动)主讲:朱香卫教授例如:inta=65;floatx=31.415926;则printf()格式输出函数常用的格式符如下表格式符说明举例输出结果d按十进制整数输出printf("%d",'a');97printf("%d",a);65printf("%5d",a);□□□65printf("%d",26);26E或e按科学计数法输出printf("%e",x);3.141593e+001printf("%E",x);3.141593E+001G或g小数形式或指数形式,使输出宽度最小,不输出无意义的0printf("%g",1.2345);1.2345printf("%g",0.000002);2e-006printf("%G",0.000002);2E-006f按浮点型小数输出printf("%f",x);31.415926m.nfm和n都表示正整数,其中,m表示输出数据的总宽度,n指精度,即输出数据小数部分的位数,未指定n时,隐含的精度为n=6位。printf("%6.2f",x);□31.42o按八进制整数输出printf("%o",a);101u按无符号十进制整数输出printf("%u",-a);4294967231x按十六进制整数输出printf("%x",a);41X按十六进制整数输出printf("%X",a);41%输出一个百分号printf("%%");%c按字符型输出printf("%c",a);Amc按指定的宽度m输出字符printf("%3c",a);□□As按字符串输出printf("%s","abc");abcms按指定的宽度m输出字符串printf("%5s","abc");□□abc知识点1-11printf()格式输出函数C语言项目化教程(项目引领、任务驱动)主讲:朱香卫教授例如:inta=65;floatx=31.415926;则printf()格式输出函数常用的修饰符如下表格式符说明举例输出结果+默认负数输出负号。当有“+”号标识符时,正数输出也带正号,负数输出负号。printf("%+5d\n",a);□□+65printf("%5d\n",-8);□□□-8printf("%+5d\n",-8);□□□-8printf("%5d\n",8);□□□□8printf
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全培训44号令课件
- 员工培训我能行
- 神经精神疾病诊断学
- 2.3.2YARN服务工作流程
- 云南企业安全负责人培训课件
- 个人形象提升培训课件
- 2025 小学一年级数学下册基础巩固(数的读写)课件
- 测试技术与传感器课件:电感式传感器
- 2026年商标变更专员岗位面试题库含答案
- 2026年部门副经理工作考核标准及方法
- 选词填空(试题)外研版英语五年级上册
- 露地胡萝卜秋季栽培
- 海水淡化PX能量回收装置维护说明书
- 历年天津理工大学高数期末考试试卷及答案
- 妇产科学(第9版)第二章女性生殖系统解剖
- 中医经络之-特定穴课件
- GB/T 9122-2000翻边环板式松套钢制管法兰
- GB/T 16895.6-2014低压电气装置第5-52部分:电气设备的选择和安装布线系统
- 江苏省学业水平合格性考试复习课件:中外历史纲要上册主要考点线索梳理
- 煤矿岗位安全风险辨识评估
- 小提琴协奏曲《梁祝》音乐欣赏(33)课件
评论
0/150
提交评论