资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,書式設定,第 2,第 3,第 4,第 5,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,*,函数与预编译,*,单击此处编辑母版标题样式,*,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,等考辅导,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,Click to edit Master title style,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,書式設定,第 2,第 3,第 4,第 5,*,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,L o g o,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,Click to edit Master title style,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,*,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,计算机等级考试C语言辅导,计算机等级考试C语言辅导计算机等级考试C语言辅导,全国计算机等级考试介绍,全国计算机等级考试(,NationalComputerRankExamination,,简称,NCRE,),是经原国家教育委员会(现教育部)批准,由教育部考试中心主办,面向社会,用于考查应试人员计算机应用知识及技能的全国性计算机水平考试体系。,二级考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能。考试科目:,C,、,C+,、,Java,、,VB,、,Delphi,、,VF,。,2,考试内容分析,笔试,公共基础(,30,分),C,语言(,70,分),机试,程序填空(,30,分),程序改错(,30,分),编程题(,40,分),3,笔试内容分析,4,培训方案,理论辅导(,40,课时),C,语言程序的结构:,1,课时,数据类型及其运算、基本语句:,3,课时,程序的三种基本结构:,4,课时,数组、函数、编译预处理:,10,课时,指针、结构体:,10,课时,文件和位运算:,2,课时,上机辅导(,20,课时),上机题讲解,上机题辅导(机房),真题练习及辅导(机房),5,学习建议,坚定信心,不要太拘泥于语法细则,多上机验证和练习,真题演练,6,C,语言语法基础,7,知识点分析,学好语法基础是掌握后续知识的前提,平均考查分值大约,10,分,是重点掌握内容,但也不必深究,也不必强记。,重要考点,C,程序的构成及格式,数据类型,运算符和表达式。,8,编程环境,TC,VC+,9,上机调试程序的过程,10,考点:,C,语言程序的基本结构,C,语言程序由若干个函数构成。函数是,C,语言程序的基本单位。每个,C,语言程序必须有且只有一个主函数。,C,语言程序总是从,main(),函数开始执行,并在,main(),函数中结束。,#include,main(),int a,,,b,,,c,,,s,;,a=8,;,b=12,;,c=6,;,/*,变量赋值*,/,s=a+b*c,;,printf(“s=%dn”,,,s),;,11,考点:,C,语言程序的基本结构,函数中的语句放在一对花括号,内,称为函数体。,函数体中可以有任意多个语句,每个语句必须以分号结束。一行可由一个语句或多个语句组成。,#include,main(),int a,,,b,,,c,,,s,;,a=8,;,b=12,;,c=6,;,/*,变量赋值*,/,s=a+b*c,;,printf(“s=%dn”,,,s),;,12,考点:,C,语言程序的基本结构,大小写在,C,中是有区别的。,/*,和*,/,中的语句为注释语句不编译执行。,#include,main(),int a,,,b,,,c,,,s,;,a=8,;,b=12,;,c=6,;,/*,变量赋值*,/,s=a+b*c,;,printf(“s=%dn”,,,s),;,13,考点:,C,语言程序的基本结构,头文件可以认为是,C,语言提供的库函数的集合,一些同类的库函数放在一起就形成了一个头文件。源程序中,当使用某一库函数时,必须将它所在的头文件以文件包含预处理。,#include,main(),int a,,,b,,,c,,,s,;,a=8,;,b=12,;,c=6,;,/*,变量赋值*,/,s=a+b*c,;,printf(“s=%dn”,,,s),;,14,往年真题,(,2006,年,4,月选择第,14,题)以下叙述中错误的是(),A,),C,语言源程序经编译后生成后缀为,.obj,的目标程序,B,),C,程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件,C,)用,C,语言编写的程序称为源程序,它以,ASCII,代码形式存放在一个文本文件中,D,),C,语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令,(,2007,年,9,月选择第,11,题),C,语言源程序名的后缀是,A,),.exe B,),.C,C,),.obj D,),.cp,15,(,2006,年,4,月选择第,18,题)以下四个程序中,完全正确的是,A,),#include B,),#include,main(),;,main(),/*programming*/*/programming/*/,printf(programming!,n),;,printf(programming!,n),;,C,),#include D,),include,main()main(),/*/*programming*/*/*programming*/,printf(programming!,n),;,printf(programming!,n),;,16,(,2007,年,4,月选择第,15,题)对于一个正常运行的,C,程序,以下叙述中正确的是,A,)程序的执行总是从,main,函数开始,在,main,函数结束,B,)程序的执行总是从程序的第一个函数开始,在,main,函数结束,C,)程序的执行总是从,main,函数开始,在程序的最后一个函数中结束,D,)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束,17,考点:数据类型,数据类型,基本类型,构造类型,指针类型,空类型,字符类型,整型,实型,枚举类型,数组类型,结构体,共用体,18,整型,十进制形式,:,及数学上的整数表示相同;,例如,:12,-100,0,八进制形式,:,在数码前加数字,0,;,例如,:012=1*81+2*80=10(,十进制),十六进制形式,:,在数码前加,0X,。,例如,:0 x12=1*161+2*160=18(,十进制),*,八进制的数码范围为,07,;,018,*,十六进制的数码除了数字,09,外,还使用英文字母,a f(,或,A F),表示,1015,。,如:,0 x1e,19,整型,根据数据所占的二进制位数分为,:,int,short,long,;,同样存储长度的数据又分,unsigned,signed,;,故可组合出六种类型。,20,实型,十进制小数形式:,3.4 4.3,指数形式:,12.5e-6,表示,12.510,-6,分类:,float,double,必须是整型,21,字符型,用单引号括起来的一个字符;如:,A,、,1,、,?,等,。,用单引号括起来的由反斜杠,(,),引导的转义字符,字符形式 功能,n,换行,t,横向跳格,b,退格,r,回车,反斜杠字符,单引号字符,ddd 8,进制数表示的,ASCII,码对应的字符,xhh 16,进制数表示的,ASCII,码对应的字符,22,常量,常量:程序运行期间值不改变的量,整型常量:,256,,,-75,,,0(,十进制整型常量,),0237,,,045,,,0621(,八进制整型常量,),0 x28AF,0 xED4(,十六进制整型常量,),435L,8350L(,长整型常量,),096,48EA,0 xK(,错误,),实型常量,28.76,,,2.34E+8,(正确),6.4E+4.8,,,E9,(错误),23,变量,概念:程序运行期间值可以被改变的量,定义:类型名 变量名,int a,b;,int a=3,b=4;,注意:变量必须先定义后使用,24,往年真题,(,2006,年,4,月选择第,11,题)以下不合法的用户标识符是,A,),j2_KEYB,),Double,C,),4dD,),_8_,(,2007,年,4,月选择第,13,题)按照,C,语言规定的用户标识符命名规则,不能出现在标识符中的是,A,)大写字母,B,)连接符,C,)数字字符,D,)下划线,25,(,2005,年,4,月选择第,12,题)以下选项中可作为,C,语言合法常量的是,A,),-80.B,),-080,C,),-8e1.0D,),-80.0e,(,2006,年,4,月选择第,12,题)以下不合法的数值常量是,A,),011B,),1e1,C,),8.0E0.5D,),0 xabcd,26,(,2006,年,4,月选择第,13,题)以下不合法的字符常量是,A,),018B,),C,),D,),xcc,(,2007,年,9,月选择第,16,题)以下关于,long,、,int,和,short,类型数据占用内存大小的叙述中正确的是,A,)均占,4,个字节,B,)根据数据的大小来决定所占内存的字节数,C,)由用户自己定义,D,)由,C,语言编译系统决定,27,(,2007,年,4,月填空第,10,题)以下程序的输出结果是,【】,。,#include,main(),printf(“%dn”,strlen(“IBMn012001”);,(,2007,年,9,月选择第,26,题)已知字符,A,的,ASC,代码值是,65,,字符变量,c1,的值是,A,c2,的值是,D,。执行语句,printf(%d,%d,c1,c2-2);,后,输出结果是,A,),A,,,B B,),A,,,68,C,),65,,,66D,),65,,,68,28,考点:运算符和表达式,掌握每个运算符的功能,掌握表达式值的求解,优先级,结合性,29,算术运算符,+(,加,),:,3+4,、,+3,-(,减,),:,3-5,、,-5,*(,乘,),:,3*5,/(,除,),:,5/2,的值为,2,;,5.0/2,的值为,2.5,;,%(,取余,),:,5%3,的值为,2,;,-5%3,的值为,-2,;,5%(-3),的值为,2,;,-5%(-3),的值为,-2,;,12.3%3 ,若,a,能被,b,整除,则有:,a%b=0,优先级,:,(),*、/、%+、-,结合性,:从左至右;,30,往年真题,(,2006,年,4,月选择第,14,题)表达式,3.6-5,2+1.2+5,2,的值是,A,),4.3B,),4.8,C,),3.3 D,),3.8,31,赋值运算符,运算符,=,形式 变量名,=,表达式,求值规则 将“,=”,右边表达式的值赋给左边的变量,结合性 自右至左,表达式的值被赋值变量的值,被赋值的对象一定是变量,(1)x=4*3,(2)x=x+1,(3),x=y=12/4,32,往年真题,(,2007,年,9,月选择第,17,题)若变量均已正确定义并赋值,以下合法的,C,语言赋值语句是,A,),x=y=5;B,),x=n%2.5;,C,),x+n=i;D,),x=5=4+1;,33,自增自减运算,+i,:先加,1,后使用,i,的值(或减,1,);,i+,:先使用,i,的值再增,1,(或减,1,);,i=3;j=+i;,等价于,i=i+1;j=i;(,先加后用,),所以,i,的值为,4,,,j,的值为,4,。,i=3;j=i+;,等价于,j=i;i=i+1;(,先用后加,),所以,i,的值为,4,,,j,的值为,3,。,-,和,+,的规则类似,运算对象一定是变量,34,往年真题,(,2005,年,4,月选择第,17,题)有以下程序,运行后的输出结果是,main(),int m=12,n=34;,printf(%d%d,m+,+n);,printf(%d%d,n+,+m);,A,),12353514B,),12353513,C,),12343514D,),12343513,35,关系表达式,运算符:,=!=,优先级:,(=)(=!=),结合性:自左至右,表达式的值:,若为真,则结果为,1,;,若为假,则结果为,0,。,35,的值为,0,;,32,的值为,0,;,3+(43)*4,的值为,3,;,3+4&|,结合性:自左至右,表达式的值,真(,1,),假(,0,),int a=5;float b=3.5;,!a (,0,)!(a b)(,1,),a&b (,1,)!a&b (,0,),!a&!b (,0,)!(a&b)(,0,),37,短路原理,在逻辑表达式的求解中,并不是所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。,(1)a=0;b=1;c=a+,结果,:a,为,1,b,为,1,c,为,0,。,(2)a=1;b=1;c=0;d=-a b-(c=b+3);,结果,:a,为,0,b,为,0,c,为,0,d,为,1,。,38,往年真题,(,2007,年,4,月填空第,11,题)已定义,char ch,$;,int i=1,j;,执行,j=!ch&i+,以后,,i,的值为,【11】,。,39,复合赋值运算符,*=,、,/=,、,%=,、,+=,、,-=,等,复合运算符是一个运算符,但功能上,是两个运算符功能的组合。,a+=b,相当于,a=a+b,a*=b,相当于,a=a*b,a*=b+c,相当于,a=a*(b+c),而不是,a=a*b+c,40,条件运算符,形式,:?:,求值规则,求解表达式,1,值为真,表达式的值,为表达式,2,表达式的值,为表达式,3,是,否,int max,a=5,b=3;,max=ab?a:b,max,及赋值表达式的值均为5;,ab?a:b+1,条件表达式的值为,4,。,41,往年真题,(,2007,年,9,月选择第,21,题)设有条件表达式:,(EXP)?i+;j-,,则以下表达式中,(EXP),完全等价的是,A,)(,EXP=0,),B,)(,EXP!=0,),C,)(,EXP=1,),D,)(,EXP!=1,),If(x!=0),及,if(x),等价,42,往年真题,(,2007,年,9,月填空第,7,题)以下程序的功能是,:,输出,a,、,b,、,c,三个变量中的最小值。请填空。,#include,main(),int a,b,c,t1,t2;,scanf(%d%d%d,t1=ab?【7】;,t2=c =!=,优先级:,(=)(=!=),结合性:自左至右,表达式的值:,若为真,则结果为,1,;,若为假,则结果为,0,。,35,的值为,0,;,32,的值为,0,;,3+(43)*4,的值为,3,;,3+4&|,结合性:自左至右,表达式的值,真(,1,),假(,0,),int a=5;float b=3.5;,!a (,0,)!(a b)(,1,),a&b (,1,)!a&b (,0,),!a&!b (,0,)!(a&b)(,0,),79,短路原理,在逻辑表达式的求解中,并不是所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。,(1)a=0;b=1;c=a+,结果,:a,为,1,b,为,1,c,为,0,。,(2)a=1;b=1;c=0;d=-a b-(c=b+3);,结果,:a,为,0,b,为,0,c,为,0,d,为,1,。,80,往年真题,(,2007,年,4,月填空第,11,题)已定义,char ch,$;,int i=1,j;,执行,j=!ch&i+,以后,,i,的值为,【11】,。,81,复合赋值运算符,*=,、,/=,、,%=,、,+=,、,-=,等,复合运算符是一个运算符,但功能上,是两个运算符功能的组合。,a+=b,相当于,a=a+b,a*=b,相当于,a=a*b,a*=b+c,相当于,a=a*(b+c),而不是,a=a*b+c,82,条件运算符,形式,:?:,求值规则,求解表达式,1,值为真,表达式的值,为表达式,2,表达式的值,为表达式,3,是,否,int max,a=5,b=3;,max=ab?a:b,max,及赋值表达式的值均为5;,ab?a:b+1,条件表达式的值为,4,。,83,往年真题,(,2007,年,9,月选择第,21,题)设有条件表达式:,(EXP)?i+;j-,,则以下表达式中,(EXP),完全等价的是,A,)(,EXP=0,),B,)(,EXP!=0,),C,)(,EXP=1,),D,)(,EXP!=1,),If(x!=0),及,if(x),等价,84,往年真题,(,2007,年,9,月填空第,7,题)以下程序的功能是,:,输出,a,、,b,、,c,三个变量中的最小值。请填空。,#include,main(),int a,b,c,t1,t2;,scanf(%d%d%d,t1=ab?【7】;,t2=ct1?【8】;,printf(%dn,t2);,85,逗号表达式,形式 逗号表达式,1,,逗号表达式,2,,,求值规则 从左至右依次计算各表达式的值,优先级 最低,结合性 自左至右,表达式的值 最后一个表达式的值,a b y,表达式,y=a=4,b=5,a+b;4 5 4 9,y=(a=4,b=5,a+b);4 5 9 9,86,往年真题,(,2007,年,4,月填空第,6,题)执行以下程序后的输出结果是,【6】,。,main(),int a=10;,a=(3*5,a+4);,printf(“a=%dn”,a);,87,往年真题,(,2005,年,9,月选择第,34,题)有以下程序,main(),char a1=M,a2=m;,printf(%cn,(a1,a2);,以下叙述中正确的是,A,)程序输出大写字母,M,B,)程序输出小写字母,m,C,)格式说明符不足,编译出错,D,)程序运行时产生出错信息,88,类型转换,字符型和整型可以相互转换,算术运算时,如果有一个数据是实型的,在数据都自动转换成,double,类型进行运算,强制类型转换,char ch=a;,int i=13;,float x=3.65;,double y=7.528e-6;,i+ch+x*y,float a,b;,(int)(a+b),89,3 C,语言基本语句,90,知识点分析,主要为后续学习打下基础,直接考查并不太多,重要考点,输入输出函数的使用。,格式控制字符,91,考点:数据输入输出语句及函数,语句的概念,字符输入输出函数,格式化输入输出函数,92,语句,语句以分号结束,空语句,;,复合语句,char a1=M,a2=m;,printf(%cn,(a1,a2);,可以理解为一条语句,93,程序基本结构,顺序结构,选择结构,循环结构,94,字符输入输出函数,putchar(char),功能:输出一个字符,举例:,putchar(a),putchar(n),putchar(97),getchar(),功能:输入一个字符,举例:,ch=getchar(),95,格式化输出函数,格式:,printf(“,格式控制字符串”,输出项列表,),功能:,按指定格式输出数据,举例:,int i=97;,printf(“i=%d,%cn”,i,i);,格式控制串中包含,普通字符,:原样输出,转义字符,:输出特定字符,如,n,表示换行,格式字符,:按照指定的格式输出数据,96,格式控制字符,格式字符,%d,:有符号十进制整数,%u,:无符号十进制整数,%o,:无符号八进制整数,%x,:无符号十六进制整数,%c,:一个字符,%s,:字符串,%f,:小数形式输出,默认,6,位小数,宽度指示符指示最小输出宽度,不足则补空格,多出则按实际输出。,精度指示符指示最少小数位数,不足则补,0,,多出则按实际输出。,printf(“%8d”,100);,printf(“%3d”,4560);,printf(“%8.2f”,,,3.14159,),;,printf(“%c”,100);,97,格式化输入函数,格式:,scanf(“,格式控制字符串”,地址列表,),功能:从键盘输入若干数据给指定的单元,举例:,scanf(“%d”,scanf(“%d,%d”,&a,&b),注意:输入多个数据时,如果指定了分隔字符,则必须使用指定字符分隔;如果没有,可以使用空格、,TAB,格式控制串中包含,普通字符,:原样输入,格式字符,:按照指定的格式输入数据,一定是地址,98,往年真题,(,2009,年,3,月选择第,15,题)程序段的输出结果是(),int x=12;,double y=3.141593;,printf(“%d%8.6f”,x,y);,A,),123.141593B,),12 3.141593,C,),12,,,3.141593D,),123.1415930,99,(,2007,年,4,月选择第,19,题)有以下程序,其中,%u,表示按无符号整数输出,main(),unsigned int x=0 xFFFF;/*x,的初值为十六进制数*,/,printf(“%un”,x);,程序运行后的输出结果是,A,),-1 B,),65535,C,),32767 D,),0XFFFF,100,(,2009,年,3,月选择第,23,题)有以下程序若想通过键盘输入,使得,a1,的值为,12,a2,的是为,34,,,c1,的值为字符,a,c2,的值为字符,b,程序输出结果是:,12,a,34,b,则正确的输入格式是(代表空格,,代表回车),#include,main,(),int a1,a2;char c1,c2;,scanf,(“,%d%c%d%c”,&a1,&c1,&a2,&c2,),;,printf,(“,%d,%c,%d,%c”,&1,c1,a2,c2,),;,A,),12a34bB,),12a34b,C,),12,a,34,b D,),12a34b,101,(,2008,年,9,月选择第,19,题)若变量已正确定义为,int,型,要通过语句,scanf(%d,%d,%d,给,a,赋值,1,、给,b,赋值,2,、给,c,赋值,3,,以下输入形式中错误的是(,u,代表一个空格符),A)uuu1,2,3 B)1u2u3,C)1,uuu2,uuu3 D)1,2,3,102,(,2007,年,4,月选择第,16,题)设变量均已正确定义,若要通过语句,scanf(“%d%c%d%c”,为变量,a1,和,a2,赋数值,10,和,20,,为变量,c1,和,c2,赋字符,X,和,Y,。以下所示的输入形式正确的是(注:代表空格字符),A,),10X20Y,回车,B,),10X20Y,回车,C,),10X,回车,D,),10X,回车,20Y,回车,20Y,回车,103,(,2005,年,9,月选择第,35,题)有以下程序,main(),char c1=1,c2=2;,c1=getchar();c2=getchar();putchar(c1);putchar(c2);,当运行时输入:,a,后,以下叙述正确的是,A,)变量,c1,被赋予字符,a,,,c2,被赋予回车符,B,)程序将等待用户输入第,2,个字符,C,)变量,c1,被赋予字符,a,,,c2,中仍是原有字符,2,D,)变量,c1,被赋予字符,a,,,c2,中将无确定值,104,(,2006,年,4,月选择第,29,题)有以下程序,#include,main(),char c1,,,c2,,,c3,,,c4,,,c5,,,c6,;,scanf(,c,c,c,c,,,&c1,,,&c2,,,&c3,,,&c4),;,c5=getchar(),;,c6=getchar(),;,putchar(c1),;,putchar(c2),;,printf(,c,c,n,,,c5,,,c6),;,程序运行后,若从键盘输入,12345678,则输出结果是,A,),1267B,),1256,C,),1278D,),1245,105,4 C,语言程序结构,重要考点:,格式化输出语句,if,、,switch,结构,while,、,for,结构,continue,、,break,语句,106,基本概念,语句以分号结束,空语句,;,复合语句:,多条语句,107,程序基本结构,顺序结构,选择结构,循环结构,108,字符输入输出函数,putchar(char),功能:输出一个字符,举例:,putchar(,a,),putchar(,n,),putchar(97),getchar(),功能:输入一个字符,举例:,ch=getchar(),109,格式化输出函数,格式:,printf(“,格式控制字符串”,输出项列表,),功能:,按指定格式输出数据,举例:,int i=97;,printf(“i=%d,%cn”,i,i),格式控制串中包含,普通字符,:原样输出,转义字符,:输出特定字符,如,n,表示换行,格式字符,:按照指定的格式输出数据,110,格式控制字符,格式字符,%d,:有符号十进制整数,%u,:无符号十进制整数,%o,:无符号八进制整数,%x,:无符号十六进制整数,%c,:一个字符,%s,:字符串,%f,:小数形式输出,默认,6,位小数,宽度指示符,指示最小输出宽度,不足则补空格,多出则按实际输出。,精度指示符,指示最少小数位数,不足则补,0,,多出则按实际输出。,printf(“%8d”,100);,printf(“%3d”,4560);,printf(“%8.2f”,,,3.14159,),;,printf(“%c”,100);,111,格式化输入函数,格式:,scanf(“,格式控制字符串”,地址列表,),功能:,从键盘输入若干数据给指定的单元,举例:,scanf(“%d”,scanf(“%d,%d”,&a,&b),格式控制串中包含,普通字符,:原样输入,格式字符,:按照指定的格式输入数据,一定是地址,112,有以下程序段,int a,b,c;,a=10;b=50;c=30;,if(ab)a=b;b=c;c=a;,printf(“a=%d b=%d c=%d n”,a,b,c);,程序的输出结果是,A)a=10 b=50 c=10,B)a=10 b=50 c=30,C)a=10 b=30 c=10,D)a=50 b=30 c=50,113,有以下程序段,char ch;int k;,ch=a;k=12;,printf(%c,%d,ch,ch,k);,printf(k=%dn,k);,已知字符,a,的,ASCll,十进制代码为,97,,则执行上述程序段后输出结果是,A),因变量类型及格式描述符的类型不匹配输出无定值,B),输出项与格式描述符个数不符,输出为零值或不定值,C)a,97,12k=12,D)a,97,k=12,114,若变量已正确定义为,int,型,要通过语句,scanf(“%d,%d,%d”,给,a,赋值,1,给,b,赋值,2,给,c,赋值,3,以下输入形式中错误的是,(u,代表一个空格符,),A,),uuu1,2,3B,),1u2u3,C,),1,uuu2,uuu3 D,),1,2,3,若在定义语句:,int a,b,c,*p=,之后,接着执行以下选项中的语句,则能正确执行的语句是,A,),scanf(%d ,a,b,c);,B,),scanf(%d%d%d ,a,b,c);,C,),scanf(%d ,p);,D,),scanf(%d ,115,有以下程序,#include,main(),char c1=1,c2=2;,c1=getchar();c2=getchar();putchar(c1);putchar(c2);,当运行时输入:,a,后,以下叙述正确的是,A,变量,c1,被赋予字符,a,,,c2,被赋予回车符,B,程序将等待用户输入第,2,个字符,C,变量,c1,被赋予字符,a,,,c2,中仍是原有字符,2,D,变量,c1,被赋予字符,a,,,c2,中将无确定值,116,有以下程序段,int j;float y;char name50;,scanf(%2d%f%s,当执行上述程序段,从键盘上输入,55566 7777abc,后,,y,的值为,A,),55566.0B,),566.0,C,),7777.0D,),566777.0,程序段:,int x=12;double y=3.141593;printf,(“,%d%8.6f”,x,y,);的输出结果是,A,),123.141593B,),12 3.141593,C,),12,,,3.141593 D,),123.141593,117,34,)有以下程序,main(),char a1=M,a2=m;,printf(%cn,(a1,a2);,以下叙述中正确的是,A,程序输出大写字母,M,B,程序输出小写字母,m,C,格式说明符不足,编译出错,D,程序运行时产生出错信息,118,main(),int x=102,,,y=012;,printf(“%2d,%2dn”,x,y);,执行后输出结果是(),A)10,01 B)002,12 C)102,10 D)02,10,设,i,是,int,型变量,f,是,float,型变量,用下面的语句给这两个变量输入值,:,scanf(i=%d,f=%f,为了把,100,和,765.12,分别赋给,i,和,f,则正确的输入为,A)100765.12 B)i=100,f=765.12,C)100765.12 D)x=100y=765.12,119,有以下程序,main,(),int a1,a2;char c1,c2;,scanf,(“,%d%c%d%c”,&a1,&c1,&a2,&c2,),;,printf,(“,%d,%c,%d,%c”,a1,c1,a2,c2,),;,若想通过键盘输入,使得,a1,的值为,12,a2,的是为,34,,,c1,的值为字符,a,c2,的值为字符,b,程序输出结果是:,12,a,34,b,则正确的输入格式是(以下 代表空格,,代表回车),A,),12a34b,B,),12 a 34 b,C,),12,a,34,b,D,),12 a34 b,120,选择结构,选择结构语句,if,switch,主要内容,如何表示条件,如何确定流程走向,121,if,语句,格式,1 if(,表达式,),语句,功能:首先判断表达式的值,如果为真则执行表达式后面的语句,否则不执行。,流程图,表达式,语句,真,假,语句,表达式,求绝对值,main(),int x;,scanf(“%d”,if(x b)printf(“%f”,a);,else printf(“%f”,b);,表达式,语句,1,真,假,语句,2,表达式,语句,1,语句,2,123,if,语句嵌套,格式,if(,表达式,),语句,1,else,语句,2,根据性别和身高定身高标准,void main(),int tall;char sex;,printf(“input sex and tall,:”,);,scanf(“%c%d”,if (sex=F),if (tall=150)printf(“A”);,else printf(“B”);,else,if (tall=170)printf(“A”);,else printf(“B”);,语句中又包含,if,语句,124,else,和,if,的配对原则,else,总是和前面最近的未经配对的,if,配对,如果忽略了配对关系,就会产生逻辑错误,为了逻辑清晰,可使用花括号确定对应关系,125,switch,语句,格式,功能:,根据表达式不同的值选择不同的语句执行,举例:,switch(,表达式,)case,常量,1:,语句,1;case,常量,2:,语句,2;case,常量,3:,语句,3;default:,语句,4;,switch,(,i,),case 1,:,printf,(,An,),;case 2,:,printf,(,Bn,),;case 3,:,printf,(,Cn,),;case 4,:,printf,(,Dn,),;default,:,printf,(,En,),;,126,注意:,case,常量是一个语句标号(语句的地址),标识入口,而不是表示判断。,若执行某个分支后不再执行其它分支,则应使用,break,语句,,break,语句的作用是退出当前结构。,switch,(,i,),case 1,:,printf,(,An,),;break;,case 2,:,printf,(,Bn,),;,break;,case 3,:,printf,(,Cn,),;,break;,case 4,:,printf,(,Dn,),;break;,default,:,printf,(,En,),;,127,往年真题,1.int x=1,y=1;,If(x=2)y=3;else y=4;,执行后,,x,y,的值分别是,(),A.1,1 B.2,3 C.1,4 D.2,4,2.,下面程序的运行输出结果是,(),main(),int a=1,b=6,c=4,d=2;,switch(a+),case 1:c+;d+;,case 2:switch(+b),case 7:c+;,case 8:d+;,case 3:c+;d+;break;,case 4:c+;d+;,printf(,“,%d,%dn,”,c,d);,A.5,3 B.7,5 C.8,6 D.4,2,128,往年真题,3.,下面程序的运行是当输入,B,回车后输出结果是,(),main(),char a;,scanf
展开阅读全文