学生用题库答案版.docx
- 文档编号:26740191
- 上传时间:2023-06-22
- 格式:DOCX
- 页数:25
- 大小:51.72KB
学生用题库答案版.docx
《学生用题库答案版.docx》由会员分享,可在线阅读,更多相关《学生用题库答案版.docx(25页珍藏版)》请在冰豆网上搜索。
学生用题库答案版
一、单项选择题
1.程序运行输出错误的结果,可以排除下列哪一个因素( )答案及点评
A、算法错误B、运行时输入数据错误、C、未通过编译、D、系统资源配置不当
2.E2是( )答案及点评。
A、值为100的实型常数B、值为100的整型常数C、不合法的标识符、D、合法的标识符
3、逻辑运算符中,运算优先级按从高到低依次为( )答案及点评。
A、&&,!
,||B、||,&&,!
C、&&,||,!
D、!
,&&,||
4.a是int型变量,c是字符变量。
下列输入语句中哪一个是错误的( )答案及点评。
A、scanf("%d,%c",&a,&c);B、scanf("%d%c",a,c);
C、scanf("%d%c",&a,&c);D、scanf("d=%d,c=%c",&a,&c);
5.下列各语句序列判别变量x、y的大小,若x A、if(x C、if(x 6、下列语句中,哪一个可以输出26个大写英文字母( )答案及点评。 A、for(a='A';a<='Z';printf("%c",++a)); B、for(a='A';a<='Z';a++);printf("%c",a); C、for(a='A';a<='Z';printf("%c",a++)); D、for(a='A';a<='Z';printf("%c",++a)); 7、下列各语句定义了数组,其中哪一个是不正确的( )答案及点评。 A、ints_1[5],s_2[4][3];B、floatx,a[4][5]; C、charstring[]="hello! ";D、intx(10),y(10); 8、正确的自定义标识符是( ) A.ifB.a*bC.iFD.8pq 9、存储字符串"a\nb"所用的字节数是( ) A.1 B.2 C.3D.4 10、在C语言中,正确的说法是( ) A.函数内部和外部定义的变量同名是合法的 B.只要形参和实参都是变量,那么形实结合一定是地址传递 C.变量的定义和声明(也称说明)功能是相同的 D.没有return的函数就失去了返回功能 11、设inta=0,b=5;执行表达式++a||++b,a+b后,a,b和表达式的值分别是( ) A.1,5,7 B.1,6,7 C.1,5,6D.0,5,7 12、关系表达式a≤x A.a<=x=a&&x C.x>=a||x (x=b) 13、设inta=3,b=4;执行printf("%d,%d",(a,b),(b,a));后的输出结果是( ) A.3,4B.4,3 C.3,3 D.4,4 14.若已定义x和y为double类型,则表达式: x=1,y=x+3/2的值是() A.1B.2 C.2.0D.2.5 15.合法的数组定义是() A.inta[]=″string″;B.inta[5]={0,1,2,3,4,5}; C.chara=″string″;D.chara[]={0,1,2,3,4,5}; 16.设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是() A.10<a<15B.a==11||a==12||a==13||a==14 C.a>10&&a<15D.! (a<=10)&&! (a>=15) 17.若t为double类型,表达式t=1,t+5,t++的值是() A.1B.6.0 C.2.0D.1.0 18.若有定义和语句: chars[10];s=″abcd″;printf(″%s\n″,s);则结果是(以下μ代表空格)() A.输出abcdB.输出a C.输出abcdμμμμμD.编译不通过 19.若有以下定义和语句: int u=010,v=0x10,w=10;printf(″%d,%d,%d\n″,u,v,w);则输出结果是() A.8,16,10B.10,10,10 C.8,8,10D.8,10,10 20.若有以下定义和语句: char c1=′b′,c2=′e′; printf(″%d,%c\n″,c2-c1,c2-′a′+′A′);则输出结果是() A.2,MB.3,E C.2,ED.输出项与对应的格式控制不一致,输出结果不确定 21.若i、j已定义为int型,则以下程序段中内循环体的总的执行次数是() for(i=5;i>0;i--) for(j=0;j<4;j++){…} A.20B.24 C.25D.30 22.执行下面语句后的输出结果为() int i=-1; if(i<=0) printf(″****\n″); else printf(″%%%%\n″) A.****B.%%%% C.%%%%cD.有语法错误,不能正确执行 23.对于条件表达式(M)? (a++): (a--),其中的表达式M等价于()(本题分值: 1分) A.M==0B.M==1 C.M! =0D.M! =1 24.假定所有变量均已正确说明,下列是程序段运行后x的值是() a=b=c=0;x=35; if(! a) x--; else if(b); if(c) x=3; else x=4; A.34B.4 C.35D.3 25.在以下一组运算中,优先级最高的运算符是() A.<=B.= C.%D.&& 26.以下程序的运行结果是() #include #define PI 3.141593 #include main(){ printf(″PI=%f\n″,PI); } A.3.141593=3.141593B.PI=3.141593 C.3.141593=PID.程序有误,无结果 27.若有以下程序片段: char str[]=″ab\n2\\″;printf(″%d″,strlen(str));上面程序片段的输出结果是() A.3B.4 C.6D.12 28.设有intx=11;则表达式(x++*1/3)的值是 A)3B)4C)11D)12 29.下列程序的输出结果是 A)3B)3.2C)0D)3.07 main() {doubled=3.2;intx,y; x=1.2;y=(x+3.8)/5.0; printf("%d\n",d*y); } 30.下列程序执行后的输出结果是(小数点后只写一位) A)666.06.0B)666.76.7 C)666.06.7D)666.76.0 main() {doubled;floatf;longl;inti; i=f=1=d=20/3; printf("%d%ld%f%f\n",i,l,f,d); } 31.下列变量定义中合法的是 A)short_a=1-.le-1;B)doubleb=1+5e2.5; C)longdo=0xfdaL;D)float2_and=1-e-3; 32.设intx=1,y=1;表达式(! x||y--)的值是 A)0B)1C)2D)-1 33.与y=(x>0? 1: x<0? -1: 0);的功能相同的if语句是 A)if(x>0)y=1;B)if(x) elseif(x<0)y=-1;if(x>0)y=1; elsey=0;elseif(x<0)y=-1; elsey=0; C)y=-1;D)y=0; if(x)if(x>=0) if(x>0)y=1;if(x>0)y=1; elseif(x==0)y=0;elsey=-1; elsey=-1; 34.以下循环体的执行次数是 A)3B)2C)1D)0 main() {inti,j; for(i=0,j=1;i<=j+1;i+=2,j--)printf("%d\n",i); } 35.以下叙述正确的是 A)do-while语句构成的循环不能用其它语句构成的循环来代替。 B)do-while语句构成的循环只能用break语句退出。 C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。 D)用do-while语句构成的循环,在while后的表达式为零时结束循环。 36.下列程序执行后的输出结果是 A)GB)HC)ID)J main() {intx='f';printf("%c\n",'A'+(x-'a'+1));} 37.执行下面的程序段后,变量k中的值为 A)不定值B)33C)30D)10 intk=3,s[2];s[0]=k;k=s[1]*10; 38.下列程序的运行结果是 A)a=%2,b=%5B)a=2,b=5 C)a=d,b=dD)a=%d,b=%d #include main() {inta=2,c=5; printf("a=%d,b=%d\n",a,c);} 39.设有数组定义: chararray[]="China";则数组array所占的空间为 A)4个字节B)5个字节C)6个字节D)7个字节 40.若有定义: floatw;inta,b;则合法的switch语句是 A)switch(w)B)switch(a); {case1.0: printf("*\n");{case1printf("*\n"); case2.0: printf("**\n");case2printf("**\n"); }} C)switch(b)D)switch(a+b); {case1: printf("*\n");{case1: printf("*\n"); default: printf("\n");case2: printf("**\n"); case1+2: printf("**\n");default: printf("\n"); } 41.语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是 A)a\bre\'hi\'y\\\bouB)a\bre\'hi\'y\bou C)re'hi'youD)abre'hi'y\bou(说明: '\b'是退格符) 42.执行下列程序时输入: 123<空格>456<空格>789<回车>,输出结果是 A)123,456,789B)1,456,789 C)1,23,456,789D)1,23,456 main() {chars[100];intc,i; scanf("%c",&c);scanf("%d",&i);scanf("%s",s); printf("%c,%d,%s\n",c,i,s); } 43.若变量已正确定义并赋值,下面符合C语言语法的表达式是 A)a: =b+1B)a=b=c+2C)int18.5%3D)a=a+7=c+b 44.下列选项中,不能用作标识符的是 A)_1234_B)_1_2C)int_2_D)2_int_ 45.有以下程序 main() {intm=3,n=4,x; x=-m++; x=x+8/++n; printf("%d\n",x); } 程序运行后的输出结果是 A)3B)5C)-1D)-2 46.main() {inti; for(i=0;i<3;i++) switch(i) { case0: printf("%d",i); case2: printf("%d",i); default: printf("%d",i); } } 程序运行后的输出结果是 A)022111B)021021C)000122D)012 47.下列条件语句中,功能与其他语句不同的是 A)if(a)printf("%d\n",x);elseprintf("%d\n",y); B)if(a==0)printf("%d\n",y);elseprintf("%d\n",x); C)if(a! =0)printf("%d\n",x);elseprintf("%d\n",y); D)if(a==0)printf("%d\n",x);elseprintf("%d\n",y); 48.main() {chara,b,c,d; scanf("%c,%c,%d,%d",&a,&b,&c,&d); printf("%c,%c,%c,%c\n",a,b,c,d); } 若运行时从键盘上输入: 6,5,65,66<回车>。 则输出结果是 A)6,5,A,BB)6,5,65,66C)6,5,6,5D)6,5,6,6 49.s12和s2已正确定义并分别指向两个字符串。 若要求: 当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是 A)if(s1>s2)S;B)if(strcmp(s1,s2))S; C)if(strcmp(s2,s1)>0)S;D)if(strcmp(s1,s2)>0)S; 50.以下4组用户定义标识符中,全部合法的一组是 A)_mainB)IfC)txtD)int enclude-maxREALk_2 sinturbo3COM_001 51.有以下程序 main() {inti,s=0; for(i=1;i<10;i+=2)s+=i+1; printf(“%d\n”,s); } 程序执行后的输出结果是 A)自然数1~9的累加和B)自然数1~10的累加和 C)自然数1~9中的奇数之和D)自然数1~10中的偶数之和 52.若程序中定义了以下函数 doublemyadd(doublea,doubleB) {return(a+B);} 并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是 A)doublemyadd(doublea,B); B)doublemyadd(double,double); C)doublemyadd(doubleb,doubleA); D)doublemyadd(doublex,doubley); 53.有以下程序 voidf(intv,intw) {intt; t=v;v=w;w=t; } main() {intx=1,y=3,z=2; if(x>y)f(x,y); elseif(y>z)f(y,z); elsef(x,z); printf(“%d,%d,%d\n”,x,y,z); } 执行后输出结果是 A)1,2,3B)3,1,2C)1,3,2D)2,3,1 54.以下程序的输入结果是 main() { inti=010,j=10,k=x10; printf("%d,%d,%d",i,j,k); } A)8,10,16B)8,10,10C)10,10,10D)10,10,16 55.C语言中最简单的数据类型包括 A)整型、实型、逻辑型B)整型、实型、字符型 C)整型、字符型、逻辑型D)整型、实型、逻辑型、字符型 56.为表示关系x大于等于y大于等于z,应使用C语言表达式 A)(x>=Y)&&(Y>=z)B)(x>=Y)AND(y>=z)C)(x>=Y>=z)D)(x>=Y)&(Y>=z) 57.下列对C语言字符数组的描述中错误的是 A)字符数组可以存放字符串B)字符数组中的字符串可以整体输入、输出 C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值 D)不可以用关系运算符对字符数组中的字符串进行比较 58.以下说法中正确的是 A)C语言程序总是从第一个定义的函数开始执行 B)在C语言程序中,要调用的函数必须在main()函数中定义 C)C语言程序总是从main()函数开始执行 D)C语言程序中的main()函数必须放在程序的开始部分 59.以下程序段的输出结果是 intx=3; do { printf("%3d",x-=2);} while(! (--x)); A)1B)30C)1-2D)死循环 60.表达式1&3&5&7的值为( ) A.1 B.3 C.5 D.7 61.表达式2,4,6,8的值为( ) A.2 B.4 C.6 D.8 62.下列标志符中,合法的标志符为(D) Ab-a,xyzBCCP,intChiy,p#dDabc,INT 63.以下叙述正确的是( ) Ac程序由主函数构成Bc程序由函数和过程构成 Cc程序由函数构成D在c程序中,无论是整形还是实型,只要在允许的范围内,都能准确无误的表示 64.下列叙述中,正确的一条是()(本题分值: 1分) A.语句“goto12;”是合法的 B.for(;;)语句相当于while (1)语句 C.if(表达式)语句中,表达式的类型只限于逻辑表达式 D.break语句可用于程序的任何地方,以终止程序的执行 65.对c语言中的标志符,下列说法正确的是() A标志符中第一个字符必须是字母B标志符中的第一个字母必须是下划线 C标志符的前两个字母必须是字母和下划线D标志符中的第一个字母必须是字母或下划线 66. 以下不是c语言的关键字的是() AcaseBtypedefCstaticDnull 67.以下选项中,不合法的用户标志符是() A_123BprintfCA$DDim 68. 构成c语言程序的基本结构单位是() A函数B过程C复合语句D语句 69. 在c语言中,不正确的int类型常数是() A32768B0C037D0xaf 14.下面正确的字符常量是: A"a"B'\\''C'W'D'' 70.在C语言中,char型数据在内存中的存储形式是: A) 补码B)反码C)原码D)ASCII码 71.C语言规定: 在一个源程序中,main函数的位置。 A)必须在最开始B)必须在系统调用的库函数的后面 C)可以任意D)必须在最后 72.C语言源程序经过编译后,生成文件的后缀是。 A、.c B、.obj C、.cc D、.exe 73.表达式‘a’+4的类型是___________。 A、char B、int C、无定义 D、出错 74.在tc中,要选取新近使用过的文件,可以使用() A、F2B、ALT+F2C、F3D、ALT+F3 75.退出tc系统的快捷键是() A、alt+qB、alt+xC、ctrl+qD、ctrl+x 76.查看程序运行结果,可以用() A、run菜单的run命令B、ctrl+f9 C、run菜单的userscreen命令D、ctrl+f5 77.选中运行菜单的快捷键是() A、alt+rBctrl+rC、alt+f9D、ctrl+f9 78.在tc中,要选中file菜单,可以通过() A、按f10后使用方向键选择B、按f9后使用方向键选择 C、alt+eD、按f5后使用方向键选择 79.下列是字符常量的是() A、aB、5C、“Y”D、‘\n’ 80.程序中存在下列语句: charch1;对ch1的正确赋值语句是() A、ch1=aB、ch1=’9’C、ch1=”\r”D、ch1=’ab’ 81.不合法的常量是() A、’\2’B、’”’C、’’D、’\128’ 82.语句chars=’\092’;的作用是() A、使s包含一个字符B、说明不合法,s的值不定 C、使s包含四个字符D、使s包含三个字符 83、在C语言中,若有以下变里定义: inta;floatf;charc; 则表达式 a+f*c的值的类型为() A、 charB、 doubleC、floatD、int 84、以下C语言程序的输出结果是() main() { intx=3,y=2,z=0; printf(“%d”,x/y&&! z); } A、3 B、2 C、1 D、 0 85、在C语言中,运算对象必须整型数的运算符是() A、% B、 /C、%和/D、== 86、在C语言中,下列函数经常与getchar()组合起来使用的函数是() A、scanf()B、strcpy()C、puts()D、putchar() 87、以下C语言程序的输出结果是() main() { intx=10,y=3; printf(“%d”,x/y); } A、0 B、3.33 C、 3 D、不确定 88、以下C语言程序的输出结果是() main() { intk=17; printf(“%d,%o,%x”,k,k,k); } A、17,021,0X11 B、17,17,17 C、17,0X11,021 D、17,21,11 89、C语言自定义函数的返回值的类型是由()决定的。 A、return 语句中的表达式类型 B、定义函数时,指定函数值类型 C、调用函数时临时确定的 D、无法确定 90、若执行以下C语言程序时从键盘上输入12,则输出结果是() main() {intn; scanf(“%d”,&n); if(n++<10)printf(“%d”,n); elseprintf(“%d”,n--); } A、14
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生用题库 答案版 学生 题库 答案