C语言-基本选择题及答案解析_第1页
C语言-基本选择题及答案解析_第2页
C语言-基本选择题及答案解析_第3页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

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

文档简介

PAGEPAGE52计算机程序设计基C 语言)单项选择练习题说明:带*号的对非信息学院的同学不作要求。一、 基本概念C语言程序是由 C 构成的。一些可执行语言B)mainC)函数(AC语言程序的基本单位。

D)包含文件中的第一个函数、子程序 D、子例程A函数B、过程C 开始执行。CC程序中第一条可执行语句

程序中第一个函数D)包含文件中的第一个函数 C)程序中的main函数Cmain()函数开始执行,所以这个函数要写在_D_程序文件的开始B)程序文件的最后它所调用的函数的前面以下说法中正确的是(C)。

程序文件的任何位置A、C语言程序总是从第一个定义的函数开始执行BC语言程序中,要调用的函数必须在main()C、Cmain()函数开始执行D、Cmain()函数必须放在程序的开始部分下列方法中错误的是(D)。主函数可以分为两个部分:主函数说明部分和主函数体。主函数可以调用任何非主函数的其它函数。任何非主函数可以调用其它任何非主函数。程序可以从任何非主函数开始执行。下列说法错误的是:(B)C程序运行步骤是编辑、编译、连接、执行。C语言的变量名必须用小写,常量用大写。C语言的三种基本结构是顺序、选择、循环。C程序一定由函数构成的。下列关于C语言的说法错误的是(B) 0C程序的工作过程是编辑、编译、连接、运行C语言不区分大小写。C程序的三种基本结构是顺序、选择、循环Cmain函数开始执行系统默认的C语言源程序扩展名为.C,需经过C之后,生成.exe文件,才能运行?A)编辑?编译B) 编辑?连接C)编译?连接 D) 编辑?改*10.下列说法中正确的是(B)。C源程序是高级语言程序,因此一定要在TC软件中输入。C的软件中输入。C程序是高级语言程序,因此输入后即可执行。C程序是高级语言程序,因此它是由命令组成的。二、数据类型、运算符与表达式1.不是C语言提供的合法关键字是A.switch B.cher*2.C语言提供的合法关键字是(D)。A.next B.stringC.docase*3.C语言中关键字的是A)longB)printC)defaultD)typedef下列正确的标识符是(C)。A.-a1 B.a[i]C.a2_iC语言用户标识符中合法的是A、*y B、sum C、int下面四个选项中,合法的标识符是:A.autoB.defineC.6aD.cC语言用户标识符中合法的是(A)3axB)xC)caseD)-e2E)union以下选项中合法的用户标识符是

)。C.case D.defaultD.structB。t。B)、%5fB)。long B)_2TestC)3Dmax下列四组选项中,正确的C语言标识符是(C )。

A.dat%x

B)a+bC) a123

)123请选出可用作C语言用户标识符的一组标识符(B)voiddefine

_123

-abcDO

2aWORD

sum

Case

sizeof11 下列四组字符串中都可以用作、、print_3ddb8aBcB

C语言程序中的标识符的是(、l\amone_halfstart$it3pai

A)。C、str_1CpppowwhileD、PxqMy->bookline#下列C语言标识符中合法的变量名是 B。

His.age2e3B)youC)*yD)floatC语言中的简单数据类型包括(D )。、整型、实型、逻辑型 B 、整型、实型、逻辑A

字符型、整型、字符型、逻辑型 D14 、A 、’\t'B、”a”C、”

型、、整型、实型、字符型(A\n”D、297下列表达式中, D是正确的C语言字符常量。”X”B)e3C) ”COMPUTERD)'#'在下列表达式中,属于字符型常量的是AB)'a'

"A"

Bb以下选项中合法的字符常量是 (B)A) “B' B) ‘\n' C)下面字符常量表示错误的是( D)

‘68'

E'a'

B)'?'C)' \n'D) ””c为字符型变量,则下列语句中正确的是A)c='97'B)c="97"C)c=‘a' D 已知ch是字符型变量,不正确的赋值语句是(A)ch='a+b'; B)ch='\0C)ch='7'; D)ch= ';'21.C语言中字符型(char)数据在内存中的存储的是B)C)D)ASCII码22C语言中,字符型数据所占的内存空间是(C

(C)c="a"A)2

