1、b=20; 给b赋值 */printf(a+b=%dn,a+b); /*输出计算结果*/程序运行后的结果是(B)A)a+b=30 B)a+b=10 C)30 D)程序出错四、输出函数总共有两个,分别为printf和putchar函数。1. printf函数(1)printf函数的一般格式:printf(格式输出控制,输出列表)1)格式输出控制:需用一对双引号括起来,双引号内包含“格式说明”和“普通字符”两部分。2)输出列表:需要输出的数据,多个数据之间用逗号隔开。(2)格式说明(详见教材197面,把上面输出格式要求全部掌握)注:在printf函数中,若格式说明的个数少于输出项的个数,多余的输出
2、项则忽略不输出,这是二级C考试中经常出现的题目。(3)普通字符会原样输出,转义字符需要输出对应的字符。printf函数输出数据时,做题时很容易忽略普通字符(除了格式控制符之外的字符)的输出。在考试中,这类题目常出现。例: inta,b; a=10; b=15;a+b=%d 程序运行结果为:(4)数据输出实例(已知int a=66; float b=123.56;)通过以下各输出语句,掌握输出函数的各种格式。(1)printf(%d,a); 66(2)printf(%3d 66(3)printf(%-3d 66(4)printf(%f,b); 123.560000(5)printf(%7.2f
3、123.56(6)printf(%-7.2f 123.56%c B(7)printf(%x 421)输出控制是由双引号括起来的格式转换控制信息.它分为两种信息:用于说明的信息,计算机会按照原样输出;以上例子中的“a=”它可以是任意的常量,变量,表达式汉字,字符等。2)带有%的格式转换说明,用于指定输出数据的格式。例如”%d”。3) 输出数据列表包括需要输出的一些数据。各个数据之间用逗号分隔开。输出数据的个数与输出控制中的格式转换说明的个数相等,并且在顺序上要一一对应且类型匹配。输出数据列表中的数据可以是任意合法的常量、变量或表达式。4) 在输出控制中,格式说明的个数应与输出项的个数相同。如果格
4、式说明的个数少于输出项的个数,多余的输出项则不予输出;如果格式说明的个数多于输出项的个数,则对多余的格式说明将输出不定值。输出语句printf(%d,%d,2,3,4);的输出结果为2,3。a=%d,b=%d,2.3,4.0);的输出结果为a=2,b=3。1)可以在%和格式字符之间加入一个整数来控制输出数据所占的宽度,强调如果整数指定的宽度大于实际输出数据的宽度,数据的输出采用右对齐的方式,左边自动补空格;反之,则以输出数据的实际宽度输出。2)当在%和格式字符f之间加入“整数1.整数2”来控制输出数据的格式时,强调“整数1”用于指定输出数据占的总宽度,“整数2”用于指定输出实数的小数部分的个数
5、。当输出数据的小数个数多于“整数2”指定的个数时,截去多余的数据,并对截去的第1位小数作四舍五入处理。当输出数据的小数个数少于“整数2”指定的个数时,在小数的右边添0补足。3)如果需要在输出的八进制数前添加0,或在输出的十六进制数前添加0x,可在%号和格式字符o和x之间插入一个#号(注意:#号对其他格式字符通常不起作用)4)如果要输出时,则应该在格式控制中用两个连续的,即%来表示,也就是在格式控制中出现两个连续的,则此时不再用来代表格式说明。下面是关于以上几种特殊情况下数据的输出格式以及输出结果:各种特殊情况时数据输出结果对比输出语句 输出结果 输出语句 输出结果,254);254 print
6、f(%2d%4d254,1.25); 1.250000 printf(%10f1.250000%4.4f 1.2500 printf(%7.4 f1.2500%2.0 f1 printf(%o376 %#o0376 printf(%#x0xfeprintf(“%”);% printf(“%d”,254);%d 2.putchar函数此函数只能输出字符型的数据。表示将括号里面的字符型数据以字符的形式输出到屏幕上。 ( 1)输出格式为:putchar(字符型变量或常量);(2)举例:putchar(c); 其中“c”为变量。putchar(C); 其中“C”为字符型常量。【注意事项】putchar
7、函数的参数只有一个,可以是字符型的变量或者常量。如果是常量必须用单引号括起来。五、输入函数数据的输入函数,总共有两个,分别为printf和putchar函数。1. scanf函数(1)输入格式:scanf (输入控制,输入数据列表)【说明】1)“输入控制”的含义与printf函数的“输出控制”相同,它的作用是指定输入时的数据转换格式。例子中的“%d”。2)输入数据列表是一个或者多个合法的地址表达式。例子中的“&a”。其中“&”为取地址的符号,后面必须跟变量或者变量表达式。我们要从键盘上将不同的数据输入计算机中时,也要限制以什么格式输入,可以接受那些数据,这就是格式化的输入函数。【历年考题】若有
8、定义:int a,b;,通过语句scanf(d;d,&a,&b);,能把整数3赋给变量a,5赋给变量b的输入数据是( )。A)3 5 B)3,5 C)3;5 D)35若变量已正确定义为int 型,要通过语句scanf(%d,%d,%d,&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(u代表一个空格符)( )A)uuu1,2,3 B)1u2u3C)1,uuu2,uuu3 D)1,2,3、=、关系运算符赋值运算符逗号运算符(3) 关系表达式:由关系运算符组成的表达式叫做关系表达式。例如:ab a!=10(4) 关系运算的结果:1表示真,0表示假(5) 结合方向:从左
9、向右,即先算左边再算右边二、逻辑运算(1)逻辑运算符:&、|、!(2)逻辑表达式:由逻辑运算符组成的表达式a & b a真b真为真,否则为假(一假则假)a | b a假b假为假,否则为真 (一真则真)!a a为真时!a为假,a为假时!a为真(非真则假,非假则真)(3)优先级:|(4)例一:判断下列表达式是真还是假?10 & 20 1020|2020 !5(5)例二:计算变量a,b,c,d的值int a=0,b=0,c=0,d=0;a+;b=a+1010;c=ab&b=c;d=(+b=90)成绩优秀!);通过输入不同的值来判断输出的内容,如果输入的数据不小于90,则输出。4.此题必须要求完全掌握
10、。int a=4,b=3,c=5,t=0;if(a=0&ch=d)=1) prinft(“%dn”,d+1); printf(“%dn”,d+2);注意两点:一是学会配对if-else,采用从后往前配对;二是必须掌握判断ac的真假,(c-1=d)=1的真假。六、 条件表达式1.条件表达式的形式如下: 表达式1?表达式2:表达式32.条件表达式求职规则:(1) 首先判断表达式1的值是否为真(2) 如果表达式1的值为真则表达式2的值为整个表达的值,否则表达式3的值为整个表达式的值3. 多个条件表达式的结合方向:自右向左4. 例:求两个数中的最大值:max=ab?a:b;5.例题int k=0,b=
11、2,c=3;k=ac?c:k;mian() int a=5,b=4,c=6,d;printf(“%dn”,d=a(ac):(c);七、 switch语句1. switch语句的一般格式: switch(表达式) case 常量表达式1:语句块1;break; case 常量表达式n:语句块n; default:语句块n+1; (1) switch、case、default、break都是关键字(2) 圆括号中的表达式:必须是整型或字符型,不能为实型。case后面的表达式可以是求得整型量和字符型量的常量表达式,但是常量表达式后面不能含有变量。(3) 执行switch语句的步骤: 首先计算swit
12、ch后圆括号内表达式的值; 如果计算结果与case后面某个常量表达式相等,则执行该case后面的语句块; 如果没有任何一个常量表达式与之相等,则执行default后的语句块。(4) 执行switch语句的执行策略: 执行过程中如果遇到break语句,则跳出switch语句 如果执行完一个case或是default没有遇到break,则继续顺序往下执行,直到遇到break语句或是switch语句体被执行完毕。(5) default最多只能有一个,通常出现在switch的最后部分,但也可以出现在case之间或所有case之前。例二: a=1; switch(a) case 1: case 2: c
13、ase 3:default:a=%dn请问输出的结果为多少?2. 区别下列两个例子 例一: 注:switch语句中,注意在case的语句块后加break语句和不加break语句的区别,在考试中,经常考查该类题。另外,考查default语句的执行(只有所有case后的常量表达式都不成立时,才执行default后的语句)。第四章 循环结构一、 本章学习要点 明白并熟练掌握循环的过程,特别for循环是考试的重点,请必须注意以下细节:(1) 什么是循环?重复做同样的事情就称为循环。循环有四要素,请同学们谨记: 循环的起点,就是循环从什么时候开始 循环的终点,就是循环到什么时候结束,同学们千万要记住一般
14、的循环是要结束的,但是有种循环永远也结束不了,这样的循环称为死循环 循环的步长,指的是循环每次变化的值,如果循环每次都没有变化,很容易变为死循环 循环体,循环体是每次重复做的事情(2) for循环的基本结构,表达式1,表达式2和表达式3分别代表什么(3) 必须掌握循环的执行步骤2. 掌握几种常见的使用循环解决的问题,考试中涉及很多和循环相关的考点,因此在学习循环的过程中一定要慢慢训练使用循环解决问题的思路。二、 while循环 while循环和for循环的循环执行过程差不多一致,只是表达式1,2,3的位置不同而已2. while的一般形式 while(表达式)循环体语句(1 while是C语言
15、的关键字,必须小写(2表达式是任意合法的表达式(包括:常量、算术、关系、逻辑、赋值表达式)(3 循环体语句只能是一条语句或是一个复合语句(4 表达式不能省略,循环体语句省略时表示不做任何的操作 while的执行过程(1) 判断表达式的真假(2) 如果表达式为真则执行循环体语句,否则结束循环4. 例 int k=5; while(-k) printf(“%d”,k-=3); printf(“n”);执行过程如下:(1) 初值k=5,判断表达式:-k的真假,-k为4故为真,执行循环体:输出k=k-3,输出1(2) 初值k=1,判断表达式:-k的真假,-k为0故为假,循环执行完毕(3) 执行循环以后的语句printf(“n”);输出一个回车,所以结果为:1i=2,判断:n!=0为假,则结束循环;(2) 执行完循环后继续执行循环后面的语句:,i);输出结果为:2 知识点举例:Int i,n=0;i=0;i+;+i;while(n!=0);i=0,执行循环体:printf(“%d”,i);输出i的值为0,判断表达式i+的真假,因为i的初值为0,则i+的值为0,i的值为1,表大事i+值为0为假,结束循环(2) 执行循环体后面的语句:printf(”%dn”,i);输出的值为1
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1