c语言题库答案.docx
- 文档编号:13223794
- 上传时间:2023-06-12
- 格式:DOCX
- 页数:41
- 大小:37.43KB
c语言题库答案.docx
《c语言题库答案.docx》由会员分享,可在线阅读,更多相关《c语言题库答案.docx(41页珍藏版)》请在冰点文库上搜索。
c语言题库答案
()1、下列字符串属于标识符的是()。
A._WLB.3_3333C.intD.LINE-3
()2、在下面几组数据类型中,全为最常用的基本数据类型的是哪一组:
()。
A.整型实型字符型B.整型数组指针
C.数组结构体共用体D.指针逻辑型空类型
()3、若有说明语句:
charc=‘\64’;则变量C包含:
()。
个字符个字符
个字符D.说明不合法,C值不确定
()4、设有如下定义和执行语句,其输出结果为:
()。
inta=3,b=3;
a=--b+1;printf(“%d%d”,a,b);
2232
()5、C语言中,运算对象必须是整型数的运算符是()。
A.+B.*C.%D./
()6、C语言规定,C程序的各函数之间()。
A.允许嵌套调用,但不允许嵌套定义;B.不允许嵌套调用,但允许嵌套定义;
C.不允许嵌套调用,也不允许嵌套定义;D.允许嵌套调用,也允许嵌套定义。
()7、若有如下定义和语句:
则输出结果是:
()。
chars[12]=“Mybook”;
printf(“%d”,strlen(s));
()8、循环语句中的for语句,其一般形式如下:
for(表达式1;表达式2;表达式3)语句;其中表示循环条件的是()。
A.表达式1B.表达式2C.表达式3D.语句
()9、以数组作为函数的参数时传递的数组的首地址,那么实参数组与形参数组之间的数据传递方式为。
A.单向值传递B.地址传递C.双向值传递D.随机传递
()10、将字符串str2复制到字符串str1中应使用()。
(str1,str2)(str1,str2)(str1,str2)(str2,str1)
()11、若有以下定义:
inta[10],*p=a;则p+3表示的是()。
A.元素a[3]的地址B.元素a[3]的值C.元素a[4]的地址D.元素a[4]的值
()12、C语言中不能用来表示整常数的进制是()。
A.十进制B.十六进制C.八进制D.二进制
()13、用scanf函数输入一个字符串到数组str中,下面正确的语句是:
()。
(“%s”,&str);(“%c”,&str[10]);
(“%s”,str);(“%s”,str[10]);
()14、在说明一个结构体变量时系统分配给它的存储空间是()。
A.该结构体中第一个成员所需存储空间B.该结构体中最后一个成员所需存储空间
C.该结构体中占用最大存储空间的成员所需存储空间
D.该结构体中所有成员所需存储空间的总和
()15、下面程序的输出结果是:
()。
intm=13;
intfun(intx,inty)
{intm=3;
return(x*y-m);}
main()
{inta=7,b=5;
printf(“%d\n”,fun(a,b)/m);}
()1、C语言中要求运算必须是整形的运算符是()
A.%B./C. ()2、下列选项中那一项是不合法的用户标识符( ) A.ter3 ()3、设inta=0,b=5;执行表达式a++和++b后,表达式a+b的值是() ()4、为表示关系x≥y≥z,应使用的C语言表达式是() A.(x>=y)&&(y>=z)B.(x>=y)AND(y>=z)>=y>=zD.(x>=y)&(y>=z) ()5、若有x=15,y=40,m=100,执行了语句m=(x>y)x: y;后,m的值为() A.15B.40C.100D. ()6、若变量a,b,c为整型,要给三变量输入数据,正确的输入语句是() (a,b,c);(“%d%d%d”,a,b,c); (“%D%D%D”,&a,&b,&c);(“%d%d%d”,&a,&b,&c); ()7、以下程序段的输出结果是______。 inta=1234; printf("%2d\n",a); D.提示出错、无结果 ()8、以下for循环的执行次数是for(x=0;x<4;x++);()。 A.是无限循环B.循环次数不定次次 ()9、下面程序段运行结果正确的是() charc1=65,c2=66;printf(“%c,%c”,c1,c2); B,98,B,98 ()10、设有程序段,则下列描述中正确的是() intk=10;while(k=0)k=k-1; A.循环体执行10次B.循环是无限次循环C.循环体一次也不执行D.循环体执行一次 ()11、C语言允许函数类型缺省定义,此时函数值隐含的类型是()。 ()12、下面叙述中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.C语言程序总是从main()函数开始执行 C.C语言程序中的main()函数必须放在程序的开始部分 D.一个C函数中只允许一对花括号 ()13、下列正确的数组定义语句是() a(2,3);a[2][]={1,2,3,4} a[2][2]={{1,2,3},{8,7}};a[2][4]={1,2,3,4,5,6} ()14、.若有下列定义和语句,则对a数组元素的非法引用是()。 inta[2][3]; A.a[0][0]B.a[1][1]C.*(*(a+1)+2)D.a[2][3] ()15、.有以下程序段: 若inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a,b; b=p[5]; b中的值是______。 ()16、以下不能正确进行字符串赋初值的语句为______。 str[5]="good! " str[]="good! " *str="good! " str[5]={'g','o','o','d'} ()17、在说明语句: int*f();中,标识符f代表的是______。 A.一个用于指向整型数据的指针变量 B.一个用于指向一维数组的行指针 C.一个用于指向函数的指针变量D.一个返回值为指针型的函数 ()18、有以下定义: 不能给数组a输入字符串的语句是______ #include<> chara[10],*b=a; A.gets(a); B.gets(a[0]); C.gets(&a[0]); D.gets(b); ()19、下面程序段的输出结果是______。 main() {charstrl[]=”string”; printf("%d\n",strlen(strl));} A.6 B.7 C.10 D.存在语法错误 ()20、voidmain() {structst{longnum;charname[20];};structstt1; printf(“%d”,sizeof(t1);} A.8 B.20C C.24 D.38 ()1、程序运行后的输出结果是() main() {charc1; c1='A'; printf("%c,%d\n",c1,c1);} A.E,68B.D,69C.A,65D.输出无定值 ()2、程序运行的结果是() main() {inta=1,b=2; if(a>b)printf("%d",a); elseprintf("%d",b);} B.2C.1 ()3、以下程序输出结果是() main() {intx=2,a=1,b=1; switch(x) {case1: a++; case2: b++;} printf(“a=%d,b=%d”,a,b);} =3,b=2=1,b=2=4,b=1=3,b=1 ()4、有以下程序运行后的输出结果是() main() {inta=12; printf(”%d\n”,a>10a+10: a-12);} ()5、以下程序运行后的输出结果是() main() {inta,b=0; for(a=1;a<=3;a++) b+=a; printf(”%d\n”,b);} ()6、以下叙述中错误的是() 语言函数可以嵌套定义。 语言函数可以嵌套调用。 语言函数可以递归调用。 D.main函数可以放在程序的开头 ()7、以下关于函数形参和实参的叙述中正确的是() A.函数的实参和其对应的形参共占同一存储单元 B.形参只是形式上的存在,不占用具体存储单元 C.同名的实参和形参占同一存储单元 D.函数的形参和实参分别占用不同的存储单元 ()8、以下程序运行后的输出结果是(234) fun() {staticintx=1; x++; printf(”%3d”,x);} main() {inti,s; for(i=1;i<=3;i++) fun();} ()9、以下能正确定义数组并正确赋初值的语句是() a[2]={1,2,3};B.intn=5,b[n][n]; c[2]={};d[2]={1,2}; ()10、以下程序运行后的输出结果是() A.1B.2C.10D.6 sub(intn) {if(n>1) returnn-3; elsereturnn+3;} main() {printf(“%d”,sub(5);} ()1、以下叙述不正确的是() A.一个C源程序可由一个或多个函数组成 B.一个C源程序必须包含一个main函数 程序的基本组成单位是函数 D.在C程序中,注释说明只能位于一条语句的后面 ()2、设变量a=2,f=,i=型,则表达式10+a*f-i值的为() A.14.6 D.不确定 ()3、若运行时给变量x输入12,则以下程序的运行结果是() main() {intx,y; scanf("%d",&x); y=x>12x+10: x-12; printf("%d\n",y); } ()4、 下列说法中错误的是() A.只能在循环体内使用break语句 B.在循环体内使用break语句可以使流程跳出本层循环体,从而提前结束本层循环 C.在while和do…while循环中,continue语句并没有使整个循环终止 的作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环判断 ()5、若有说明: inta[][3]={1,2,3,4,5,6,7,8,9};则a数组第一维的大小是 D.无确定值 ()6、下面程序输出的结果是() main() {inti; inta[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) printf("%d",a[i][i]);} 59 53 57 91 ()7、已知: charb[20]="defghi";则执行下列语句后的输出结果为() printf("%d",strlen(b)); D.以上答案都不正确 ()8、阅读下列程序,则执行后的结果为() #include "" main() { int c[][4]={{1,2,3,4},{5,6,7,34},{213,56,62,3},{23,12,34,56}}; printf("%d,%d\n",c[0][0],*(*(c+1)+1)); } 6 ,5 ,5 ,6 ()9、以下程序段的描述,输出的结果是() x=5; do {pritf(“%d”,x);x--: } while(x>3); 4 43 432 4321 ()10、对以下说明语句的正确理解是() inta[10]={6,7,8,9,10}; A.将5个初值依次赋给a[1]至a[5]B.将5个初值依次赋给a[0]至a[4] C.将5个初值依次赋给a[6]至a[10] D.因为数组长度与初值的个数不相同,所以此语句不正确 ()语言中不能用来表示整常数的进制是()。 A.十进制B.十六进制C.八进制D.二进制 ()语言规定标识符由()等字符组成。 A.字母数字下划线B.中划线字母数字 C.字母数字逗号D.字母下划线中划线 ()3、以下表达式: 2+’a’+i*f,其中i为整型变量,f为float型变量,则表达式的最终数据类型为()。 ()4.设有如下定义 intx=10,y=5,z; 则语句printf("%d\n",z=(x+=y,x/y));的输出结果是()。 ()5.设有如下定义: charch=’z’,则执行下面语句后变量ch是值为: ()。 ch=(‘A’<=ch&&ch<=‘Z’)(ch+32): ch ()6.若x和y都为float型变量,且x=,y=执行下列语句后输出结果为: ()。 printf(“%f”,(x,y)); D.输出符号不够,输出不正确值 ()7.设有两字符串“Beijing”、“China”分别存放在字符数组str1[10],str2[10]中,下面语句中能把“China”连接到“Beijing”之后的为: ()。 (str1,str2);(str1,“China”); (str1,“China”);(“Beijing”,str2); ()8.以下对一维整型数组a的正确说明是()。 a(10);n=10,a[n]; n;scanf(“%d”,&n);inta[n]; D.#defineSIZE10inta[SIZE]; ()9.设有如下程序段,则其执行结果为: ()。 staticinta[]={1,2,3,4},*p;inti; p=a;printf(“%d”,*(p+3)); [3]地址D.不正确的值 ()10、若二维数组a有m列,则a[I][j]元素前的数组元素个数为: ()。 *m+i*m+j*m+j-1*m+j+1 ()11、C语言中变量的指针指的是: ()。 A.变量类型B.变量值C.变量值D.变量地址 ()12、下面有关for循环的正确描述是()。 循环只能用于循环次数已经确定的情况 循环是先执行循环体语句,后判断表达式 C.在for循环中,不能用break语句跳出循环体 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 ()13、C语言规定: 在一个源程序中,main函数的位置()。 A.必须在最开始B.必须在系统调用的库函数的后面 C.可以在任意位置D.必须在源文件的最后 ()14、在C语言程序中,若未在函数定义时说明函数类型,则函数默认的类型为: ()。 ()15、在说明一个结构体变量时系统分配给它的存储空间是()。 A.该结构体中第一个成员所需存储空间 B.该结构体中最后一个成员所需存储空间 C.该结构体中占用最大存储空间的成员所需存储空间 D.该结构体中所有成员所需存储空间的总和 ()1、下列字符串是标识符的是()。 A._HJB.9_studentC.longD.LINE1 ()2、下列说法正确的是()。 A.main函数必须放在C程序的开头B.main函数必须放在C程序的最后 C.main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的 D.main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的 ()3、C语言中不能用来表示整常数的进制是()。 A.十进制B.十六进制C.八进制D.二进制 ()4、设d为字符变量,下列表达式正确的是()。 A.d=678B.d=’a’C.d=”d”D.d=’gjkl’ ()5、判断字符型变量ch为大写字母的表达式是()。 A.’A’<=ch<=’Z’B.(ch>=’A’)&(ch<=’Z’) C.(ch>=’A’)&&(ch<=’Z’)D.(ch>=’A’)AND(ch<=’Z’) ()6、C语言中,要求运算对象必须是整型的运算符是: ()。 A.>B.++C.%D.! = ()7、写出下面程序的执行结果()。 main() {intx=1,y=1,z=0; if(z<0) if(y>0)x=3; elsex=5; printf("%d\t",x);} A.1B.3C.5D.7 ()8、若i,j已定义为int型,则以下程序段中循环体的总的执行次数是()。 for(i=1;i<=4;i++) for(j=1;j<=5;j++) {} A.20B.24C.25D.30 ()9、下面程序的输出结果是: ()。 intm=2; intfun(intx,inty) {intm=3; return(x*y-m);} main() {inta=3,b=5; printf(“%d\n”,fun(a,b)/m);} A.1B.2C.6D.10 ()10、以下能对二维数组a进行正确说明和初始化的语句是: ()。 A.inta()(3)={(1,0,1),(2,4,5)}; B.inta[2][]={{3,2,1},{5,6,7}}; C.inta[][3]={{3,2,1},{5,6,7}}; D.inta (2)()={(1,0,1),(2,4,5)}; ()11、设有charstr[10],下列语句正确的是()。 A.scanf("%s",&str);B.printf("%c",str); C.printf("%s",str[0]);D.printf("%s",str); ()12、执行以下程序段后,a的值是()。 inta[]={5,3,7,2,1,5,4,10}; ints=0;k; for(k=0;k<3;k++) s+=a[k]; A.8B.15C.17D.18 ()13、变量的指针,其含义是指该变量的()。 A.值B.地址C.名D.一个标志 ()14、以下对一维整型数组a的初始化正确的是()。 A.inta(4)={1,2,3,5};B.inta[4]={1,2,3,4,6,7}; C.inta[4]={1468};D.inta[4]={1,4,6,8} ()15、若有以下说明和语句: structworker {intno;char﹡name;}work,﹡p=&work; 则以下引用方式不正确的是()。 A.work.noB.(﹡p).noC.p->noD.work->no 二、判断题() (√)1、在C语言程序中,AHP和ahp分别代表两个不同的标识符。 (√)2、C程序有三种结构化程序设计方法,分别顺序结构、选择结构和循环结构。 (╳)3、在if语句中,if子句与else子句都可以单独使用,构成了if语句的两种缺省形式。 (╳)4、for语句作为循环控制语句时,其括号内各个表达式及其后的分号都可缺省。 (╳)5、数组在定义时没有必要指定数组的长度,其长度可以在程序中根据元素个数再决定。 (╳)6、C语言中while和do-while循环的主要区别是while语句的循环体至少会被执行一次,而do-while语句的循环体则可能一次也不执行。 (√)7、数组首地址不仅能通过数组中第一个元素的地址表示,也可以通过数组名来表示。 (╳)8、在C语言中,只有在两个字符串所包含的字符个数相同时,才能比较大小。 如字符串“That”与“The”就不能进行大小比较。 (╳)9、函数的返回值类型是由函数的类型和return语句中表达式的类型共同决定的,当这两类型不一致时最终起决定作用的是return中表达式的类型。 (√)10、文件按数据存储形式分为文本文件和二进制文件。 (√)1、在C语言程序中,happy是正确的标识符。 (╳)2、在C语言的if语句中,else可以单独出现。 (√)3、在C程序中一行内可以写几个语句,一个语句可以分写在多行上。 但每一条C语句都必须有一个分号的。 (√)4、在C语言的if语句中,用作条件判断的表达式可以是C语言中任意合法的表达式。 (╳)5、在C语言中,函数strcpy是用来连接字符串的。 (√)6、for语句作为循环控制语句时,三个表达式可以省略其中的一个、两个或三个,但分号不可少。 (√)7、数组名也可作为函数参数使用,此时是地址传递。 (╳)8、C程序有三种结构化程序设计方法,分别嵌套结构、选择结构和循环结构。 (╳)9、数组在定义时没有必要指定数组的长度,其长度可以在程序中根据元素个数再决定。 (√)10、C程序的三种结构化程序设计方法分别顺序结构、选择结构和循环结构。 (╳)1、C程序可以由若干个源文件组成,因此最小的功能单位是源文件,最小编译单位的是函数。 (√)2、C语言的三种基本数据类型为整型、实型、字符型。 (╳)3、在if语句中,if子句与else子句都可以单独使用,构成了if语句的两种缺省形式。 (╳)4、for语句作为循环控制语句时,其括号内各个表达式及其后的分号都可缺省。 (√)5、C程序中函数不可以嵌套定义但可以嵌套调用。 (√)6、数组名也可作为函数参数使用,此时数组名代表数组的起始地址。 (√)7、在函数内的复合语句中定义的变量在本复合语句内有效。 (√)8、打开文件所用的函数为fopen函数。 (╳)9、逗号运算符的优先级比赋值运算符高。 (╳)10、链表中的各节点在内存中占连续的存储空间依次存放。 (√)1、表达式25+’a’+*’c’执行后输出结果是双精度类型的数据。 ························装·······················订························密························封························线······
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 题库 答案