个字节

4

1

D)*23

类型数据占

由用户自定义个字节则

类型数据的取值范围是2 , unsignedint(B)A)0〜255 B)0 65535 C)-32768 〜32767 D)-256 〜255*24.a*b+d-c的结果类型为(DAfloatB)charC)int

chara;intb;floatc;doubled;)D)double

则表达式*25.若有以下类型说明语句:charw;intx;floaty;double乙则表达式w-x*y/z的果为(D)类型,表达式(int)(x+y-z*w) 的结果为(C)类型。AfloatB)charC)intD)double26.C语言中运算对象必须是整型的运算符是A〈A)%= B)/ C)= D)二C8/5的结果是(A)1.6 B)1 C)3 D)0xint型变量则执行以下语句后x=10;x+=x;A)10B)20C)40D)30C5%2的结果是

的值为BA)2.5 B)2 C)1 D)3如果inta=3,b=4;则条件表达式"a<b?a:b"的值是 A_A)3B)4C)0D)1若intx=2,y=3,z=4则表达式x<z?y:z的结果是(B).A)4B)3 C)2 D)0E)1 B) 。34. C 或 34. C 或 1C)1 D)

T或’F'0B)0 int a=3,b=4,c=5,0的35. a,bc都是表达式是(D 、a<=bC||c&-b'37. F面(D)4.

、!((avb)&&!c||1)A)11/3C)(float)11/3

B)11.0/3D)(int)(11.0/3+0.5)*39. 已知intx=5,y=5,z=5

x%=y+z后,x的值是(C)A.0B.1

C.5

D.6已知字母A的ASCII 码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-3;68B)

后,c2中的值为(B)‘DC)错误D) ‘d'下列关于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=(w>x)?w:x;m=(m>y)?m:y;A.12B.0

以上结果都不对m的值是(A)45.设整型变量(B)A.b=1.0/a

C.3D.1B.b=(float)(1/a)C. b=1/(float)aD.b=1/(a*1.0)

b0.5的是以下运算符中优先级最高的运算符是(B)A)&&B)++ C)+= D)!=若“intn;floatf=13.8; ”,则执行“n=(int)f%3A.1

B.4

C.4.333333 D.4.6

”后,n的值是(A)52.

xint型变量,则执行以下语句后,x的值为(x=10;x*=x;53.54.

A)10B)20C)100D)0若有语句inta=1,b;doubley=2.3;b=(int)y;A)3B)2C)1D)2.3已知intx;chary; 则下面错误的

b的值为(B)?scanf函数调用语句为(B)scanf(“%d,%d,&x,&y);scanf(“%d%d,&x,&y)

B)scanf(

“%d,%c,x,y)scanf(“%d,%c,&x,&y)C语言的库函数中charx值的语句是getchar(x);B)fputc(x)C)putchar(x)D)puts(x)以下说法正确的是(C)

'x'+5 是一个错误的表达式C语言不允许类型的混合运算强制类型转换时,类型说明符必须加括号A)(int)x+y (int)(x+y)是完全等价的表达式表B)达式(x||y)的值是(B)C)C)2D)-1D)设intx=0,y=1;0B)1三、选择结构C语言中,认为(D)为逻辑"真"trueB0的数C0整数x<=y<=zc语言表达式为A)(x<=y)&&(yv=z) B)(x<=y)AND(y<=z)

D0的数AC)(x<=y<=z) D)(x<=y)&(yv=z)能正确表示逻辑关系:“a>=10a<0C语言表达式是(DA)a>=10ora<=0B)a>=0|a<=10C)a>=10&&a<=0D)a>=10IIa<=0判断char型变量c1是否为大写字母的表达式为( D)。A、‘A<=c1<=Z 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.0

C.-1 D. 出错

a

