C语言-基本选择题_第1页
C语言-基本选择题_第2页
C语言-基本选择题_第3页
C语言-基本选择题_第4页
C语言-基本选择题_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

计算机程序设计基础(C语言)单项选择练习题说明:带*号的对非信息学院的同学不作要求。一、基本观点1.C语言程序是由A)一些可履行语言2.(A)是组成A、函数3.C语言程序从

C组成的。B)main函数C)函数C语言程序的基本单位。B、过程C、子程序C开始履行。

D)包含文件中的第一个函数D、子例程程序中第一条可履行语句B)程序中第一个函数程序中的main函数D)包含文件中的第一个函数4.C语言程序从main( )函数开始履行,所以这个函数要写在_D___。A)程序言件的开始

B)程序言件的最后C)它所调用的函数的前面

D)程序言件的任何地点5、以下说法中正确的选项是(

C)。A、C语言程序老是从第一个定义的函数开始履行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序老是从main( )函数开始履行D、C语言程序中的main( )函数必须放在程序的开始部分下列方法中错误的选项是(D)。A.主函数能够分为两个部分:主函数说明部分和主函数体。B.主函数能够调用任何非主函数的其余函数。C.任何非主函数能够调用其余任何非主函数。D.程序能够从任何非主函数开始履行。下列说法错误的选项是:(B)C程序运行步骤是编写、编译、连结、履行。C语言的变量名必须用小写,常量用大写。C语言的三种基本构造是次序、选择、循环。D.C程序一定由函数组成的。8.下列对于C语言的说法错误的选项是(B)。C程序的工作过程是编写、编译、连结、运行C语言不划分大小写。C程序的三种基本构造是次序、选择、循环C程序从main函数开始履行系统默认的C语言源程序扩展名为.C,需经过C之后,生成.exe文件,才能运行A)编写编译

B)编写连结

C)编译连结

D)编写改错*10.下列说法中正确的选项是(B)。A.由于C源程序是高级语言程序,因此一定要在

TC软件中输入。B.由于C源程序是由字符流组成的,因此能够作为文本文件在任何文本编写的软件中输入。C.由于C程序是高级语言程序,因此输入后即可履行。D.由于C程序是高级语言程序,因此它是由命令组成的。二、数据种类、运算符与表达式1.不是C语言提供的合法重点字是(B)。语言提供的合法重点字是(D)。case*3.下列不属于C语言中重点字的是BA)longB)printC)defaultD)typedef4.下列正确的表记符是(C)。[i]t下列C语言用户表记符中合法的是(B)。A、*yB、sumC、intD、%5f下面四个选项中,合法的表记符是:(D)A.autoB.defineC.6aD.c7.下列C语言用户表记符中合法的是(B)。A)3axB)xC)caseD)-e2E)union8.以下选项中合法的用户表记符是

BA)long

B)_2Test

C)3Dmax

D)9.下列四组选项中,正确的C语言表记符是(C)。A)%xB)a+bC)a123

D)

123请选出可用作C语言用户表记符的一组表记符(B)A)voiddefineWORD

B)a3_b3_123sum

C)For-abcCase

D)2aDOsizeof11、下列四组字符串中都能够用作A、print_3ddb8aBc

C语言程序中的表记符的是(B、I\amone_halfstart$it

A)。3paiC、str_1

Cpp

pow

while

D、Pxq

My->book

line#12.下列

C语言表记符中合法的变量名是

B

。A)2e3B)youC)*yD)float语言中的简单数据种类包括(D)。A、整型、实型、逻辑型B、整型、实型、逻辑型、字符型C、整型、字符型、逻辑型D、整型、实型、字符型14、下列能够正确表示字符型常量的是(A)。A、’\t’B、”a”C、”\n”D、29715.下列表达式中,D是正确的C语言字符常量。A)”x”B)e3C)”COMPUTER”D)’#’16.在下列表达式中,属于字符型常量的是A)AB)'a'C)"A"

BD)b

