您好,欢迎访问三七文档
第4章最简单的C程序设计——顺序程序设计4.1C语句概述4.2赋值语句4.3数据输入输出的概念及在C语言中的实现4.4字符数据的输入输出4.5格式输入与输出4.6顺序结构程序设计举例4.1C语句概述1.C源程序的构成C语句是用来完成一定操作任务的.C程序函数n函数1编译预处理命令源程序文件1源程序文件2源程序文件n函数体函数首部数据声明执行语句2.C语句的分类控制语句:9种,控制程序的流程。(P70)函数调用语句:由函数的一次调用加分号构成。表达式语句:表达式加分号构成(赋值语句)。空语句:只有一个分号构成,什么也不做。复合语句:由一对花括号将多条语句括起来构成。4.2赋值语句构成:赋值语句是由赋值表达式加“;”。赋值语句和赋值表达式区别:使用场合不同例1:a=(b=10)/(c=5)正确a=(b=10;)/(c=5;)错误例2:for语句格式:for(表达式1;表达式2;表达式3)~具体应用:for(i=1;i=10;i=i+1)★赋值表达式可以包括在其他表达式之中;★赋值语句只能作为一个独立的语句。4.3数据输入输出的概念及在C语言中的实现1.以计算机为主体输入:外设→主机输出:主机→外设编辑编译连接运行myprg.cmyprg.obj库函数obj代码myprg.exe2.C语言中没有专门的输入输出语句,提供I/O函数,通过调用函数实现I/O操作。目的:避免编译阶段处理与硬件有关问题,编译系统简单。以标准输入输出设备为对象的3.使用库函数时,要用“#include”命令将有关的“头文件”包含到用户源文件中。★调用标准输入输出库函数时,加#includestdio.h或#include“stdio.h”库函数的obj代码函数库(磁盘文件)包括:数学库;标准I/O库;图形库等studio.h是standardinput&output的缩写,它包含了与标准i/o库有关的变量定义和宏定义及对函数的声明有的系统在使用printf和scanf时可以不加“#include”命令4.4字符数据的输入输出1.Putchar字符输出函数调用格式:putchar(参数)参数形式:字符常量/变量、整型常量/变量;功能:向系统隐含的输出设备输出一个字符(显示或控制)。要求:使用文件包含预编译命令#includestdio.h例如:putchar(a);输出变量a的内容putchar(‘a’);输出字符aputchar(‘\141’);输出字符aputchar(‘\n’);输出换行符注意:putchar函数一般不放在表达式中,而是单独加上;成为一个语句。2.getchar字符输入函数调用格式:getchar()功能:从系统隐含的输入设备(键盘)输入一个字符。说明:无参,返回值为输入字符的ASIIC码;是带输入输出缓冲区和回显的函数;要求:使用文件包含预编译命令#includestdio.h例:输入一个字符并输出#include”stdio.h”voidmain(){charc;c=getchar();putchar(c);putchar(’#’);putchar(’\n’);}a↙输入a#输出注意:★getchar总是先从缓冲区读字符,若缓冲区不空,则从缓冲区中读一个字符,若缓冲区空,则等待输入。例:#include”stdio.h”voidmain(){charc1,c2,c3;c1=getchar();putchar(c1);c2=getchar();putchar(c2);c3=getchar();putchar(c3);}abcde↙a↙abcabcd↙b★利用getchar函数可达到暂停效果;例:#includestdio.hvoidmain(){printf(”15*4=%d\n”,15*4);printf(”PressEnterkeytocontinue…”);getchar();/*不引用返回值*/}15*4=60输出PressEnterkeytocontinue…_4.5格式输入与格式输出1.printf格式输出函数调用格式:printf(格式控制字符串,输出项列表)功能:在标准输出设备上,按指定格式对应输出各个输出项。参数:★格式控制字符串中可包含格式说明、普通字符、控制字符;★输出项列出了要输出的对象,逗号分隔;形式:常量、变量、表达式、函数调用等。★格式说明在个数、顺序、类型上应与输出项对应。例:#includestdio.hvoidmain(){floatf=123.456;inta=25,b=5;printf(”\t%d+%d=%d\n”,a,b,a+b);printf(”\t%7.3f,%f\n”,f,sqrt((float)a));}25+5=30123.456,5.000000printf函数格式说明的一般形式:%[附加格式说明]格式字符输出数据类型格式说明的引导符d、o、x、u、c、s、f、e、gl用于长整型m正整常数,指明输出所占列宽n-指明左对齐方式,隐含右对齐。对实数,表示n位小数对字符串,表示截取的字符数一、整型量的格式说明适用于整型的常量、变量、表达式、函数。1)按数据的实际宽度输出说明:按存储形式输出8进制、16进制。输出形式输出对象10进制8进制16进制int型%d%o%xlong型%ld%lo%lx2)指定输出列宽和对齐方式说明:★若m输出数据的实长,m失效,按实长输出。★以八、十六进制输出时,将整数的符号位也视作数据位,即不可能输出负的八、十六进制数。输出对象格式说明总列宽对齐方式输出形式int型%mdm列右对齐、左补空十进制long型%-mldm列左对齐、右补空十进制int型%mxm列右对齐、左补空十六进制例:#includestdio.hvoidmain(){inta=-15,b=12345;longx=987654321;printf(”\n%d,%8d,%ld”,a,b,x);printf(”\n%-6d,%4d,$%12ld”,a,b,x);printf(”\n%8x%8o%12lX”,a,a,x);}-15,12345,987654321-15,12345,$987654321fff11777613ADE68B1二、无符号整型量格式说明1)按数据的实际宽度输出说明:按存储形式输出8进制、16进制。2)指定列宽和对齐方式(含义同上)输出形式输出对象10进制8进制16进制unsignedint型%u%o%xunsignedlong型%lu%lo%lx例:#includestdio.hvoidmain(){unsignedinta=65535;/*a:FFFFH*/inti=-2;printf(”%8X,%-8u,%d,%u\n”,a,a,a,i);}FFFF,65535,-1,65534若有:unsignedintu=-1;o=-01;x=-0x1;printf(“u=%u,o=%o,x=%x\n”,u,o,x);u=65535,0=17777,x=ffff三、字符量格式说明例如:#includestdio.hvoidmain(){charch1=’a’;inti=98;printf(”%c,%5c,%c”,ch1,i,99);}a,b,c输出对象格式说明输出形式char型%c字符int、long型(0~255)%c字符四、字符串格式说明1)按实长输出字符串2)指定宽度和对齐方式%ms、%-ms3)截取字符串中的部分字符输出%m.ns——按m列宽输出前n个字符,右对齐;%-m.ns——按m列宽输出前n个字符,左对齐;%.ns——按截取宽度n输出前n个字符。输出对象格式说明输出形式字符串常量%s字符串字符数组名%s字符串例:#include”stdio.h”voidmain(){printf(”%s,%7.2s,%-5.3sEND”,”CHINA”,”CHINA”,”CHINA”);}CHINA,CH,CHIEND五、实型量格式说明适用于实型的常量、变量、表达式、函数。1)按系统隐含的宽度输出输出对象格式说明输出形式有效位数float型double型%f%lf小数形式:整数部分全部输出,小数输出6位。前7位前16位float型double型%e%le标准指数:数字部分小数点前必有一位且只能有一位非零数字。数字部分小数6位,指数部分5位注意:指数部分占5位(如e+002),其中“e”占1位,指数符号占1位,指数占3位2)指定宽度和对齐方式%m.nf——m:总列宽,n:小数位数,自动四舍五入,右对齐。%m.ne——m:总列宽,n:数字部分的小数位数,自动四舍五入。对齐方式:与上述方法和含义相同。例:#includestdio.hvoidmain(){floatf1,f2;f1=123.456;f2=123.45678;printf(”%f,%-12f,%10.2f\n%.2f,%-10.2f\n”,f1,f1,f1,f1,f1);printf(”%e,%e,%15.8e\n”,f1,f2,f2);}123.456001,123.456001,123.46123.46,123.461.234560e+002,1.234568e+002,1.23456779e+002例:#includestdio.hvoidmain(){doubled1,d2;d1=2222222222222.222222222;/*13:9*/d2=123.4567e128;printf(”%f,%e\n”,d1,d2);}2222222222222.222170,1.234567e+130使用格式输出函数printf的说明:1)格式说明在个数上、顺序上、类型上必须与输出项对应,否则,编译时不做匹配性检查,编译可通过,但输出结果错。2)格式字符x、e可小写或大写%X:十六进制字母字符大写,如3AF;%E:1.23457E+130其余格式字符只能小写:d、o、u、c、s、f3)字符串中\、%、”字符的表示:\\%%\”2.scanf格式输入函数调用格式:scanf(格式控制字符串,地址项表)功能:按格式控制字符串中指定的格式,从键盘输入常数,并存入对应变量的地址中。参数:★格式控制字符串中可包含格式说明、普通字符;注意:不要使用控制字符;★地址项是要获得数据的变量地址,或字符串的首地址,逗号分隔;变量地址:&变量名地址运算符&:2级、单目。例:#includestdio.hvoidmain(){inta,b;longm,n;printf(”Entera,b:”);scanf(”%d,%d”,&a,&b);printf(”a+b=%d\n”,a+b);printf(”Entermn:”);scanf(”%ld%ld”,&m,&n);printf(”m*n=%ld\n”,m*n);}Entera,b:12,6↙a+b=18Entermn:500900↙m*n=450000输入项变量类型格式说明输入数据的形式int型%d%o%x%c十进制整常数八进制整常数(不需以0开头)十六进制整常数(不需以0x开头)一个可键入字符(不需加单引号)Char型%c%d一个可键入字符(不需加单引号)0~255整常数格式输入函数scanf的格式说明:%[附加格式说明]格式符m正整数,指定输入数据的宽度*抑制符,表示跳过它指定的列数输入项变量类型格式说明输入数据的形式long型%ld%lo%lx十进制整常数八进制整常数十六进制整常数float型%f%e小数形式实常数或整常数指数形式实常数double型%lf%le小数形式实常数或整常数指数形式实常数输入项变量类型格式说明输入数据的形式字符数组名%s字符串(不需加双引号)Unsigned型%u%o%x十进制正整常数八进制正整常数十六进制正整常数unsignedlong型%lu%lo%lx十进制正整常数八进制正整常数十六进制正整常数注意:字符串在输入时以非空格字符开始,以第一个空格字符结束scanf的使用说明:1)“格式控制”后面应当是变量的地址;输入的常数、格式说明、输入变量
本文标题:C语言入门ppt2
链接地址:https://www.777doc.com/doc-3984339 .html