C语言预赛练习之选择题精选三.docx
《C语言预赛练习之选择题精选三.docx》由会员分享,可在线阅读,更多相关《C语言预赛练习之选择题精选三.docx(44页珍藏版)》请在冰点文库上搜索。
![C语言预赛练习之选择题精选三.docx](https://file1.bingdoc.com/fileroot1/2023-5/4/675abef4-c8fd-44e3-920e-3113865b339b/675abef4-c8fd-44e3-920e-3113865b339b1.gif)
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]有下列程序段,则执行该程序段后的输出结果是()。
inte=19;
floatf=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】以下程序的输出结果是()。
intn=1234;
printf("n=%2d\n”,n);
①n=12②n=34③n=1234④提示出错,无结果
【10下面程序的输出结果是()。
main()
{char*a=”Isit”;
printf(”%3s,%0.4s\n”,a,a);
f
①Isit,1si②is,IsI③Isit,1sit④L,Isit
【11下面程序的输出结果是()。
main()
{intx=5;
printf(”%d%d\n”,x=x+1,x*x);
}
①636②625③525④536
【12】a、b、c被定义为int型变量,若从键盘输入数据,正确的输人语句是()。
①INPUTa,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.251.25③x=1.25,y=1.25④x=1.25y=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<回车>②1234123121<回车>
③1234一123一12一1<回车>④1234十123十12十1<回车>
【15】若已有定义inti,j,k;执行语句scarf("%d%d%2d”,&i,&j,&k);时的键盘输人为:
123<回车>
456789<回车>
所得的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<回车>④1022<回车>
22.033.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】1267考查要点1.4和1.6附⑥。
说明:
%,3d表示读人3位整数但不赋给任何变量。
(29】12a34考查要点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();
floatpi,r;a;
pi=3.14159;
r=10;
a=r*r*pi;
l=2*r*pi;
printf("\nate=%d,cir=%f\n,a,l);
改正为:
#include<stdio.h>
main()
{floatpi,r,a;l;
pi=3.14159;
r=10;
a=r*r*pi;
l=2*r*pi;
printf(”\nate=%f,cir=%f\n",a,1);
}
②include<stdio.h>
/*主函数
main()
{inta:
printf(\npleaseinputaintergate:
);
scanf(”%d”,a);
if(a>0)printf("a>0\n");
elseprintf(”a<=0\n”)
}
改正为:
#include<stdio.h>
/备主函数怪/
main()
}inta;
printf(,\npleaseinputaintergate:
,);
scanf("%d",&a);
if(a>0)邵intf("a>0");
elseprintf(即a<=0\丫);
}
(2)使用printf()函数显示下列菜单:
Menu
1.Inputthestudents,namesandscores
2.Searchscoresofsomesb,,IAnts
3.Modifyscoresofsanestudents
4.Listallstudents'scores
5.Quitthesystem
Pleaseinputyourchoise(1一5):
#include<stdio.h>
main()
{printf("\t\tMenu\n");
printf("\t、七=======================~
\n");
printf(叭t\t工江nputthestudents’names
andscores\n");
printf("\t\t2.Searchscoresofsomestu-
dents\n");
printf("\t\t3.Modifyscoresofsome.stu-
dents\n");
printf("\t\t4.Listallstudents’scores
\n”);
printf(叭t、t5.Quitthesystem\n:
.);
printf(”、七\t=================~======
、n");
printf(冲\t\tPleaseinputyourchpise(1
一5):
\n”);
f
(3)编写一个程序,实现输人六个数输出最
小数。
方法一:
#include<stdio.h>
main()
{inta,b,c,d,e,f,9;
printf(厅Pleaseinputsixnumbers(a,b,c,
d,e,f):
,);
scanf(厅%d,%d,%d,%d,%d,%己,&a,&b,&c,
&d,&e,&f);
if(a<b)9=a;
elseg=b;
if(c<9)9=c;
if(d<9)9=d;
if(e<g)9=e;
if(f<9)9=f;
printf(斤8d,Bd,Bd,Bd,8d,8d,themin
is%d\n",a,b,c,d,e,f,g);
f
方法=:
#include<stdio.h>
intmin(intx,inty)
{intz;
if(x<y)z=x;
elsez=Y;
return:
;}
main()
{inta,b,c,d,e,f,9;
printf(开Pleaseinputsixnumbers(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,8d,themin
is%d\n",a,b,c,d,e,f,B);
}
(4)编写一个程序,从键盘上输人华氏温
度,屏幕显示对应的摄氏温度。
华氏温度和
摄氏温度的转换公式为:
。
=(f-32)/1.8
#include<stdio.h>
main()
afloatc,f;
printf(,请枪入华氏溢度:
口);
/资汉字愉入可以通过Windows的记事本编写源
程序母/
scanf(即龟尸,&f);
c=(f一32)/1.8;
printf护对应的毅氏Ac度为;8.1f、n",c);
}
/备*.if表示显示时保留一位小数骨
一、选择题
【11C语言中的简单数据类型包括()。
①整型、实型、逻辑型②整型、实型、字符型
③整型、字符型、逻辑型④整型、实型、逻辑型、字符型
[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】若有以下定义和语句,则输出结果是()。
intu=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
_3idone_halfMY一>bookCPP
oodbstart$itline#POW
aBc3paiHis.agewhile
【17」以下各标识符组中,合法的用户标识符为第()组。
①b一b②CCP③hiy④_isw
abcfloat<fr>INT
【18】以下4组用户标识符组,合法的为第()组。
1For②4d③t2_G3④WORD
-subDOIFvoid
CaseSizeabcdefine
【19】下列选项中不属于C语言类型的是()。
①signedshortint②longshort③unsignedlong④unsignedint
(20】下列变量定义合法的是()。
①shorta=1-.le-1;②doubleb=1十5e2.5;
③longdo=OxfdaL;④float2_and=1一e-3;
【21已知longa=-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】若有以下定义和语句,则输出结果是()。
charcl='b',c2='e';
printf(”%d,%c\n”,c2一c1,c2一‘a’+’A');
①2,M②3,E③2,E④输出结果不确定
[25】若有以下程序段,它的输出结果是()。
#defineD66/铃D为符号常t任/
main()
{intd=65;
printf("%d%c\n",D,D);}
①68D②100d③66B④65A
【26】已定义:
chara;intb;floatc;doubled;则执行语句:
c=a+b+c+d;后,变量c的
类型为()。
①char②int③float④double
[27】执行以下程序的输出显示是()。
main()
{intx=8;
floaty=-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】已知doublex=5.5,Y=2.5;则表达式(int)x+Y/Y的值是()。
①6.500000②6③5.500000④6.000000
(30】若定义了intx;则将x强制转化成双精度类型,应写成()。
①(double)x②x(double)③double(x)④(x)double
【31若已定义:
floataa=1234.5678;,则执行printf("%a6.2f%d\n",aa,(int)(aa));的
输出是()。
①1234.561234⑧1234.571235③1234.561235④1234.571234
[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若有以下定义和语句,则输出结果是()。
intk=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】=进制数01100100转换成十六进制数是_,=进制数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()
{charc=’z’;
printf(”%c",c一25);}
[46】写出语句prinaf("%o",177);的输出结果_;若已说明inta=一3,执行语句printf("%x",a);的结果是____。
(47]以下程序的输出结果是_。
main()
{unsigneda=65536,b=32768;
printf(”%d,%d\n”,a,b);}
【481设有以下变量定义并已赋确定的值,则表达式w*x十z-y的数据类型是___。