。以下选项中合法的字符常量是(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’20.已知ch是字符型变量,不正确的赋值语句是

D)c="a"(A

)A)ch='a+b';

B)ch='\0';C)ch='7';

D)ch=’;’;21.C语言中字符型A)原码B)补码

(char)数据在内存中的存储的是C)反码D)ASCII码

(

D

)22.在

C语言中,字符型数据所占的内存空间是

(

C)A)2个字节B)4字节*23.若int种类数据占2个字节

C)1字节D)由用户自定义,则unsignedint种类数据的取值范围是(

B

)*24.

A)0~255B)0~65535若有以下种类说明语句:

C)-32768~32767D)-256~255chara;intb;floatc;doubled;则表达式

a*b+d-c的结果种类为

(

D

)A)floatB)charC)intD)double*25.若有以下种类说明语句:charw;intx;floaty;doublez;则表达式w-x*y/z的结果为(D)种类,表达式(int)(x+y-z*w)的结果为(C

)种类。A)float

B)char

C)int

D)double26.C语言中运算对象必须是整型的运算符是A)%=B)/

(

A)C)=

D)〈=27.在

C语言程序中,表达式

8/5的结果是

(B

)A)

B)1

C)3

D)028.设x为int型变量,则履行以下语句后,x的值为Bx=10;x+=x;A)10B)20C)40D)3031.在

C语言程序中,表达式

5%2的结果是

C

。A)B)2

C)1

D)332.如果inta=3,b=4;则条件表达式"a<ba:b"的值是__A__。A)3B)4C)0D)133.若intx=2,y=3,z=4则表达式x<zy:z的结果是(B).A)4

B)3

C)2

D)0

E)134.C语言中,关系表达式和逻辑表达式的值是(

B)

。A)0B)0或135.设a,b和c都是int型变量,且式是(D)

C)1D)‘T’或’F’a=3,b=4,c=5,则下面表达式中,值为

0的表达A、’a’&&’b’

B、a<=bC、a||b+c&&b-c

D、!((a<b)&&!c||1)下面(D)表达式的值为4.11/3B)3C)(float)11/3D)(int)3+*39.已知intx=5,y=5,z=5;履行语句x%=y+z;后,x的值是(C)A.0B.1C.5D.6已知字母A的ASCII码为十进制数65,且c2为字符型,则履行语句c2='A'+'6'-'3';后,c2中的值为(B)A)68B)‘D’C)错误D)‘d’41.下列对于C语言的表达错误的选项是(A)大写字母和小写字母的意义相同不同种类的变量能够在一个表达式中在赋值表达式中等号(=)左边的变量和右边的值能够是不同种类同一个运算符号在不同的场合能够有不同的含义有: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的值不为的是(B)=a=(float)(1/a)=1/(float)a=1/(a*以下运算符中优先级最高的运算符是(B)A)&&B)++C)+=D)!=49.若“intn;floatf=;”,则履行“n=(int)f%3”后,n的值是(A).4

C

设x为int型变量,则履行以下语句后

,x的值为(

C)x=10;x*=x;A)10B)20C)100D)053.若有语句inta=1,b;doubley=;b=(int)y;则b的值为(B)A)3B)2C)1D)54.已知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)以下说法正确的选项是(C)'x'+5是一个错误的表达式C语言不允许种类的混淆运算强制种类变换时,种类说明符必须加括号(int)x+y和(int)(x+y)是完全等价的表达式61.设intx=0,y=1;表达式(x||y)的值是(B)A)0

B)1

C)2

D)-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语言表达式是(D)A)a>=10ora<=0

B)a>=0|a<=10C)a>=10&&a<=0

D)a>=10‖a<=04、判断char型变量A、’A’<=c1<=’Z’

c1是否为大写字母的表达式为(D)。B、(c1>=’A’)&(c1<=’Z’)C、(’A’<=c1)AND(‘Z’>=c1)D、c1>=’A’&&c1<=’Z’为表示逻辑表达式79<X<90,应使用的C语言表达式是A。A)(X>79)&&(X<90)

