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

下载本文档

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

文档简介

计算机程序设计基础(C语言)

单项选择练习题

、基本概念

I.c语言程序是由('构成的。

A)一些可执行语言B)main函数C)函数D)包含文献中的第一个函数

2.(A)是构成C语言程序的基本单位。

A、函数B、过程C、子程序D、子例程

3.C语言程序从C开始执行。

A)程序中第一条可执行语句B)程序中第一个函数

0程序中的main函数D)包含文献中的第一个

函数

4.C语言程序从main。函数开始执行,所以这个函数要写在o

A)程序文献的开始B)程序文献的最后

0它所调用的函数的前面D)程序文献的任何位置

5、以下说法中对的的是(C)。

A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main()函数中定义

C、C语言程序总是从main()函数开始执行

D、C语言程序中的main()函数必须放在程序的开始部分

6.下列方法中错误的是(D)。

A.主函数可以分为两个部分:主函数说明部分和主函数体。

B.主函数可以调用任何非主函数的其它函数。

C.任何非主函数可以调用其它任何非主函数。

D.程序可以从任何非主函数开始执行。

7.下列说法错误的是:(B)

A.C程序运营环节是编辑、编译、连接、执行。

B.C语言的变量名必须用小写,常量用大写。

C.C语言的三种基本结构是顺序、选择、循环。

D.C程序一定由函数构成的。

8.下列关于C语言的说法错误的是(B)o

A)C程序的工作过程是编辑、编译、连接、运营

B)C语言不区分大小写。

0C程序的三种基本结构是顺序、选择、循环

D)C程序从main函数开始执行

9.系统默认的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)o

A.nextB.stringC.docaseD.struct

*3.下列不属于C语言中关键字的是」—

A)longB)printC)defaultD)typedef

4.下列对的的标记符是(C)0

A.-alB.a[i]C.a2_iD.intt

5.下列C语言用户标记符中合法的是(B)。

A、*yB、sumC、intD、%5f

6.下面四个选项中,合法的标记符是:(D)

A.autoB.defineC.6aD.c

7.下列C语言用户标记符中合法的是(B)o

A)3axB)xC)caseD)-e2E)union

8.以下选项中合法的用户标记符是」―

A)longB)_2TestC)3DmaxD)A.dat

9.下列四组选项中,对的的C语言标记符是(C

A)%xB)a+bC)al23D)123

10.请选出可用作C语言用户标记符的一组标记符(B)

A)voidB)a3_b3C)ForD)2a

define_123-abcDO

WORDsumCasesizeof

11、下列四组字符串中都可以用作C语言程序中的标记符的是(A)0

A、print_3ddb8aBcB、I\amone_halfstart$it3pai

C、str_lCpppowwhileD、PxqMy->bookline#His.age

12.下列C语言标记符中合法的变量名是3o

A)2e3B)youC)*yD)float

13.C语言中的简朴数据类型涉及(D)o

A、整型、实型、逻辑型B、整型、实型、逻辑型、字符型

C、整型、字符型、逻辑型D、整型、实型、字符型

14、下列可以对的表达字符型常量的是(A)o

A、'\t'B、"a"C、“\n”D、297

15.下列表达式中,D是对的的C语言字符常量。

A)"x”B)e3C)”COMPUTER"D)'

16.在下列表达式中,属于字符型常量的是B。

A)AB)'a'C)"A"D)b

17.以下选项中合法的字符常量是(B)

A)"B"B)''n'C)’68'D)E

18.下面字符常量表达错误的是(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〜327670)-256—255

26.C语言中运算对象必须是整型的运算符是(A)

A)%=B)/C)=D)<=

27.在C语言程序中,表达式8/5的结果是(B)

A)1.6B)1C)3D)0

28.设x为int型变量,则执行以下语句后,x的值为3

x=10;x+=x;

A)10B)20C)40D)30

31.在C语言程序中,表达式5%2的结果是C。

A)2.5B)2C)1D)3

32.假如inta=3,b=4;则条件表达式〃a〈b?a:b"的值是A。

A)3B)4C)0D)1

33.若intx=2,y=3,z=4则表达式x〈z?y:z的结果是(B).

A)4B)3C)2D)0E)1

