C语言程序设计题库及答案.docx
- 文档编号:18592823
- 上传时间:2023-08-20
- 格式:DOCX
- 页数:27
- 大小:26.52KB
C语言程序设计题库及答案.docx
《C语言程序设计题库及答案.docx》由会员分享,可在线阅读,更多相关《C语言程序设计题库及答案.docx(27页珍藏版)》请在冰点文库上搜索。
C语言程序设计题库及答案
第1次客观题作业
一、单选题(共30题,每题3分)
1.下面表示正确的是__A___。
A.C语言中的逗号是一种运算符
B.在C语言中,一行只能有一个语句
C.C中的变量不区分大小写
D.c中的关键字可以做为变量名
2.字符型常量在内存中存放的是__A____代码值。
A.ASCIIB.二进制
C.十进制D.八进制
3.以下不正确的C语言标识符是(C)。
A.AB1B._ab3C.4abD.a2_b
4.以下运算符中优先级最低的运算符是_D____。
A.&&B.&C.||D.=
5.在C语言中,要求运算数必须是整型的运算符是___A___。
A.%B./C. 6.C语言程序的基本单位是__C_____。 A.程序行B.语句C.函数D.字符 7.将高级语言编写的程序翻译成目标程序的是___B____程序。 A.解释程序B.编译程序C.汇编程序D.源程序 8.以下选项中,与k=n++完全等价的表达式是__A___。 A.k=n,n=n+1B.n=n+1,k=nC.k=++nD.k+=n+1 9.下列(A)不属于结构化程序设计的循环结构。 A.ForB.WhileC.if-elseD.do-while 10.以下叙述中错误的是__A___。 A.用户所定义的标识符允许使用关键字 B.用户所定义的标识符应尽量做到“见名知意 C.用户所定义的标识符必须以字母或下划线开头 D.用户定义的标识符中,大、小写字母代表不同标识 11.若有输入语句scanf(%d%d%d,&x,&y,&z);则不能使x值为5,y值为6,z值为7的输入是__A____。 A.5,6,7B.5回车换行67C.567D.5,6,7 12.若i,j已定义为int类型,则下程序段中内循环体的总的执行次数是(B )。 for(i=3;i>0;i--) for(j=0;j<=4;j++){...} A.12B.15C.16D.20 13.下列选项中,合法的C语言关键字是_D___。 A.VARB.CherC.IntegerD.default 14.C语言中___A____。 A.能使用do-while语句构成的循环 B.do-while语句构成的循环必须用break语句才能退出 C.do-while语句构成的循环,当while语句中的表达式为非零时结束循环 D.do-while语句构成的循环,当while语句中的表达式值小于零时结束循环 15.以下__D_____不是高级语言。 A.Basic语言 B.C语言 C.JAVA语言 D.汇编语言 16.已知intx=2,y=3;则计算表达式y+=x-=x*=y后,x和y分别为(B)。 A.6,5B.0,3C.0,5D.-4,2 ∙ 17.在C语言中,函数的数据类型是指__A_____。 A.函数返回值的数据类型 B.函数形参的数据类型 C.调用该函数时的实参的数据类型 D.任意指定的数据类型 18.若已定义x和y为double类型,则表达式: x=1,y=x+3/2的值是_C___。 A.1B.3C.2.0D.2.5 19.func(exp1,(exp2,exp3),(exp4,exp5,exp6));含有(C)个实参。 A.1 B.2 C.3 D.6 20.有intx=3,y=4,z=5;则下面表达式中值为0的是__B____。 A.x&&y B.! (x<y&&! z||1) C.x||y+z&&y-z D.x<=y 21.已定义c为字符型变量,则下列语句中正确的是____C__。 A.c=''97''; B.c='97'; C.c=97; D.c="a"; 22.一个字长的二进制位数是_D__。 A.8B.16C.32D.随机计算机系统而不同的 23.C语言中规定函数的返回值的类型是由(D)。 A.return语句中的表达式类型所决定 B.调用该函数时系统临时决定 C.调用该函数时的主调用函数类型所决定 D.在定义该函数时所指定的函数类型所决定 24.C语言程序中,下列(C)组标识符是合法。 A.abc、2id、while B.4d、DO、oodb C.str_1、print、aBc D.WORD、oodb、I\amm 25.下面正确的函数定义形式是__C____。 A.doublefun(intx,inty) B.doublefun(intx;inty) C.doublefun(intx,inty); D.doublefun(intx,y); 26.下列______A______数据类型属于构造类型。 A.数组类型 B.指针类型 C.整型 D.字符型 27.C语言对嵌套if语句的规定是: else总是和__D___配对。 A.其之前最近的ifB.第一个if C.缩进位置相同的ifD.其前面最近且尚未配对的if ∙ 28.二进制语言是属于面向___A__的语言。 A.机器B.过程C.问题D.对象 29.设inta=12,则执行完语句a+=a-=a*a后,a的值是_D___。 A.552B.264C.144D.-264 30.inta=3,b=2;printf(“%d,%d\n”,--a,b++);输出结果是(A)。 A.2,2B.2,3C.3,2D.3,3 判断题(共5题,每题2分) 1.只能在循环体内和switch语句体内使用break语句。 (对) 2.一个算法应该具备有穷性、确定性、输入、输出和有效性。 (对) 3.C语言中,每个程序都必须要有一个且只有一个main函数。 (对) 4.调用函数时,实参是一个数组名,则向函数传递的是数组的首地址。 (对) 5.表达式16/8*sqrt(4.0)/2值的数据类型为double双精度实型。 (对) 第二套试题 单选题(共20题,每题4分) 1.若有输入语句scanf(%d%d%d,&x,&y,&z);则不能使x值为5,y值为6,z值为7的输入是___A___。 A.5,6,7B.5回车换行67 C.567D.5,6,7 2.设inta=12,则执行完语句a+=a-=a*a后,a的值是__D__。 A.552B.264C.144D.-264 3.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值___D____。 A.3B.-3C.-6D.-12 4.一个字长的二进制位数是_D__。 A.8B.16C.32D.随机计算机系统而不同的 5.以下叙述中错误的是__D____。 A.C程序中的#include和#define行均不是C语句 B.除逗号运算符外,赋值运算符的优先级最低 C.C程序中,j++;是赋值语句 D.C程序中,+、-、*、/、%号是算术运算符,可用于整型和实型数的运算 6.与十进制数87相等的十六进制数是(C)。 A.3F B.214 C.57 D.127 7.下面说法错误的是__B____。 A.整型变量可以存放字符型数据 B.字符型变量可以存放任意整型常量的值 C.变量必须限定以后使用 D.字符串的长度不等于它占的字节数 8.设x和y均为int型变量,则以下语句: x+=y;y=x-y;x-=y;的功能是_D___。 A.把x和y按从大到小排列 B.把x和y按从小到大排列 C.无确定结果 D.交换x和y中的值 9.已定义c为字符型变量,则下列语句中正确的是___C___。 A.c=''97''; B.c='97'; C.c=97; D.c="a"; 10.以下选项中属于C语言的数据类型的__C___。 A.复数型 B.逻辑型 C.双精度型 D.集合型 11.设有语句chara=’\72’;则变量a_A___。 A.包含1个字符 B.包含2个字符 C.包含3个字符 D.说明不合法 12.以下说法不正确的是__D___。 A.在C程序中,逗号运算符的优先级最低 B.在C程序中,aph和aPh是两个不同的变量 C.若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变 D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数 13.C语言程序的基本单位是_C______。 A.程序行 B.语句 C.函数 D.字符 14.C语言程序中,下列(C)组符合变量命名规则。 A.for、-sub、xy ∙ B.4x、float、size C.stu_2、if3、s D.stu-2、int、d 15.下列__C____属于C语言中字符常量。 A.abc' B.”\n” C.'a' D.'a\0' 16.不属于低级语言的是__D_____。 A.符号语言 B.二进制语言 C.汇编语言 D.C语言 17.C语言程序中,下列__C____组用户标识符是合法。 A.For、-sub、Case B.4d、DO、Size C.f2_G3、IF、abc D.WORD、void、define 18.以下不正确的C语言标识符是(C)。 A.AB1 B._ab3 C.4ab ∙ D.a2_b 19.以下叙述中错误的是__A___。 A.用户所定义的标识符允许使用关键字 B.用户所定义的标识符应尽量做到“见名知意 C.用户所定义的标识符必须以字母或下划线开头 D.用户定义的标识符中,大、小写字母代表不同标识 20.C语言程序中,下列(C)组标识符是合法。 A.abc、2id、while B.4d、DO、oodb C.str_1、print、aBc D.WORD、oodb、I\amm 判断题(共10题,每题2分) 1.在if-else语句中,配对规则是else总是与最近的未配对的if配对。 参考答案: 对 2.表达式16/8*sqrt(4.0)/2值的数据类型为double双精度实型。 参考答案: 对 答案解析: 暂无 3.C语言中,每个程序都必须要有一个且只有一个main函数。 参考答案: 对 4.c语言中,每个函数都必须要有一个且只有一个main函数。 参考答案: 错 答案解析: 暂无 5.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是8。 参考答案: 对 答案解析: 暂无 6.表达式a=a+b可以写成a+=b。 参考答案: 对 答案解析: 暂无 7.在C语言中,变量不区分大小写。 参考答案: 错 8.C程序一般由一个或者多个函数组成,它们可以集中放在一个文件中,也可分散放在几个文件中。 参考答案: 对 答案解析: 暂无 9.x的绝对值大于5的条件表达式是x-5。 参考答案: 错 答案解析: 暂无 10.假定x和y为double型,则表达式x=2,y=x+3/2的值是3。 参考答案: 错 答案解析: 因为x和y是double型,x被赋值2时应该是2.0,3/2两个整数相除结果仍为整数1,然后运算x+3/2=2.0+1两个数据类型不一致,进行类型转换都转为double型,运算结果为3.0,所以判断此句为错 第二次作业 单选题(共20题,每题4分) 1.有以下程序段执行后,b的值是_____。 inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[4]; A.5 B.6 C.8 D.9 ∙ 参考答案: C 2.若有初始化语句“inta[5]={1,2,3,4,5};”,值为4的表达式是_____。 ∙A. a[4] ∙ ∙B. a[a[2]+1] ∙ ∙C. a[a[2]] ∙ ∙D. a[3]+1 参考答案: C 3.C语言中规定函数的返回值的类型是由()。 A.return语句中的表达式类型所决定 B.调用该函数时系统临时决定 C.调用该函数时的主调用函数类型所决定 D.在定义该函数时所指定的函数类型所决定 参考答案: D 答案解析: 暂无 4.func((exp1,exp2),(exp3,exp4,exp5));下面函数调用语句含有实参的个数为_____。 A.1 B.2 C.5 D.4 参考答案: B 答案解析: 暂无 5.C语言中_______。 A.能使用do-while语句构成的循环 B.do-while语句构成的循环必须用break语句才能退出 C.do-while语句构成的循环,当while语句中的表达式为非零时结束循环 D.do-while语句构成的循环,当while语句中的表达式值小于零时结束循环 ∙ 参考答案: A 答案解析: 暂无 6.已知: charstr1[10],str2[10]={"books"};则在程序中能够将字符串“books”赋给数组str1的正确语句是()。 A.str1={"books"}; ∙B.strcpy(str1,str2); ∙ ∙C.str1=str2; ∙ ∙D.strcpy(str2,str1); ∙ 参考答案: B 答案解析: 暂无 7.若有初始化语句inta[5]={1,2,3,4,5};,值为5的表达式是()。 A.a[2] B.a[a[2]+1] C.a[a[2]] D.a[2]+1 参考答案: B 答案解析: 暂无 8.若有初始化语句“inta[5]={1,2,3,4,5};”,值为4的表达式是_____。 ∙A.a[4] ∙B.a[a[2]+1] ∙C.a[a[2]] ∙D.a[3]+1 ∙ 我的答案: C 参考答案: C 答案解析: 暂无 9.以下的for循环是______。 for(x=0,y=0;(y! =123)&&(x<4);x++); ∙A.是无限循环 ∙B.循环次数不定 ∙C.执行4次 ∙D.执行3次 ∙ 参考答案: C 答案解析: 暂无 10.若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是_____。 for(i=5;i;i--)for(j=0;j<4;j++){...} ∙A.20 ∙B.25 ∙C.24 ∙D.30 我的答案: A 参考答案: A 答案解析: 暂无 11.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是______。 ∙A.地址传递 ∙B.单向值传递 ∙C.由实参传给形参,再由形参传回实参 ∙D.传递方式由用户指定 ∙ 我的答案: A 参考答案: B 答案解析: 暂无 12.以下程序段,正确的说法是______。 x=-1;do{x=x*x;}while(! x); ∙A.死循环 ∙B.循环一次 ∙C.循环两次 ∙D.有语法错误 ∙ 参考答案: B 答案解析: 暂无 13.已知charch[]=”myname”;则字符数组ch的长度是_____。 ∙A.6 ∙B.7 ∙C.8 ∙D.9 ∙ 参考答案: C 答案解析: 暂无 14.在C语言中,函数的数据类型是指_______。 ∙A.函数返回值的数据类型 ∙ ∙B.函数形参的数据类型 ∙ ∙C.调用该函数时的实参的数据类型 ∙D.任意指定的数据类型 ∙ 参考答案: A 答案解析: 暂无 15.有以下函数定义: voidfun(intn,doublex){……}如果对此函数正确定义并赋值,则对函数fun的正确调用语句是______。 ∙A.fun(inty,doublem); ∙ ∙B.k=fun(10,12.5); ∙C.fun(x,n) ∙ ∙D.voidfun(n,x); ∙ 参考答案: C 答案解析: 暂无 16.下面叙述中正确的______。 ∙A.对于用户自己定义的函数,在使用前必须加以说明 ∙ ∙B.说明函数时必须明确其参数类型和返回类型 ∙ ∙C.函数可以返回一个值,也可以什么值也不返回 ∙ ∙D.空函数不完成任何操作,所以在程序设计中没有用处 ∙ 参考答案: C 答案解析: 暂无 17.若i、j已定义为int型,则以下程序段中语句printf(“%d”,i*j);的执行次数是_____。 for(i=3;i>0;i--) for(j=0;j<4;j++) printf(“%d”,i*j); ∙A.12 ∙ ∙B.15 ∙C.16 ∙ ∙D.20 ∙ 参考答案: A 答案解析: 暂无 18.设i、j均为整形变量,且i=9,j=2,则printf(“%d,%d\n”,i--,--j);语句的输出结果是_____。 ∙A.9,2 ∙ ∙B.10,2 ∙ ∙C.9,1 ∙ ∙D.10,1 ∙ 我的答案: C 参考答案: C 答案解析: 暂无 19.下列描述中不正确的是____。 ∙A.字符型数组中可以存放字符串 ∙B.可以对字符型数组进行整体输入、输出 ∙ ∙C.可以对整型数组进行整体输入、输出 ∙ ∙D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值 ∙ 我的答案: D 参考答案: C 答案解析: 暂无 20.以下选项中,与k=n++完全等价的表达式是_____。 A.k=n,n=n+1 B.n=n+1,k=n C.k=++n D.k+=n+1 参考答案: A 答案解析: 暂无 二、判断题(共10题,每题2分) 1.调用函数时,实参是一个数组名,则向函数传递的是数组的首地址。 参考答案: 对 答案解析: 暂无 2.一个数组能够存储不同类型的数据。 参考答案: 错 答案解析: 暂无 3.内存单元的地址与内存单元中的内容是两个相同的内容。 参考答案: 错 答案解析: 暂无 4.C语言中规定函数的返回值的类型是由return语句中的表达式类型所决定。 参考答案: 错 答案解析: 暂无 5.已知: charstr1[10],str2[10]={"books"};则在程序中能够将字符串“books”赋给数组str1的正确语句是strcpy(str2,str1);。 参考答案: 错 答案解析: 暂无 6.若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句中实参的个数是4。 参考答案: 错 答案解析: 暂无 7.break是结束本次循环,而continue是结束所有的循环。 参考答案: 错 答案解析: 暂无 8.对于任何函数,它都有一个返回值。 参考答案: 对 答案解析: 暂无 9.对于二维数组a[2][3],则a[2]表示是第二行的首地址。 参考答案: 错 答案解析: 暂无 10.func(ex1,(ex2,ex3),(ex4,ex5,ex6));含3个实参。 参考答案: 对 答案解析: 暂无 第三阶段作业--客观题 单选题(共20题,每题4分) 1.下列叙述中错误的是______。 ∙A.主函数中定义的变量在整个程序中都是有效的 ∙B.在其它函数中定义的变量在主函数中也不能使用 ∙C.形式参数也是局部变量 ∙D.复合语句中定义的变量只在该复合语句中有效 ∙ 参考答案: A 答案解析: 暂无 2.下列关于#include命令的叙述中,错误的是( )。 ∙A.一个#include命令中只能指定一个被包含文件 ∙B.一个#include命令中可以指定多个被包含文件 ∙C.一个被包含文件中又可以包含另一个被包含文件 ∙D.#include命令中,文件名可以用双引号或尖括号括起来 ∙ 参考答案: B 答案解析: 暂无 3.要打开一个已存在的非空文件"file"用于修改,选择正确的语句____。 ∙A.fp=fopen("file","r"); ∙B.fp=fopen("file","a+"); ∙C.fp=fopen("file","w"); ∙D.fp=fopen("file","r+"); 参考答案: D 答案解析: 暂无 4.若有以下定义和语句: inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则不能表示a数组元素的表达式是____。 ∙A.*p ∙B.a[10] ∙C.*a ∙D.a[p-a] 参考答案: B 答案解析: 暂无 5.已知: int**p;,则变量p是()。 ∙A.指向int的指针 ∙B.指向指针的指针 ∙C.int型变量 ∙D.以上三种说法均是错误的 参考答案: B 答案解析: 暂无 6.设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为_____。 ∙A.EOF ∙B.非0值 ∙C.0 ∙D.1 参考答案: D 答案解析: 暂无 7.已知: inta[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+2;则值为3的表达式是______。 ∙A.*(p++) ∙B.*p++ ∙C.*++p ∙D.++*p 参考答案: B 答案解析: 暂无 8.若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是_____。 ∙A.fopen("A: \user\abc.txt","r") ∙B.fopen("A: \\user\\abc.txt","r+") ∙C.fopen("A: \user\abc.txt","rb") ∙D.fopen("A: \\user\\abc.txt","w") 参考答案: B 答案解析: 暂无 9.有如下说明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是_____。 ∙A.*p+9 ∙B.*(p+8) ∙C.*P+=9 ∙D.P+8 参考答案: B 答案解析: 暂无 10.在一个C源程序文件中,若要定义一个只允许在该源文件中所有函数使用的变量,则该变量需要使用的存储类别是______。 ∙A.extern ∙B.register ∙C.auto ∙D.static 参考答案: D 答案解析: 暂无 11.当调用函数时,实参是一个数组名,则向函数传递的是_____。 ∙A.数组的长度 ∙B.数组的首地址 ∙C.数组每一个元素的地址 ∙D.数组每个元素中的值 参考答案: B 答案解析: 暂无 12.在C语言中,形参的缺省存储类型是______。 ∙A.auto ∙B.register ∙C.static ∙D.extern 参考答案: A 答案解析: 暂无 1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 题库 答案