B)(X>79)!=(X<90)C)79<X<90

D)(X>79)||(X<90)6.设有语句“inta=2,b=3,c=-2,d=2;”,则逻辑表达式“a>0&&b&&c<0&&d>0”的值是(A)B.07.设a为整型变量,则不能正确表达数学关系(A)。

D.犯错10<a<15的

C语言表达式是<a<15==11||a==12||a==13||a==14C.a>10&&a<15D.!(a<=10)&&!(a>=15)8.设x,t均为int型变量,则履行语句“x=10;t=x&&x>10;”后,t的值为(D)A.不定值.10C9.若inti=10;履行下列程序后,变量i的正确结果是(A)。switch(i){case9:i+=1;case10:i+=1;case11:i+=1;default:i+=1;}A、13B、12C、11D、10在下面的条件语句中(其中s1和s2表示是C语言的语句),只有一个在功能上与其余三个语句不等价,它是(D)。A、if(a)s1;C、if(a!=0)s1;

elseelse

s2;s2;

B、if(a==0)D、if(a==0)

s2;s1;

elseelse

s1;s2;11.假设所有变量均已正确定义,则下列程序段运行后

y的值是(A

)inta=0,y=10;if(a=0)y--;elseif(a>0)y++;elsey+=y;.11

C12.假设所有变量均已正确定义,则下列程序段运行后x的值是(B)。a=b=c=0;x=35;if(!a)x--;elseif(b);if(c)x=3;elsex=4;.4CC语言对嵌套if语句的规定是:else语句老是与(D)配对。A)其以前最近的if

B)第一个ifC)缩进地点相同的ifD)其以前最近的且尚未配对的if14.在C语语言句中,用来决定分支流程的表达式是(A)。A.可用随意表达式B.只能用逻辑表达式或关系表达式C.只能用逻辑表达式D.只能用关系表达式语言中用(B)表示逻辑“真”。A.true

B.整数值

1C.非零整数值

D.false16、若k是int型变量,且有下面的程序段:intk;k=-3;if(k<=0)printf(“####;”)else

printf(

“&&&&;”)上面程序段的输出结果是(

A)A、####C、####&&&&

B、&&&&D、有语法错误,无输出结果main( ){intx=0,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++;}printf(“a=%d,b=%dn”,a,b);}该程序的输出结果是DA)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2以下程序的输出结果是:(C)main( ){intx=-10,y=1,z=1;if(x<y)if(y<0)z=0;elsez=z+1;printf(“%d\n”,z);}A.0

B.1

C.2

D.319.以下程序段的输出结果是(inta=10,b=50,c=30;

B)if(a>b)a=b;b=c;c=a;printf("a=%2db=%2dc=%2d\n",a,b,c);A)a=10b=50c=10

B)a=10b=30c=10C)a=50b=30c=10

D)a=50b=30c=50四、循环构造*1.在C语言中,下列说法中正确的选项是(D)。do-while语句组成的循环不能用其余语句组成的循环来代替。do-while语句组成的循环只能用break语句退出。do-while语句组成的循环在while后的表达式非零时结束循环。do-while语句组成的循环,在while后的表达式为零时结束循环。break语句不能出现在(D)语句中A.switchC.whileD.ifelse*3.对于break语句和continue语句的说法错误的选项是(B)break语句不能用于循环语句和switch语句之外的任何其他语句中。break和continue也能够用于if语句中continue语句只结束本次循环,而不是终止整个循环的履行。break语句是结束整个循环过程,不再判断履行循环的条件是否建立。4.语句

while(!y);中的表达式!y等价于AA)y==0B)y!=1C)y=!0D)y==15.若有“inta=1,x=1;”,则循环语句“while(a<10)x++;a++;”的循环履行(A.无限次B.不确定次次次

A

)有以下程序段intk=0while(k)k++;则while

循环体履行的次数是

