当前位置:文档之家› 通过scanf函数从键盘输入数据

通过scanf函数从键盘输入数据

通过scanf函数从键盘输入数据1)当调用scanf函数从键盘输入数据时,最后一定要按下回车键,scanf函数才能接受键盘输入的数据。

2)输入数据值当键盘输入数据时,输入的数值数据之间用间隔符隔开。

列<间隔符>10<间隔符>20<间隔符><CR>此处间隔符可以是空格符、制表符(Tab)、回车符。

3)跳过输入数据的方法可以在格式字符和%之间加上一个*,它的作用是跳过对应的输入数据。

列Int a1,a2, a3;Scanf("%d%d*%d%d%d",&a1,&a2,&a3);当输入如下数据时:10 20 30 40 <CR>将把10赋给a1,跳过20,把30赋给a2,把10赋给a34)在格式字符串中插入其他字符如果想在屏幕上输入字符串来提示,应该使用printf函数,如果在scanf的格式控制字符串中插入其他字符,则在输入时要求按一对一的位置原样输入这些字符列1Int a1,a2,a3;Scanf(“inpat a1,a2,a3:%d%d%d”,&a1,&a2,&a3);要求按以下形式进行输入Input a1,a2,a3:102030列1以下程序由终端出入两个整数给变量x和y,在交换x和y的值后,在输出x和y,验证两个变量中的数是否正确的进行了交换。

#inclube "stdio.h"Main(){int x,y,t;Printf("enter x&y:\n");Scanf("%d %d",&x,&y);Printf9("x=%d y=%d\n",x,y);T=x;x=y;y=t;Printf("x=%d y=%d\n",x,y);}列2输入一个doulbe类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入后处理,然后输出此数,以便验证处理是否正确。

Main(){double xPrintf(enter x:);Scanf("%1f",&x);Printf(“(1)x=%f\n”,x);X=x*100 /*123.456*100=12345.6*/X=x+0.5 /*12345.6+0.5=12346.1*/X=(int)x; /*12346*/X=x/100 /* 123.46*/Printf("(2) x=%f\n",x);}习题列1已有定义:int x;执行以下语句后的输出结果是X=11/3;y=5;Printf("%%d,%%%d\n",x,y); /*%d %3*/列2有以下程序段:Int a=0,b=0,c=0;Scanf("%d",&a);scanf("%d,&b");scanf("%d,&c");执行以上语句时从键盘输入:22 <tab>6.5<tab>9<回车>则变量a中的值是22,b中的值是6,c中的值是0.3:以下合法的c语言赋值语句是()A a=b=58B k=int(a+b)C a=58,b=58 D--i--i i=i-i自加自减列4:若变量以正确定义,要将a和b中的数进行交换,下面选项中不正确的是(c)A、a=b+a, b=a-b, a=a-bB、T=a,a=b,b=tC、A=t,t=b,b=a;D、T=b,b=a,a=t;关系运算符和关系表达式一、基本概念1 C语言中提供了可以进行逻辑判断的选择结构,由选择语句构成的选择结构将根据逻辑判断的结果决定程序的不同流程。

2 C语言中的逻辑值1)关系表达式和逻辑表达式,其运算结果都会得到一个逻辑值。

2)C语言中,没有专门的"逻辑值",而是用非零来表示“真”,用零来表示“假”,只要值是非零,无论是正数还是负数,都代表一个真值。

二、关系运算符和关系表达式1/ 概念:所谓的关系运算符实际上就是“比较运算”,将两个数进行比较,判断比较的结果是否符合指定的条件。

a>b a>0 c<d2 C语言中的关系运算符1)C语言提供了6种关系运算符,属双目运算符,自左向右的结合性(两字符间不可以有空格)< 小于<=小于等于>大于>=大于等于= =等于!=不等于2)以上运算符的优先级< 小于<=小于等于>大于>=大于等于同级优先级别高= =等于!=不等于同级优先级别低3)关系运算符、算术运算符和赋值运算符之间,优先的次序是:(高)算术运算符关系运算符赋值运算符(低)4)关系表达式及关系表达式的值有关系运算符组成的表达式,称为关系表达式。

