文档库 最新最全的文档下载
当前位置:文档库 › C++输入语句cin get区别

C++输入语句cin get区别

C++输入语句cin get区别
C++输入语句cin get区别

cin,cin.get(),cin.getline()区别

与前一节中提到的scanf函数一样,程序的输入都建有一个缓冲区,即输入缓冲区。一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中取数据。正因为cin函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin函数会直接取得这些残留数据而不会请求键盘输入,这就是例子中为什么会出现输入语句失效的原因!

二.1.cin>>:

(1)该操作符是根据后面变量的类型读取数据。

输入结束条件:遇到Enter、Space、Tab键。(这个很重要!)

对结束符的处理:丢弃缓冲区中使得输入结束的结束符(Enter、Space、Tab)

(2)程序示例:(读字符串的情况)

#include

using namespace std;

int main()

{

char str1[10], str2[10];

cin>>str1;

cin>>str2;

cout<

cout<

return 0;

}

测试一输入:

abcd[Enter]

efgh[Enter]

输出:

abcd

efgh

【分析】输入遇到回车符结束,很正常。

测试二输入:

abcdefgh

abcd

efgh

【分析】第一次读取字符串时遇到空格则停止了,将abcd读入str1,并舍弃了空格,将后面的字符串给了第二个字符串。这证明了cin读入数据遇到空格结束;并且丢弃空格符;缓冲区有残留数据室,读入操作直接从缓冲区中取数据

2.cin.get():

(1)该函数有三种格式:无参,一参数,二参数

即cin.get(), cin.get(char ch), cin.get(array_name, Arsize)

读取字符的情况:

输入结束条件:Enter键

对结束符处理:不丢弃缓冲区中的Enter

cin.get() 与cin.get(char ch)用于读取字符,他们的使用是相似的,

即:ch=cin.get() 与cin.get(ch)是等价的。

(2)程序示例1:

#include

using namespace std;

int main()

{

char c1, c2;

cin.get(c1);

cin.get(c2);

cout<

cout<<(int)c1<<" "<<(int)c2<

return 0;

}

测试一输入:

a[Enter]

输出:

a

【分析】会发现只执行了一次从键盘输入,显然第一个字符变量取的'a', 第二个变量取的是Enter(ASCII值为10),这是因为该函数不丢弃上次输入结束时的Enter字符,所以第一次输入结束时缓冲区中残留的是上次输入结束时的Enter字符!

测试二输入:

a b[Enter]

输出:

a

97 32

【分析】显然第一个字符变量取的'a', 第二个变量取的是Space(ASCII值为32)。原因同上,没有丢弃Space字符

程序示例2:读取字符串的情况:

cin.get(array_name, Arsize)是用来读取字符串的,可以接受空格字符,遇到Enter结束输入,按照长度(Arsize)读取字符, 会丢弃最后的Enter字符。

#include

using namespace std;

int main ()

{

char ch, a[20];

cin.get(a, 5);

cin>>ch;

cout<

cout<<(int)ch<

return 0;

}

测试一输入:

12345[Enter]

输出:

1234

53

