当前位置:文档之家› C语言程序设计期末考试选择题题库

C语言程序设计期末考试选择题题库

第一章1、一个C程序可能出现的错误有(A)A,以上都包括B,逻辑错误C,运行错误D,语法错误2、C程序中一般可以包含几个函数(D)A.1个B.多个C.0个D.至少一个3.C语言属于程序设计语言的哪个类别(B)A.机器语言B.高级语言C.面向对象语言D.汇编语言4.以下关于C语言描述错误的是(B)A.一个C程序总是从main函数开始执行B.一个C程序可以包含多个main函数C.每个语句的最后必须有一个分号D.C语言的注释符是以"/*"开始并以"*/"结束5、在调试过程中,逻辑错误是指(C)A.所书写的语句,不符合C的语法。

B.在从obj生成exe文件的过程中,如果函数名书写错误,可能产生的错误。

C.程序的运行结果不符合题目要求。

D.在exe文件的执行过程中,产生运行异常。

第二章1、16位的二进制数可以表示的整数的范围是(C)A.[-32768,32768]B.[-32767,32768]C.[-32768,32767]D.[-32767,32767]2、C语言中的实型数据包括(A)A.float和doubleB.int和floatC.float和charD.int和double3、以下不合法的字符常量是(C)A.'2'B.'A'C.'ab'4、在以下各组标识符中,均是合法的C语言标识符是(A)A.abc,A_4d,_student,xyz_abcB.auto,12-a,a_b,ab5.xC.A_4d,_student,xyz_abc,ifD.abc,a_b,union,scan5、若有定义:chara;intb;floatc;doubled;则表达式a*b+d-c值的类型为(A)A.charB.floatC.doubleD.int6、类型修饰符unsigned不能修饰(D)A.charB.longintC.intD.float7、若有定义:doublex=1,y;执行语句,则y的值是(B)A,1B,2.0D,2.58、设inta=1,b=2;以下选项中不正确的语句是(B)A.a=a+bB.a*3=3C.a+=3D.a/=19、在C语言中,要求参加运算的数必须是整数的运算符是(C)A.*B./C.%D.++10、设有定义:inta=7;floatx=2.5,y=4.7;则表达式的值是(D)A,3.5B,2.75C,0.0D,2.5第三章1、执行以下程序后k的值是(C)inti,j=10,k=0;for(i=0;i<=j;i++){k=i+j;j--;}A.9B.8C.10D.112、2、设inta=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为(C)A.3B.1C.2D.03、表示y在(-∞,3]和[23,+∞)范围内为真的表达式为(A)A.(y<=3)||(y>=23)C.(y<3)||(y>23)C.(y<=3)&&(y>=23)D.(y<3)&&(y>23)4、设有以下程序,若要使程序的输出值为2,则应该从键盘给n输入的值是(D)voidmain(){ints=0,a=1,n;scanf("%d",&n);do{s=s+1;}while(a!=n);printf("%d",s);}A.-5B.0C.-1D.-35、对下面程序段,描述正确的是(D)for(t=1;t<=100;t++){scanf("%d",&x);if(x<0)continue;printf("%d",x);}A.当x>=0时,什么也不输出B.printf函数永远也不执行C.当x<0时,整个循环结束D.最多允许输出100个非负整数6、已知intx=10,y=20,z=30;则执行以下语句后x、y、z的值是(A)if(x>y)x=y;y=z;A.x=20,y=30,z=30B.x=20,y=30,z=10C.x=20,y=30,z=20D.x=10,y=20,z=307、设有声明语句:inta=1,b=0;则执行以下语句后输出结果为(A)switch(a){case1:switch(b){case0:printf("**0**");break;case1:printf("**1**");break;}case2:printf("**2**");break;}A.**0****2**B.有语法错误C.**0****1****2**D.**0**8、以下程序段的输出结果是(B)intx=5;if(x--<5)printf("%d",x);elseprintf("%d",x++);A.6B.4C.5D.39、算法描述可以有多种表达方法,下面(C)方法不可以描述算法A.自然语言B.伪代码C.机器语言D.N-S图10、for(i=j=0;i<10&&j<8;i++,j+=3)控制的循环体执行的次数是(C)A.2B.8C.3D.9第四章1、包含标准库函数scanf声明的头文件是(B)A.stdlib.hB.stdio.hC.time.hD.math.h2、以下关于函数的叙述中正确的是(C)A.C语言程序将从源程序中第一个函数开始执行B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C.C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D.main可作为用户标识符,用以定义任意一个函数3、以下正确的函数定义是(A)A.doublefun(intx,inty){doublez;z=x+y;returnz;}B.doublefun(intx,inty){z=x+y;retur nz;}C.fun(x,y){intx,y;doublez;z=x+y;returnz;}D.fun(intx,y){intz;returnz;}4、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是(D)A.地址传递B.由用户指定传递方式C.由实参传给形参,再由形参传回实参D.单向值传递5、以下正确的描述是(A)A.函数的定义不可以嵌套,但函数的调用可以嵌套B.函数的定义可以嵌套,但函数的调用不可以嵌套C.函数的定义和函数的调用均可以嵌套D.函数的定义和函数的调用均不可嵌套6、以下关于函数的叙述中不正确的是(C)A.C程序是函数的集合,包括标准库函数和用户自定义函数B.在C语言程序中,函数的定义不能嵌套C.在C语言程序中,被调用的函数必须在main函数中定义D.在C语言程序中,函数的调用可以嵌套7、下列程序的运行结果是(D)#include<stdio.h>voidfun();intmain(){inta=10;fun();printf("]",a);return0;}voidfun(){inta=20;printf("]",a);}A,2020C,1010D,20108、下列程序的运行结果是(D)#include<stdio.h>intfun1(intx);voidfun2();intx=5;intmain(){intx=1;x=fun1(x);printf("%d",x);return0;}intfun1(intx){x++;fun2();returnx;}{x++;}A.7B.5C.6D.29、以下不正确的说法是(C)A.在函数内定义的变量只在本函数范围内可以使用B.形式参数是局部变量C.在主函数内定义的变量可在其余函数中通用D.在不同函数中可以使用相同名字的变量10、下列程序的运行结果是()#include<stdio.h>voidfun();inta=5;intmain(){inta=10;fun();printf("]",a);return0;}voidfun(){a=a+5;printf("]",a);}A.55B.105C.510D.1010第五章1、利用冒泡排序得到升序排列,每一趟中从前到后遍历数组,将相邻两个数作比较,如果前面的数小于后面的数,则(C)。