关系运算符两边的运算对象可以是C语言中任意合法的表达式。

关系运算的结果是一个整数值:0或1.用0代表假“假”,非零代表真。

2 当关系运算符两边的值的类型不一致时短整型→长整形整形→长整形有符号→无符号整形→实型注若x和y都是实行数,应当避免使用x= =y这样的关系表达式,因为通常存放在内存当中的实行数是有误差的,因此不能精确相等,这将导致关系表达式x= =y的值总是0.典型列题a=3,b=2,c=1,则:关系表达式“(a>b)= =c”的值为“真”,因为a>b的值为1,等于c的值,表达式的值为1.逻辑运算符和逻辑表达式一.C语言中的逻辑运算符1、C语言中的逻辑运算符1)&&逻辑“与”2)||逻辑“或”3)逻辑!“非”2、逻辑运算符中逻辑与和逻辑或是双目运算符,逻辑非是单目运算符,位于运算对象的左侧。

3、优先等级!&& ||高→低4、逻辑运算符与赋值运算符、算术运算符、关系运算符之间的优先次序。

!、算术运算符、关系运算符、&&、||、赋值运算符高→低二逻辑表达式和逻辑表达式的值(丢了一节课%>_<%)1.由逻辑运算符和逻辑运算对象组成的表达式称为逻辑表达式,逻辑运算对象可以是C语言中任意合法的表达式。

2.逻辑表达式的运算结果是0(假)或1(真)4、例题1)若a=4,则!a的值为?02)若a=4,b=5,则a&&b的值为?13)a=4,b=5,a||b的值为?14)a=4,b=5,!a||b的值为?15)4&&0||2的值为?16)5>3&&2||8<4-!01逻辑“与”运算中,只要有一个值为假,它就为假逻辑“或”运算中,只要有一个值为真,它就为真三逻辑运算的基本规则1、在逻辑表达式求解中,并不是所有的逻辑运算符都被执行,只是必须在执行下一个运算符才能求出表达式的解时,才执行运算符2、例题1)(m=a>b)&&(n=c>b)当a=1,b=2,c=3,d=4,m和n的原值为1时,由于“a>b”的值为0,因此m=0,而“n=c>b”不被执行,因此n的值不是0而仍保持原值1.m=0,n=1.2)要判别某一年year是否闰年,闰年的条件是否符合下面二者之一:1能被4整除,但不能被100整除2能被4整除,又能被400整除。

可用一个逻辑表达式来表示:(year%4= =0&&year%100!=0)||!(year%400= =0)!(year%4= =0&&year%100!=0)||!(year%400= =0)费闰年(Year%400!=0)||(year%100= =0&&year%4!=0)选择语句的使用If(x>y)printf("%d",x) 如果x>y那么输出x的值..Elce printf("%d",y) 否则输出y的值If(a!=0)printf("%d",a!=0) 如果a!=0 输出a!=0Else printf("%d",a==0) 否则输出a==0也就是说if后面的语句只有一条会被执行到两种形式的if语句中在if后面都有“表达式”,表达式的类型可以是任意合法的C语言表达式,也可以是任意类型的数据;在执行if语句时先对表达式求解若表达式的值为0,按“假”处理,若表达式的值为非0,按“真”处理,执行指定的语句。

If(x>0)Printf("%f",x);ElscPrintf("%f",-x);但因当注意,以上语句各有一个分号,但属于一条if语句3)if语句后只能接一条语句,注意:if语句的表达式后不能加分号否则将成为空语句,elsc后面不能接表达式例If(a>b);Printd("%d",a);4)如果子句中需要多个语句,则用花括号把一组语句扩起来围成复合语句,注意“}”后面不能加分号;例If(a>b){printf("%d",a);Printf("%d",b);}3.例题1)Main(){int x,y;Printf("enter x&y:\n");Scanf("%d%d",&x&x);Printf("x,y:%d %d\n",x,y);If(x>y)printf("x=%d\n",x);If(y>x)printf("y=%d\n",y)If(x==y)printf|("x==y%d:\n",x) }。

相关主题