【分析】第一次输入超长,字符串按长度取了"1234",而'5'仍残留在缓冲区中,所以第二次输入字符没有从键盘读入,而是直接取了'5',所以打印的ASCII值是53('5'的ASCII

测试二输入:

1234[Enter]

a[Enter]

输出:

1234

97

【分析】第二次输入有效,说明该函数把第一次输入后的Enter丢弃了!

3.cin.getline():

(1)cin.getline() 与cin.get(array_name, Arsize)的读取方式差不多,以Enter结束,可以接受空格字符。按照长度(Arsize)读取字符, 会丢弃最后的Enter字符。但是这两个函数是有区别的:

cin.get(array_name, Arsize)当输入的字符串超长时,不会引起cin函数的错误,后面的cin操作会继续执行,只是直接从缓冲区中取数据。但是cin.getline()当输入超长时,会引起cin函数的错误,后面的cin操作将不再执行。(具体原因将在下一部分"cin的错误处理"中详细介绍)

(2)程序示例:

#include

using namespace std;

int main ()

{

char ch, a[20];

cin.getline(a, 5);

cin>>ch;

cout<

cout<<(int)ch<

return 0;

}

测试输入:

12345[Enter]

输出:

-52

【分析】与cin.get(array_name, Arsize)的例程比较会发现,这里的ch并没有读取缓冲区中的5,而是返回了-52,这里其实cin>>ch语句没有执行,是因为cin出错了!下一部分将详细介绍。

c语言循环语句和循环控制例题解析

一、循环控制 (一)、break语句 break语句通常用在循环语句和开关语句中。当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则将成为一个死循环而无法退出。break在switch中的用法已在前面介绍开关语句时的例子中碰到,这里不再举例。 当break语句用于do-while、for、while循环语句中时,可使程序终止循环而执行循环后面的语句,通常break语句总是与if语句联在一起。即满足条件时便跳出循环。 例如: int main(int argc, char *argv[]) { int sn=0,i; for(i=1;i<=100;i++) { if(i==51) break; /*如果i等于51,则跳出循环*/ sn+=i; /*1+2+……+50*/ } printf(%d\n,sn); } 可以看出,最终的结果是1+2+……+50。因为在i等于51的时候,就跳出循环了。自己写写怎样在while和do--while循环中增加break语句。 注意: 1. break语句对if-else的条件语句不起作用。 2. 在多层循环中,一个break语句只向外跳一层。 例如: int main(int argc, char *argv[]) { int i,j; printf(i j\n); for(i=0;i<2;i++) for(j=0;j<3;j++) { if(j==2) break; printf(%d %d\n,i,j); } } 输出结果为: i j 0 0 0 1 1 0 1 1 当i==0,j==2时,执行break语句,跳出到外层的循环,i变为1。 (二)、continue语句

5条件语句和循环语句

第二、三课时 1.2.2-1.2.3条件语句和循环语句 教学目标: 知识与技能 (1)正确理解条件语句和循环语句的概念,并掌握其结构的区别与联系。 (2)会应用条件语句和循环语句编写程序。 过程与方法 经历对现实生活情境的探究,认识到应用计算机解决数学问题方便简捷,促进发展学生逻辑思维能力 情感态度与价值观 了解条件语句在程序中起判断转折作用,在解决实际问题中起决定作用。深刻体会到循环语句在解决大量重复问题中起重要作用。减少大量繁琐的计算。通过本小节内容的学习,有益于我们养成严谨的数学思维以及正确处理问题的能力。 重点与难点 重点:条件语句和循环语句的步骤、结构及功能。 难点:会编写程序中的条件语句和循环语句。 学法与教学用具 计算机、图形计算器 教学设想

【创设情境】 试求自然数1+2+3+……+99+100的和。 显然大家都能准确地口算出它的答案:5050。而能不能将这项计算工作交给计算机来完成呢?而要编程,以我们前面所学的输入、输出语句和赋值语句还不能满足“我们日益增长的物质需要”,因此,还需要进一步学习基本算法语句中的另外两种:条件语句和循环语句(板出课题) 【探究新知】 (一)条件语句 算法中的条件结构是由条件语句来表达的,是处理条件分支逻辑结构的算法语句。它的一般格式是:(IF-THEN-ELSE 格式) 当计算机执行上述语句时,首先对IF 后的条件进行判断,如果条件符合,就执行THEN 后的语句1,否则执行ELSE 后的语句2。其对应的程序框图为:(如上右图)

在某些情况下,也可以只使用IF-THEN 语句:(即IF-THEN 格式) 计算机执行这种形式的条件语句时,也是首先对IF 后的条件进行判断,如果条件符合,就执行THEN 后的语句,如果条件不符合,则直接结束该条件语句,转而执行其他语句。其对应的程序框图为:(如上右图) 条件语句的作用:在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去。需要计算机按条件进行分析、比较、判断,并按判断后的不同情况进行不同的处理。 【例题精析】 〖例1〗:编写程序,输入一元二次方程20ax bx c ++=的系数,输出它的实数根。 分析:先把解决问题的思路用程序框图表示出来,然后再根据程序框图给 出的算法步骤,逐步把算法用对应的程序语句表达出来。 IF 条件 THEN 语句

输入输出答案1

输入输出 一、选择题 1.C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。如果格式说明的个数小于输出项的个数,多余的输出项将A;如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0)。 如printf(“%d,%d”,a,b,c); 只输出a和b的值,c不输出 A)不予输出B)输出空格 C)照样输出D)输出不定值或0 2.在scanf函数的格式控制中,格式说明的类型与输入的类型应该一一对应匹配。如果类型不匹配,系统 B 。 A)不予接收 B)并不给出出错信息,但不可能得出正确信息数据 C)能接受正确输入 D)给出出错信息,不予接收输入 3.下列说法正确的是 D 。 A)输入项可以是一个实型常量,如scanf("%f",4.8); B)只有格式控制,没有输入项也能进行正确输入,如scanf("a=%d,b=%d"); C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%5.3f",&f); D)当输入数据时,必须指明变量的地址,如scanf("%f",&f); 4.根据题目中已给出的数据的输入和输出形式,程序中输入/输出语句的正确是 B 。 main() { int a;float x; printf("input a,x:"); 输入语句 输出语句 } 输入形式input a,x:3 2.1 输出形式a+x=5.10 A)scanf("%d,%f",&a,&x); printf("\na+x=%4.2f",a+x); B)scanf("%d %f",&a.&x); printf("\na+x=%4.2f",a+x); C)scanf("%d %f",&a,&x); printf("\na+x=%6.1f",a+x); D)scanf("%d %3.1f",&a,&x); printf("\na+x=%4.2f",a+x); 5.以下程序的输出结果是 D 。 main() { int i=010,j=10,k=0x10; printf("%d,%d,%d\n",i,j,k);

广技师C语言复习题集2.练习(输入输出)(含答案解析)

一、选择题 1. 以下程序的运行结果是。 #include int main( ) { int m=5, n=10; printf(“%d, %d\n”,m++, --n); return 0; } A.5,9 B.6,9 C.5,10 D.6,10 2. 有定义语句int a,b; ,若要通过语句scanf(“%d, %d”, &a, &b); 使变量a得到数值6,变量b得到数值5,下面形式中错误的是。(注:□代表空格) A.6,5<回车> B.6,□□5<回车> C.6 5<回车> D.6,<回车> 5<回车> 3. 以下程序的输出结果是。(注:□代表空格) #include int main( ) { printf(“\n*s1=%15s*”, “chinabeijing” ); pirntf(“\n*s2=%-5s*”, “chi”); return 0; }

