2023年C语言基本选择题及答案_第1页
2023年C语言基本选择题及答案_第2页
2023年C语言基本选择题及答案_第3页
2023年C语言基本选择题及答案_第4页
2023年C语言基本选择题及答案_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机程序设计基础(C语言)单项选择练习题一、基本概念1.C语言程序是由C构成的。A)一些可执行语言B)main函数C)函数D)包含文献中的第一个函数2.(A)是构成C语言程序的基本单位。A、函数B、过程C、子程序D、子例程3.C语言程序从C开始执行。A)程序中第一条可执行语句

B)程序中第一个函数

C)程序中的main函数

D)包含文献中的第一个函数4.C语言程序从main()函数开始执行,所以这个函数要写在_D___。A)程序文献的开始B)程序文献的最后C)它所调用的函数的前面D)程序文献的任何位置5、以下说法中对的的是(C)。A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分6.下列方法中错误的是(D)。A.主函数可以分为两个部分:主函数说明部分和主函数体。B.主函数可以调用任何非主函数的其它函数。C.任何非主函数可以调用其它任何非主函数。D.程序可以从任何非主函数开始执行。7.下列说法错误的是:(B)C程序运营环节是编辑、编译、连接、执行。C语言的变量名必须用小写,常量用大写。C语言的三种基本结构是顺序、选择、循环。D.C程序一定由函数构成的。8.下列关于C语言的说法错误的是(B)。A)C程序的工作过程是编辑、编译、连接、运营B)C语言不区分大小写。C)C程序的三种基本结构是顺序、选择、循环D)C程序从main函数开始执行9.系统默认的C语言源程序扩展名为.C,需通过C之后,生成.exe文献,才干运营。A)编辑、编译B)编辑、连接C)编译、连接D)编辑、改错*10.下列说法中对的的是(B)。A.由于C源程序是高级语言程序,因此一定要在TC软件中输入。B.由于C源程序是由字符流组成的,因此可以作为文本文献在任何文本编辑的软件中输入。C.由于C程序是高级语言程序,因此输入后即可执行。D.由于C程序是高级语言程序,因此它是由命令组成的。二、数据类型、运算符与表达式1.不是C语言提供的合法关键字是(B)。A.switchB.cherC.caseD.default*2.C语言提供的合法关键字是(D)。A.nextB.stringC.docaseD.struct*3.下列不属于C语言中关键字的是BA)longB)printC)defaultD)typedef4.下列对的的标记符是(C)。A.-a1B.a[i]C.a2_iD.intt5.下列C语言用户标记符中合法的是(B)。A、*yB、sumC、intD、%5f6.下面四个选项中,合法的标记符是:(D)A.autoB.defineC.6aD.c7.下列C语言用户标记符中合法的是(B)。A)3axB)xC)caseD)-e2E)union8.以下选项中合法的用户标记符是BA)long B)_2Test C)3Dmax D)A.dat9.下列四组选项中,对的的C语言标记符是(C)。A)%xB)a+bC)a123D)12310.请选出可用作C语言用户标记符的一组标记符(B)A)voidB)a3_b3 C)For D)2adefine_123-abcDOWORDsumCasesizeof11、下列四组字符串中都可以用作C语言程序中的标记符的是(A)。A、print_3ddb8aBcB、I\amone_halfstart$it3paiC、str_1CpppowwhileD、PxqMy->bookline#His.age12.下列C语言标记符中合法的变量名是B。A)2e3B)youC)*yD)float13.C语言中的简朴数据类型涉及(D)。A、整型、实型、逻辑型B、整型、实型、逻辑型、字符型C、整型、字符型、逻辑型D、整型、实型、字符型14、下列可以对的表达字符型常量的是(A)。A、’\t’B、”a”C、”\n”D、29715.下列表达式中,D是对的的C语言字符常量。A)”x”B)e3C)”COMPUTER”D)’#’16.在下列表达式中,属于字符型常量的是B。A)AB)'a'C)"A"D)b17.以下选项中合法的字符常量是(B)A)“B”B)‘\n’C)‘68’

