9512.net
甜梦文库
当前位置:首页 >> IT/计算机 >>

C语言预赛练习之-选择题精选三


C 语言预赛练习之 选择题精选三 语言预赛练习之-选择题精选三
一、选择题(下面~代表空格) 【1]在 C 语言程序中应包含一个() 。- ①语句②函数调用③主函数④子函数 (2] C 程序()构成。 ①由主程序和子程序 ②可以由一个主函数和若干其他函数 ③只能由一个函数即主函数 ④可以由若干个主函数和其他函数 (3]下列说法中错误的是() 。 ①主函数可以放在程序的任何地方。 ②非主函数总是通过函数调用语句来执行。 ③C 程序的书写格式灵活,一行可以写多个语句。 ④C 程序的注释也参加编译并出现在目标程序中。 (41 下列属于 C 语言用户自定义函数的是() 。 ①主函数⑧main 函数③scanf 函数④print 函数 (5】以下说法正确的是() 。 ①C 语言程序总是从第一个定义的函数开始执行。 ②在 C 语言程序中,要调用的函数必须在 main()函数中定义。 ③C 语言程序总是从 main()函数开始执行。 ④C 语言程序中的 main()函数必须放在程序的开始部分。 (6】以下选项中非法转义字符是() 。 ①\t ②\177 ③\~ ④\\ (7】下列表示回车换行符号的转义字符是() 。 ①\n②/n③\t④/r 【8]有下列程序段,则执行该程序段后的输出结果是() 。 int e = 19; float f=1.6639E-2; printf(”e=%-5d, f=%5.3f",e,f) ; ①e=~~~19,f=1.664②e=~~~19,f=1.663 ③e=19~~~,f=0.017④e=19~~~,f=0.016 [9】以下程序的输出结果是() 。 int n=1234; printf("n=%2d\n”,n) ; ①n=12②n=34③n=1234④提示出错,无结果 【10 下面程序的输出结果是() 。 main() {char * a=”Is it”; printf(”%3s,%0.4s\n”,a, a) ; f ①Is it,1s i②is,Is I③Is it,1s it④L,Is it 【11 下面程序的输出结果是() 。

main() {int x=5; printf(”%d %d\n”,x=x+1,x*x) ; } ①6 36②6 25③5 25④5 36 【12】a、b、c 被定义为 int 型变量,若从键盘输入数据,正确的输人语句是() 。 ①INPUT a,b,c;②scanf("%d%d%d",&a,&b,&c) ; ③scanf(”%d%d%d",a,b,c);④read("%d%d%a",&a, &b, &c); 【13】使用“scanf(x=%f,y=%d”,&x,&y),要使 x,y 均为 1.25,正确的输入是() ” 。 ①1 .25,1.25②1.25 1.25③x=1.25,y=1.25④x=1 .25 y= 1 .25 (14】若 x,y,z 均为 int 型变量,则为了使以下语句的输出为:1234+123 十 12+1,正确 的输人形式应当是() 。 scarf("%4d 一%3d 一%2d 一%1d", &x,&y,&z,&w) ; printf("%4d+%3d+%2d+%1d\n", x,Y,z,w); ①1234123121<回车>②1234 123 121<回车> ③1234 一 123 一 12 一 1<回车>④1234 十 123 十 12 十 1<回车> 【15】若已有定义 int i,j,k;执行语句 scarf("% d% d%2d”, &i, &j, &k) ;时的键盘输人为: 123<回车> 456 789<回车> 所得的 i,j,k 的值分别为() 。 ①123,456 和 789②1,2 和 3③123,456 和 78④1,4 和 78 【16】若已定义 a,b 为整型变量,用 scarf(”%d%d",&a,&b) ;语句输人 a,b 的值时, 用()作为输人的分隔符,则不能得到正确的输人结果。 ①,②空格③回车④Tab 【17】若变量已正确说明为 float 型,要通过语句 scarf("%f%f%f”,&a,&b,&c) ;给 a 赋 值 10.0,b 赋值 22.0,c 赋值 33.0,不正确的输入形式是() 。 ①10<回车>②10.0,22.0,33.0<回车> 22<回车> 33<回车> ③10.0<回车> ④10 22<回车> 22.0 33.0<回车> 33<回车> 【18】下列叙述正确的是() 。 ①输人项可以是一个实型常量,如:scanf("%f", 3.5); ②只有格式控制,没有输人项,也能正确输人数据到内存,例如:scanf("a=%d,b=% d"); ③当输人一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf ("%4.2f, 8d); ④当输人数据时,必须指明变量地址,例如:scanf("%f",&d); 【19]设 i 为 int 型变量,f 为 float 型变量,用语句 scant(”i=%d,f=%f”,&i,&f) ;给 这两个变量输人值,为了把 100 和 765 .12 赋给 i 和 f,则正确的输人为() 。 ①100765 .12<回车>②i=100,f=765.12<回车> ③100<回车>④i=100<回车> 765 .12<回车>f = 765.12<回车> (20】要把高级语言编写的源程序转换为目标程序,需要使用() 。

①编辑程序②驱动程序③诊断程序④编译程序 【21 在 C 程序的开发过程中,最终形成的可执行文件的扩展名是() 。 ①.C②.OBJ③.EXE④.BAK =、填空题 (22】c 程序的语句总是以_作为语句的结束符。 23 在 c 程序中,从开始到结束的内容为注释信息,并且注释信息 _(可以/不可以)出现在程序的任何地方。 (24】c 程序有且只有一个主函数,它的函数名是_。主函数_(可以/不可以)调用任 何非主函数,任何非主函数_____(可以/不可以)调用主函数。 (25 已知 n 为 float 型数据,其值为 0.333,写出语句可以输出 n 的百分比样式(保留一位 小数)printf("n=_________”,n*100) 。 [26】填充输出语句 printf(”_” ,"BeijiW)的数据格式说明,满足输出字符串的前 3 个字符并且后补 7 个空格。 [27】若想通过输入语句 scanf(”%f,b=%d",&a,&b) ;给 a 赋值 1.5,给 b 赋值 2, 则输人数据的形式应该是_。 【28 执行语句 scanf("%2d 一%*3d 一%2d",&a,&b) ;如果键盘输人为:12 一 345 一 67,则 a 的值为_________,b 的值为_____________。 [29】执行语句 scanf(“%d%c%f”,&a,&b,&c) ;如果键盘输人为:12a34o.67,则 a 的值为______,b 的值为______,c 的值为____________ [30】用 C 语言编写的程序,编译成功后生成的文件扩展名是_,连接成功后生成的文 件扩展名是_________ 【31 用汇编语言写的程序必须通过_程序翻译后才能执行,而高级语言写的 源程序可以通过_程序翻译一句执行一句的方式,也可以通过_ 程序一次翻译产生目标程序,然后执行。 32 语句 print(" a\bre\’hi\’y\\\bou\n");的输出结果是_。 (说明:’\b'是退格符) 参考答案 【1)③考查要点 1 .1。 [2】②考查要点 1.1。 [3】④考查要点 1 .2 和 1.1。 [4】④考查要点 1.20 说明=printf 是库函数 print 不是库函数,所以 print 可以作为用 户自定义函数名。 [5】③考查要点 1 .20 [6】③考查要点 1 .3a [7】①考查要点 1 .30 【8]③考查要点 1.4 和 1.5 附②。 [9】③考查要点 1 .4 和 1.5 附②。 【10】①考查要点 1.4 和 1.5 附②。说明:%3s 小于字符申实际宽度,按照实际宽度说 明。%m. ns 当 m<n 时 m 自动取 n 值。 【11②考查要点 1.4 和 1.5。说明:按照自右向左的顺序冼计算 x,x,再计算:=X+ 1. 【12】②考查要点 1 .4 和 1.6 附②。 【13】③考查要点 1 .4 和 1.6 附③。 【14】③考查要点 1 .4 和 1.6 附③④。 【15】③考查要点 1 .4 和 1.6 附③④。 【16)①考查要点 1-.4 和 1 .6 附③。

【17②考查要点 1 .4 和 1.6 附③。 【18】④考查要点 1.4 和 1.60 【19】②考查要点 1.4 和 1.6 附③。 (20】④考查要点 1 .7 附②。 【21③考查要点 1 .7 附①。 (22]分号或;考查要点 1 .1。 【23/* */ 可以 考查要点 1. la (24】main 可以 不可以 考查要点 1.20 X25】%4.1f%%或%0.1f%%或%.1f%%考查要点 1.4 和 1.5 的②③。 [26】%一 10.3s 考查要点 1.4 和 1.5 的②。 [27】1 .5,b=2 考查要点 1.4 和 1.6 附③。 [28】12 67 考查要点 1 .4 和 1.6 附⑥。说明:%,3d 表示读人 3 位整数但不赋给任何变 量。 (29】12 a 34 考查要点 1.4 和 1.6 附⑤和附③。说明:第一个数据要求为整数(%d),所以 遇到字符 a 结束,字符 a 送给变量 b;又由于%。只要求输人一个字符,因此箱人字符 a 后不 用空格,后面的数值送给变量。 ;第三个数要求是浮点数(%f),遇到字母 O(不是 0)结束, 所以。等于 340 (30 .OBJ.ERE 考查要点 1.7 附①。 【31 汇编 解释 编译 考查要点 1.7 附②。 (32】re’hi’you 考查要点 1 .3、要点 1.5 附③。 (1)指出下面程序中的错误并改正。 ①# include<stdio.h> main() ; float pi,r;a; pi=3.14159; r=10; a=r*r*pi; l=2*r*pi; printf("\n ate=% d, cir=%f\n,a,l) ; 改正为: #include<stdio.h> main() {float pi,r,a;l; pi=3 .14159; r=10; a=r*r*pi; l=2*r*pi; printf(”\n ate=%f,cir=%f\n",a,1) ; } ②include<stdio.h> /*主函数 main() {int a: printf(\nplease input a intergate:; )

scanf(”%d”,a) ; if(a>0)printf("a>0\n"); else printf(”a<=0\n”) } 改正为: # include<stdio.h> /备主函数怪/ main() }int a; printf(,\nplease input a intergate:) ,; scanf("%d",&a); if(a>0)邵 intf("a>0") ; else printf(即 a<=0\丫) ; } (2)使用 printf()函数显示下列菜单: Menu 1.Input the students,names and scores 2 .Search scores of some sb,,IAnts 3 .Modify scores of sane students 4 .List all students' scores 5 .Quit the system Please input your choise(1 一 5) : #include<stdio.h> main() {printf("\t\t Menu\n"); printf("\t、七=======================~ \n"); printf(叭 t\t 工江 nput the students’names and scores\n"); print f("\t\t2.Search scores of some students\n"); print f("\t\t3.Modify scores of some. students\n"); print f("\t\t4.List all students’scores \n”; ) printf(叭 t、t5.Quit the system\n:.; ) printf(” 、七\t=================~====== 、n"); printf(冲\t\t Please input your chpise(1 一 5) :\n”; ) f (3)编写一个程序,实现输人六个数输出最 小数。 方法一:

#include<stdio.h> main() {int a,b,c,d,e,f,9; printf(厅 Please input six numbers(a,b,c, d, e, f):) ,; scanf(厅%d,%d,%d,%d,%d,%己,&a,&b,&c, &d, &e,&f); if(a<b)9=a; else g=b; if(c<9)9=c; if(d<9)9=d; if(e<g) 9=e; if(f<9)9=f; printf(斤 8 d, B d, B d, B d, 8 d, 8 d, the min is%d\n",a,b, c,d,e,f,g); f 方法=: #include<stdio.h> int min(int x, int y) {int z; if (x<y) z=x; else z=Y; return:} ; main() {int a,b,c,d,e,f,9; printf(开 Please input six numbers(a,b,c, d,e,f) :开) ; scanf(阶%d,%d,%d,%d,%d,%乎,&a,&b,&c, &d,&e,&f); g=min(a,b) ; g=min(c,g) ; g=min(d,g) ; 9=min(e,g) ; 9=min(f,g) ; printf(即%d,%d,%d,%d,%d,8 d, the min is%d\n",a, b,c,d,e,f,B); } (4)编写一个程序,从键盘上输人华氏温 度,屏幕显示对应的摄氏温度。华氏温度和 摄氏温度的转换公式为: 。=(f-32)/1 .8 #include<stdio.h> main() afloat c,f; printf(,请枪入华氏溢度:口) ;

/资汉字愉入可以通过 Windows 的记事本编写源 程序母/ scanf(即龟尸,&f) ; c=(f 一 32)/1 .8; printf 护对应的毅氏 Ac 度为;8 .1f、n", c) ; } /备*.if 表示显示时保留一位小数骨

一、选择题 【11 C 语言中的简单数据类型包括() 。 ①整型、实型、逻辑型②整型、实型、字符型 ③整型、字符型、逻辑型④整型、实型、逻辑型、字符型 [2】以下选项中属于 C 语言数据类型的是() 。 ①复数型②逻辑型③双精度型④集合型 [3】C 语言中的整数可以用多种形式表示,以下的 4 种表示中有 3 种是正确的,只有 ()是错误的。 ①1000②01000③0X1000④X1000 (4】在 C 语言中,数字 029 是一个() 。 ①八进制数②十六进制数③十进制数④非法数 (5】下列各数不是正确的 C 语言 int 类型常数的是() 。 ①一 32768②32768③037④OxAF (6】在 C 语言中,合法的长整型常数是() 。 ①OL②49627105③0.054838743④2.1869E10 (7】若有以下定义和语句,则输出结果是() 。 int u=010,v= 0x10,w=10; printf(" %d, %d, % d\n", u, v, w); ①8,16, 10②10, 10, 10③8, 8,10④8, 10, 10 【8 下列常数中不能作为 C 语言常量的是() 。 ①OXA5②2 .5e 一 2③3c2④0582 (9]下列常数中不能作为 C 语言常量的是() 。 ①OXFF②2e 一 0.5③2L④’\72' 【10]合法的 c 语言字符常量是() 。 ①’\t'②”A”③65④A 【11 在 c 语言中,合法的字符常量是() 。 ①’\084'②’\x43'③’ab’④即”\0” [12]在 c 语言中,字符(char)型数据在内存中是以 r()形式存储的。 ①原码②补码③反码④ASCII 码 [13】设有说明语句:char。=’ 、72';则变量, ()e ①包含 1 个字符②包含 2 个字符③包含 3 个字符④说明不合法 (14[字符串“AB”在机器中占()个字节。 ①1②2③3④4 [15】字符“北京”在机器中占()个字节。 ①2②3③4④5

【16[下列四组字符串中都可用作 c 语言程序中的标识符的是第()组。 ①print ②I\ am ③PxQ ④str_ 1 _3id one_half MY 一>book CPP oodb start$it line# POW aBc 3pai His.age while 【17」以下各标识符组中,合法的用户标识符为第()组。 ①b 一 b ②CCP ③hiy ④_isw abc float <fr> INT 【18】以下 4 组用户标识符组,合法的为第()组。 ① For ②4d ③t2_G3 ④WORD -sub DO IF void Case Size abc define 【19】下列选项中不属于 C 语言类型的是() 。 ①signed short int②long short③unsigned long④unsigned int (20】下列变量定义合法的是() 。 ①short a=1-.le-1;②double b=1 十 5e2.5; ③long do=OxfdaL;④float 2_and=1 一 e-3; 【21 已知 long a = - 123456L; ,则以下能够正确输出变量。值的语句是() 。 ①printf(“a=%d\n",a);②printf(“a=%ld\n",a); ③printf("a=%8dL\n",a) ;④printf("a=%LD”,a) ; [22】为求出。=10!的值,则变量。的类型应当为() 。 ①int②unsiged ③long④以上三种类型均可 (23】若变量 a 是 int 类型,执行语句:a='A'十 1.6;后,正确的叙述是() 。 ①a 的值是字符 C②a 的值是浮点型 ③不允许字符型和浮点型相加④a 的值是字符'A'的 ASCII 值加上 1 [24】若有以下定义和语句,则输出结果是() 。 char cl='b',c2='e'; printf(”%d, %c\n”,c2 一 c1,c2 一‘a’+’A') ; ①2,M②3,E③2,E④输出结果不确定 [25】若有以下程序段,它的输出结果是() 。 #define D 66/铃 D 为符号常 t 任/ main() {int d=65; printf("%d %c\n", D, D); } ①68 D②100 d③66 B④65 A 【26】已定义:char a;int b;float c; double d;则执行语句:c=a+b+c+d;后,变量 c 的 类型为() 。 ①char②int③float④double [27】执行以下程序的输出显示是() 。 main() {int x=8; float y=-2.6; printf(”%f\n”,x+y)} ;

①错误信息②6③5④5.400000 [28】若已定义 x 和 Y 为 double 型,x=1,则表达式 Y=x+3/2 的值是() 。 ①1②2③2 .0④2.5 [29】已知 double x=5.5,Y=2.5;则表达式(int) x+Y/Y 的值是() 。 ①6 .500000②6③5.500000④6.000000 (30】若定义了 int x;则将 x 强制转化成双精度类型,应写成() 。 ①(double) x②x(double)③double (x)④(x) double 【31 若已定义:float aa=1234.5678; ,则执行 printf("%a6.2f %d \ n",aa,(int) (aa);的 ) 输出是() 。 ①1234.56 1234⑧1234.57 1235③1234.56 1235④1234.57 1234 [32】若 a 为 int 类型且 a=125,执行 printf("% d,%o,%x\n', a, a+1,a 十 2)语句后的 输出结果是() 。 ①125,175,7D②125,176,7F③125,176,71)④125,175,7F 【33 在 C 语言程序中,十进制整数 47 可等价地写为() 。 ①2f②02t③57④057 34】有一个数值 152,它与十六进制数 6A 相等,那么该数是() 。 ①八进制数②十进制数③=进制数④四进制数 【35 若有以下定义和语句,则输出结果是() 。 int k=17; printf(”%d,%o,%x\n”,k, k, k) ; ①17, 021,0x11②17,17,17③17,0x11,021④17, 21,11 [36】下列各不同进制的四个无符号数中,最小的数是() 。 ①(11011001)2②(37)8③(75)10④(2A)16 (37】下列无符号的十进制数中,能用八位=进制表示的是() 。 ①296②333③256④199 [38]十进制数+100 和一 100 补码分别是() 。 ①01100100 和 11100100②01100100 和 10011011 ③01100100 和 10011100④00011100 和 10011100 [39】下列字符中 ASCII 码值最小的是() 。 ①A②a③Z④x (40】英文大写字母 B 的 ASCII 码 42H,英文小写字母 b 的 ASCII 码是() 。 ①43H②84H③74H④62H =、坡空题 (41】=进制数 0110 0100 转换成十六进制数是_,=进制数 1110111.11 转换成 十六进制数是、转换成十进制数是,十六进制数 FF.1 转换成 十进制数是_,十进制数 112.375 转换成十六进制数是_。 (42]与十进制数 101 等值的=进制数为_,与十进制数 397 等值的十六进制 数为_,与十进制数 255 等值的八进制数为_,与八进制小数 0.1 等值的十六进制小数为_。 (43】数学符号 0 的 ASCII 码十进制表示为 48,数字符号 9 的 ASCII 码十进制表示为__ l44】已知英文字母 a 的 ASCII 码值是十六进制数 61H,那么字母 d 的 ASCII 码值是 ____________。 (45】以下程序的输出结果是_。 main()

{char c=’z’; printf(”% c",c 一 25)} ; [46】 写出语句 prinaf("% o", 177)的输出结果_; ; 若已说明 int a=一 3,执行语句 printf("% x",a);的结果是____。 (47]以下程序的输出结果是_。 main() { unsigned a=65536,b=32768; printf(”%d,%d\n”,a, b)} ; 【481 设有以下变量定义并已赋确定的值,则表达式 w*x 十 z-y 的数据类型是___。 char w; int x; float y; double z; (49】已知 int a=3,则输出语句 printf("%.1f\n"(float) x/2) ;的结果是_,此 时 x 的类型为______ [50】ACSII 码(含扩展)可以用一个字节来表示,则可以表示的 ASCII 码值个数为___ 【11②考查要点 2.1。 [2]③考查要点 2.1。 [3]④考查要点 2.2 附①。 (4)④考查要点 2.2 附①和要点 2.120 (5)②考查要点 2.2 附①②和要点 2.120 (6]①考查要点 2.2 附②。 (7)①考查要点 2 .2 附①和要点 2.12 附①。 【8)④考查要点 2 .2 附①、要点 2.3 和要点 2.120 [9]②考查要点 2.2 附①②、要点 2.3 附、要点 2.4 和要点 2.12a [10)①考查要点 2.40 [川②考查要点 2.40 [12]④考查要点 2 .40 [13]①考查要点 2.40 [14】③考查要点 2.5. 【15】④考查要点 2.5 及附①。 【16】①考查要点 2:60 说明:*Me 为关键字。 【17】④考查要点 2.6 及附①②。说明:IN7 不同于 into 【18】③考查要点 2 .6 及附①②。说明:void,define,if 为关键字,IF 不是关键字。 [19}①考查要点 2 .9. [20】①考查要点 2 .6,2.3 附,2.8 附②,2.9.说明:③、④不符合要点 2.6,②不符 合要 点 2 .3 附。 【川②考查要点 2 .7,要点 1.4 以及要点汪:5a [22]③考查要点 2.7,2.90 X23】④考查要点 2.8 附②、要点 2.4 和要点 2.l00 (2a】②考查要点 2.8 附④、要点 2.4。说明:表达式 c2 一‘矿+’A,是将 c2 中的小 写字 母转换为大写字母的一种常见方法。 [25】③考查要点 2.8 附④、要点 2.4 以及要点 2.6 附①。说明:#define D 66 相当于 定义了 D 等于 66,并且 D 在程序中相当于常量,值不能改变。 [26】③考查要点 2.7、要点 2.8 以及要点 2.10.说明:表达式 a+b+。+d 的结果是

double 型,但变量 c 的类型是定义时确定的,不会改变。 [27]④考查要点 2.10. (28】③考查要点 2.10. (291④考查要点 2.10. 【30]①考查要点 2 .11。 【川④考查要点 2 .11、要点 2.8 附②以及要点 1.5 附②。 【32】②考查要点 2 .12 附②、要点 1.4. 【川④考查要点 2 .12 附②、要点 2.2 附①。 【34】①考查要点 2 .12 附⑤或附④。 【35】④考查要点 2 .12 附②③、要点 1 .4 以及要点 1 .5。 【36】②考查要点 2 .12 附①。 X37】④考查要点 2.12 附①。说明:八位=进制最大无符号数为 11111111,等于十进 制数 2550 【38)③考查要点 2.130 【39】①考查要点 2.14。说明:数字字符 0 一 9 的 ASCII 值连续(从十进制 48 开始) , 小 于 A 一 Z 的 ASCII 值,A 一 Z 的 ASCII 码值连续(从十进制 65 开始)且小于 a 一:的 ASCII 值,a 一:的 ASCII 码值连续(从十进制勿开始) 。 [40】 ④考查要点 2.140 说明: 36 题解释, 同 记住 A 和 a 的 ASCII 码值, 其后字母类推。 (41】64 77.C 119.75 255.0625 70.6 考查要点 2.120 [42】1100101 或(1100101)2 18D 或(18D)16 377 或(377) :0.2 或(0.2)16 考查要点 2.120 X43]57 考查要点 2 .14. X44】64H 考查要点 2 .140 [45] 。考查要点 2.4 和要点 2.140 [46】261 ffa 考查要点 2.12 附②、要点 1.4 和要点 2.13。_说明:一 3 的补码是 11111111 11111101,其十六进制为删。 [47】0 一 32768 考查要点 2.9 和 2.12 附②。说明:十进制数 65536 和 32768 的 =进制形式为 1 印众刃。 00000000 和 10000000 00000000, 刀 前者超过了 unsigned short 型的范围。 65535, 一 所以只将整数=进制形式的低 16 位 00000000 00000000 存放到变量中,后者是带符号整数一 32768 的补码。 [48】double 考查要点 2 .10. [49】1.5 int 考查要点 2.11 及附、要点 1.5 附②。说明: (float)x/2 不等于 (float) (x/2)。 (501 256 考查要点 2.140 (1)编程输出字符 0,9,A,Z,a,z 的 ACSII 码 的十进制、八进制和十六进制的表示形式。 # include<stdio.h> main() {char a,b,c,d,e,f; a=’‘;b=’‘;c=’A';d=’Z';e=‘a 尸;f=’ 。 , z'; printf 俨宇符\t+进制\t/\进制\t+六进

制\n") ; printf(即 8c\t 8d\t $。\t $x\t、已, a, a, a, a); printf(" % c\t 8d、t、0\t %x\t\n", b, b, b, b); print f(" 8 c\t 8d\t 8。\t 8x\t\n", c,c,c,c); printf("%c\t 8d\t 8。\t%x\t\n", d, d, d, d); print f(" 8 c\t 8d\t 8。\t、x\t、n", e,e,e, e); printf("%c\t%d\t 8。\t%x\t\n", f,f,f,#); f (2)编写一个程序,从键盘输人一个数字字 符(0 一 9),转换成对应的十进制数,并输出。 #include<stdio.h> main() {char c; printf 俨请输入一个数字:\记) ; scanf(”& c", &c) ; c=c 一 48; printf(即 8d\淤,c)} ; (3)已知 a=3,b=2, 。=2.5,计算(float) (a+b)/3+(int)c 的值。 # include<stdio.h> main() int a=3,b=2;float c=2.5,s; s=(float) (a+b)/3+(int)c; printf(仲 the result is 8 f\矿,s)} ; (4)编写一个程序输出 5! 、10!的结果。 #include<stdio.h> main() }int s1;long s2; s1=5 赞 4 并 3*2*1; s2=lOL 长 9 .8*7 圣 6 骨 5 价 4 任 3 圣 2 份 1; /*L 大小写均可务/ printf(即 5 卜 8 d,10 卜 B 1d\了,5l,s2)} ; (5)参考例 L298.C 编写一个程序,输人 2 个学生的姓名、学号、英语、数学、计算机成 e,e,e, e); printf("%c\t%d\t 8。\t%x\t\n", f,f,f,#); f (2)编写一个程序,从键盘输人一个数字字

符(0 一 9),转换成对应的十进制数,并输出。 #include<stdio.h> main() {char c; printf 俨请输入一个数字:\记) ; scanf(”& c", &c) ; c=c 一 48; printf(即 8d\淤,c)} ; (3)已知 a=3,b=2, 。=2.5,计算(float) (a+b)/3+(int)c 的值。 # include<stdio.h> main() int a=3,b=2;float c=2.5,s; s=(float) (a+b)/3+(int)c; printf(仲 the result is 8 f\矿,s)} ; (4)编写一个程序输出 5! 、10!的结果。 #include<stdio.h> main() }int s1;long s2; s1=5 赞 4 并 3*2*1; s2=10L 长 9 .8*7 圣 6 骨 5 价 4 任 3 圣 2 份 1; /*L 大小写均可务/ printf(即 5 卜 8 d,10 卜 B 1d\了,5l,s2)} ; (5)参考例 L298.C 编写一个程序,输人 2 个学生的姓名、学号、英语、数学、计算机成 绩,输出这两个学生的姓名、学号和平均分。 #include<stdio.h> main() {char namel[31] ,name2[31〕 ; long ntunl,num2; int engl,mathl,compl,eng2,math2,comp2; float averl,avert; printf(冲 Please input the first student‘s name:"); scanf(厅 8 s",namel) ; printf("Please input the first student's 工 D:,; ) scanf(即毛几己,&numl) ; printf(丹 Please input the. first student‘s scores(Engl 主 sh math computer),; :) scanf("%d%d B (r, &engl,&mathl,&conpl); printf("Please input the second student,s name:) ,; scanf(即& s",name2) ;

printf(冲 Please input the second student‘s 工。”; :) scanf(仲%1 己,&nutl2) : print f("Please input the second student's scores(English math computer):) .; scanf("%d%d 8 d", &eng2,&math2,&comp2) ; avert=(engl+mathl+cettcpl)/3 .0; avert=(eng2+math2+ccnp2)/3 .0; printf(介~ID average\了) ; printf(,8 一 12s8 一 121d%.if\n", namel, numl,averl) ; printf(,%一 12s{一 121d%.if\扩,name2, num2,avert) ; } 一、选择题 【1 结构化程序设计思想要求限制()的使用。 ①if 语句②switch 语句③for 语句④goto 语句 [2】下列 if 语句结构说法错误的是() 。 if(表达式)语句 1; else 语句 2; ①“表达式”可以是任何表达式。 ②当语句 2 为空时, “e1Se 语句 2; ”可以省略。 ③语句 1 或 2 可以是复合语句,不可以是空语句。 ④else 总是与同一语法层次中离它最近的尚未配对的 if 配对。 (3】下列程序的执行结果是() 。 main() {int a=20,b=4,c=3; if(a<=b)a=b+c; else b=a+c: printf(" % d, %d,%d’,a,b,c); ’ } ①20, 23, 3②7, 4, 3③7, 7, 3④20, 4, 3 [4】已知 int x=一 1,Y=1;执行下面程序段后 Y 的值是() 。 if(x<0)Y=一 1; Y=0; ①0②1③一 1④以上都不正确 【5】运行以下程序时,如果从键盘上输人 5,则输出的结果是() 。 main() {int a=1; scanf(”%d”,&m); if(m<5)printf(”%d\n”,m); else printf(”%d\n”,m+1)} ; ①S②6③1④2 16】执行以下程序的输出显示是() 。 main()

{int a=10,b=0; if(a=12) {a=a+1; B=b+1; } else {a=a+4; b=b+4; } printf(”%d;%d\n",a,b);} ①13;1②14;4③11;1④10;0 (7 运行以下程序输出的结果是() 。 main() {float x=2.0,Y; if(x<0 .0)y=0.0; else if(x<10.0)y=1.0/x; else y=1.0; printf(”%f\n”,Y)} ; ①0.000000②0.25(1000③0.5000000④1.000000 [8 运行以下程序输出的结果是() 。 main() {int x=2,Y=一 1,:=2; if(x<Y) if(Y<0)z=0; else z=z+1; printf("% d\n", z); } ①0②1③2④3 [9】下列程序段运行后 x 的值是() 。 int a,b,c,x=35;a=b=c=1; if(!a)x=x 一 1; else if (b); else x=x+2;if(c)x=x+3; ①34②36③38④40 【10】当 a=1,b=3,c=5,d=4 时,执行下列程序段后 x 的值是() 。 if (a<b) if(c<d)x=1; else if(a<c) if(b<d) x=2; else x=3; else x=6; else x=7; ①1②2③3④6 1 x>0 【11 有一函数 y= 0 x=0,以下程序段不能根据 x 值计算 Y 值的是() 。 -1 x<0

① if(x>0)Y=1; ②Y=0; else if(x==0)Y=0; if(x>0)Y=1; else y=-1: else if (x<0)y=-1; ③r=0; ④if (x >=0) if(x>=o) if(x>0)y=1; if (x>0) y=1; else y=0; else y=一 1; else y=-1; [12]C 语言的 switch 语句中,紧跟着 switch 的圆括号中的表达式() 。 ①可以是任何类型②只能是整型 ③可以是整型或字符型④只能是整型或实型 【13】下列关于 switch 语句说法错误的是() 。 ①关键字 switch 后面紧跟的表达式是整型表达式或字符型表达式 ②case 后面的常量表达式可以是整型或字符型,但是必须互不相等 ③缺省 break 则执行符合表达式数值的语句及其后的语句,直到遇见 break 才跳出 switch 语句 ④default 分支放在 switch 语句内的任何位置都不会影响最终的结果 【14】下列关于 switch 语句和 break 语句的说法中,正确的是() 。 ①default 和 break 语句是 switch 语句中不可缺少的组成部分 ②在 switch 语句中可以根据需要使用或不使用 break 语句 ③在 switch 语句中必须使用 break 语句 ④以上三种说法有两个是正确的 【151 若有以下定义:float x; int a, b;,则正确的 switch 语句是() 。 ①switch (x) ②switch(x) {case 1.0:printf(”*\n”) ; { case 1,2:printf(”*\n”) ; case 2.0:printf(“**\n”) ; case 3:printf(“**\n"); } } ③switch (a+b) ④switch (a+b); {case 1:printf(”*\n") ; {case 1:printf(“*\n") ; case 1+2:printf("**\n"): case2:printf("**\n"); } } 【16】以下程序输出结果是() 。 main() {int x=1,a=0,b=0; switch (x){ case 0:b=b+1; case 1:a=a+1; case 3:a=a+1;b=b+1; } printf(”a=% d, b=%d\n”,a, b)} ; ①a=2,b=1②a=1,b=1③a=1,b=0④a=2,b=2 【17】以下程序的输出结果是() 。 # include<stdio.h> main() {int x=1,y=0,a=0,b=0;

switch (x) {case 1: switch (y) {case 0:a=a+1;break; case 1:b=b+1;break; } case 2: a=a+1;b=b+1;break; case 3: a=a+1;b=b+1; } printf("a=% d, b=%d\n",a,b);I ①a=1,b=0②a=2,b=1③a=3,b=2④a=2, b=2 【18]若 a,b,c,d,x,y 都是整型变量,则下列语法正确的语句是() 。 ①switch (a+b); ②switch(a*a+b*b) {case 1:y=a+b;break; {case 3: case0: y=a-b;break; case1:y=a+b; break; } case 3: y=b 一 a; break;} ③switch a ④switch(a 一 b) {casec:Y=a 一 b; break; {default:Y=a,b; break; case d:x=a-b; break; case 3:case 4:x=a+b;break; default:x=a+b;} case 10: case 11:Y=a 一 b; break;} 【19】以下程序运行后输出的正确结果是() 。 main() {int x=15,y=21,z=0; switch (x/8) {case 2:z=z+1;break; case 1:z=z+1; switch (y/21) {default:z=z+1; case 0:z=z+1;break; } } printf(”%d\n”,z)} ; ①1②2③3④4 [20】若输人字母 B 时,程序的输出结果为() 。 main() {char ch; scanf(”%c”,&ch) ; if(ch>=97)Ch=ch 一 32; switch(ch) {case’A':printf(”85-100”) ;break; case’B’:printf("70—84”) ;break; case’C’:printf("60-69”) ;break;

case ‘D’:printf(”<60”) ;break; default:printf("Error");}} ①70-84②error③70-84Ermr④以上都不正确 【21 在执行以下程序时,为了使输出结果为:t=4,则给 a 和 b 物人的值应满足的条件 是() 。 main() {int s, t,a, b; scanf("%d,%d",&a,&b); s=1;t=1; if (a>0) s=s+1; if(a>b) t=s+t; else if(a==b)t=5; else t=2*s; print f("t =%d\n",t); f ①a>b②a<b<0③0<a<b④0>a>b 二、填空题 (22】任何程序都可以用___、____和_____三种基本结构的组合来实现。 (23】以下程序段的输出结果是_。 main() {int a=10,b=20,t=0; if(a==b)t=a;a=b;b=t; printf("%d,%d \ n", a, b); } (24】以下两条 if 语句可合并成一条 if 语句为_。 if(a<=b)x=1 else y=2; if (a> b) print f(”****y=%d\n",y) ; else printf(”####x=%d\n”,x); (25】若定义了 int x=5;则 if (x>0) else printf(x<0");语句的语法是_(正 确/不正确)的。 (26】下列程序的功能是:将 4 个整数 a,b,c,d 从大到小的顺序输出,请将程序补充完整。 main() lint a,b,c,d,t; scanf("%d%d%d%d", &a,&b, &c,&d); if(a<b)}t=a;a=b;b=t; } if(_) {t=a;a=c;c=t; } if(a<d) {______________} if(b<c){t=b;b=c;c=t; } if(__){t=b;b=d;d=t; } if(c<d) {t=c;c=d;d=t; } printf(”%d%d%d%d\n”,a, b, c, d)} ; (27)当 a=0;b=1;执行程序段一后 b 的结果是____,执行程序段二后 b 的结果是_____ 程序段一:if (a>=0) 程序段=:if (a>=0) {if(a>0) b=0;} if (a>0) b=o; else b=一 1; else b=一 1;

[28】若从键盘输入 58,则以下程序的输出结果是_。 main() {int a; scanf(”%d”,&a) ; if(a>50)printf("%d”,a); if(a>40)printf(”%d”,a) ; if(a>30)printf(”%d”,a)} ; (29]在 C 语言的 switch 语句中,每个 case 后只能是_。 (30】下列程序功能是:输入 1 时输出“Good’ 、输入其他字符时输出“Wrong,。请将程 ’ 序填充完整。 main() {char n; scanf("% c', &n); · switch(n) case _____:printf("Good");_________; ___________:printf ("Wrong) ; } } 【1④考查要点 3 .1。 (2】③考查要点 3.4 附①③④、要点 3.5 附③。 (3】①考查要点 3 .40 (4】①考查要点 3 .4 附④、要点 3.20 【习②考查要点 3.40 (6】①考查要点 3 .4 及其附①。说明:赋值语句 a=12 的值是 12(非零) ,则执行条件 成立时的语句。 (7】③考查要点 3.5 附①。 【81③考查要点 3.5 附③②。 (9)③考查要点 3.4 附①③,3.5 附③①。说明:符号!表示非运算, 当 a 值为 0 时! !a a 为 1,其他情况!a 为 Oo 所以执行的顺序为 if(!8)的 else,即 if (b)的空语句,最 后顺序执行 it(。 )的语句 x=x+3. 【10】②考查要点 3.5 附①②③。 【川③考查要点 3:5 附③。说明:选项③的 else 与斌 x>0)配对,表示的是 x~0 的 情况。 【12】③考查要点 3 .6 附①。 【13】④考查要点 3 .6 附①②③④。 【14】②考查要点 3 .6 附③④。 【15】③考查要点 3 .6 附①②。说明:选项④switch(a+b)后多了一个分号。 【16】①考查要点 3 .6 附③。 【川②考查要点 3 .6 附③。说明:~1 后只有一条语句(switch 语句) ,无 break,所 以 接着执行~2 后的语句。 【18】④考查要点 3.6 及其附②④。_‘ 【19】③考查要点 3.6 附③④。说明:x/8 的值为 1,则执行 switch(x/8)的 ea 1se 下 的

:=:+1; 3e switch(y/21)语句;y/21 的值为 1,则执行 switch (y/21)的 default 的 :=:十 1;语句,由于其后没有 b 化吐,则继续后面~0 的语句:=:+to (201①考查要点 3 .6 附①②和要点 2.14" 【川③考查要点 3.4,要点 3.5" (22]顺序结构选择结构循环结构考查要点 3.10 (23】20,0 考查要点 3.4 附②和要点 3.2" (241 if(。>b)ly=2; printf("“ “y=%d\n" y)} ; else}x=1;prin 吐(行####x=%d\丫,x)} ; 或 if(a<=b) {x=1;printf(介####x=%d\n",x)} ; else{y=2;printf(",*=*Y=%d\d,Y)} ; 或 if (a>b) printf("‘,‘Y=%d\n". Y=2)’ , ; else printf("####x=%d\n",x=1) ; 或 if(a<=b)printf(行####x=%d\矿,x=1) ; else printf(”, ,“Y=%d、n",Y=2);考查要点 3.4 及其附②。 (251 不正确考查要点 3.4 W)" (26]a<。或 a<= c2=a;a=d:d=t;或 t=d;d=a;a=t;b<d 或 b<=d 考查要点 3.4 和要点 3.7, [27】1 一 I 考查要点 3.5 附③。说明:程序段一中的 else 与 if(a > 0)不是同一个层次, 只能与 if(a>=0)配对。 [28]585858 考查要点 3.2 和要点 3.4. [29】常量表达式或常量考查要点 3.6 附②。 [301’1'd6 49 break default 考查要点 3·6 和要点 2·40 说明:49 是字符 1 的 ASCII 码。 (1)输人两个数,判断两个数的关系是“大 于”“等于”或“小于” 、 ,并输出结果。 #include<stdio.h> void main() {int x,y; printf(冲 please input your two numbers(x, Y):) ,; scanf(.$ d, 8 d", &x, &Y); if(x<Y)printf(,8d<8d\丫,x,y) ; else if(x==y)printf(钾 8d=8d\记,x,y) ; else print f(" 8 d>8d\n",x,y); } (2)从键盘任意输人三个整数,按从小到大 顺序输出。 # include<stdio.h> void main() }int x,y,z,t; printf(开 please input three numbers(a, b, c):) .; scanf(.%d, 8 d, 8 d", &x, &y, &Z);

if (x>=Y)I t=x;x=Y;y=t; } if(x>=z) {t=x;x=z;z=t; } if (y>=z)I t=Y;y=z;z=t;} printf("\n 8 d,%d,%d\n",x,Y,z); } (3)判断讨十 bx 十。=0 的方程有几个解, 如果有解则输出。系数卜 b、 。由键盘输人。 # include<stdio.h> (1)输人两个数,判断两个数的关系是“大 于”“等于”或“小于” 、 ,并输出结果。 #include<stdio.h> void main() {int x,y; printf(冲 please input your two numbers(x, Y):) ,; scanf(.$ d, 8 d", &x, &Y); if(x<Y)printf(,8d<8d\丫,x,y) ; else if(x==y)printf(钾 8d=8d\记,x,y) ; else print f(" 8 d>8d\n",x,y); } (2)从键盘任意输人三个整数,按从小到大 顺序输出。 # include<stdio.h> void main() }int x,y,z,t; printf(开 please input three numbers(a, b, c):) .; scanf(.%d, 8 d, 8 d", &x, &y, &Z); if (x>=Y)I t=x;x=Y;y=t; } if(x>=z) {t=x;x=z;z=t; } if (y>=z)I t=Y;y=z;z=t;} printf("\n 8 d,%d,%d\n",x,Y,z); } (3)判断讨十 bx 十。=0 的方程有几个解, 如果有解则输出。系数卜 b、 。由键盘输人。 # include<stdio.h> (1)输人两个数,判断两个数的关系是“大 于”“等于”或“小于” 、 ,并输出结果。 #include<stdio.h> void main() {int x,y; printf(冲 please input your two numbers(x, Y):) ,; scanf(.$ d, 8 d", &x, &Y);

if(x<Y)printf(,8d<8d\丫,x,y) ; else if(x==y)printf(钾 8d=8d\记,x,y) ; else print f(" 8 d>8d\n",x,y); } (2)从键盘任意输人三个整数,按从小到大 顺序输出。 # include<stdio.h> void main() }int x,y,z,t; printf(开 please input three numbers(a, b, c):) .; scanf(.%d, 8 d, 8 d", &x, &y, &Z); if (x>=Y)I t=x;x=Y;y=t; } if(x>=z) {t=x;x=z;z=t; } if (y>=z)I t=Y;y=z;z=t;} printf("\n 8 d,%d,%d\n",x,Y,z); } (3)判断讨十 bx 十。=0 的方程有几个解, 如果有解则输出。系数卜 b、 。由键盘输人。 # include<stdio.h> #include<math. h> void main() {float a,b,c,p,q;xl,x2; printf(口 please input your numbers.(a, b, c)"); scanf(丹 8f,%f,%f",&a,&b,&c) ; p=bib 一 4 共 a 号 c; if(p>0) {q=sqrt(b 衡 b 一 4*a 并 c) ; x1=(一 b+q)/(2 汗 a) ; x2=(一 b 一 4)/(2*a) ; print 以井方程有 2 个解:x1=%f,x2=%f、淤, x1,x2)} ; else if (p==0) jxl=x2=一 b/(2*a) ; printf(,方程有 1 个解:x=$ f、n", x1)} ; else printf(即方程无实数解。\记) ; } (4)要求输出如下莱单: 主菜单 1.输入学生成绩 2.查询学生成绩 3.打印粉出成绩

。 .退出系统 =孟=留=============琴============巴==韶盆== 请选择(0 一 3) : 如果选择 1,则显示“请输入” ;选择 2,则显示“请输 入查找学生学号” ;选择 3,显示“正在枪出” ;选择 。 ,显示“谢谢使用” ;选择其他则显示“恰入错误,。 , (用 switch 语句实现) #include<stdio.h> void main() {int x; printf(" \ t \ t 主菜单\ n") ; printf(”\七、t===================、了) ; printf(" \ t \ t 1.输入学生成绩\扩) ; printf(叭 t\t2.查询学生成绩\己) ; printf(叭 t\t3.打印拾出成绩\了) ; printf(" \ t \ t 0.退出系统\扩) ; printf(叭七\七==========!!====、淤卜 ! printf 俨\t、t 请选择(0 一 3) :\n” )字 (用 switch 语句实现) #include<stdio.h> void main() {int x; printf(" \ t \ t 主菜单\ n") ; printf(”\七、t===================、了) ; printf(" \ t \ t 1.输入学生成绩\扩) ; printf(叭 t\t2.查询学生成绩\己) ; printf(叭 t\t3.打印拾出成绩\了) ; printf(" \ t \ t 0.退出系统\扩) ; printf(叭七\七==========!!====、淤卜 ! printf 俨\t、t 请选择(0 一 3) :\n” )字 scanf("%T, &X); switch(x) {case 1:printfe\n\t 请枪入:);break; , case 2:printf 俨、n\t 请锗入查找学生学 号:勺;break; case 3:printf(,\n\t 正在拾出,; ) break; case 0:printf(,\n\t 谢谢使用”; ) break; default:printf。\n\t 物入错误,; )} f



更多相关文章:
c语言选择题精选1
C语言选择题精选2 19页 1下载券 C语言预赛练习之-选择题... 23页 1下载券...(13)以下选项中,合法的一组 C 语言数值常量是 A)028 .5e-3 -0xf B)12...
C语言选择题精选
C语言预赛练习之-选择题精... 23页 2财富值 C语言选择题精选1 8页 1财富...在对一个 C 程序进行编译的过程中,可发现注释中的拼写错误× *3、 *3、D ...
c语言选择题精选6
C语言预赛练习之-选择题精... 23页 2财富值 C语言选择题精选1 8页 1财富...{ int i=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf...
C语言预赛练习之-大赛模拟试题一
C语言预赛练习之-选择题精... 23页 2财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 ...
c语言选择题精选5
C语言预赛练习之-选择题精... 23页 2财富值 C语言选择题精选1 8页 1财富值 c语言选择题精选8 17页 5财富值 C语言选择题精选3 25页 5财富值 c语言选择...
C语言预赛练习之-基础知识讲义
C语言预赛练习之-基础知识讲义 对于要参加C程序设计竞赛的同学们,这个讲义非常重要,我后面会陆续更新很多练习题,基本围绕这个讲义来整理。对于要参加C程序设计竞赛的...
C语言预赛练习之-函数章节选择题
C语言预赛练习之-函数章节选择题 这个是我自己整理的系列资料,曾经参加比赛的时候用过,效果很不错,准备参加C语言比赛的同学可以参考参考,目前整理的是初级阶段,中级...
C语言预赛练习之-大赛模拟试题二
C语言预赛练习之-选择题精... 23页 2财富值 C语言预赛练习之-文件选择... 7页 2财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,...
c语言选择题精选8
C语言预赛练习之-选择题精... 23页 2财富值 C语言选择题精选1 8页 1财富...(v7,v8))); A)3 B) 4 C)5 D)8 (23)若有定义语句:double x[5]={...
C语言预赛练习之-顺序分支结构
C语言预赛练习之-顺序分支结构 这个是我自己整理的系列资料,曾经参加比赛的时候用过,效果很不错,准备参加C语言比赛的同学可以参考参考,目前整理的是初级阶段,中级和...
更多相关标签:

All rights reserved Powered by 甜梦文库 9512.net

copyright ©right 2010-2021。
甜梦文库内容来自网络,如有侵犯请联系客服。zhit325@126.com|网站地图