您好,欢迎访问三七文档
一、C语句分类C语言的语句用来向计算机系统发出指令,一个实际的源程序通常包含若干条语句,这些语句用来完成一定的操作任务。1.控制语句:(1).if()…else…;else-if条件语句(2).switch多分支选择语句(3).for()…循环语句(4).while()…循环语句(5).do…while()循环语句(6).continue结束本次循环语句(7).break终止执行switch或循环语句(8).return返回语句说明:以上语句“()”表示一个条件,“…”表示内嵌语句2.空语句C语言中所有语句都必须由一个分号(;)结束,如果只有一个分号,如main(){;},这个分号也是一条语句,称为空语句,它在程序执行时不产生任何动作,但表示存在着一条语句。3.复合语句在C语言中花括号{}不仅可以用作函数体的开始和结束标志,同时也常用作复合语句的开始和借宿标志,复合语句也可称为“语句体”。4.其他类型语句(1).函数调用语句:由一项函数调用加一个分号构成一条语句,如scanf(“%d”,&a);(2).表达式语句,由一个表达式加一个分号构成一条一句,如a=b;二、输入/输出语句1.输入/输出概念及其实现(1).数据从计算机内部向外部输出设备(如显示器、打印机等)输送的操作称为“输出”,数据从计算机外部向输入设备(如键盘、鼠标、扫描仪等)送入的操作称为“输入”。(2).C语言本身不提供输入/输出语句,但可以通过函数实现输入和输出的操作。(3).在使用C语言库函数时,首先要用预编译命令#include将有关的“头文件”包含到用户源文件中。2.单个字符的输入/输出(1).字符输出函数putchar()1.调用putchar()函数时,必须在程序的开头包含头文件“stdio.h”即#includestdio.h;或#include“stdio.h”;2.putchar()函数的作用是向终端输出一个字节,如putchar(ch);它输出字符变量ch的值。Ch可以是字符型变量,也可以是整型变量。若ch是整型变量,则输出的是ASCII码值对应的字符。(2).字符输入函数getchar()1.调用getchar()函数时,必须在程序的开头包含头文件“stdio.h”即#includestdio.h;或#include“stdio.h”;2.getchar()函数的作用是从终端输入一个字符,getchar()函数没有参数,函数值就是从输入设备的到的字符。3.getchar()函数只能接收一个字符,得到的字符可以赋值给一个字符变量或整型变量,也可以不赋值给任何变量,作为表达式的一部分。3.格式输出函数printf()(1).简介:printf()函数是C语言提供的标准输出函数,它的作用是向终端(或系统隐含指定的输出设备)按指定格式输出若干个数据。(2).printf()函数的一般形式如:printf(“%f,%d”,x,y);printf是函数名,括号内由一下两部分组成1.“格式控制”:用双引号括起来的字符串是“格式控制”字符串,它包括两种信息。1格式转换说明,由%和格式字符组成,如%f,%d等。上例中,当输出项为int型时,系统规定用d作为格式描述字符,因此,有“%d”,格式描述字符要与输出项一一对应且类型匹配。2主要原样输出的字符(通常指除了格式说明与一些转义字符以外的那部分)也写在“格式控制”内。2.“输出列表”:需要输出的一些数据,可以是常量、变量或表达式。(3).格式字符1.可以根据需要在“%”与格式字符之间插入“宽度说明”、左对齐符号“-”、前导领符号“0”等。2.常用格式字符1d格式符,用对十进制数进行输入/输出,其中“%d”是按整型数据的实际长度输出,“%md”指定m为输出字段所占宽度。2o格式符,以八进制数形式输出整数,“%mo”指定m为输出字段所占宽度。3x格式符,以十六进制数形式输出整数,“%mx”指定m为输出字段所占宽度。4u格式符,用来输出unsigned型数据,即输出无符号的十进制。5c格式符,用来输出一个字符6s格式符,用来输出一个字符串7f格式符,用来输出实数(包括单精度和双精度),以小数形式输出,使整数部分全部输出。8e格式符,以指数形式输出实数。9g格式符,用来输出实数说明:f、e、g格式符可以用“整型数1,整型数2”的形式,在指定宽度的同时来指定小数位的位数,其中“整型数1”用来指定输出数据所占的总宽度,“整型数2”用来确定精度。1当输出位数多于“整型数2”指定的宽度时,截取右边多余的小数,并对截去的第一位小数做四舍五入处理。2当输出的数据的小数位数少于“整型数2”指定的宽度时,在小数的最右边添03当输出的数据所占的宽度大于“整型数1”指定的宽度时,小数位仍按上诉规则处理,整数部分并不丢失。4也可以只用“整型数2”的形式来指定小数位数,这时输出的数据所占的宽度由系统决定。通常,系统对float类型体统7位有效数位,对于double类型提供15位有效位数(4)使用printf()函数时的注意事项1.在格式控制串中,格式说明与输出项从左到右在类型上必须一一对应匹配,如不匹配将导致数据输出出现错误,如在输出long型数据时,一定要用“%ld”格式控制,而不能用“%d”格式控制。2.在格式控制串中,格式说明与输出项的个数也要相等,如格式说明的个数多于输出项的个数,则对于多于的格式将输出不定值(或0值)。3.在格式控制串中,除了合法的格式说明外,可以包含任意的合法字符(包括转义字符),这些字符在输出时将被“原样输出”。4.如果要输出“%”,则应该在格式控制串中用两个连续的百分号“%%”来表示。5.输出数据的精度并不是取决于格式控制中的域宽和小数的位宽,而是取决于数据在计算机内的存放精度。3.格式输入函数scanf()(1).简介这也是在stdio.h中声明的一个函数,因此使用前必须加入#includestdio.h。调用scanf函数时,需要传入变量的地址作为参数,scanf函数会等待标准输入设备(比如键盘)输入数据,并且将输入的数据赋值给地址对应的变量。(2).一般形式scanf(格式控制,地址表列)其中,scanf是函数名,“格式控制”的含义同printf()函数;“地址表列”由于若个变量地址组成,既可以是变量的地址,也可以是字符串的首地址。(3).格式说明Scanf()函数中的格式说明也是以%开始,以一个格式字符结束,中间可以加入附加的字符。说明:1.对于unsigned型变量,可以用%d、%o、%x格式输入2.在scanf()函数中格式字符前可以用一个整数指定输入数据所占宽度,但对于输入实型数则不能指定其小数位的宽度3.在格式控制串中,格式说明的个数应该与输入项的个数相等,且要类型匹配,如不匹配,系统也不会给给出出错信息,但有可能使程序的输出结果不正确。1若格式说明的个数少于输入项的个数,scanf()函数结束输入,多余的项继续从终端接收新的数据。2若格式说明的个数多于输入项的数,scanf()函数同样也结束输入。(4).使用scanf()函数时的注意事项1.scanf()函数中的输入项只能是地址表达式,而不能是变量名或其他内容,也就是说输入项必须是某个地址存储单元的地址。2.如果在“格式控制”字符串中除了格式说明以外还有其他字符,则在输入数据时应输入与这些字符相同的字符。3.在用%c格式输入字符时,空格字符和转义字符都可以作为有效字符输入4.在输入数据时,若实际输入数据少于输入项个数,scanf()函数会等待输入,直到满足条件或遇到非法字符才结束;若实际输入的数据多余输入项个数,多余的数据将留在缓冲区备用,作为下一个输入操作的数据。5.在实际输入时,若一次向计算机输入几个数据,则每两个数据间要以一个或多个空格隔开,也可以用回车键或跳格键tab隔开。6.在程序运行到要求实际输入时,按指定的宽度结束,如格式控制自为“%3d”时,则间隔符数目不限,只取输入前3列。7.scanf的第一个参数中不要包含\n,比如scanf(“%d\n”,&a);这将导致scanf函数无法结束(5).简单用法例:intage;scanf(%d,&age);scanf函数时,会等待用户的键盘输入,并不会往后执行代码。scanf的第1个参数是%d,说明要求用户以10进制的形式输入一个整数。这里要注意,scanf的第2个参数传递的不是age变量,而是age变量的地址&age,&是C语言中的一个地址运算符,可以用来获取变量的地址输入完毕后,敲一下回车键,目的是告诉scanf函数我们已经输入完毕了,scanf函数会将输入的值赋值给age变量(6).其他用法1用scanf函数接收3个数值,每个数值之间用中划线-隔开例:scanf(%d-%d-%d,&a,&b,&c);3个%d之间是用中划线-隔开的,因此我们在每输入一个整数后都必须加个中划线-,比如这样输入,不然在给变量赋值的时候会出问题注意:数值之间的分隔符是任意的,不一定要用中划线-,可以是逗号、空格、星号*、井号#等等,甚至是英文字母//逗号,scanf(%d,%d,%d,&a,&b,&c);//输入格式:10,14,20//井号#scanf(%d#%d#%d,&a,&b,&c);//输入格式:10#14#20//字母xscanf(%dx%dx%d,&a,&b,&c);//输入格式:10x14x202用scanf函数接收3个数值,每个数值之间用空格隔开scanf(%d%d%d,&a,&b,&c);3个%d之间是用空格隔开的,我们在每输入一个整数后必须输入一个分隔符,分隔符可以是空格、tab、回车4。输入输出综合问题inta=010;开辟一个4字节的空间存储一个八进制的010。printf(“%d\n”,a);//打印结果为十进制的8。printf(“%o\n”,a);//打印结果为八进制10。printf(“%x\n”,a);//打印结果为十六进制8。关键:不看怎么存,只看怎么读。在内存中都是以二进制补码的形式存储的。无符号整型unsignedinta=8;没有符号位,即所有的位数均用来表示大小。printf(“%u\n”,a);//将a中存储的数字当做无符号位的数字进行打印。除了整型之外,计算机还可以存储以下格式:字符型,用单引号标识。’A’、’*’,用%c打印字符型。计算机是用一个数字来代表字符。用char标识字符,在内存中占1字节。*在C语言中char声明的并不是字符变量,同属于整型。(与JAVA区分)unsignedchar标识无符号字符。用%c打印字符型。
本文标题:C语言基本语句
链接地址:https://www.777doc.com/doc-4939739 .html