CA)无限次

B)有语法错,不能履行C)一次也不履行

D)履行

1次下列循环语句中有语法错误的选项是(D)Awhile(x=y)5;Bwhile(0)Cdo2;while(x==b);Ddox++

;while(x==10);*8.当运行时输入:abcd$abcde,下面程序的运行结果是B#include<>main( ){while(putchar(getchar( ))!='$');printf("end");}A)abcd$abcdeB)abcd$endC)abcdendD)abcd$abcdeend以下程序段(A)x=-1;do{x=x*x;}while(x>0);A.是死循环B.循环履行一次C.循环履行二次D.有语法错误下面程序段履行后的结果为:(B)intsum=0,n=10;do{sum=sum+n;n++;}while(n<10)printf(“%d,%d”,sum,n)A.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.不确定次次

次13.履行语句{for(j=0;j<=3;j++)a=1;}后变量

j的值是

C

.A)0

B)3

C)4

D)114.有如下程序main( ){inti,sum=2;for(i=1;i<=3;i+=2)sum+=i;printf(

“n%d”,sum);}该程序的履行结果是

AA)6B)3C)死循环*15、履行语句”for(i=0;i++<3;);”后,变量i的值为(A、2B、3C、4D、516.设x和y均为int型变量,则履行以下的循环后,y的值为(

D)4C)。D)。for(y=1,x=1;y<=50;y++){if(x>=0)break;if(x%2==1){x+=5;continue;}x-=3;}五数组以下对一维数组a的正确说明是:DA)chara(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、a[10]

a[10];则对B、a[]

a数组元素的正确引用是(C、a(5)D、a[0]

D)。履行下面的程序段后,变量k中的值为CA)不定值B)33C)30D)10intk=3,s[2];s[0]=k;k=s[0]*10;*6.下列说法中错误的选项是C组成数组的所有元素的数据种类必须是相同的用指针法引用数组元素允许数组元素的下标越界一维数组元素的下标依次是1、2、3定义数组时的长度能够是整型常量表达式7.若有以下数组说明,则数值最大的和最小的元素下标分别是(

B)。inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};,12

,11

,11

,128.若有以下数组说明,则

i=10;a[a[i]]元素数值是(

B)。inta[12]={1,4,7,10,2,5,8,11,3,6,9,12};9.假设int种类变量占用两个字节,其有定义:内存中所占字节数是D

int

x[10]={0,2,4};,则数组

x在A)3

B)6

C)10

D)2011.若有说明:inta[][3]={{1,2,3},{4,5},{6,7}};则数组a的第一维的大小为:(B)A.2

B.3

C.4

D.无确定值12.以下定义语句中,错误的选项是

(D

)A)inta[]={1,2};C)chars[10]=“test

”;

B)charD)int

*a;n=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)159

B)147

C)357

D)36914.对二维数组的正确定义是(a[][]={1,2,3,4,5,6};a[][3]={1,2,3,4,5,6};

C)a[2][]={1,2,3,4,5,6};a[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)六、函数语言中函数返回值的种类是由A决定的.A)函数定义时指定的种类B)return语句中的表达式种类调用该函数时的实参的数据种类D)形参的数据种类在C语言中,函数的数据种类是指(A)A函数返回值的数据种类C调用该函数时的实参的数据种类

B.函数形参的数据种类D.随意指定的数据种类*3.C程序中函数返回值的种类是由A)函数定义时指定的函数种类C)调用函数时临时确定

