您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > (完整版)C语言程序设计题库
1一、选择题(每题1分,共20分)1.C语言程序从main()函数开始执行,所以这个函数要写在(D)。A.程序文件的开始B.程序文件的最后C.它所调用的函数的前面D.程序文件的任何位置2.下列方法中错误的是(D)。A.主函数可以分为两个部分:主函数说明部分和主函数体。B.主函数可以调用任何非主函数的其它函数。C.任何非主函数可以调用其它任何非主函数。D.程序可以从任何非主函数开始执行。3.下列正确的标识符是(C)。A.-a1B.a[i]C.a2_iD.intt4.C语言中的简单数据类型包括(D)。A.整型、实型、逻辑型B.整型、实型、逻辑型、字符型C.整型、字符型、逻辑型D.整型、实型、字符型5.下列可以正确表示字符型常量的是(A)。A.’\t’B.”a”C.”\n”D.2976.在C语言中,字符型数据所占的内存空间是(C)。A.2个字节B.4字节C.1字节D.由用户自定义7.若int类型数据占2个字节,则unsignedint类型数据的取值范围是(B)。A.0~255B.0~65535C.-32768~32767D.-256~2558.若有以下类型说明语句:chara;intb;floatc;doubled;则表达式a*b+d-c的结果类型为(D)。A.floatB.charC.intD.double9.下列正确的预编译命令是(D)。A.definePI3.14159B.#defineP(a,b)=strcpy(a,b)C.#definestdio.hD.#definePI3.1415910.为表示逻辑表达式79X90,应使用的C语言表达式是(A)。A.(X79)&&(X90)B.(X79)!=(X90)C.79X90D.(X79)||(X90)11.设有语句“inta=2,b=3,c=-2,d=2;”,则逻辑表达式“a0&&b&&c0&&d0”的值是(A)。A.1B.0C.-1D.出错12.字符串“ABCD”在内存占用的字节数是(D)。A.4B.6C.1D.5213.若有“inta=1,x=1;”,则循环语句“while(a10)x++;a++;”的循环执行(A)。A.无限次B.不确定次C.10次D.9次14.有以下程序段intk=0while(k)k++;则while循环体执行的次数是(C)。A.无限次B.有语法错,不能执行C.一次也不执行D.执行1次15.已知:inta[10];则对a数组元素的正确引用是(D)。A.a[10]B.a[3.5]C.a(5)D.a[0]16.变量的指针,其含义是指该变量的(B)。A.值B.地址C.名D.一个标志17.下列说法中错误的是(C)。A.构成数组的所有元素的数据类型必须是相同的B.用指针法引用数组元素允许数组元素的下标越界C.一维数组元素的下标依次是1、2、3……D.定义数组时的长度可以是整型常量表达式18.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为(B)。A.由系统选择B.单向值传递C.由用户指定传递方式D.地址传递19.在C语言程序中,有关函数的定义正确的是(B)。A.函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义不可以嵌套,但函数的调用可以嵌套C.函数的定义和函数的调用均不可以嵌套D.函数的定义和函数的均可以嵌套20.若有以下说明语句:structdate{intyear;intmonth;intday;}birthday;则下面的叙述不正确的是(C)。A.struct是声明结构体类型时用的关键字B.structdate是用户定义的结构体类型名C.birthday是用户定义的结构体类型名D.year,day都是结构体成员名一、单项选择题(每题1分,共20分)31.下列说法错误的是(B)。A.C程序运行步骤是编辑、编译、连接、执行。B.C语言的变量名必须用小写,常量用大写。C.C语言的三种基本结构是顺序、选择、循环。D.C程序一定由函数构成的。2.下列C语言用户标识符中合法的是(B)。A.3axB.xC.caseD.-e23.在下列表达式中,属于字符型常量的是(B)。A.AB.'a'C.AD.b4.若有以下类型说明语句:charw;intx;floaty;doublez;则表达式(int)(x+y-z*w)的结果为(C)类型。A.floatB.charC.intD.double5.在C语言程序中,表达式8/5的结果是(B)。A.1.6B.1C.3D.06.设a为整型变量,则不能正确表达数学关系10<a<15的C语言表达式是(A)。A.10a15B)a==11||a==12||a==13||a==14C.a10&&a15D)!(a=10)&&!(a=15)7.若inti=10;执行下列程序后,变量i的正确结果是(A)。switch(i){case9:i+=1;case10:i+=1;case11:i+=1;default:i+=1;}A.13B.12C.11D.108.下列循环语句中有语法错误的是(D)。A.while(x=y)5;B.while(0);C.for(i=0;i3;);D.for(;i3);9.若有以下数组说明,则数值最大的和最小的元素下标分别是(B)。inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};A.1,12B.0,11C.1,11D.0,1210.假定int类型变量占用两个字节,其有定义:intx[10]={0,2,4};,则数组x在内存中所占字节数是(D)。A.3B.6C.10D.2011.以下对C语言函数的有关描述中,正确的是(A)。A.在C语言程序中,调用函数时,如函数参数是简单变量,则只能把实参的值传递给形参,形参的值不能传送给实参4B.C语言函数既可以嵌套定义又可递归调用C.C语言函数必须有返回值,否则不能使用函数D.在C语言程序中有调用关系的所有函数必须放在同一个源程序文件中12.以下叙述中正确的是(A)。A.构成C程序的基本单位是函数B.可以在一个函数中定义另一个函数C.main()函数必须放在其它函数之前D.所有被调用的函数一定要在调用之前进行定义13.已知:(设整型2字节,字符型1字节,浮点型4字节)struct{inti;charc;floata;}test;则sizeof(test)的值是(D)。A.4B.5C.6D.714.若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是(A)。A.pb=&xB.pb=xC.*pb=&xD.*pb=*x15.设有数组定义:chararray[]=abcd;则数组array所占的空间为(B)。A.4个字节B.5个字节C.6个字节D.7个字节16.下述对C语言中字符数组的描述错误的是(C)。A.字符数组可以存放字符串B.字符数组中的字符串可以整体输入和输出C.可在赋值语句中通过赋值运算符“=”对字符数组整体赋值D.可在对字符数组定义时通过赋值运算符“=”对字符数组整体初始化17.下列命令或语句中,错误的是(C)。A.#definePI3.14159B.#includemath.hC.#definePI3.14159;D.for(;;)if(1)break;18.给出以下定义:charx[]=abcdefg;chary[]={'a','b','c','d','e','f','g'};则正确的叙述为(C)。A.数组x和数组y等价B.数组x和数组y的长度相同C.数组x的长度大于数组y的长度D.数组x的长度小于数组y的长度19.判断两字符串s1,s2是否相等,应使用(D)。A.if(s1==s2)B.if(s1=s2)5C.if(strcpy(s1,s2))D.if(strcmp(s1,s2)==0)20.以下printf语句的输出结果为(B)。printf(“%d\n”,strlen(“school”));A.7B.6C.存在语法错误D.不定值一、单项选择题(每题1分,共20分)1.C语言程序是由(C)构成的。A)一些可执行语言B)main函数C)函数D)包含文件中的第一个函数2.C语言程序从(C)开始执行。A)程序中第一条可执行语句B)程序中第一个函数C)程序中的main函数D)包含文件中的第一个函数3.不是C语言提供的合法关键字是(B)。A)switchB)cherC)caseD)default4.请选出可用作C语言用户标识符的一组标识符(B)。A)voidB)a3_b3C)ForD)2adefine_123-abcDOWORDsumCasesizeof5.下列四组字符串中都可以用作C语言程序中的标识符的是(A)。A)print_3ddb8aBcB)I\amone_halfstart$it3paiC)str_1CpppowwhileD)PxqMy-bookline#His.age6.已定义c为字符型变量,则下列语句中正确的是(C)。A)c='97'B)c=97C)c=‘a’D)c=a7.已知ch是字符型变量,不正确的赋值语句是(A)。A)ch='a+b';B)ch='\0';C)ch='7';D)ch=’;’;8.在C语言中,认为(D)为逻辑真。A)trueB)大于0的数C)非0整数D)非0的数9.表示关系x=y=z的c语言表达式为(A)。A)(x=y)&&(y=z)B)(x=y)AND(y=z)C)(x=y=z)D)(x=y)&(y=z)10.能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是(D)。A)a=10ora=0B)a=0|a=10C)a=10&&a=0D)a=10‖a=011.在C语言中,下列说法中正确的是(D)。6A)do-while语句构成的循环不能用其它语句构成的循环来代替。B)do-while语句构成的循环只能用break语句退出。C)do-while语句构成的循环在while后的表达式非零时结束循环。D)do-while语句构成的循环,在while后的表达式为零时结束循环。12.break语句不能出现在(D)语句中。A)switchB)forC)whileD)if…else13.对于break语句和continue语句的说法错误的是(B)。A)break语句不能用于循环语句和switch语句之外的任何其他语句中。B)break和continue也可以用于if语句中C)continue语句只结束本次循环,而不是终止整个循环的执行。D)break语句是结束整个循环过程,不再判断执行循环的条件是否成立。14.以下能对一维数组a进行初始化的语句是(C)。A)inta[5]=(0,1,2,3,4,)B)inta(5)={}C)inta[3]={0,1,2}D)inta{5}={10*1}15.在C语言中,函数的数据类型是指(A)。A)函数返回值的数据类型B)函数形参的数据类型C)调用该函数时的实参的数据类型D)任意指定的数据类型16.若有以下说明语句:structstudent{intnum;charname[];floatscore;}stu;则下面的叙述不正确的是(D)。A)struct是结构体类型的关键字B)structstudent是用户定义的结构体类型C)num,score都是结构体成员名D)stu是用户定义的结构体类型名17.语句int*p;说明了(C)。A)p是指向一维数组的指针B)p是指向函数的指针,该函数返回一int型数据C)p是指向int型数据的指针D)p是函数名,该函数返回一指向int型数据的指针18.在C语言中,以(D)作为字符串结束标志。A)’\n’B)’’C)’0’D)’\0’19.下列数据中属于“字符串常量”的是(A)。7A)“a”B){ABC}C)‘abc\0’D)‘a’20.在C语言程序中,以#号带头的行是预编译处理(A)。A)命令B)语句C)函数D)字符串二、判断题(每题1分,共10分)1、【√】C语言具有简洁明了的特点。2、【√】预处理命令的前面必须加一个“#”号。3、【√
本文标题:(完整版)C语言程序设计题库
链接地址:https://www.777doc.com/doc-6620943 .html