




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C C语语言程序基言程序基础础授课教师:程文刚2C C程序的基本结构程序的基本结构 C语言程序的基本结构如下:编译预处理命令编译预处理命令void main(void )void main(void ) 声明部分声明部分 执行部分执行部分 类型类型 子函数名(形参表)子函数名(形参表) 声明部分声明部分 执行部分执行部分 执行部分一般形式如下:执行部分一般形式如下: 数据输入数据输入 数据处理数据处理 数据输出数据输出3C C语言基本语法成分语言基本语法成分1 C1 C语言的字符集语言的字符集 字符是组成语言的最基本的元素。字符是组成语言的最基本的元素。C C语言字符集由字母、数字、空格、标点
2、语言字符集由字母、数字、空格、标点和特殊字符组成。和特殊字符组成。 1. 字母: 小写字母az共26个,大写字母AZ共26个2. 数字: 09共10个3. 特殊符号: ! # % & + - * / = | . , ; : ? ( ) 4. 空白符 42 2 标识符标识符 标识符标识符用来标识变量名、符号常量名、函数名、数组名、类型名等。用来标识变量名、符号常量名、函数名、数组名、类型名等。C C语言规语言规定,标识符只能是字母定,标识符只能是字母(A(AZ Z,a az)z)、 数字数字(0(09)9)、 下划线下划线(_)(_)组成的字符串,组成的字符串,并且其第一个字符必须是字母
3、或下划线并且其第一个字符必须是字母或下划线。例如,例如, a a,i i,sumsum,averageaverage, alal,c_2c_2,DAYDAY,studentstudent,p26p26,_no _no 是合法的标识符;是合法的标识符; 5a5a,M Mforfor,$123$123,3D643D64,a-b a-b 是不合法的标识符。是不合法的标识符。52 2 标识符标识符在使用标识符时必须注意以下几点:在使用标识符时必须注意以下几点:1、大小写敏感,即C语言认为大小写字母为不同的字符。例如A和a是两个不同的标识符。2、ANSI C没有限制标识符长度,但各个编译系统都有自己的规
4、定和限制。3、标识符不能与“关键字”同名,也不能与系统预先定义的“标准标识符”同名,如main、printf等。4、标识符虽然可由用户定义,但标识符是用于标识某个量的符号。因此,命名应尽量有相应的意义,以便于阅读理解,作到“顾名思义”。如sum、avg、area、score、name等5、在容易出现混淆的地方应尽量避免使用容易认错的字符。例如,数字1与字母1和I,数字0与字母o,数字2与字母Z和z。63 3 关键字关键字 关键字关键字是由C语言规定的具有特定意义的字符串,通常也称为保留字。C语言包括32个个关键字:auto break case char const continue defa
5、ult do double else enum extem float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while注意:C语言的关键字都是小写。4 4 运算符运算符 运算符表示各种运算功能。运算符由一个或多个字符组成,如: +、- 、*、/、&等。可以组成以下表达式式 :a+b;2*2.1415926*r; 75 分隔符 C语言中,分隔符有逗号、空格、Tab和回车等。 逗号:主要用于在类型说
6、明和函数参数表中分隔各个变量; 空格、Tab和和回车多用于语句和各单词之间的间隔符。 注意:在关键字或标识符之间必须要有一个以上的分隔符作间隔,否则将会出现语法错误,例如把int a, b; 写成 inta, b; C编译器会把 inta 当成一个标识符处理,其结果必然出错。8C C语言数据类型语言数据类型 C数据类型基本类型构造类型指针类型空类型void浮点型字符型 char枚举型 enum整形short intintlong intfloatdouble数组型结构体型共用体型9C C语言数据类型语言数据类型常量:在程序执行过程中,常量的值不能由程序改变。变量:在程序执行过程中,变量的值可以
7、由程序改变。变量对应着内存中的一个存储单元,在存储单元中存放着该变量的值,每个变量都有一个名字。 例如:x、sum、area 不同类型的数据所占的存储单元的大小也不同,例如,char型占1个字节、int型占4个字节、double型占8字节。 注意:变量必须先声明后使用。101 1整型整型(int)(int)数据数据 整型数据占有4个字节的存储空间,以二进制定点补码的形式存储,它的取值范围为-21474836482147483647即-231(231-1),整型数据没有小数部分。【例2-1】 整数型数据的运算。#include void main()int x, y;x=1/2; /* 整型运算
8、量的除法运算,其结果自动取整 */y=5%2; /* %为求余运算,其运算量只能是整数*/printf(x=%d,y=%dn, x, y);x=0,y=1Press any key to continue声明变量声明变量变量的变量的赋值赋值输出变量输出变量的值的值112 2浮点型浮点型(flaot)(flaot)数据数据 浮点型数据占有4个字节的存储空间,以浮点的形式存储,它的取值范围为(2.410-382.41038)。在C语言中,浮点型常量有两种表示形式:1 1、小数形式小数形式:由正负号、数字和小数点组成,小数点前后的0可以省略,但小数点不能省略。 例如: 0. 、.25 、 32.78
9、 、 -12. 、2.0等。2 2、指数形式指数形式:用科学记数法来表示浮点数,一般用来表示很大或很小的数。 例如:23500000=2.35107,在C程序中可以表示成: 2.35e7、2.35E7、0.235e8、235e5。注意:指数部分必须为整数,一个浮点数不能只包含指数部分或底数部分。 例如:2.5e-2.0、 E+5. 2.6e都是错误的。123 3字符型字符型(char)(char)数据数据1 1、字符常量、字符常量在C语言中字符型常量是用单引号括起来的单个字符, 例如: A 、b 、0 、+ 等。字符常量的特点:符常量只能用单引号括起来,不能用双引号。字符常量只能是一个字符,不
10、能是多个字符。字符可以是字符集中任意字符。但数字被定义为字符型之后与其本身数值是不相等的。例如:0和0 是不同的。2 2、字符数据的存储、字符数据的存储 在内存单元中存储的是字符的ASCII码,ASCII码为0127之间的整数。3 3、字符数据的运算、字符数据的运算 “+”、“-”和比较运算。 注意:+、-运算相当于为字符的ASCII码加上或减去一个整数值,但运算后的值仍然在ASCII码值的表示区间内运算才有意义。133 3字符型字符型(char)(char)数据数据【例2-2】字符变量赋值与输出。#include void main() char c; /* 声声明字符型明字符型变变量量c
11、*/ int x; /* 声声明整型明整型变变量量x */ c=97; /* 97是是a的的ASCII码码 */ x=b; printf(%c,%dn, c, c); printf(%d,%cn, x, x); a,9798,bPress any key to continue声明字符声明字符变量变量字符变量字符变量赋值赋值输出字符输出字符变量的值变量的值143 3字符型字符型(char)(char)数据数据【例2-3】 在键盘上输入一个小写字符,将其转换成大写字符后输出。#include void main() char c; c=getchar(); c=c-32; putchar(c);
12、 putchar(n); aAPress any key to continue在键盘上输入一个在键盘上输入一个字符赋给变量字符赋给变量c c 输出变量输出变量c c中存储的中存储的字符字符 a a z z的的ASCIIASCII码码为:为:97 97 122122A A Z Z的的ASCIIASCII码码为:为:6565909015C C语句语句1 1、表达式语句:、表达式语句: 一般形式为:表达式表达式; ; 例如: x=y+z; i+; 2. 2. 函数调用语句:函数调用语句: 一般形式为:函数名函数名( (实际参数表实际参数表);); 例如: scanf(%d, &x);3.
13、3. 控制语句:控制语句:条件判断语句:if语句、switch语句;循环执行语句:do while语句、while语句、for语句;转向语句:break语句、goto语句、continue语句、return语句。4. 4. 复合语句:复合语句: 把多个语句用大括号 括起来组成的一个语句称复合语句。 例如: x=y+z; a=b+c; printf(%d%d, x, a); 5. 5. 空语句:空语句: 只有分号“;”组成的语句称为空语句。空语句是什么也不执行的语句。16C C语言的格式输出语言的格式输出printfprintf函数函数一般形式为: printf(printf(格式控制字符串格式
14、控制字符串, , 输出表列输出表列) )格式字符串为: % % 标志标志输出最小宽度输出最小宽度.精度精度长度长度 类型类型1. 类型: 格式字符 意义d以十进制形式输出带符号整数(正数不输出符号)o以八进制形式输出无符号整数(不输出前缀0)x,X以十六进制形式输出无符号整数(不输出前缀Ox)u以十进制形式输出无符号整数f以小数形式输出单、双精度实数e,E以指数形式输出单、双精度实数g,G以%f或%e中较短的输出宽度输出单、双精度实数c输出单个字符s输出字符串17C C语言的格式输出语言的格式输出printfprintf函数函数2. 标志: 标志字符为-. +. #. 空格四种标志 意义-结果
15、左对齐,右边填空格+输出符号(正号或负号)空格负时输出,正号不输出#对c,s,d,u类无影响;对o类,在输出时加前缀o;对x类,在输出时加前缀0 x;对e,g,f 类当结果有小数时才给出小数点18C C语言的格式输出语言的格式输出printfprintf函数函数3. 3. 输出最小宽度输出最小宽度: : 若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。4. 4. 精度精度: : 如果输出数字,则表示小数的位数; 如果输出的是字符,则表示输出字符的个数; 若实际位数大于所定义的精度数,则四舍五入截去超过的部分。5. 5. 长度长度: : 长度格式符为h和l两种
16、,h表示按短整型量输出,l表示按长整型量输出。 19C C语言的格式输出语言的格式输出printfprintf函数函数【例2-4】格式符与输出项匹配实例。#include void main()int a=97;float b=56.748; printf(a=%d,b=%fn , a, b); printf(%c,%d,%o,%x,%fn, a, a, a, a, a); printf(%f,%e,%d,%o,%xn, b, b, b, b);a=97,b=56.748001a,97,141,61,0.00000056.748001,5.674800e+001,-2147483648,100
17、23057676,80000000Press any key to continue20C C语言的格式输出语言的格式输出printfprintf函数函数【例2-5】输出宽度与精度实例。#include void main() int a=66; float b=122.1234567; double c=1234567890.1234567; printf(a=%d,%-5d,%5d,%5cn, a, a, a, a); printf(b=%f,%lf,%5.4f,%.4e,%10.2fn, b, b, b, b, b); printf(c=%lf,%f,%8.4lfn, c, c, c);
18、 a=66,66 , 66, Bb=122.123459,122.123459,122.1235,1.2312e+002, 122.12c=1234567890.123457,1234567890.123457,1234567890.1235Press any key to continue21C C语言的格式输出语言的格式输出printfprintf函数函数注意:1、C语言编译器不会检测格式符与输出项的数量是否相匹配,若输出项多余格式符,printf函数则正确的显示前面匹配的输出项,后面多余的不输出。例如 printf(%d,i,j);2、若输出项少于格式符,printf函数则正确的显示匹配
19、的输出项,后面多余的格式符因为没有匹配的输出项,将输出没有任何意义的随机数。例如 printf(%d,%d,i); 3、C语言编译器也不会检测格式符与输出项的数据类型是否匹配,若不匹配则输出无意义的数值。4、小数部分,精度按四舍五入截取。5、输出数值位数小于输出最小宽度,用空格补齐,“-”指定左对齐,默认为右对齐。6、输出数值位数大于输出最小宽度,按实际位数输出。7、flaot类型和double类型的输出项“%f”和“%lf ”格式的输出相同。22C C语言的格式输入语言的格式输入scanfscanf函数函数scanf函数的一般形式为: scanf(scanf(格式控制字符串格式控制字符串,
20、, 地址表列地址表列););地址是由地址运算符“&”后跟变量名组成的。1. 1. 缺省的分隔符缺省的分隔符在键盘上输入数据时,数据之间用一个或多个空格、Tab和回车来分割。【例2-6】格式符与输入变量匹配实例#include void main() int a, b, c; printf(input a,b,cn); scanf(%d%d%d, &a, &b, &c); printf(a=%d,b=%d,c=%dn, a, b, c); input a,b,c2 5 8a=2,b=5,c=8Press any key to continueinput a,b,c
21、258a=2,b=5,c=8Press any key to continueinput a,b,c2 58a=2,b=5,c=8Press any key to continueinput a,b,c2,5,8a=2,b=-858993460,c=-858993460Press any key to continue23C C语言的格式输入语言的格式输入scanfscanf函数函数2. 2. 格式字符串中的普通字符格式字符串中的普通字符空格:当在格式控制字符串遇到一个或多个空格时,scanf函数从输入 数据中重复读空白字符直到遇到一个非空字符为止。其它字符:当在格式控制字符串中遇到一个非空字
22、符时,scanf函数将 它与输入字符进行比较,若两个字符相等,继续下一个输入, 否则终止scanf函数的执行。【例2-7】其它分隔符实例#include void main() int a, b, c; printf(input a,b,cn); scanf(%d,%d,%d, &a, &b, &c); printf(a=%d,b=%d,c=%dn,a,b,c);input a,b,c2,6,4a=2,b=6,c=4Press any key to continueinput a,b,c2 6 4a=2,b=-858993460,c=-858993460Press an
23、y key to continue24C C语言的格式输入语言的格式输入scanfscanf函数函数3. 3. 格式字符串格式字符串格式字符串的一般形式为: %* *输入数据宽度输入数据宽度 类型类型(1)类型格式字符意义d输入十进制整数o输入八进制整数x输入十六进制整数u输入无符号十进制整数f或e输入实型数(用小数形式或指数形式)c输入单个字符s输入字符串25C C语言的格式输入语言的格式输入scanfscanf函数函数(2)* “*”符:用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。例如:scanf(%d %*d %d, &a, &b);当输入为:1 2 3时,把1赋予a,2被跳过,3赋予b。(3)宽度 例如:scanf(%2d%3d, &a, &b); 输入:12345678 将把12赋予a,而把345赋予b,其余的字符无效,所以输入后a=12,b=345。 26C C语言的格式输入语言的格式输入scanfscanf函数函数4.4.字符变量的输入字符变量的输入 在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。 例如:scanf(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省济南第二中学2024-2025学年高三下学期第二次阶段检测试题-物理试题试卷含解析
- 山东省济南市育英中学2025年5月普通高中毕业班质量试卷英语试题试卷含答案
- 四川省达川区市级名校2025年5月初三压轴卷语文试题试卷含解析
- 2025年物理学科的基本概念试题及答案
- 2025年数字营销行业知识考试试题及答案
- 南京科技职业学院《陶瓷装饰》2023-2024学年第一学期期末试卷
- 2025年中小学语文试卷及答案
- 江城哈尼族彝族自治县2024-2025学年数学三下期末综合测试试题含解析
- 苏州科技大学天平学院《电工》2023-2024学年第二学期期末试卷
- 辽宁工程技术大学《市政工程预算》2023-2024学年第二学期期末试卷
- 内镜下逆行阑尾炎治疗术
- SJG 82-2020 政府投资学校建筑室内装修材料空气污染控制标准-高清现行
- 《脂蛋白(a)与心血管疾病风险关系及临床管理的专家科学建议》(2021)要点汇总
- 生物防治第三讲
- 2004年武汉房地产市场情况分析报告(共23页)
- 旁站监理实施细则(完整版)
- 肿瘤化学治疗
- RMG88.62C2控制器报警显示及可能的故障原因 - 副本
- 学业水平考试复习高中语文文言文课本翻译
- 常用原料净料率参照表
- 第一章 混凝土拌合站组织机构框图及岗位职责
评论
0/150
提交评论