则不能正确表达数学关系 10<av15的C语言表达式是A)。(A.10<a<15

B.a==11||a==12||a==13||a==14C.a>10&&a<15 D.!(av=10)&&!(a>=15)设x,t均为int 型变量,则执行语句“x=10;t=x&&x>10;”后,t的值为(D)不定值

B.10 C.1 D.0若inti=10;i的正确结果是(Aswitch(i){case9:

i+=1;case10: i+=1;case11: i+=1;default:i+=1;}A、13B、12s1上与其它三个语句不等价,它是(A、if(a)s1;elses2;BC、if(a!=0)s1;elses2;D

C、11D、10s2C语言的语句)D)。、if(a==0)s2;else、if(a==0)s1;elsey

,只有一个在功s1;s2;假定所有变量均已正确定义,则下列程序段运行后

的值是

(A)inta=0,y=10;if(a=0)y--;elseif(a>0)y++;elsey+=y;A.20 B.11 C.9 D.0

假定所有变量均已正确定义,则下列程序段运行后x的值是(B)。a=b=c=0;x=35;if(!a)x--;elseif(c)x=3;elsex=4;A.34 B.4 C.35 D.3else语句总是与(D)配Cif语句的规定是:A)其之前最近的ifB)C)ifD)

对。第一个if其之前最近的且

C语言语句中,用来

A)。决定分支流程的表达式是(可用任意表达式

“真”。

D.只能用关系表达式)表示逻辑C语言中用( BtrueB.

false

整数值1C.D.若k是int型变量,且有下面的程序段:intk;k=-3;if(k<=0)printf(“####”);elseprintf(“&&&&”);上面程序段的输出结果是(A)A、####C####&&&&main()

B 、&&&&D、有语法错误,无输出结果{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=1以下程序的输出结果是:(main(){intx=-10,y=1,z=1;if(xvy)if(y<0)z=0;

C)a=1,b=0D)C)elsez=z+1;printf(

“%d\n”,z);}A.0B.1C.2D.3以下程序段的输出结果是(inta=10,b=50,c=30 ;if(a>b)a=b;b=c;c=a;printf("a=%2db=%2dA)a=10b=50c=10C)a=50b=30c=10

;B)a=10b=30c=10D)a=50b=30c=50四、循环结构*1.C语言中,do-whiledo-whiledo-whiledo-while

下列说法中正确的是(D)。break语句退出。while后的表达式非零时结束循环。语句构成的循环while后的表达式为零时结束循环。break语句不能出现在(D)语句中switchB.forC.whileD.if*3.对于

…elsebreak句和continue

breakswitch语句之外的任何其他语句中。breakcontinueif语句中continuebreak语句语句的说法错A误的是(B)A)B)C)D)while(!y);中的表达式!y等价于A)y==0B)y !=1C)y =!0D)y==1若有“inta=1,x=1;

”,则循环语

“while(av10)x++;a++;”的循环执行(A)A.无限次有以下程序段intk=0

句不确定次

C.10次

D.9次while循环体执行的次数是A)无限次 C一次也不执行 B)有语法错,不能执行1次下列循环语句中有语法错误的是(D)Awhile(x=y)5 ; Bwhile(0) ;Cdo2;while(x==b);Ddox++while(x==10)*8.当运行时输入:abcd$abcde,下面程序的运行结果是 #includevstdio.h>main(){while(putchar(getchar())!='$');printf("end");}abcd$abcdeB)abcd$endC以下程序段)abcdendD)abcd$abcdeend9. (A)x=-1;do{x=x*x;}while(x>0);A.B.循环执行一次下面程序段执行后的结果为intsum=0,n=10;do{sum=sum+n;n++;}while(n<10)printf(“%d,%d,sum,n)

D.有语法错误11.

A.0,10B.10,11C.0,11D.对以下程序段的叙述正确的是

以上结果都不对intx=1;do{x=-1*x;}while(!x)B)循环执行一次12.循环“for(i=0,x=1;i=10&&x>0;i++);

A)0B)3 C)4D)1C)循环执行二次D)有语法错误”的循环执行(C.10次 A)。A. 无限次 不确定次 后变量jA. 13.执行语句{for(j=0;j<=3;j++)a=1;}14.有如下程序main(){inti,sum=2;for(i=1;i<=3;i+=2)printf(“%n该程序的执行结果是 sum+=i;”,sum);}五数组A36执行语句”for C)

D.9次C.死循环D)4(i=0;

i++v3;)C

i的值为(C)。D16.xyint型变量,则执行以下的循环后,for(y=1,x=1;y<=50;y++){if(x>=0)break;if(x%2==1){x+=5;continue;}x-=3;}