A.*s1=chinabeijing□□□* B.*s1=chinabeijing□□□* *s2=**chi* *s2=chi□□* C.*s1=*□□chinabeijing* D.*s1=□□□chinabeijing* *s2=□□chi* *s2=chi□□* 4. 已有如下定义语句和输入语句,若要求a1, a2, c1, c2的值分别为10、20、A和B,当从第一列开始输入数据时,正确的数据输入方式是。(注:□代表空格) int a1,a2; char c1, c2; scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2); A.10A□20B<回车> B.10□A□20□B<回车> C.10□A□20B<回车> D.10A20□B<回车> 5. 已有定义int x; float y; 且执行scanf(“%3d%f”, &x,&y); 语句,若从第一列开始输入数据12345□678<回车>,则x的值为(1),y的值为(2)。(注:□代表空格) (1)A.12345 B.123 C.45 D.345 (2)A.无定值B.45.000000 C.678.000000 D.123.000000 6. 阅读以下程序,当输入数据的形式为25,13,10<回车>,程序的输出结果为。 #include int main( ) { int x,y,z;

C语言练习2(选择和循环结构)

C语言(分支和循环结构) 一、选择题 1.以下程序输出结果是( ) main() { int m=5; if(m++>5) printf("%d\n",m); else printf("%d\n",m--);} A)7 B)6 C)5 D)4 2以下程序的输出结果为( ) # include main ( ) { int i=0, j=0, a=6; if ((++i>0)&&(++j>0)) a++; printf ("i=%d, j=%d, a=%d\n", i,j,a);} A) i=0, j=0, a=6 B) i=1, j=1, a=7 C) i=1, j=0, a=7 D) i=0, j=1, a=7 3有如下程序 main() { int a=2,b=-1,c=2; if(a

4若i为int型,且有程序如下,则输出结果是( ) i=111; if(i%3==0) printf("####"); printf("****"); A) #### B) **** C) ####**** D) 无输出结果 5若运行时x=12,则运行结果为( ) {int x, y; scanf("%d", &x); y=x>12 ? x+10:x-12; printf("%d\n", y);} A) 0 B) 22 C) 12 D) 10 6以下程序的输出结果是( ) main() { int i=0, j=0, k=6; if ((++i>0)||(++j>0)) k++; printf("%d, %d, %d\n", i, j, k); } A) 0, 0, 6 B) 1, 0, 7 C) 1, 1, 7 D) 0, 1, 7 7若变量都已正确说明,则以下程序段输出为( ) int a=1,b=2,c=3; if(a>b) a=b; b=c; c=a; printf("a=%d b=%d c=%d\n",a,b,c);

VB中输入输出语句

VB中输入输出语句 教学目标: 知识与技能:1、掌握输入函数inputbox 2、掌握输出语句print的用法 3、初步学会分析程序 过程与方法:经历分析问题、算法设计、编写程序、调试程序等用计算机解决问题的过程。 情感与态度:培养学生分析处理问题的能力与合作学习能力,增强学生的逻辑思维能力。 教学重点: 1、INPUTBOX的用法 2、PRINT语句的用法 教学难点: PRINT语句的用法 教学过程: 一、赋值语句 格式:变量=表达式 “=”为赋值符号,它的含义是将表达式的值赋给左边的变量 A=30 A=A+10 A=30 变量A 30 A=A+10 40 注:老师讲解学生认真听并理解赋值号和数学中等号的不同之处 InputBox函数的一般格式: InputBox(提示内容,[标题],[输入框起始值],[x坐标位置] ,[y坐标位置]) 每执行一次InputBox函数,用户只能输入一个数据,且这个数据是字符串类型(string)。 例:p=InputBox("请输入密码","密码框") 注:以实例逐个讲解输入函数的各个参数,让学生看到每个参数加上后的效果,学生认真听,理解inputbox()函数的使用方法。 三、输出数据 Print基本格式: print输出内容 1、如果输出的内容是数、变量、表达式,则输出的是数、变量、表达式的值。如果是用引号引起来的字符串,则原样输出。 2、输出的内容可以是一个或多个。如果是多个输出,则各输出内容之间可以用逗号或分号来分隔。 3、输出的内容后面没有符号,则表示下一个print换行输出;如果print中没有

输出内容,则表示输出一个空行。 注:输出语句是编写程序必需掌握的基本语句,老师以实例讲解每个输出要点,输出语句的各个规则,学生观摩并记住print的用法。 四、实战练习 试编写一个程序,交换两个变量的值。 程序: Dim a, as integer,b as integer A=inputbox(“A=”,”输入A”) B=inputbox(“B=”,”输入B”) C=A A=B (先用学生的方式看看交换后的结果, B=C 用比喻的方式让学生容易接受,如交换两怀水一定要弄第3个容器)Print “交换后A=“;A,”交换后B=“;B

人教课标A版高中数学必修三课后作业5输入语句、输出语句和赋值语句

课后作业(五) (时间45分钟) 学业水平合格练(时间25分钟) 1.下列赋值语句正确的是() A.S=S+i2B.A=-A C.x=2x+1 D.P=x [解析]在程序语句中乘方要用“∧”表示,所以A项不正确;乘号“*”不能省略,所以C项不正确;D项中x应用SQR(x)表示,所以D项不正确;B选项是将变量A的相反数赋给变量A,则B项正确. [答案] B 2.下列正确的语句的个数是() ①输入语句INPUT a+2 ②赋值语句x=x-5 ③输出语句PRINT M=2 A.0 B.1 C.2 D.3 [解析]①中输入语句只能给变量赋值,不能给表达式a+2赋值,所以①错误;②中x=x-5表示变量x减去5后再赋给x,即完成x=x-5后,x比原来的值小5,所以②正确;③中不能输出赋值语句,所以③错误. [答案] B 3.下列程序运行的结果是() M=3 N=M+1 M=M-1 y=M+N PRINT y END

