版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第4章章 最简单的最简单的C程序设计程序设计顺序程序设计顺序程序设计4、1 C语句概述语句概述n一、一、C程序的构成程序的构成 一个一个 C程序可以由若干个源程序文件(分程序可以由若干个源程序文件(分别进行编译的文件模块)组成,一个源文件可以别进行编译的文件模块)组成,一个源文件可以由若干个函数和预处理命令以及全局变量声明部由若干个函数和预处理命令以及全局变量声明部分组成,一个函数由数据定义部分和执行语句组分组成,一个函数由数据定义部分和执行语句组成。成。二、二、C语句的分类语句的分类n1、控制语句:用于控制程序的流程、控制语句:用于控制程序的流程C语言中共有语言中共有9种控制语句种控制语句
2、if( )else for( ) while( )dowhile( ) continue breakSwitch goto returnn2、函数调用语句:由一次函数调用加上一个、函数调用语句:由一次函数调用加上一个“;”例如:例如:c=max(a,b) ; printf(“this is a C program.”) ;n3、表达式语句:由一个表达式加上一个、表达式语句:由一个表达式加上一个“;”例如:例如:a=45 赋值表达式赋值表达式 a=45 ; 赋值语句赋值语句 任何一个表达式都可以加上一个任何一个表达式都可以加上一个“;”构成构成表达式语句表达式语句n4、空语句:整个语句只有一个、
3、空语句:整个语句只有一个“;”组成组成 5、复合语句:用、复合语句:用 把一些语句括起来成为复合把一些语句括起来成为复合语句,又称为语句,又称为“分程序分程序”与界定函数体的与界定函数体的 相区别:相区别:int max (int x , int y) int z ; if (xy) z=x; z=x+y; else z=y; t=z/100;return(z); printf(“t=%f”,t); 4、2 赋值语句赋值语句n1、赋值号、赋值号“=”是一个运算符;是一个运算符;n2、赋值表达式还可以包括在其他表达式中;、赋值表达式还可以包括在其他表达式中;n3、赋值表达式加上一个、赋值表达式加
4、上一个“;”构成赋值语句。构成赋值语句。例如:例如:C+=(a=5) C+=(a=5);4、3 数据输入输出的概念及在数据输入输出的概念及在C语言中的实现语言中的实现n一、输入输出:一、输入输出: 数据的输入输出是以计算机的主机为主体数据的输入输出是以计算机的主机为主体而言的。而言的。 从计算机向外部设备(显示器、打印机、从计算机向外部设备(显示器、打印机、磁盘等)输出数据称为磁盘等)输出数据称为“输出输出”。 从输入设备(键盘、磁盘、扫描仪等)向从输入设备(键盘、磁盘、扫描仪等)向计算机输入数据称为计算机输入数据称为“输入输入”。 n2、输入输出在、输入输出在C语言中的实现语言中的实现 输入
5、输出操作由库函数来实现。输入输出操作由库函数来实现。原因:使编译系统简单,提高程序的通用性、可原因:使编译系统简单,提高程序的通用性、可移植性移植性 开始开始编辑编辑编译编译有错?有错?连接连接执行执行结果结果正确?正确?结束结束有有不正确不正确f.cf.0f.exe库函数库函数及其他及其他目标程序目标程序n3、在使用库函数时,必须要用预编译命令、在使用库函数时,必须要用预编译命令“# include”将有关的将有关的“头文件头文件”包括到用户源文件包括到用户源文件中。中。例如例如 : # include 或者或者 # include “stdio.h” main( ) printf(“”);
6、 4、4 字符数据的输入输出字符数据的输入输出4、4、1 putchar函数(字符输出函数)函数(字符输出函数)一、作用:向终端设备输出一、作用:向终端设备输出一个字符一个字符二、形式:二、形式:putchar( )( )中为中为putchar函数的参数,可以是一个字符变函数的参数,可以是一个字符变量名、一个整型变量名、由单撇号括起的一个字量名、一个整型变量名、由单撇号括起的一个字符常量、由单撇号括起的转义字符。符常量、由单撇号括起的转义字符。三、包含头文件三、包含头文件 #include n例如:例如:int a; char c1; a=42; c1=; putchar(c1); putch
7、ar(a); putchar(n); putchar();输出结果为:输出结果为: * 同等效果:同等效果:printf(“%c%cn”,c1,a);n4、4、2 getchar函数(字符输入函数)函数(字符输入函数)一、作用:从终端(或系统隐含指定的输入设备)一、作用:从终端(或系统隐含指定的输入设备)输入输入一个字符一个字符。二、形式:二、形式:getchar( ) gerchar函数没有参数,所以(函数没有参数,所以( )内为空。)内为空。 用户从终端输入的字符就是函数的值,可以用户从终端输入的字符就是函数的值,可以赋给一个字符变量或整型变量,或者作为表达式赋给一个字符变量或整型变量,或
8、者作为表达式的一部分。的一部分。三、包含头文件三、包含头文件 #include 4、5 格式输入与输出格式输入与输出4、5、1 printf函数(格式输出函数)函数(格式输出函数)一、一、printf函数的一般格式函数的一般格式printf(格式控制格式控制,输出表列输出表列) 括号为函数的参括号为函数的参数数1、格式控制格式控制:用双撇号括起来的字符串,又称:用双撇号括起来的字符串,又称为为“转换控制字符串转换控制字符串”格式说明格式说明:%加上相应的格式字符(加上相应的格式字符(%d,%c),将输出的数据转换为指定的格式输出),将输出的数据转换为指定的格式输出普通字符普通字符(含转义字符、
9、空格):按原样输出(含转义字符、空格):按原样输出n2、输出表列:需要输出的数据,可以是变量名、输出表列:需要输出的数据,可以是变量名、表达式,中间用表达式,中间用“,”隔开。隔开。例如:例如:a=5; b=6;printf(“a=%d, b=%d”, a , a+b)输出结果为:输出结果为:a=5, b=11 n3、printf函数的一般形式:函数的一般形式:printf(“参数参数1”,参数,参数2,参数,参数3,参数,参数n)把参数把参数2到参数到参数n按照参数按照参数1所指定的格式输出。所指定的格式输出。二、格式字符二、格式字符n1、d(小写)格式符:用来输出十进制整数,(小写)格式符
10、:用来输出十进制整数,用法如下:用法如下:(1)%d:按整型数据的实际长度输出。:按整型数据的实际长度输出。例如:例如:a=123 ; printf(“a=%d”,a); 结果:结果:a=123 n(2)%md:m为一整数,用来指定输出字段为一整数,用来指定输出字段的宽度。若数据的位数小于的宽度。若数据的位数小于m,则左端补上空格,则左端补上空格,若数据的位数大于若数据的位数大于m,则按数据的实际位数输出。,则按数据的实际位数输出。例如:例如:a=123; b=123456;printf(“a=%5d,b=%5d”,a,b);输出结果为:输出结果为:a= 123,b=123456n(3)%ld
11、(l小写)小写):用于输出长整型数据用于输出长整型数据 长整型数据的取值范围大于基本整型。如果长整型数据的取值范围大于基本整型。如果也用也用%d格式输出,数据会发生错误。格式输出,数据会发生错误。 %mld :用于指定输出的长整型数据的宽:用于指定输出的长整型数据的宽度。用法同度。用法同%md。 二、二、o(小写)格式符:将整数以八进制的形式(小写)格式符:将整数以八进制的形式输出。输出。例如:例如:int a; a=-10; printf(“a=%d,a=%o”,a,a);1 00 11111111111111 00 11111111111110 0667771输出结果为:输出结果为:a=-
12、10,a=177766转换八进制以后,输出数据不带符号转换八进制以后,输出数据不带符号(2)%mo:用于指定输出字段的宽度。:用于指定输出字段的宽度。(3) %lo:用于将长整型数据转换成八进制输:用于将长整型数据转换成八进制输出。出。(4)%mlo:将长整型数据转换成八进制输出时:将长整型数据转换成八进制输出时所占的宽度。所占的宽度。三、三、x(或(或X)格式符:用于将整数以十六进制形)格式符:用于将整数以十六进制形式输出。式输出。x:af也用小写也用小写 X: AF也用大写也用大写 %x:输出结果仍然不带符号:输出结果仍然不带符号%mx:指定输出字段所占的宽度:指定输出字段所占的宽度%lx
13、:将长整型数据转换成十六进制输出:将长整型数据转换成十六进制输出%mlx:将长整型数据转换成十六进制输出时所:将长整型数据转换成十六进制输出时所占的宽度占的宽度四、四、u(小写)格式符:将数据以无符号整型十进(小写)格式符:将数据以无符号整型十进制形式输出。制形式输出。例如:例如:int a; unsigned b; a=-1 ; b=65535; printf(“a=%d,a=%u,b=%d,b=%u”,a,a,b,b);输出结果:输出结果:a= -1,a=65526,b=-1,b=65535%u %mu %lu %mlun五、五、c(小写)格式符:用来输出(小写)格式符:用来输出一个一个字
14、符。字符。n%cn%mc :指定字段所占宽度指定字段所占宽度例如:例如:int a; char c1; a=33; c1=!; printf(“a=%c,c1=%c”,a,c1);输出结果为:输出结果为:a=!,c1=!若若a的值超出了的值超出了255,会得到什么结果?,会得到什么结果?例如:例如: int a; a=300; printf(“a=%c”,a);0 01 1010010000000a在内存中的存储在内存中的存储44输出结果为:输出结果为:a=,六、六、s(小写)格式符:用来输出一个字符串(小写)格式符:用来输出一个字符串 输出表列部分为双撇号括起的字符串常量,输出表列部分为双撇
15、号括起的字符串常量,C语言中没有字符串变量语言中没有字符串变量(1)%sprintf(“%s”,“CHINA”); CHINA(2)%ms 用于指定输出字符串所占宽度,不够则左端用于指定输出字符串所占宽度,不够则左端补以空格补以空格(3)%-ms 用于指定输出字符串所占宽度,不够则右端用于指定输出字符串所占宽度,不够则右端补以空格补以空格例如:例如:printf(“%5sn”,“ABC”); printf(“%-5sn”,“ABC”); ABC ABCn(4)%m.ns:输出占:输出占m列,但只取字符串的左端列,但只取字符串的左端的的n个字符,若个字符,若nm,则直接使,则直接使m的值等于的值
16、等于n,保,保证证n个字符都能输出。个字符都能输出。例如:例如:printf(“%7.5s”,“ABCDEFG”);printf(“%5.7s”,“ABCDEFG”);输出结果为:输出结果为: ABCDE ABCDEFGn(5)%-m.ns:输出占:输出占m列,但只取字符串的列,但只取字符串的左端的左端的n个字符,不够则在右端补空格,若个字符,不够则在右端补空格,若nm,则直接使则直接使m的值等于的值等于n,保证,保证n个字符都能输出。个字符都能输出。例如:例如:printf(“%-7.5s”,“ABCDEFG”);printf(“%-5.7s”,“ABCDEFG”);输出结果为:输出结果为:
17、ABCDE ABCDEFGn七、七、f (小写)格式符:用来以小数形式输出实(小写)格式符:用来以小数形式输出实数(包括单、双精度),整数部分如数输出,小数(包括单、双精度),整数部分如数输出,小数输出数输出6位。(位。(注意有效数字位数注意有效数字位数)例如:例如:float x; double y; x=12345.6789; y=1234567891011.12131415;printf(“x=%f,y=%f”,x,y);n输出结果为:输出结果为:x=12345.67*,y=1234567891011.121*n(2)%m.nf:输出的数据共占:输出的数据共占m列,其中有列,其中有n列为
18、小列为小数部分,数据长度不够则数部分,数据长度不够则左端左端补以空格。补以空格。n(3)%-m.nf:输出的数据共占:输出的数据共占m列,其中有列,其中有n列为列为小数部分,数据长度不够则小数部分,数据长度不够则右端右端补以空格。补以空格。n(4)%mf:输出的数据共占输出的数据共占m列列n(5)%.nf:输出的数据中小数占输出的数据中小数占n列列例如例如:float x; x=12345.6789;printf(“x=%f,x=%10.2f, x=%-10.2f,x=%10f,x=%.2f”,x,x,x,x,x);注意:注意:1、m中包含中包含整数位数整数位数、小数点占一位小数点占一位、小数
19、位数小数位数2、%m:一般小数输出:一般小数输出6位,若整数位数位,若整数位数+小小数点数点1位位+小数小数6位位m,则不用理会,则不用理会m八、八、e(或(或E)格式符:将数值按规范化指数形式)格式符:将数值按规范化指数形式输出。一般形式为:输出。一般形式为:x . xxxxxx e(E) +(-) xxx(2)%m.ne (3) %-m.ne(4)%me(5)%.nen例如:例如:x=12345.6789;printf(“x=%e , nx=%10.2e , nx=%-10.2e , n x=%10e,nx=%.2e”,x,x,x,x,x);输出结果为:输出结果为:x=1.234567e+
20、004, (13列列)x=1.234567e+004, (13列)列)x=1.23e+004, (9列)列) x= 1.23e+004, (10列)列)x=1.23e+004 , (10列)列)n九、九、g(或(或G)格式符:用来输出实数,根据数值)格式符:用来输出实数,根据数值的大小选择采用的大小选择采用f或或e(采用输出时占宽度较小的一(采用输出时占宽度较小的一种),且种),且不输出无意义的零不输出无意义的零。例如:例如:x=12345.6789;printf(“x=%f,nx=%e,nx=%g”,x,x,x);输出结果为:输出结果为:x=12345.67*; x=1.234567e+00
21、4; x=12345.67*;n小结:小结:n1、注意格式符的大小写(、注意格式符的大小写(X、E、G可大写,可大写,其余一律小写);其余一律小写);n2、可以在、可以在“%”和格式符之间加上附加格式符和格式符之间加上附加格式符(如(如l 、 m、n、等);等);n3、格式控制字符串中的其他字符(含转义字符)、格式控制字符串中的其他字符(含转义字符)按原样输出;按原样输出;n4、输出表列中数据(变量名、表达式)的个数、输出表列中数据(变量名、表达式)的个数应该与应该与%的个数相匹配;的个数相匹配;n5、若想输出、若想输出“%”则在格式控制字符串中用则在格式控制字符串中用“%”表示。表示。4、5
22、、2 scanf函数(格式输入函数)函数(格式输入函数)n一、一般形式一、一般形式scanf ( 格式控制,地址表列格式控制,地址表列)1、作用:将输入的数据按照、作用:将输入的数据按照“格式控制字符串格式控制字符串”指定的格式送到相应的指定的格式送到相应的地址表列地址表列当中的地址去。当中的地址去。举例:举例:例如:例如:scanf(“%d”,&a); 将用户输入一个数据作为有符号的十进制整将用户输入一个数据作为有符号的十进制整数赋给变量数赋给变量a。a二、使用时的注意事项:二、使用时的注意事项:1、在输入数据时,在两个数据之间应以一个或、在输入数据时,在两个数据之间应以一个或多个空
23、格隔开,也可以用回车键、多个空格隔开,也可以用回车键、TAB键键例如:例如:scanf(“%d%d%d”,&a,&b,&c);输入数据时应该是:输入数据时应该是:(1)123 (2)1 2 3(3)1(TAB)2(TAB)3(4)1 (5)1(TAB)2 2 3 3Xn2、可以指定输入数据所占的宽度,系统将自动、可以指定输入数据所占的宽度,系统将自动按此宽度截取数据。按此宽度截取数据。n例如:例如: scanf(“%2d%2d%2d”,&a,&b,&c); 输入数据:输入数据:12345678 系统将会自动将系统将会自动将“12”赋给赋给a,将,
24、将“34”赋给赋给b,将将“56”赋给赋给cn3、可以在、可以在%后加上后加上*,表示跳过它指定的列数。,表示跳过它指定的列数。例如:例如:scanf(“%2d%*2d%2d”,&a,&b); 输入数据:输入数据:12345678系统先读入系统先读入“12”赋给赋给a,再读入,再读入“34”但不赋给但不赋给任何变量,再读入任何变量,再读入“56”赋给赋给b 若需要利用原有的数据中的大部分,就可以若需要利用原有的数据中的大部分,就可以利用这种方法跳过不需要使用的那小部分数据。利用这种方法跳过不需要使用的那小部分数据。n4、在输入数据时不能规定数据的精度。、在输入数据时不能规定数据
25、的精度。例如:例如: scanf(“%5f%5f%5.2f”,&a,&b,&c);输入数据:输入数据:123.4567891011看运行结果:看运行结果:在输入实数时若包含小数点,则指定的宽度在输入实数时若包含小数点,则指定的宽度包括小数点占的一位包括小数点占的一位n5、若在、若在“格式控制字符串格式控制字符串”中还包括其他字中还包括其他字符,则在输入数据时在对应位置输入与这些字符,则在输入数据时在对应位置输入与这些字符相同的字符。符相同的字符。例如:例如:scanf(“%d,%d,%d”,&a,&b,&c);输入数据应该为:输入数据应该为:12,34,56 scanf(“%d %d %d”, &a,&b,&c)输入数据应该为:输入数据应该为:12 34 56 scanf(“a=%d,b=%d”,&a,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肺功能健康宣教指南
- 职业病诊断与报告制度
- 公关服务公司会议档案管理制度
- 2026雕刻大师面试题目及答案
- 工业级网络安全防护服务协议2026
- 建设化纤被生产项目可行性研究报告模板拿地申报
- 考研英语(完形填空)模拟试卷63
- 高速路建设征地拆迁管理工作手册
- 成套设备厂项目招投标管理工作手册(标准版)
- 扶贫数据信息系统录入维护工作手册
- 2026年辽宁锦州海通实业有限公司度校园招聘28人笔试模拟试题及答案详解
- 髋关节撞击综合征标准化诊疗专家共识(2026 版)
- 2026北京语言大学事业编制人员招聘11人备考题库(第三批)附答案详解ab卷
- 2026年中好建造科技有限公司第二次社会招聘笔试参考试题及答案解析
- 2026年福建福建农信系统内劳派转正招考笔试题库附答案详解
- 2025年12月英语四级真题(全三套)及答案解析
- 2026年重大事故隐患判定标准专项培训试卷附答案
- 黑龙江省哈尔滨市2025届中考物理试卷(含答案)
- 储能行业压缩空气储能电站经济性调研报告
- 2026年高考数学北京卷试卷(含答案)
- 医院慢病管理中心建设与运营方案
评论
0/150
提交评论