D)E18.下面字符常量表达错误的是(D)A)’a’B)’?’C)’\n’D)”\n”19.已定义c为字符型变量,则下列语句中对的的是(C)A)c='97'B)c="97"C)c=‘a’D)c="a"20.已知ch是字符型变量,不对的的赋值语句是(A) A)ch='a+b'; B)ch='\0'; C)ch='7';D)ch=’;’;21.C语言中字符型(char)数据在内存中的存储的是(D)A)原码B)补码C)反码D)ASCII码22.在C语言中,字符型数据所占的内存空间是(C)A)2个字节B)4字节C)1字节D)由用户自定义*23.若int类型数据占2个字节,则unsignedint类型数据的取值范围是(B)A)0~255B)0~65535C)-32768~32767D)-256~25526.C语言中运算对象必须是整型的运算符是(A) A)%=B)/C)=D)〈=27.在C语言程序中,表达式8/5的结果是(B) A)1.6B)1C)328.设x为int型变量,则执行以下语句后,x的值为Bx=10;x+=x;A)10B)20C)40D)3031.在C语言程序中,表达式5%2的结果是C。A)2.5B)2C)1D)332.假如inta=3,b=4;则条件表达式"a<b?a:b"的值是__A__。A)3B)4C)033.若intx=2,y=3,z=4则表达式x<z?y:z的结果是(B).A)4B)3C)2D)0E)134.C语言中,关系表达式和逻辑表达式的值是(B)。37.下面(D)表达式的值为4.

A)11/3

B)11.0/3

C)(float)11/3