34.C语言中,关系表达式和逻辑表达式的值是(B)。

37.下面(D)表达式的值为4.

A)11/3B)11.0/3

C)(float)11/3D)(int)(11.0/3+0.5)

*39.已知intx=5,y=5,z=5;执行语句x%=y+z;后,x的值是(C)

A.0B.1C.5D.6

40.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句

c2='A'+'6'-'3';后,c2中的值为(B)

A)68B)DC)错误D)d

41.下列关于C语言的叙述错误的是(A)

A)大写字母和小写字母的意义相同

B)不同类型的变量可以在一个表达式中

0在赋值表达式中档号(=)左边的变量和右边的值可以是不同类型

D)同一个运算符号在不同的场合可以有不同的含义

42.有:intw=ll,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.1

45.设整型变量a=2,则执行下列语句后,浮点型变量b的值不为0.5的是

(B)

A.b=l.0/aB.b=(float)(1/a)

C.b=l/(float)aD.b=l/(a*l.0)

48.以下运算符中优先级最高的运算符是(B)

A)&&B)++C)+=D)!=

49.若“intn;floatf=13.8;”,则执行“n=(int)f%3"后,n的值是(A)

A.1B.4C.4.333333D.4.6

52.设x为int型变量,则执行以下语句后,x的值为(C)

x=10;x*=x;

A)10B)20C)100D)0

53.若有语句inta=l,b;doubley=2.3;b=(int)y;则b的值为(B)0

A)3B)2C)1D)2.3

54.已知intx;chary;则下面错误的scanf函数调用语句为(B)

A)scanf("%d,%d",&x,&y);B)scanf("%d,%c”,x,y)

C)scanf(u%d%dw,&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语言不允许类型的混合运算

0强制类型转换时,类型说明符必须加括号

D)(int)x+y和(int)(x+y)是完全等价的表达式

61.设intx=0,y=l;表达式(x||y)的值是(B)

A)0B)1C)2D)-1

三、选择结构

1.在C语言中,认为(D)为逻辑''真"

A)trueB)大于0的数C)非0整数D)非0的数

2.表达关系x<=y<=z的c语言表达式为八

A)(x<=y)&&(y〈=z)B)(x<=y)AND(y<=z)

C)(x<=y<=z)D)(x<=y)&(y<=z)

3.能对的表达逻辑关系:"a»=10或aWO”的C语言表达式是(D)

A)a>=10ora<=0B)a>=0|a<=10

C)a>=10&&a<=0D)a>=10IIa<=0

4、判断char型变量cl是否为大写字母的表达式为(D)。

A、'A,<=cl<=,Z'B、(cl>='A,)&(cl<=,T)

C、('A'<=cl)AND('Z'>=cl)D、cl>='A'&&cl<=,Z'

5.为表达逻辑表达式79<X<90,应使用的C语言表达式是」o

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>O&&b&&c〈O&&d〉O”的

值是(A)

A.1B.0C.-1D.犯错

7.设a为整型变量,则不能对的表达数学关系10<a<15的C语言表达式是

(A)o

A.10<a<15B.a==ll||a==12||a==13||a==14

C.a>10&&a<15D.!(a<=10)&&!(a>=15)

8.设x,t均为int型变量,则执行语句“x=10;廿x&&x〉10;”后,t的值为(D)

A.不定值B.10C.1D.0

9.若inti=10;执行下列程序后,变量i的对的结果是(A)。

switch(i)

{case9:i+=l;

case10:i+=l;

case11:i+=l;

default:i+=l;}

A、13B、12C、11D、10

10.在下面的条件语句中(其中si和s2表达是C语言的语句),只有一个在功

能上与其它三个语句不等价,它是(D)。

A、if(a)si;elses2;B>if(a==0)s2;elsesi;

C、if(a!=0)si;elses2;D>if(a==0)si;elses2;

IL假定所有变量均已对的定义,则下列程序段运营后y的值是(A)

inta=0,y=10;

if(a=0)y--;

elseif(a>0)y++;

elsey+=y;

A.20B.11C.9D.0

12.假定所有变量均已对的定义,则下列程序段运营后x的值是(B)。

a=b=c=0;x=35;

if(!a)x-;

elseif(b);

if(c)x=3;

elsex=4;

A.34B.4C.35D.3

13.C语言对嵌套if语句的规定是:else语句总是与(D)配对。

A)其之前最近的ifB)第一个if