y的值为(D)oA.2

B.4 C.6 D.1a的正确说明是:chara(10); B)intC)intk=5,a[k];D)chara[3]={

a','b','c'};以下能对一维数组a进行初始化的语句是:( CA.inta[5]=(0,1,2,3,4,)B.inta(5)={}C.inta[3]={0,1,2} D.inta{5}={10*1}在C语言中对一维整型数组的正确定义为 _inta(10);B)intn=10,a[n];intn;a[n]; D)#defineN10inta[N];4、已知:inta[10];a数组元素的正确引用是(

D)。A、a[10]B、a[3.5]C、a(5)5.执行下面的程序段后,变量k中的值为 A)不定值B)33C)30intk=3,s[2];

D、a[0]10s[0]=k;k=s[0]*10;*6.下列说法中错误的是 CAD若

构成数组的所有元素的数据类型必须是相同的用指针法引用数组元素允许数组元素的下标越界1、2、3……定义数组时的长度可以是整型常量表达式

B)。有以下数组说明,则数值最大的和最小的元素下标分别是(inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};A.1,12 B.0,11 C.1,11 D.0,12i=10;a[a[i]]元素数值是(B)。inta[12]={1,4,7,10,2,5,8,11,3,6,9,12};A.10 B.9 C.6 D.5int类型变量占用两个字节,其有定义:x在内存中所占字节数是 D

intx[10]={0,2,4};

,则数组3

6

10

2011.若有说 inta[][3]={{1,2,3},{4,5},{6,7}};明:为:(B)

a的第一维的大小A.2B.3

C.4D.

无确定值以下定义语句中,错误的是 D)inta[]={1,2}; B)char*a;C)chars[10]= “test”; D)intn=5,a[n];下面程序段的输出结果是:( 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)357D)369对二维数组的正确定义是(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};15inta[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)函数形参的数据类型C调用该函数时的实参的数据类型*3.C程序中函数返回值的类型是由—

D.任意指定的数据类型决定的.A)函数定义时指定的函数类型B)函数中使用的最后一个变量的类C)调用函数时临时确定D) 调用该函数的主调函数类型*4.C 语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为( B)B.单向值传递C.由用户指定传递方式D.地址传递在函数调用时,以下说法正确的是( B)函数调用后必须带回返回值实际参数和形式参数可以同名函数间的数据传递不可以使用全局变量C语言程序中,有关函数的定义*6.*7.

正确的是(B)0函数的定义可以嵌套,但函数的调用不可以嵌套函数的定义不可以嵌套,但函数的调用可以嵌套函数的定义和函数的调用均不可以嵌套函数的定义和函数的均可以嵌套C语言函数的有关描述中,正确的是(A)0C语言程序中,调用函数时,如函数参数是简单变量,则只能把实参的值传递给形参,形参的值不能传送给实参C语言函数既可以嵌套定义又可递归调用C语言函数必须有返回值,否则不能使用函数C语言程序中有调用关系的所有函数必须放在同一个源程序文件中*8.C语言中对函数的描述正确的是 C.A)可以嵌套调用,不可以递归调用 B) 可以嵌套定义PAGEPAGE87C)嵌套调用,递归调用均可 D) 不可以嵌套调用以下叙述中正确的是 AC程序的基本单位是函数可以在一个函数中定义另一个函数main()函数必须放在其它函数之前所有被调用的函数一定要在调用之前进行定义用数组名作为函数调用时的实参时,传递给形参的是 A)数组首地址 B)数组第一个元素的值C)数组全部元素的值 D)数组元素的个数11有一函数的定义如:voidfun(char*s){,则不正确的函数调用是(D)。main(){chara[20]=fun(a);}

”abcdefgh”;main(){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;t=x;x=y;y=t;}*p=*x;*x=*y;*y=*p;}C、func(int*x,int*y){int*p;

D、fund(int*x,int*y){intt;p=x;x=y;y=p;

t=*x;}

*x=*y; *y=t;14.*15.

有如下程序intfunc(inta,intb){return(a+b);}main(){intx=2,y=x,z=8,r;r=func(func(x,y),func(y,z));printf(“%dn”,r);该程序的输出的结果是_A)12 B)13 C)14 D)15以下程序的输出结果是.inta,b;voidfun(){ a=100;b=200;}main(){inta=100,b=100;fun();printf(做d\n”,a,b);}A)100200 B)100100 C)200100 D)200200*16. 下列说法中正确的是:(A )且可与该范围外的变量同如果一个源文件中,全局变量局部变量不起作用。局部变量缺省情况下都是静态变量。函数体内的局部静态变量,在函数体外也有效。17.

