chapter3 简单语句与顺序结构程序

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1复习☆设a=10,b=4,c=5,d=1,x=2.5,y=3.5,写出下面表达式的值。(1)a%=(b%=3)(2)a+=a-=a*=a(3)ab?x:’A’(4)b++==c(5)a=b==c(6)a+b,18+(b=4)*3,(a/b,a%b)(7)x+a%3*(int)(x+y)%2/4+sizeof(int)(1)a%(b%3)=0(2)0(3)65(A的ASC码)(4)0(5)0(7)6.500000(6)233.1C语言的简单语句按照C语言语句的作用分类:◆说明语句◆注释语句◆程序流程控制语句声明变量名称、数据类型及其存储属性的说明性语句编程者对程序本身的解释是“可执行”的语句,构成程序的主体按照C语言语句的功能分类:◆控制语句◆函数调用语句◆表达式语句◆空语句◆复合语句控制程序的走向(流程)由一个函数调用加一个分号赋值表达式加分号只有一个分号;一对{}括起来的语句序列4表达式语句由表达式后加一个分号构成。最典型的表达式语句是,在赋值表达式后加一个分号构成的赋值语句。3.1表达式语句表达式语句分:运算符表达式语句和赋值表达式语句。例如:运算符表达式语句:i++;/*变量i自增1*/--j;/*变量j自减1*/赋值语句:num=5;/*给num变量赋值5*/53.1.2函数调用语句函数调用语句由一次函数调用加一个分号(语句结束标志)构成。函数调用语句的一般形式:函数名(参数列表);例如:scanf(“%f”,&x);//输入变量x的值printf(“%f”,x);//输出变量x的值C语言标准库函数参见P221附录3。调用标准函数要注意的几点:(1)要特别注意函数的返回值、参数个数和类型及参数的顺序,即了解函数的功能和定义,规范调用。(2)要在程序中包含相应的头文件。例如:#includestdio.h、#include“math.h”63.1.3常用数学函数数学函数用于求出函数值,其实质是一段预先设计好的程序。调用数学函数时将计算所需的参数传给函数,返回函数值,所以函数值又称为函数的返回值。调用数学函数必须在程序中应用预编译命令#include“math.h”或#includemath.h才能调用数学函数。例3.1编程计算3*sin(3.14159*x/180)和2*cos(x*3.14159/180)的值。7例3.1程序#includestdio.h#includemath.hintmain(){floatx,y1,y2;scanf(“%f”,&x);y1=3*sin(3.14159*x/180);y2=2*cos(x*3.14159/180);rintf(“y1=%6.4f,y2=%6.4f\n”,y1,y2);}Printf(“请输入x的值\n”);83.2输出函数输入是指用户借助计算机的输入设备将数据输入到计算机中。◆常见的输入设备是键盘、鼠标、扫描仪等输出是指从计算机内部将数据输送到用户指定的外部输出设备◆常见的输出设备如显示器、打印机、绘图仪等C语言通过标准输入/输出库(I/O库)提供的函数完成输入/输出功能◆C语言的库函数见P221:附录39标准函数:因C编译系统与C函数库是分别进行设计的,所以不同的计算机系统所提供函数的数量、名字和功能是不完全相同的,但一些通用的函数(如:printf,scanf,putchar,getchar,puts,gets等),各种计算机都提供,这些函数被称为标准函数。在使用C库函数时,要用预编译命令:“#include”将有关的“头文件”包括到用户源文件中,因为在头文件中包含了与用到的函数有关的信息,如:◆在调用标准输入输出库函数时,文件的开头应有以下预编译命令:#includestdio.h或#include”stdio.h”使用双引号:先源文件目录查找,若无再在包含目录查找。使用尖括号:直接在包含目录查找。103.2.1字符输出函数字符输出函数putchar调用形式:putchar(c)功能:通过标准输出设备(显示器)输出变量c。例3.2从键盘输入的一个字符的ASCII编码值,然后输出该字符后面的两个字符。#includestdio.hmain(){intch;scanf(“%d”,&ch);//输入ch的ASCII编码值putchar(ch+1);putchar(ch+2);//连续输出两个字符}113.2.2格式输出函数1.格式输出函数printf调用形式:printf(”格式控制字符串”,输出项列表)其中:格式控制字符串也称为格式说明串,必须用英文双引号括起来,它用于描述变量的输出方式。格式控制串,包含两种信息:◆格式说明:%[附加格式说明符]格式字符,用于指定输出格式◆普通字符或转义序列:原样输出。功能:按照控制字符串中的格式说明依次将后面的各参数进行转换,排放成格式说明中规定的格式,输出到输出设备上。对非格式说明符,则按原样输出。123.2.3输出项的格式说明d以十进制形式输出整数(正数不输出符号)o以八进制无符号形式输出整数(不输出前缀符0)x以十六进制无符号形式输出整数(不输出前缀符0x)u以无符号十进制形式输出整数c以字符形式输出,仅输出一个字符s输出字符串f以小数形式输出单、双精度数e以标准指数形式输出单、双精度数g选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0%输出%13附加格式符说明l用于输出长整型数据,可加在格式转换符d,o,x,u前面m(正整数)输出数据的最小域宽.n(正整数)对实数,表示输出n位小数;对字符串,表示截取的字符个数-输出的数据在输出域内向左对齐☻使用printf函数时还要注意一个问题,那就是输出表列中的求值顺序。不同的编译系统不一定相同,可以从左到右,也可从右到左。VC和TC是按从右到左进行的。14实例3.3:#includestdio.hmain(){printf(ThisisaCprogram.\n);}实例3.4:#include“stdio.h”main(){inta=1,b=2,c=100;printf(a=%d,b=%3d,d=%3d%%\n,a,b,a*c/b);printf(%d,%o,%x\n,-a,-a,-a);}输出:15例3.5:#includestdio.hmain(){charc='a';charch[]=Good-bye.;printf(%c,%3c,%3d\n,c,c,c);printf(%s,%10s,%-8s,%-12s,%6.4s\n,ch,ch,ch,ch,ch);printf(12345678901234567890123456789012345678901234567890\n);}输出:a,a,97Good-bye.,Good-bye.,Good-bye.,Good-bye.,Good1234567890123456789012345678901234567890123456789016例3.5(1)voidmain(){inti=8;printf(%d\n%d\n%d\n%d\n%d\n%d\n,++i,--i,i++,i--,-i++,-i--);}main(){inti=8;printf(%d\n,++i);printf(%d\n,--i);printf(%d\n,i++);printf(%d\n,i--);printf(%d\n,-i++);printf(%d\n,-i--);}例3.5(2)173.3.1字符输入函数getchar调用形式:c=getchar()功能:从标准输入设备(键盘)上取一个字符作为函数值返回。例如:#includestdio.hmain(){charc;c=getchar();/*取一输入字符*/putchar(c);}/*输出字符变量c的值*/运行程序,如果从键盘输入:a[ENTER]则输出为:a如果从键盘输入:abc[ENTER]则输出也为:a3.3输入函数183.3.2格式输入函数调用形式:scanf(”控制字符串”,参数1,参数2,…,参数n)其中:控制字符串也称为格式说明串,它用于描述变量的输入方式,格式说明的形式是:%附加格式说明符格式转换字符附加格式说明符部分可以缺省。功能:从标准输入设备上读取输入数据,按格式说明的描述将读入的数据赋于相应的参数。参数部分的每个参数,若为一般变量,要在变量名前加“&”(取地址运算符),表示将输入的数据存入变量对应的内存单元(地址)中,如:sacnf(”%d”,&x);19格式字符说明d输入十进制整数o输入八进制整数x输入十六进制整数c输入单个字符s输入字符串f输入实数,可为小数形式或指数形式附加格式符说明l用于输入长整型数据及double型数据h用于短整型数据正整数用于指定输入数据占据的宽度*表示本输入项在读入后舍弃20实例:1:scanf(%3d%2d,&x,&y);输入序列:123456[ENTER]结果:x=123,y=452:scanf(%d,%d:%f,&x,&y,&z);输入序列:1,2:3.5[ENTER]结果:x=1,y=2,z=3.53:scanf(%d%d%d,&x,&y,&z);输入序列一:123[ENTER]结果:x=1,y=2,z=3输入序列二:1[TAB]23[ENTER]输入序列三:1[ENTER]23[ENTER]结果与输入序列一的结果一样。214:scanf(%2d%*2d,%2d,&x,&y);输入序列:1234,56[ENTER]结果:x=12,y=56。注意:在scanf中,可以使用[ENTER]、空格或[TAB]作为数据之间的分隔符。5:scanf(”x=%d,&x);要使x的值等于12,从键盘应怎样输入?正确的输入序列:x=12[ENTER]注意:字符x=被过滤掉了若输入序列为:12[ENTER]错误!226:使用scanf和printf函数例3.6:#includestdio.hmain(){inta;floatb,c;scanf(”%2d%3f%4f”,&a,&b,&c);printf(”a=%d,b=%f,c=%f\n”,a,b,c);}输入:12345678987654321输出:a=12,b=345.000000,c=6789.000000233.4顺序结构程序明确问题的性质,分析题意◆数值问题/非数值问题建立问题的描述模型◆数学模型/过程模型设计/确定算法◆数学问题:数值分析◆非数学问题:数据结构/算法分析与设计一般方法:穷举/递推/递归/分治/回溯/…...编程调试分析运行结果3.4.1程序设计步骤24例C3.7.C:设球的半径为r,求球的表面积和球的体积。用scanf函数输入数据,输出计算结果时,取小数点后2位数字。请编程序分析:问题简单,可直接写出程序#definePI3.14159#include”stdio.h”main(){floatr,s,v;printf(“inputr:”);scanf(“%f”,&r);s=4*PI*r*r;v=4.0/3*PI*r*r*r;printf(“s=%6.2f\n”,s);printf(“v=%6.2f\n”,v);}3.4.2顺序结构程序设计举例25例C3.8.C:从键盘输入一个大写字母,要求改用小写字母输出分析:从ASCII代码表中可以看到每一个小写字母比它对应的大写字母的ASCII码大32,据此编写程序如下:#includestdio.hmain(){charc1,c2;c1=getchar();printf(“%c,%d\n”,c1,c1);c2=c1+32;printf(“%c,%d\n”,c2,c2);}26本章小结本章介绍了:表达式语句、函数调用语句、常用数学函数;C语言中输入、输出的实现;C语言程序设计步骤等内容。需要掌握:表达式语句的格式;函数调用语句的格式和调用注意事项;标准库函数的应用;字符输入、输出,格式输入、输出函数的使用格式和功能;C语言程序设计的一般步骤。

1 / 26
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功