0缩进位置相同的ifD)其之前最近的且尚未配对的if

14.在C语言语句中,用来决定分支流程的表达式是(A)o

A.可用任意表达式B.只能用逻辑表达式或关系表达式

C.只能用逻辑表达式D.只能用关系表达式

15.C语言中用(B)表达逻辑“真二

A.trueB.整数值1

C.非零整数值D.false

16、若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(aa=%d,b=%d\nw,a,b);}

该程序的输出结果是」—

A)a=2,b=lB)a=l,b=lC)a=l,b=0D)a=2,b=2

18.以下程序的输出结果是:(C)

main()

{intx=-10,y=1,z=l;

if(x<y)

if(y<0)z=0;

elsez=z+l;

printf(“%d\n”,z);

)

A.0B.1C.2D.3

19.以下程序段的输出结果是(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=10

C)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)

A)break语句不能用于循环语句和switch语句之外的任何其他语句中。

B)break和continue也可以用于if语句中

0continue语句只结束本次循环,而不是终止整个循环的执行。

D)break语句是结束整个循环过程,不再判断执行循环的条件是否成立。

4.语句while(!y);中的表达式!y等价于A

A)y==0B)y!=1C)y=!0D)y==l

5.若有“inta=l,x=l;",则循环语句“while(aGO)x++;a++;”的循环执行(A)

A.无限次B.不拟定次C.10次D.9次

6.有以下程序段

intk=0

while(k)k++;

则while循环体执行的次数是」

A)无限次B)有语法错,不能执行

0一次也不执行D)执行1次

7.下列循环语句中有语法错误的是(D)

Awhile(x=y)5;Bwhile(0);

Cdo2;while(x==b);Ddox++while(x==10);

9.以下程序段(A)

x=-l;

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(a%d,%d),,sum,n)

A.0,10B.10,11C.0,11D.以上结果都不对

11.对以下程序段的叙述对的的是A.

intx=l;

do

{x=-l*x;}

while(!x)

A)是死循环B)循环执行一次C)循环执行二次D)有语法错误

12.循环“for(i=0,x=l;i=10&&x>0;i++);”的循环执行(A)。

A.无限次B.不拟定次C.10次D.9次

13.执行语句{for(j=0;j<=3;j++)a=l;}后变量j的值是C.

A)0B)3C)4D)1

14.有如下程序

main()

{inti,sum=2;

for(i=l;i<=3;i+=2)sum+=i;

printf("%d\n",sum);}

该程序的执行结果是」—

A)6B)3C)死循环D)4

五数组

1.以下对一维数组a的对的说明是:D

A)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*l}

3.在C语言中对一维整型数组的对的定义为I)

A)inta(10);B)intn=10,a[n];

C)intn;a[n];D)#defineN10

inta[N];

4、已知:inta[10];则对a数组元素的对的引用是(D)。

A、a[10]B、a[3.5]C、a(5)D、a[O]

5.执行下面的程序段后,变量k中的值为」

A)不定值B)33C)30D)10

intk=3,s[2];

s[0]=k;k=s[0]*10;

*6.下列说法中错误的是C

A构成数组的所有元素的数据类型必须是相同的

B用指针法引用数组元素允许数组元素的下标越界

C一维数组元素的下标依次是1、2、3……

D定义数组时的长度可以是整型常量表达式

7.若有以下数组说明,则数值最大的和最小的元素下标分别是(B)。

inta[12]={l,2,3,4,5,6,7,8,9,10,11,12);

A.1,12B.0,11C.1,11D.0,12

8.若有以下数组说明,则i=10;a[a[i]]元素数值是(B)。

inta[12]={l,4,7,10,2,5,8,11,3,6,9,12);

A.10B.9C.6D.5

9.假定int类型变量占用两个字节,其有定义:intx[10]={0,2,4};,则数组

x在内存中所占字节数是」—

A)3B)6C)10D)20

11.若有说明:inta[][3拄{{1,2,3},{4,5},{6,7}};则数组a的第一维的大小

为:(B)

A.2B.3C.4D.无拟定值

12.以下定义语句中,错误的是(D)

A)int=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(z/%d",x[i][2-i]);

A)159B)147C)357D)369