C语言中,表示静态存储类别的关键字是auto B)registerC)static

(C)D)extern未指定存储类别的变量,其隐含的存储类别为(autoB)staticC)externD)register七、结构体若有以下说明语句:structstudent{intnum;charnfloatscore;}stu;则下面的叙述不正确的是:(D)struct是结构体类型的关键字structstudent 是用户定义的结构体类型num,score都是结构体成员名stu是用户定义的结构体类型名若有以下说明语句:structdate{intyear;intmonth;intday;}brithday;则下面的叙述不正确的是 C.struct是声明结构体类型时用的关键字structdate 是用户定义的结构体类型名brithday 是用户定义的结构体类型名year,day 都是结构体成员名*3.已知:(21字节,浮点型struct{inti;charc;floata}test;则sizeof(test)的值是D。A)4B)5C)6D)74.stulage的非法引用是structstudent

A)。4字节){intage;intnum;}stu1,*p;p=&stu1;stu1.ageB)student.ageC)p->ageD)(*p).age*5.有如下定义structperson{charname[9];intage;};structpersonclass[10]={ “Tom”,17,“John”,19,“Susan”,18,根据上述定义,能输出字母A的语句是(B)printf %cn”%,class[3].name);printf(printf( cn”%c,class[3].name[0]);,claprintf( n”%cnss[3].name[1]);,class[2” ].name[3]);存放100个学生的数据、是(B)。structstudent{intsno;charname[20];floatscore;}stu[100];structstudentstu[100]{intsno;charname[20];floatscore};struct{intsno;charname[20];floatscore;}stu[100];structstudent{intsno;charname[20];floatscore;};structstudentstu[100];*7.设有定义语句“struct{int x;inty;} d[2]={{1,3},{2,7}};“printf(“%d\n”,d[0].y/d[0].x*d[1].x);

”输出的是(D)。A.O

B.1

C.3 D.6已知:structsk{inta;floatb;}data,*p;若有p=&data,则对data中的成员a的正确引用是(C A、(*p).data.aB、p->data.aC、(*p).aD、p.data.a设有如下定义:strucksk{inta;floatb;}data;int*p;若要使P指向data中的a域,正确的赋值语句是 C

p=&a;B)p=data.a;C)p=&data.a;设有以下说明语句:typedefstructstu{inta;floatb;}stutype;则下面叙述中错误的是(D)。structB、structstu是用户定义的结构类型ab都是结构成员名stutype

D)*p=data.a;八.指针int*p;说明了C。p是指向一维数组的指针p是指向函数的指针,该函数返回一int型数据pint型数据的指针p是函数名,该函数返回一指向int 型数据的指针变量的指针,其含义是指该变量的:

(B)A.值B.地址C. 名D. 一个标志x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是(A)pb=&x B)pb=x C)*pb=&x D)*pb=*x已知:inta,*p=&a; 则下列函数调用中错误的是( D)A、seanf(“%d,&a);C、printf(“%d,a);对于同类型的指针变

B、seanf(“%d,p);D、printf(“%d,p);CA.- B.= C.+ D.==对于基类型相同的两个指针变量之间,不能进行的运算是A)<B)= C)+D)-下列不正确的定义是(A.int*p=&i,i;C.inti,*p=&i;

A)。B.int*p,i;D.inti,*p;若有说明:intn=2,*p=&n,*q=p,p=qB)*p=*q

则以下非法的赋值语句是:(D)C)n=*qD)p=*p,a=10,b=1;p=&a;a=*p+b;执行该程序段后,a的值为CA)编译出错

B)10C)11 D)1210.

有语句:inta[10],;则Bp的正确定义和初始化。A)intp=*a;B)int*p=a;C)intp=&a;D)int*p=&a;若有说明语句“inta[5],*p=a;

”,则对数组元素的正确引用是(C)。A.a[p] B.p[a]