A.6 B.7 C.8 D.9 [解析]该程序的运行过程是 M=3, N=3+1=4, M=3-1=2, y=2+4=6, 输出6. [答案] A 4. 在如图所示的程序中输入x=1000,y=2,则输出的结果M 是( ) C.2020 D.2015 [解析]由程序得M=2×1000+6×2+3=2015. [答案] D 5.给出下面的程序: INPUT“实数”;x1,y1,x2,y2 a=x1-x2 m=a^2 b=y1-y2 n=b^2 S=m+n d=SQR(S) PRINT d END

此程序的功能是() A.求点到直线的距离 B.求两点之间的距离 C.求一个多项式函数的值 D.求输入的值的平方和 [解析]输入的四个实数可作为两个点的坐标,程序中的a,b 分别表示两个点的横、纵坐标之差,而m,n分别表示两点横、纵坐标之差的平方;S是横、纵坐标之差的平方和,d是平方和的算术平方根,即两点之间的距离,最后输出此距离. [答案] B 6.下列程序的运行结果为________. m=1 n=2, p=3 p=m n=p m=n PRINT m,n,p END [解析]此程序主要以赋值语句来设计,其作用是首先对变量m,n,p分别赋值1,2,3,然后将变量m的值赋给p,再将变量p的值赋给n,最后将变量n的值赋给m,所以最后变量m,n,p的值都等于1,运行结果输出1,1,1. [答案]1,1,1 7.读下列程序,完成问题。 程序:

c语言输入输出函数知识点总结

c语言输入输出函数知识点总结 1.I/O input output(输入端,输出端) 输入:从计算机向外部输出设备(显示器,打印机)输出数据。 输出:从输入设备(键盘、鼠标、扫描仪)向计算机输入数据。 2.C语言本身不提供输入输出语句,输入和输出操作是由C函数库中的函数实现的。 3.字符输出函数一般形式:putchar(a);a可以是字符型变量、整型变量、字符常量、整型常量。函数作用:向终端输出一个字符。 4.字符输入函数一般形式:a=getchar( );函数作用:从终端输入一个字符。函数值:从输入设备得到的字符。 5.格式输出字符 %d:以十进制输出整数;%o:以八进制形式输出整数;%c:以字符形式输出一个字符;%s:输出字符串;%f:以小数形式输出单、双精度数,隐含输出六位小数。 6.getchar一次只能输入一个字符,有几个getchar()就输入几个字符,多输入的计算机不能识别。 7.getchar()输入的时候,空格键、Enter键、Tab键不能乱用,他们都当成字符对待。 printf("%d,%c,%f,%o,%x,%s",a,b,c,d,e,f); .......................................... 8.格式控制都是小写字母; 9.格式控制与后面要输出的变量是一一对应;................................................... 10.printf("%md",a); 1).m是整数; 2).m是指输出的结果占m列宽度; 3).m是正整数的话,输出结果差几列左补几个空格; m是负整数的话,输出结果差几列右补几个空格; 4).如果m的绝对值小于原来数的宽度,则原样输出。................................................... 11.printf("%m.nf",a); 1).m是指输出占几列宽度,n是指输出结果小数点后保留几位有效数字; 2).m是正整数的话,输出结果差几列左补几个空格; m是负整数的话,输出结果差几列右补几个空格; 3).printf("%2.5f",a); m

循环语句习题选

循环语句习题选 1. 一个自然数与3的和是5的倍数,与3的差是6的倍数,这个自然数最小是几? [ 27 ] 2. 在400--500之间求一个数,它被2除余1,被5除余3,被9除余1,这个数是多少? [ 433 ] 3. 一些四位数,百位数字都是3,十位数字都是6,并且它们既能被2整除,又能被3整除,求这样的四位数中最大的和最小的两数各是几? [ 9366, 1362 ] 4. 编程求一个四位自然数ABCD,它乘以A后变成DCBA. [ 共10个] 5. 编程求出满足以下条件的三位数:它除以11所得的商等于它各位数字之和. [ 198 ] 6. 由计算机产生五个互不相同的19到87之间的随机整数(包括19,不包括87),从中找出所有的三个数之和能被3整除的数组,并按如下格式打印出来. 例如: 42 24 34 51 52 42 + 24 + 51 = 117 = 3 * 39 [ 87年北京市小学组初赛] 7. 某数被80除所得的商,不但是7的倍数,而且用2,3,4,5,6去除余数都是1,求这个自然数. [ 24080 ] 8. 有一种最简真分数,它们的分子与分母的乘积都是140,把所有这样的真分数从小到大打印出来. [ 1/140 ; 4/35 ; 5/28 ; 7/20 ] 9. 求把2/7化为小数后,小数点后面1001位数字总和是多少? [ 4505 ] 10. 一个五位数,若在它的后面写上一个7,得到一个六位数A,若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此五位数. [ 14285 ] 11. 有一个六位数,其个位数字是7,现将个位数字移到首位,而其余各位数字不变,均后退一位,得到一个新的六位数,如果新的六位数是原六位数的四倍,求原来的六位数. [179487 ] 12.一个自然数的个位数字是6,如果把这个位数字移到首位,所得到的数是原数的4倍,求这个自然数. [ 153846 ] 13. 某数的末位数字是2,将2移到首位,所得到的新数正好是原数的2倍,求满足条件的最小数. [ 105263157894736842 ] 14. 有一个六位数,第一位是1,如果把它移到个位,新的六位数正好是原数的三倍,求原来的六位数. [ 142857 ] 15. 已知一个正整数的个位数字是7,将7移到该数字的首位,其他数字顺序不变, 则所得到的新数恰好是原数的7倍,编程找出满足上述要求的最小的自然数. [ 1014492753623188405797 ] 16. 一辆以固定速度行驶得汽车,司机从里程表上看到的数字是一个回文数