14.对二维数组的对的定义是(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];则对数组元素引用对的的是」

A)a[2][4]B)a[l,3]C)a[2][0]D)a(2)(1)

六、函数

LC语言中函数返回值的类型是由决定的.

A)函数定义时指定的类型B)return语句中的表达式类型

C)调用该函数时的实参的数据类型D)形参的数据类型

2.在C语言中,函数的数据类型是指(A)

A函数返回值的数据类型B.函数形参的数据类型

C调用该函数时的实参的数据类型D.任意指定的数据类型

A.由系统选择B.单向值传递C.由用户指定传递方式D.地址传递

5.在函数调用时,以下说法对的的是(B)

A.函数调用后必须带回返回值

B.实际参数和形式参数可以同名

C.函数间的数据传递不可以使用全局变量

D.主调函数和被调函数总是在同一个文献里

9.以下叙述中对的的是」

A)构成C程序的基本单位是函数

B)可以在一个函数中定义另一个函数

C)main()函数必须放在其它函数之前

D)所有被调用的函数一定要在调用之前进行定义

10.用数组名作为函数调用时的实参时,传递给形参的是A

A)数组首地址B)数组第一个元素的值

C)数组所有元素的值D)数组元素的个数

*16.下列说法中对的的是:(A)

A.局部变量在一定范围内有效,且可与该范围外的变量同名。

B.假如一个源文献中,全局变量与局部变量同名,则在局部变量范围内,

局部变量不起作用。

C.局部变量缺省情况下都是静态变量。

D.函数体内的局部静态变量,在函数体外也有效。

17.在C语言中,表达静态存储类别的关键字是:(C)

A)autoB)registerC)staticD)extern

18.未指定存储类别的变量,其隐含的存储类别为(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=&xD)*pb=*x

4、已知: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.对于基类型相同的两个指针变量之间,不能进行的运算是_C—

A)<B)=C)+D)-

7.下列不对的的定义是(A)。

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=n

9.int*p,a=10,b=l;p=&a;a=*p+b;

执行该程序段后,a的值为」—

A)编译犯错B)10C)11D)12

10.有语句:inta[10],;则」是对指针变量p的对的定义和初始化。

A)intp=*a;B)int*p=a;C)intp=&a;D)int*p=&a;

IL若有说明语句“inta[5],*p=a;",则对数组元素的对的引用是(C)。

A.a[p]B.p[a]C.*(p+2)D.p+2

12.若指针变量p指向整型数组a[10]的首地址,即p=a;则下列数组元素

的表达方法中对的的是:(C)

A.p+iB.&(a+i)C.*(a+i)D.*(p+i*2)

13.有如下程序

inta[10]-{l,2,3,4,5,6,7,8,9,10},*P=a;

则数值为9的表达式是」

A)*P+9B)*(P+8)C)*P+=9D)P+8

16.若有以下说明:

inta[10]={l,2,3,4,5,6,7,8,9,10),*p=a;

则数值为4的表达式是(C)

A)*p+4B)*(p+4)C)*(p+3)D)p+3

19.下列函数的功能是A。

voidfun(int*pl,int*p2)

{intp;

p=*pl;*pl=*p2;*p2=p;

A)互换*pl和*p2的值B)语法对的,但无法互换*pl和*p2的值

0互换*pl和*p2的地址D)有语法错误

九、字符串

1.在C语言中,以D作为字符串结束标志

A),\n,B)''C)'O'D)''O'

2.下列数据中属于“字符串常量”的是(A)o

A.“a”B.{ABC}C.<abc\O,D.'a'

3.字符串“ABCD”在内存占用的字节数是(D)o

A.4B.6C.1D.5

4.下面不对的的字符串常量是:(A)

A.'PROGRAM'B"12'12"C“0”D"”

5.设有数组定义:chararray[]="abcd”;则数组array所占的空间为B

A)4个字节B)5个字节C)6个字节D)7个字节

7.已知charx[]="hello”,y口品'h','e','a','b','e'};,则关于两个数组长

度的对的描述是B.

A)相同B)x大于yC)x小于y

温馨提示

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

评论

0/150

提交评论