A决定的.B)函数中使用的最后一个变量的种类D)调用该函数的主调函数种类*4.C语言规定,简单变量做实参时,它和对应形参之间的数据传达方式为(B)A.由系统选择B.单向值传达C.由用户指定传达方式D.地点传达在函数调用时,以下说法正确的选项是(B)A.函数调用后必须带回返回值B.实际参数和形式参数能够同名C.函数间的数据传达不能够使用全局变量D.主调函数和被调函数老是在同一个文件里*6.在C语言程序中,相关函数的定义正确的选项是(B)。A.函数的定义能够嵌套,但函数的调用不能够嵌套B.函数的定义不能够嵌套,但函数的调用能够嵌套C.函数的定义和函数的调用均不能够嵌套D.函数的定义和函数的均能够嵌套*7.以下对C语言函数的相关描绘中,正确的选项是(A)。A.在C语言程序中,调用函数时,如函数参数是简单变量,则只能把实参的值传达给形参,形参的值不能传送给实参语言函数既能够嵌套定义又可递归调用语言函数必须有返回值,否则不能使用函数D.在C语言程序中有调用关系的所有函数必须放在同一个源程序言件中*语言中对函数的描绘正确的选项是

C

.A)能够嵌套调用,不能够递归调用C)嵌套调用,递归调用均可

B)能够嵌套定义D)不能够嵌套调用9.以下表达中正确的选项是A组成C程序的基本单位是函数能够在一个函数中定义另一个函数main( )函数必须放在其余函数以前所有被调用的函数一定要在调用以前进行定义10.用数组名作为函数调用时的实参时,传达给形参的是A。A)数组首地点B)数组第一个元素的值C)数组全部元素的值D)数组元素的个数11.有一函数的定义如:voidfun(char*s){},则不正确的函数调用是(D)。( ){chara[20]=”abcdefgh”;fun(a);}( ){chara[20]=”abcdefgh”;fun(&a[0]);}main( ){chara[20]=”abcdefgh”;char*p=a;fun(p);}main( ){chara[20]=”abcdefgh”;fun(a[]);}13、函数的功能是互换变量x和y中的值,且经过正确调用返回互换的结果。能正确履行此功能的函数是(D)。A、funa(int*x,int*y)B、funb(intx,inty){int*p;{intt;*p=*x;*x=*y;*y=*p;t=x;x=y;y=t;}}C、func(int*x,int*y)D、fund(int*x,int*y){int*p;{intt;p=x;x=y;y=p;}t=*x;*x=*y;*y=t;}有如下程序intfunc(inta,intb){return(a+b);}main( ){intx=2,y=x,z=8,r;r=func(func(x,y),func(y,z));printf(“n%d”,r);}该程序的输出的结果是CA)12B)13C)14D)15*15.以下程序的输出结果是Binta,b;voidfun( ){a=100;b=200;}main( ){inta=100,b=100;fun( );printf(“%d%d\n”,a,b);}A)100200B)100100C)200100D)200200*16.下列说法中正确的选项是:(A)局部变量在一定范围内有效,且可与该范围外的变量同名。如果一个源文件中,全局变量与局部变量同名,则在局部变量范围内,局部变量不起作用。局部变量缺省情况下都是静态变量。函数体内的局部静态变量,在函数体外也有效。17.在C语言中,表示静态存储类其他重点字是

:(

C)A)auto

B)register

C)static

D)extern18.未指定存储类其他变量,其隐含的存储类型为(A)。A)autoB)staticC)externD)register七、构造体若有以下说明语句:structstudent{intnum;charname[];floatscore;}stu;则下面的表达不正确的选项是:(D)A.struct是构造体种类的重点字B.structstudent是用户定义的构造体种类C.num,score都是构造体成员名stu是用户定义的构造体种类名2.若有以下说明语句:structdate{intyear;intmonth;intday;}brithday;则下面的表达不正确的选项是__C___.struct是声明构造体种类时用的重点字structdate是用户定义的构造体种类名brithday是用户定义的构造体种类名year,day都是构造体成员名*3.已知:(设整型2字节,字符型1字节,浮点型4字节)struct{inti;charc;floata;}test;则sizeof(test)的值是D。A)4B)5C)6D)74.以下对构造变量stul中成员age的非法引用是Bstructstudent{intage;intnum;}stu1,*p;p=&stu1;A)B)C)p->ageD)(*p).age*5.有如下定义structperson{charname[9];intage;};structpersonclass[10]={“Tom”,17,“John”,19,“Susan”,18,“Adam”,16,};根据上述定义,能输出字母A的语句是(B)printf(“%cn”,class[3]name);.printf(“n”%class[3],[0]);printf(“n”%c,class[3].name[1]);printf(“n”%c,class[2].name[3]);6.寄存100个学生的数据、包括学号、姓名、成绩。在如下的定义中,不正确的是(B)。A.structstudent{intsno;charname[20];floatscore;}stu[100];B.structstudentstu[100]{intsno;charname[20];floatscore};struct{intsno;charname[20];floatscore;}stu[100];D.structstudent{intsno;charname[20];floatscore;};structstudentstu[100];*7.设有定义语句“struct{intx;inty;}d[2]={{1,3},{2,7}};”则“printf(“%d\n”,d[0].y/d[0].x*d[1].x);”输出的是(D)。8.已知:structsk{inta;floatb;}data,*p;若有p=&data,则对A、(*p).B、p->