带格式的输出语句及输入语句

带格式的输出语句及输入语句 一、输入语句(读语句) 在程序中可以用赋值语句给变量获得一个确定的值,但是变量的值经常变化,尤其初始化时,则必须使用输入语句──读语句,将更为方便。读语句是在程序运行时由用户给变量提供数据的一种很灵活的输入动作,它有两种格式: 1.读语句的一般格式: read(<变量名表>); readln[(<变量名表>)]; 其中变量名表是用逗号隔开的若干个变量名组成的。 功能:从标准输入(即INPUT,一般对应着键盘)中读入数据,并依次赋给相应的变量。 说明: ①read和readln是标准过程名,它们是标准标识符。 ②执行到read或readln语句时,系统处于等待状态,等待用户从键盘上输入数据,系统根据变量的数据类型的语法要求判断输入的字符是否合法。如执行read(a)语句,a是整型变量,则输入的字符为数字字符时是合法的,合法的情况下将输入的整数赋给变量a。 ③在输入数值型(整型或实型)数据时,数据间要用空格或回车分隔开各个数据,一定要输入足够个数的数据,否则仍要继续等待输入,但最后一定要有回车,表示该输入行结束,直到数据足够,读语句执行结束,程序继续运行。 例3. 设a、b、c为整型变量,需将它们的值分别赋以10,20,30,写出对应下列语句的所有可能输入格式。 Read(a,b,c); 解 根据③,即可列出所有可能输入格式 (a)10□20□30←┘ (b)10□20←┘ 30←┘ (c)10←┘ 20□30←┘ (d)10←┘ 20←┘ 30←┘ 其中"←┘"表示回车键。 ④read语句与readln语句的第一个区别是:

read语句是一个接一个地读数据,在执行完本Read语句(读完本语句中变量所需的数据)后,下一个读语句接着从该数据输入行中继续读数据,也就是说,不换行。如: Read(a,b); Read(c,d); Read(e); 如果输入数据行如下: 1□2□3□4□5□6□←┘ 则a,b,c,d,e的值分别为1,2,3,4,5,如果后面无读语句则数据6是多余的,这是允许的。 Readln则不同,在读完本Readln语句中变量所需的数据后,该数据行中剩余的数据多余无用,或者说,在读完本Readln语句中变量所需数据后,一定要读到一个回车,否则多余的数据无用。 例4 设要达到例1同样的目的,但语句改为: readln(a,b);readln(c) 则例3中的4种输入格式只有(b)(d)是有效的. ⑤readln语句与read语句的第二个区别是:read后一定要有参数表,而readln 可以不带参数表,即可以没有任何输入项,只是等待读入一个换行符(回车)。经常用于暂停程序的运行,直到输入一个回车。 例5 设有下列语句: read(a,b,c); readln(d,e); readln; readln(f,g); 其中,所有变量均为整型。再设输入的数据如下: 1□2←┘ 3□4□5□6□7□8←┘ 9□10←┘ 11←┘ 12□13←┘ 列表给出每个变量的值.

第1章 1.2.1 输入语句、输出语句和赋值语句 学案

§1.2 基本算法语句 1.2.1 输入语句、输出语句和赋值语句 【明目标、知重点】 1.理解输入语句、输出语句、赋值语句的作用. 2.理解这些语句与相应逻辑结构的关系,并能转化为程序语句. 【填要点、记疑点】 1.输入语句 (1)格式:INPUT “提示内容”;变量 (2)功能:输入提示内容要求的相应信息或值.即把程序中新输入的值赋给变量. 2.输出语句 (1)格式:PRINT “提示内容”;表达式 (2)功能:????? ①输出常量、变量的值和系统信息;②进行数值计算并输出结果. 3.赋值语句 (1)格式:变量=表达式. (2)功能:将表达式所代表的值赋给变量.即将表达式所代表的值赋给变量,一般先计算“=”右边表达式的值,然后把这个值赋给“=”左边的变量. 【探要点、究所然】 [情境导学] 前面我们学习了算法的步骤设计、算法的程序框图的画法,为了让计算机能够 理解算法步骤、程序框图,我们必须把它们转换成算法语句.我们先一起来学习输入、输出语句和赋值语句. 探究点一 简单的程序设计语言 思考1 想一想计算机能够“理解”的语言与人的语言有什么区别? 答 计算机不同于人,人有大脑,可以思考问题,而计算机对自然语言和程序框图描述的算法无法识别,必须转化为其能理解的语言,即程序语言. 思考2 阅读教材21页回答基本的算法语句有哪些?各自对应怎样的算法结构? 答 基本的算法语句????? ? ????输入语句输出语句赋值语句对应顺序结构条件语句——对应条件结构循环语句——对应循环结构