A.将当前数据后移B.交换两个数的位置C.不做操作D.将当前数据前移2、在定义intm[][3]={1,2,3,4,5,6};后,m[1][0]的值是(C)。

A.2B.1C.4D.53、若给出以下定义:charx[]="abcdefg";chary[]={'a','b','c','d','e','f','g'};则正确的叙述为(C)。

A.数组x和数组y等价B.数组x和数组y的长度相同C.数组x的长度大于数组y的长度D.数组x的长度小于数组y的长度4、函数调用语句为:inta[10],maxnum;…maxnum=max(a);函数定义首部应为(B)。

A.doublemax(intb[])B.intmax(intb[])C.intmax(inta)D.intmax(intb)5、若有定义:intb[3][4]={0};则下述正确的是(D)。

A.没有元素可得初值0B.数组b中各元素可得初值但值不一定为0C.此定义语句不正确.D.数组b中各元素均为06.C语言中,由固定数目的同类型的变量按一定顺序排列而构成的是(A)。

A.数组B.结构体C.链表D.队列7、冒泡排序中,若有n个数,第一趟最多需要比较(C)次。

A.nB.2(n-1)C.n-1D.2n8.当数据已知的情况下,可以在定义数组时,对数组进行初始化,但不可(A)。

A.在方括号中写入变量表达式B.对数组元素赋同一初值C.对部分元素赋初值D.对全部元素赋初值9、数组元素下标可从(0)开始。

A.用户指定B.1C.任意自然数D.010、若不允许函数修改数组元素,则可以用(A)限定符作为数组参数的前缀,这样数组元素就成为函数中的常量。

A.constB.fixC.defineD.include第六章1、在16位系统中,定义以下结构体类型structs{inta;charb;floatf;};则语句printf("%d",sizeof(structs))的输出结果为(B)。

相关主题