C.*(p+2)

D.p+2pa[10]的首地址p=a;则下列数组元素a[i](0<i<10)

的表示方法中正确的是:(C)A.p+iB.&(a+i)C.*(a+i)D.*(p+i*2)有如下程序inta[10]={1,2,3,4,5,6,7,8,9,10},*P=a;9A)*P+9B)*(P+8)

BC)*P+=9D)P+8a数组元素的表达式是(B)。inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;A.*pB.a[10] C.*a D.a[p-a]*15.已知inta[5],*p=a;P+1与a+1

下面的叙述中正确的是P[1]

A。与*p等价*(p+1)与a+1等价D)p[1] 与a++等16.若有以下说明: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)下面程序的输出结果是C0 B)1main(){inta[戶{1,234,5,6,7,8,9,0},*p;P=a;printf(“t%d,*p+);

D)p+3C)2 D)输出错误}执行语句charc[10]={“abed” B)'\0'下列函数的功能是A。voidfun(int*p1,int*p2){intp;p=*p1;*p1=*p2;*p2=p;

”abed”},*pc二 后,*(pc+4)的值是(B)c;C)‘d'D)不确定交换*p1和*p2的值B)C)交换*p1和*p2的地址D)*20.有如下程序main(){chars[]= “ABCD,*P;for(p=s+1;pvs+4;p++)printf该程序的输出结果是

语法正确,但无法交换*p1和*p2有语法错误“%sn”,p); }ABCDBCDCDBCCDD*21.请读程序,输出结果为:#includevstdio.h>inta[]={2,4,6,8};main(){inti,b[4];int*p二a;for(i=0;i<4;i++){b[i]=*pprintf("%d\n",b[2]);}6

;P++;}B)8 C)4 D)2*22.内存空间被分成不同区域,其中用函数void*malloc(unsigned申请的内存在C分配。A)程序区B)静态存储区C)动态存储区九、字符串在C语言中,以 D作为字符串结束标志

intsize);A)'\n'B)'

' C)'

D)'\0下列数据中属于“字符串常量”的是(A.“a” B.{ABC} C.字符串“ABCD在内存占用的字节数是(

)。‘abc\0' D.4 B.6

C.1 D.(A)“0下面不正确的字符串常量是:“12'12”“0A.PRORhararray

]="abcd";

”则数组array 所占的空间为_BA)4个字节B)5个字节C)6*6.下述对C语言中字符数组的描述错误的是A)字符数组可以存放字符串

个字节C。

7个字节字符数组中的字符串可以整体输入和输出可在赋值语句中通过赋值运算符“=”对字符数组整体赋值可在对字符数组定义时通过赋值运算符“=”对字符数组整体初始化7.已知charx[]="hello",y[]={'h','e','a','b','e'};,度的正确描述是 B.

则关于两个数组长A)相同B)x大于yC)x小于yD)以上答案都不对8.给出以下定义:charx[]="abcdefg";chary[]={'a','b','c','d','e',f,'g'};则正确的叙述为CA)数组x和数组y等价 C)数组x的长度大于数组y的长度9、若有以下语句,则正确的描述是(

xy的长度相同D)xy度)。staticcharx[]=staticchary[]={

”12345”;‘1',‘2',‘3',‘4',5','\0'};、x数组长度大于y数组长度B、xy数组不相同、x数组长度小于y数组长度D、xy数组、10 已知:chars[20]= Programming”,*ps=s;则不能引用字母o的表达式、是(C)oA、ps[2]B、s[2]*11s1,s2

C、ps+2 D、ps+=2,*ps是否相等,应使用(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( “school7B)6C) 存在语法错误 D)不定值s赋值,不合法的一个是(C)chars[]="Beijing";chars[20]={"beijing"};chars[20] ;s="Beijing";D.chars[20]={'B','e','i','j','i','n','g'} ;

str赋初值,str不能作为字符串使用的一个是(D)charstr[]="shanghai" ;charstr[]={"shanghai"};

'\0'};C.charstr[9]={'s','h','a','n','g','h','a','i',

D.charstr[8]={'s','h','a','n','g','h','a','i'}合法的数组定义是C

A)inta[]=

温馨提示

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

评论

0/150

提交评论