探究点二输入语句、输出语句 问题用描点法作函数y=x3+3x2-24x+30的图象时,需要求出自变量和函数的一组对应值.编写程序,分别计算当x=-5,-4,-3,-2,-1,0,1,2,3,4,5时的函数值. 思考1如何设计算法步骤?如何根据算法步骤画出程序框图? 答第一步,输入一个自变量x的值. 第二步,计算y=x3+3x2-24x+30. 第三步,输出y. 其程序框图: 思考2如果将思考1中的程序框图中第一个程序框省略,后四个程序框中的内容依次写成算法语句,就得到该算法的计算机程序: INPUT “x=”;x y=x^3+3*x^2-24*x+30 PRINT y END 在上述计算程序中包含哪几种语句? 答1.这个程序由4个语句行组成,分别是输入语句、赋值语句、输出语句,最后一行的END语句表示程序到此结束. 思考3阅读教材22页下半页,谈谈输入语句的一般格式及注意事项分别是什么? 答输入语句的一般格式:INPUT“提示内容”;变量?INPUT“x”;x. 注意事项:(1)INPUT语句的作用:用来向变量提供数据,实现算法的输入信息功能.可以给多个变量赋值,例如INPUT“a,b,c=”;a,b,c. (2)“提示内容”提示用户输入什么样的信息,变量是指程序在运行时其值是可以变化 的量. (3)输入语句要求输入的值只能是具体的常数,不能是函数、变量或表达式. (4)提示内容与变量之间用“;”隔开,若输入多个变量,变量与变量之间用“,”隔开. (5)“提示内容”和它后面的“;”可以省略;如INPUT“x”;x或INPUT x. (6)无计算功能,用户由键盘输入的数据必须是常量.

简单的C语言选择与循环结构10个编程练习题.

简单的C语言选择与循环结构10个编程练习题 1、以下程序的输出结果是___________________: # include void main(){ int k; for (k=2;k<6;k++,k++) printf(“##%d”,k); } 2、以下程序的输出结果是___________________: # include void main(){ int y=9; for( ; y>4 ; y- -) if (y % 3 == 0) printf(“%d”,- -y); } 3、以下程序的输出结果是___________________: #include main( ) { char c1, c2; for(c1=’0’,c2=’9’;c1

1,(x>0) 6.用if语句编程,从键盘输入一个x,计算y值 y= 0,(x=0)。 -1,(x<0) 7、求sum=52+72+92+……+152 8、求sum=1/5+1/6+1/7+1/8+…+1/15 9、编写程序(提示字符变量ch从’C’到字符’N’),输出CDEFGHIJKLMN 10、打印九九表(提示:用双重循环,关键代码:printf("%d*%d=%-d",i,j,i*j);/*-3d表示左对齐,占3位*/): 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 …… 9*1=9 9*2=18 ………………9*9=81

C语言习题:顺序、选择、循环

顺序结构程序设计 2.3.1 要点导读 () 与scanf()语句。 printf() 与scanf()语句是最通用的输入输出函数,它们可以在程序设计者的控制下以各种格式分别实现数据的输出和输入操作。它们位于库文件中。 2.字符数据的输入输出。 最简单的字符输入输出函数是getchar()和putchar()。两者分别从键盘读一个字符或向显示屏写一个字符。 2.3.2 经典例题分析 1.下列程序运行后输出的结果是。 #include <> void main() 、 { int a=0,b=0; a=10; b=20; printf(“a+b=%d”,a+b); } 分析:printf( )是输出函数,它的括号内由两部分组成: 1)控制字符串,是用双引号括起来的字符串,它包括两种信息: (1) 格式说明。由”%”和格式字符组成,如:%d、%f、%c等。它的作用是将输出 的数据转换成指定的格式输出。 (2) 普通字符。需要原样输出的字符。 - 2)”输出表列”是需要输出的一些数据,可以是表达式。 题目中a的值是10,b的值是20,在 printf(“a+b=%d”,a+b); 格式说明输出表列 中,”a+b= “是普通字符,需原样输出。输出表列是一个表达式,它的结果以整型输出。 答案:a+b=30。 2.下列程序运行后输出的结果是。

#include <> void main() { int a=732; ) printf(“%d\n”,a); printf(“%2d\n”,a); printf(“%10d\n”,a); printf(“%-10d\n”,a); } 分析:d格式符,用来输出十进制整数。其中%d,按整型数据的实际长度输出。%md,m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。 printf(“%d\n”,a);把a的值按原样输出:732。printf(“%2d\n”,a);结果占2列,但732占3列大于2列,所以按实际位数输出:732。printf(%10d\n”,a);结果占10列,但732占3列小于10列,所以左端补7个空格。printf(“%-10d\n”,a); 结果占10列,“-”表示把数值放到左端,732占3列小于10列,所以右端补7个空格。 答案:732 732 □□□□□□□732 /*□表示空格*/ , 732□□□□□□□ 3.已知char a=‘\103’;则语句printf(“%3d”,a);执行后的输出结果为(□表示空格)。 A)□67B)’c’C)67□D)103 分析:’\103’是一个转义字符,表示一个八进制数所代表的字符,转换为十进制为67。printf(“%3d”,a);把’\103’转换为十进制数输出,结果占3列。但67占2列,小于要求的3列,所以左补空格,即□67。 答案:C。 4.下列程序运行后结果是。 #include <> #define a void main() { printf(“%f\n”,a); @ printf(“%e\n”,a); printf(“%4.2f\n”,a); printf(“%3.1f\n”,a); printf(“%10.3f\n”,a); printf(“%-10.3f\n”,a); } 分析:f格式符,用来输出实数,以小数形式输出,小数点后输出6位。所以printf(“%f\n”,a);输出结果为。 %是指,要输出的数占m列,同时小数点保留n位(四舍五入),如果输出的数大于m,