D)(int)(11.0/3+0.5)*39.已知intx=5,y=5,z=5;执行语句x%=y+z;后,x的值是(C)A.0B.1C.5D40.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3';后,c2中的值为(B)A)68B)‘D’C)错误D)‘d’41.下列关于C语言的叙述错误的是(A)A)大写字母和小写字母的意义相同B)不同类型的变量可以在一个表达式中C)在赋值表达式中档号(=)左边的变量和右边的值可以是不同类型D)同一个运算符号在不同的场合可以有不同的含义42.有:intw=11,x=12,y=3,m;执行下面语句后m的结果是(C)m=(w<x)?w:x;m=(m<y)?m:y;A.1B.2C.3D.以上结果都不对43.有:intw=7,x=12,y=3,m;执行下面语句后m的值是(A)m=(w>x)?w:x;m=(m>y)?m:y;A.12B.0C.3D.145.设整型变量a=2,则执行下列语句后,浮点型变量b的值不为0.5的是(B)A.b=1.0/aB.b=(float)(1/a)C.b=1/(float)aD.b=1/(a*1.0)48.以下运算符中优先级最高的运算符是(B) A)&&B)++C)+=D)!=49.若“intn;floatf=13.8;”,则执行“n=(int)f%3”后,n的值是(AA.1B.4C.4.333333D.4.652.设x为int型变量,则执行以下语句后,x的值为(C)x=10;x*=x;A)10B)20C)100D)053.若有语句inta=1,b;doubley=2.3;b=(int)y;则b的值为(B)。A)3B)2C54.已知intx;chary;则下面错误的scanf函数调用语句为(B)A)scanf(“%d,%d”,&x,&y);B)scanf(“%d,%c”,x,y)C)scanf(“%d%d”,&x,&y)D)scanf(“%d,%c”,&x,&y)57.在C语言的库函数中,可以输出char型变量x值的语句是C。A)getchar(x);B)fputc(x)C)putchar(x)D)puts(x)60.以下说法对的的是(C)A)'x'+5是一个错误的表达式B)C语言不允许类型的混合运算C)强制类型转换时,类型说明符必须加括号D)(int)x+y和(int)(x+y)是完全等价的表达式61.设intx=0,y=1;表达式(x||y)的值是(B)A)0B)1C)2D)-1三、选择结构1.在C语言中,认为(D)为逻辑"真" A)trueB)大于0的数C)非0整数D)非0的数2.表达关系x<=y<=z的c语言表达式为AA)(x<=y)&&(y<=z)B)(x<=y)AND(y<=z)C)(x<=y<=z)D)(x<=y)&(y<=z)3.能对的表达逻辑关系:“a≥=10或a≤0”的C语言表达式是(DA)a>=10ora<=0B)a>=0|a<=10C)a>=10&&a<=0D)a>=10‖a<=04、判断char型变量c1是否为大写字母的表达式为(D)。A、’A’<=c1<=’Z’B、(c1>=’A’)&(c1<=’Z’)C、(’A’<=c1)AND(‘Z’>=c1)D、c1>=’A’&&c1<=’Z’5.为表达逻辑表达式79<X<90,应使用的C语言表达式是A。A)(X>79)&&(X<90)B)(X>79)!=(X<90)C)79<X<90D)(X>79)||(X<90)6.设有语句“inta=2,b=3,c=-2,d=2;”,则逻辑表达式“a>0&&b&&c<0&&d>0”的 值是(A A.1B.0C.-1D.犯错7.设a为整型变量,则不能对的表达数学关系10<a<15的C语言表达式是(A)。 A.10<a<15B.a==11||a==12||a==13||a==14C.a>10&&a<15D.!(a<=10)&&!(a>=15)设x,t均为int型变量,则执行语句“x=10;t=x&&x>10;”后,t的值为(D) A.不定值B.10C.1D.09.若inti=10;执行下列程序后,变量i的对的结果是(A)。switch(i){case9:i+=1;case10:i+=1;case11:i+=1;default:i+=1;}A、13B、12C、11D、1010.在下面的条件语句中(其中s1和s2表达是C语言的语句),只有一个在功能上与其它三个语句不等价,它是(D)。A、if(a)s1;elses2;B、if(a==0)s2;elses1;if(a!=0)s1;elses2;D、if(a==0)s1;elses2;11.假定所有变量均已对的定义,则下列程序段运营后y的值是(A)inta=0,y=10;if(a=0)y--;elseif(a>0)y++;elsey+=y; A.20B.11C.9D.012.假定所有变量均已对的定义,则下列程序段运营后x的值是(B)。a=b=c=0;x=35;if(!a)x--;elseif(b);if(c)x=3;elsex=4;A.34B.4C.35D.313.C语言对嵌套if语句的规定是:else语句总是与(D)配对。A)其之前最近的ifB)第一个ifC)缩进位置相同的ifD)其之前最近的且尚未配对的if在C语言语句中,用来决定分支流程的表达式是(A)。A.可用任意表达式B.只能用逻辑表达式或关系表达式C.只能用逻辑表达式D.只能用关系表达式15.C语言中用(B)表达逻辑“真”。A.trueB.整数值1非零整数值D.false16、若k是int型变量,且有下面的程序段:intk;k=-3;if(k<=0)printf(“####”);elseprintf(“&&&&”);上面程序段的输出结果是(A) A、####B、&&&& C、####&&&&D、有语法错误,无输出结果17.main(){intx=0,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++;}printf(“a=%d,b=%d\n”,a,b);}该程序的输出结果是DA)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=218.以下程序的输出结果是:(C)main(){intx=-10,y=1,z=1;if(x<y)if(y<0)z=0;elsez=z+1;printf(“%d\n”,z);}A.0B.1C.2D.319.以下程序段的输出结果是(B)inta=10,b=50,c=30;if(a>b)a=b;b=c;c=a;printf("a=%2db=%2dc=%2d\n",a,b,c);A)a=10b=50c=10B)a=10b=30c=10C)a=50b=30c=10D)a=50b=30c=50四、循环结构*1.在C语言中,下列说法中对的的是(D)。A)do-while语句构成的循环不能用其它语句构成的循环来代替。B)do-while语句构成的循环只能用break语句退出。C)do-while语句构成的循环在while后的表达式非零时结束循环。D)do-while语句构成的循环,在while后的表达式为零时结束循环。2.break语句不能出现在(D)语句中A.switchB.forC.whileD.if…else*3.对于break语句和continue语句的说法错误的是(B)break语句不能用于循环语句和switch语句之外的任何其他语句中。break和continue也可以用于if语句中C)continue语句只结束本次循环,而不是终止整个循环的执行。D)break语句是结束整个循环过程,不再判断执行循环的条件是否成立。4.语句while(!y);中的表达式!y等价于AA)y==0B)y!=1C)y=!0D)y==15.若有“inta=1,x=1;”,则循环语句“while(a<10)x++;a++;”的循环执行(A)A.无限次B.不拟定次C.10次D.9次6.有以下程序段intk=0while(k)k++;则while循环体执行的次数是CA)无限次 B)有语法错,不能执行C)一次也不执行 D)执行1次7.下列循环语句中有语法错误的是(D) Awhile(x=y)5;Bwhile(0);Cdo2;while(x==b);Ddox++while(x==10);9.以下程序段(A)x=-1;do{x=x*x;}while(x>0);A.是死循环B.循环执行一次C.循环执行二次D.有语法错误10.下面程序段执行后的结果为:(B)intsum=0,n=10;do{sum=sum+n;n++;}while(n<10)printf(“%d,%d”,sum,n)0,10B.10,11C.0,11D.以上结果都不对11.对以下程序段的叙述对的的是___A____.intx=1;do{x=-1*x;}while(!x)A)是死循环B)循环执行一次C)循环执行二次D)有语法错误12.循环“for(i=0,x=1;i=10&&x>0;i++);”的循环执行(A)。A.无限次B.不拟定次C.10次D.9次13.执行语句{for(j=0;j<=3;j++)a=1;}后变量j的值是C.A)0B)3C)4D)114.有如下程序main(){inti,sum=2;for(i=1;i<=3;i+=2)sum+=i;printf(“%d\n”,sum);}该程序的执行结果是AA)6B)3五数组1.以下对一维数组a的对的说明是:Dchara(10); B)inta[];C)intk=5,a[k];D)chara[3]={‘a’,’b’,’c’};2.以下能对一维数组a进行初始化的语句是:(C)A.inta[5]=(0,1,2,3,4,)B.inta(5)={}C.inta[3]={0,1,2}D.inta{5}={10*1}3.在C语言中对一维整型数组的对的定义为D。A)inta(10);B)intn=10,a[n];C)intn;a[n];D)#defineN10inta[N];4、已知:inta[10];则对a数组元素的对的引用是(D)。A、a[10]B、a[3.5]C、a(5)D、a[0]5.执行下面的程序段后,变量k中的值为CA)不定值B)33C)30D)10intk=3,s[2];s[0]=k;k=s[0]*10;*6.下列说法中错误的是CA构成数组的所有元素的数据类型必须是相同的B用指针法引用数组元素允许数组元素的下标越界C一维数组元素的下标依次是1、2、3……D定义数组时的长度可以是整型常量表达式若有以下数组说明,则数值最大的和最小的元素下标分别是(B)。inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};A.1,12B.0,11C.1,11D.0,128.若有以下数组说明,则i=10;a[a[i]]元素数值是(B)。inta[12]={1,4,7,10,2,5,8,11,3,6,9,12};A.10B.9C.6D.59.假定int类型变量占用两个字节,其有定义:intx[10]={0,2,4};,则数组x在内存中所占字节数是DA)3 B)6 C)10 D)2011.若有说明:inta[][3]={{1,2,3},{4,5},{6,7}};则数组a的第一维的大小为:(B)A.2B.3C.4D.无拟定值12.以下定义语句中,错误的是(D) A)inta[]={1,2}; B)char*a; C)chars[10]=“test”; D)intn=5,a[n];13.下面程序段的输出结果是:(C)inti;intx[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf("%d",x[i][2-i]);A)159B)147C)35714.对二维数组的对的定义是(C)A.inta[][]={1,2,3,4,5,6};B.inta[2][]={1,2,3,4,5,6};C.inta[][3]={1,2,3,4,5,6};D.inta[2,3]={1,2,3,4,5,6};15.已知inta[3][4];则对数组元素引用对的的是__C___A)a[2][4]B)a[1,3]C)a[2][0]D)a(2)(1)六、函数1.C语言中函数返回值的类型是由A决定的.A)函数定义时指定的类型B)return语句中的表达式类型C)调用该函数时的实参的数据类型D)形参的数据类型2.在C语言中,函数的数据类型是指(A)A函数返回值的数据类型B.函数形参的数据类型C调用该函数时的实参的数据类型D.任意指定的数据类型A.由系统选择B.单向值传递C.由用户指定传递方式D.地址传递5.在函数调用时,以下说法对的的是(B)A.函数调用后必须带回返回值B.实际参数和形式参数可以同名C.函数间的数据传递不可以使用全局变量D.主调函数和被调函数总是在同一个文献里9.以下叙述中对的的是A A)构成C程序的基本单位是函数 B)可以在一个函数中定义另一个函数 C)main()函数必须放在其它函数之前 D)所有被调用的函数一定要在调用之前进行定义10.用数组名作为函数调用时的实参时,传递给形参的是A。A)数组首地址B)数组第一个元素的值C)数组所有元素的值D)数组元素的个数*16.下列说法中对的的是:(A)局部变量在一定范围内有效,且可与该范围外的变量同名。假如一个源文献中,全局变量与局部变量同名,则在局部变量范围内,局部变量不起作用。局部变量缺省情况下都是静态变量。函数体内的局部静态变量,在函数体外也有效。17.在C语言中,表达静态存储类别的关键字是:(C)A)auto B)register C)static D)extern18.未指定存储类别的变量,其隐含的存储类别为(A)。A)autoB)staticC)externD)register八.指针1.语句int*p;说明了C。A)p是指向一维数组的指针B)p是指向函数的指针,该函数返回一int型数据C)p是指向int型数据的指针D)p是函数名,该函数返回一指向int型数据的指针2.变量的指针,其含义是指该变量的:(B)A.值B.地址C.名D.一个标志3.若x是整型变量,pb是基类型为整型的指针变量,则对的的赋值表达式是(A)A)pb=&xB)pb=xC)*pb=&x D)*pb=*x4、已知:inta,*p=&a;则下列函数调用中错误的是(D)。A、scanf(“%d”,&a);B、scanf(“%d”,p);C、printf(“%d”,a);D、printf(“%d”,p);5.对于同类型的指针变量,不也许进行的运算是(C)。A.-B.=C.+D.==6.对于基类型相同的两个指针变量之间,不能进行的运算是CA)<B)=C)+D)-7.下列不对的的定义是(A)。int*p=&i,i;B.int*p,i;C.inti,*p=&i;D.inti,*p;8.若有说明:intn=2,*p=&n,*q=p,则以下非法的赋值语句是:(D)A)p=qB)*p=*qC)n=*qD)p=*p,a=10,b=1;p=&a;a=*p+b;执行该程序段后,a的值为C A)编译犯错B)10C10.有语句:inta[10],;则B是对指针变量p的对的定义和初始化。A)intp=*a;B)int*p=a;C)intp=&a;D)int*p=&a;11.若有说明语句“inta[5],*p=a;”,则对数组元素的对的引用是(C)。A.a[p]B.p[a]C.*(p+2)D.p+212.若指针变量p指向整型数组a[10]的首地址,即p=a;则下列数组元素a[i](0<i<10)的表达方法中对的的是:(C)A.p+iB.&(a+i)C.*(a+i)D.*(p+i*2)13.有如下程序inta[10]={1,2,3,4,5,6,7,8,9,10},*P=a;则数值为9的表达式是BA)*P+9B)*(P+8)C)*P+=9D)P+816.若有以下说明:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为4的表达式是(C)A)*p+4 B)*(p+4)C)*(p+3)D)p+319.下列函数的功能是A。voidfun(int*p1,int*p2){intp;p=*p1;*p1=*p2;*p2=p;}A)互换*p1和*p2的值B)语法对的,但无法互换*p1和*p2的值C)互换*p1和*p2的地址D)有语法错误九、字符串1.在C语言中,以D作为字符串结束标志A)’\n’B)’’C)’0’D)’\02.下列数据中属于“字符串常量”的是(A)。A.“a”B.{ABC}C.‘abc\0’D.‘a’3.字符串“ABCD”在内存占用的字节数是(D)。A.4B.6C.1D.54.下面不对的的字符串常量是:(A)A.‘PROGRAM’B“12’12”C“0”5.设有数组定义:chararray[]="abcd";则数组array所占的空间为BA)4个字节B)5个字节C)6个字节D)7个字节7.已知charx[]="hello",y[]={'h

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论