data中的成员C、(*p).a

a的正确引用是(CD、设有如下定义:

)。strucksk{inta;floatb;}data;int*p;若要使P指向data中的a域,正确的赋值语句是CA)p=&a;B)p=;C)p=&;D)*p=;10.设有以下说明语句:typedefstructstu{inta;floatb;}stutype;则下面表达中错误的选项是(D)。A、struct是构造种类的重点字B、structstu是用户定义的构造种类C、a和b都是构造成员名D、stutype是用户定义的构造体变量名八.指针1.语句int*p;说了然C。A)p是指向一维数组的指针B)p是指向函数的指针,该函数返回一int型数据C)p是指向int型数据的指针D)p是函数名,该函数返回一指向int型数据的指针变量的指针,其含义是指该变量的:(B)A.值B.地点C.名D.一个标志3.若x是整型变量,pb是基种类为整型的指针变量,则正确的赋值表达式是(

A)A)pb=&x

B)pb=x

C)*pb=&x

D)*pb=*x4、已知:inta,*p=&a;A、scanf(“%d”,&a);

则下列函数调用中错误的选项是(B、scanf(“%d”,p);

D)。C、printf(“%d”,a);

D、printf(“%d”,p);5.对于同种类的指针变量,不可能进行的运算是(

C)。B.=

C.+

D.==6.对于基种类相同的两个指针变量之间,不能进行的运算是

CA)<

B)=

C)+

D)-7.下列不正确的定义是(

A)。A.int*p=&i,i;

*p,i;C.inti,*p=&i;

i,*p;8.若有说明:

intn=2,*p=&n,*q=p,则以下非法的赋值语句是

:(

D)A)p=qB)*p=*qC)n=*qD)p=nint*p,a=10,b=1;p=&a;a=*p+b;履行该程序段后,a的值为CA)编译犯错

B)10

C)11

D)1210.有语句:

inta[10],;则

B

是对指针变量

p的正确定义和初始化。A)intp=*a;

B)int*p=a;

C)intp=&a;

D)int*p=&a;11.若有说明语句“inta[5],*p=a;”,则对数组元素的正确引用是(C)。[p][a]C.*(p+2)+2若指针变量p指向整型数组a[10]的首地点,即p=a;则下列数组元素a[i](0<i<10)的表示方法中正确的选项是:(

C)A.p+i

B.&(a+i)

C.*(a+i)

D.*(p+i*2)有如下程序inta[10]={1,2,3,4,5,6,7,8,9,10},*P=a;则数值为

9的表达式是

BA)*P+9

B)*(P+8)

C)*P+=9

D)P+814.若有以下定义,则不能表示a数组元素的表达式是(B)。inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;A.*p[10]C.*a[p-a]*15.已知inta[5],*p=a;下面的表达中正确的选项是A。A)p+1与a+1等价B)p[1]与*p等价C)*(p+1)与a+1等价D)p[1]与a++等价16.若有以下说明

:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为A)*p+4

4的表达式是(B)*(p+4)