C语言数据的输入与输出

C语言数据的输入与输出 一.Printf函数 函数原型在头文件stido.h中(使用时可以不包括) printf函数的返回值等于成功输入得数据的个数 1.printf函数得一般调用形式 printf(格式控制字符串,输出项列表) 格式控制字符串包括: (1)格式指示符 格式:%[标志][宽度][.精度][ [ h|l ] <类型>] (2)转义字符 如:'\n' , '\0' (3)普通字符 如:printf("max=%d,min=%d\n", a, b); “max=”和“,min=”是普通字符;“%d”是格式指示符;“\n”是转义字符; a和b是输出类表中的输出项(可以是常量、变量、或表达式)。 2.print函数中常用得格式控制说明 (1)数据类型控制字符 (2)数据类型修饰符 数据类型修饰符在%和数据类型控制符之间 如:长整型 "%ld" ,短整型 "%hd" (3)输出数据所占得宽度与精度

1)在%与格式字符之间插入一个整数来指示输出宽度。 若指定得输出宽度不够,系统自动以数据实际值得宽度作为输出宽度;如果指定的输出宽度多于数据实际所需宽度,数据右对齐,左边补以空格。 如:printf("%5d\n",42); \*输出结果: 42*\ 2)float或double类型得实型数可以用“整数1.整数2”的形式在指定总宽度的同时指定小数位得宽度。“整数1”指定输出数据得总宽度(小数点也要计算在内),“整数2”称之为精度,即小数位的位数。 注意:输出数据得实际精度并补取决与格式控制中的域宽和小数得位宽,而是取决于数据在计算机内的存储精度。 (4)标志控制字符 1)输出数据左对齐的标志字符“-”,在指定输出宽度之前。 如:printf("%-5d##\n",24); \*输出结果:24 ##*\ 2)输出数字总是带正负号得标志字符“+”,在%和格式字符之间(或指定得输出宽度前) 如:printf("%+d,%+d\n",100,-200); \*输出结果:+100,-200*\ 3)在输出数据前加前导0,可以在指定输出宽度得同时,在数据前面得多于空格处填以数字0。 如:printf("%05d\n",59); \*输出结果:00059*\ 二.Scanf函数 函数原型在头文件stdio.h中(使用时可以不包括) Scanf函数的返回值等于成功输入得数据的个数。 1.scanf函数得一般调用形式 scanf(格式控制字符串,地址列表) 格式控制字符串:%[*][输入数据宽度][ h|l ]<类型> 地址列表是各变量得地址,如:&a,&b

pascal-带格式的输出语句及输入语句

1.文件的打开与保存 2.文件的输入与输出语句(结合常量与变量、数的科学记数法) 3.类型:溢出的理解 带格式的输出语句及输入语句 一、写语句的输出格式 在pascal语言中输出数据时是可以按照一定格式的,对整数隐含的输出形式为按十进制数形式。对实数的输出,隐含的形式是科学记数法形式(如果不想用科学记数法输出而用小数形式输出,要自己另行定义)。 事实上,输出语句中的每个输出项中的表达式之后可以加上格式说明,若输出项后没有加格式说明,则数据按系统隐含的格式输出,还可加上一定格式符号按特定格式输出。 ⒈隐含的输出格式 pascal语言为整型量、实型量、布尔型量和字符串( 用一对单引号括起来的字符序列)规定了每种数据所占的宽度(即一个数据占几列) ,一个数据所占的宽度称为"场宽"或"字段宽"。系统给出的隐含场宽称为标准场宽。每一种pascal版本给定的标准场宽不尽相同。下表给出标准pascal和pc机上两种pascal版所规定的标准场宽。 标准场宽 ━━━━━━━━━━━━━━━━━ 数据类型标准pascal Turbo pascal ───────────────── integer 10 实际长度 real 22 17 布尔型10 4或5 字符串串长串长 ━━━━━━━━━━━━━━━━━ 在Turbo Pascal系统中,对于整型字符串的输出都是按数据本身长度输出,对于布尔型数据(只有True和False两种值),TRUE为4列,FALSE为5列,一律采用大写输出。而real 型数据的输出时,则按17列输出,其中第一列为符号位,正号不显示,后四位为"E±nn",中间的12列为尾数部分。如: writeln(sqrt(75)); 则输出□8.6602540379E+00。 而writeln(sqrt(81)); 则输出□9.0000000000E+00。 有时,在程序中往往根据实际情况,需要自己定义场宽。 ⒉指定场宽 在写语句中输出项含有格式符号时,就是为了指定场宽。 ⑴指定单场宽. 格式:write(表达式:N)或writeln(表达式:N),其中N为自然数,指定单场宽后,所有数据不再按标准场宽输出,而按指定场宽输出。若数据实际长度小于指定场宽时,则一律"向右

C语言标准输入输出详解

C CC C输入输出函数 输入输出函数输入输出函数 输入输出函数 本节主要介绍Turbo C2.0标准输入输出函数和文件的输入输出函数。通过本 节的学习可以使读者掌握Turbo C2.0的屏幕输出、键盘输入输出以及磁盘文件的 读写函数, 并能开始进行一些简单的程序的编写。 控制流程语句主要包括: 条件语句、循环语句和开关语句。 1.1 标准输入输出函数 1.1.1 格式化输入输出函数 Turbo C2.0 标准库提供了两个控制台格式化输入、输出函数printf( ) 和 scanf(), 这两个函数可以在标准输入输出设备上以各种不同的格式读写数据。 printf()函数用来向标准输出设备(屏幕)写数据; scanf() 函数用来从标准输入

设备(键盘)上读数据。下面详细介绍这两个函数的用法。 一、printf()函数 printf()函数是格式化输出函数, 一般用于向标准输出设备按 规定格式输出信息。在编写程序时经常会用到此函数。printf()函数的调用格式为: printf("<格式化字符串>", <参量表>); 其中格式化字符串包括两部分内容: 一部分是正常字符, 这些 字符将按原 样输出; 另一部分是格式化规定字符, 以"%"开始, 后跟一个或几个 规定字符, 用来确定输出内容格式。 参量表是需要输出的一系列参数, 其个数必须与格式化字符串 所说明的输出 参数个数一样多, 各参数之间用","分开, 且顺序一一对应, 否则 将会出现意想 不到的错误。 1. 格式化规定符 Turbo C2.0提供的格式化规定符如下: ━━━━━━━━━━━━━━━━━━━━━━━━━━ 符号作用 ────────────────────────── %d 十进制有符号整数 %u 十进制无符号整数

输入语句、输出语句和赋值语句

一、知识概述 算法是解决问题的一种方法,我们把问题看成函数,那么可以把算法看成将输入转化为输出的一个过程. 输入语句 在一些算法中,变量的初始值要根据情况经常改变.一般我们把程序和初始数据分开,每次进行运算时,即使初始数据改变,也不必改变程序部分,只要每次运行程序时,输入相应的数据就可以了.这个过程在程序语言中要用“输入语句”来控制,我们以BASIC 语言为例. 输入语句的意义是:在编写程序时可以把程序和初始数据分开,达到用程序解决一类问题的目的.换种说法,就是在程序中用字母(变量)代替数参与运算和执行. 1、输入语句的格式 INPUT“提示内容”;变量 例如:INPUT“x=”;x 注:程序语言中的变量与函数 在设计算法的过程中,解决问题的基本思想常常很简单、很清楚,但表述参与运算的数值的频频变换却很麻烦.为了解决这个问题,需要在程序中引入变量.前面通过对函数概念的学习,我们已经了解了变量的含义:在研究问题的过程中可以取不同数值的量称为变量. 程序中一些重要的函数也很有用处,如取平方根函数,取绝对值函数 . 变量与函数是中学数学里最重要的和最基本的概念,在算法的设计里面仍然发挥着重要的和基本的作用,它们会使算法的表达变得非常简捷、清楚. 2、作用和要求 功能:实现算法的输入变量信息(数值或字符). 要求:(1)输入语句要求输入的值是具体的常量; (2)提示内容提示用户输入的是什么信息,必须加双引号,提示内容“原原本本”的在计算机屏幕上显示,提示内容与变量之间要用分号隔开;

(3)一个输入语句可以给多个变量赋值,中间用“,”分隔;输入语句还可以是“提示内容1”;变量1,“提示内容2”;变量2,“提示内容3”;变量3,……的形式.例如:INPUT“a=,b=,c=,”;a,b,c. 输出语句 任何求解问题的算法,都要把求解的结果“输出”.由此可知,任何程序语言也必须有“输出语句”来控制输出,不同的程序语言都有自己的输出语句和表现形式.但功能都是一样的,也就是以某种形式把求解结果“输出”出来.下面我们还是以BASIC语言为例. 1、输出语句的一般格式 PRINT“提示内容”;表达式 例如:PRINT“S=”;S 2、作用和要求 功能:实现算法的输出信息(表达式). 要求:(1)表达式是指算法和程序要求输出的信息; (2)提示内容提示用户要输出的是什么信息,提示内容必须加双引号,提示内容要用分号和表达式分开; (3)如同输入语句一样,输出语句可以一次完成输出多个表达式的功能,不同的表达式之间可用“,”分隔;输出语句还可以是“提示内容1”;表达式1,“提示内容2”;表达式2,“提示内容3”;表达式3,……的形式;例如:PRINT“a,b,c:”;a,b,c. 思考1:输出语句中的表达式和输入语句中的变量有什么区别与联系? 输入语句提示内容后面跟的是变量,这是一个字母,它的作用是将用户输入的数值代入程序中,而输出语句后面跟的是表达式,如3x+2中含有变量,变量参与了运算后形成了表达式.单纯的变量也是一个表达式,也就是说变量是表达式的一种特殊情况,表达式可以是常量、变量或含有变量的运算式.如“PRINT 3”输出的结果为实数3,“PRINT x”是将变量“x”的值输出. 【拓展·归纳】(1)输出语句又称“打印语句”,将表达式的值在屏幕上显示出来; (2)表达式可以是变量、计算公式或系统信息; (3)输出语句有计算功能,能直接输出计算公式的值.

相关文档
相关文档 最新文档