C

)C)*(p+3)

D)p+317.下面程序的输出结果是

CA)0

B)1

C)2

D)输犯错误main( ){inta[]={1,2,3,4,5,6,7,8,9,0},*p;p=a;printf(

“n%d”,*p+1);}18.履行语句A)abcd“”

charc[10]={”abcd”},*pc=c;后,*(pc+4)的值是(B)’\0’C)d‘’D)不确定

B)19.下列函数的功能是A。voidfun(int*p1,int*p2){intp;p=*p1;*p1=*p2;*p2=p;}互换*p1和*p2的值B)语法正确,但无法互换*p1和*p2的值C)互换*p1和*p2的地点D)有语法错误*20.有如下程序main( ){chars[]=“ABCD”,*P;for(p=s+1;p<s+4;p++)

printf(

“n”%s,p);}该程序的输出结果是

DA)ABCDBCDCD

B)ABC

C)B

CD

D)BCDCDDD

D*21.请读程序,输出结果为:#include<>inta[]={2,4,6,8};main( ){inti,b[4];int*p=a;for(i=0;i<4;i++){b[i]=*p;p++;}printf("%d\n",b[2]);}A)6B)8

(A

)C)4

D)2*22.内存空间被分红不同地区,其中用函数

void*malloc(unsignedintsize);申请的内存在A)程序区

C分派。B)静态存储区

C)动向存储区九、字符串1.在C语言中,以D作为字符串结束标志A)’\n’

B)’

C)0’

D)’\0’2.下列数据中属于“字符串常量”的是(A)。A.“a”B.{ABC}C.‘abc\0’3.字符串“ABCD”在内存占用的字节数是(D)。A.4B.6C.1D.5

D.‘a’下面不正确的字符串常量是:(A)A.‘PROGRAM’B“12’12”C“0”D“”5.设有数组定义:chararray[]="abcd";则数组array所占的空间为BA)4个字节B)5个字节C)6个字节*6.下述对C语言中字符数组的描绘错误的选项是C。

D)7个字节A)字符数组能够寄存字符串B)字符数组中的字符串能够整体输入和输出C)可在赋值语句中经过赋值运算符“=对”字符数组整体赋值D)可在对字符数组定义时经过赋值运算符“=对”字符数组整体初始化7.已知charx[]="hello",y[]={'h','e','a','b','e'};,则对于两个数组长度的正确描绘是B.A)相同

B)x大于

y

C)x小于

y

D)以上答案都不对8.给出以下定义

:charx[]="abcdefg";chary[]={'a','b','c','d','e','f','g'};则正确的表达为

CA)数组C)数组

x和数组y等价x的长度大于数组

y的长度

B)数组D)数组

x和数组y的长度相同x的长度小于数组y的长度9、若有以下语句,则正确的描绘是(D)。staticcharx[]=”12345”;staticchary[]={‘1’,‘2’,‘3’,‘4’,5,’\0’};A、x数组长度大于y数组长度B、x数组和y数组不相同C、x数组长度小于y数组长度D、x数组等价于y数组10、已知:chars[20]=”programming”,*ps=s;则不能引用字母(C)。

o的表达式是A、ps[2]B、s[2]C、ps+2D、ps+=2,*ps*11.判断两字符串s1,s2是否相等,应使用(D).A)if(s1==s2)B)if(s1=s2)C)if(strcpy(s1,s2))D)if(strcmp(s1,s2)==0)*12.以下printf语句的输出结果为:Aprintf(“%d\n”,strlen(“school”));A)7B)6C)存在语法错误D)不定值对字符数组s赋值,不合法的一个是(C)chars[]="Beijing";chars[20]={"beijing"};chars[20];s="Beijing";chars[20]={'B','e','i','j','i','n','g'};对字符数组str赋初值,str不能作为字符串使用的一个是(D)charstr[]="shanghai";charstr[]={"shanghai"};charstr

温馨提示

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

评论

0/150

提交评论