C语言基本选择题及答案优选.docx

上传人:b****2 文档编号:24481688 上传时间:2023-05-28 格式:DOCX 页数:25 大小:33.72KB
下载 相关 举报
C语言基本选择题及答案优选.docx_第1页
第1页 / 共25页
C语言基本选择题及答案优选.docx_第2页
第2页 / 共25页
C语言基本选择题及答案优选.docx_第3页
第3页 / 共25页
C语言基本选择题及答案优选.docx_第4页
第4页 / 共25页
C语言基本选择题及答案优选.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

C语言基本选择题及答案优选.docx

《C语言基本选择题及答案优选.docx》由会员分享,可在线阅读,更多相关《C语言基本选择题及答案优选.docx(25页珍藏版)》请在冰豆网上搜索。

C语言基本选择题及答案优选.docx

C语言基本选择题及答案优选

计算机程序设计基础(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)

A.C程序运行步骤是编辑、编译、连接、执行。

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.switch     B.cher     C.case     D.default

2.C语言提供的合法关键字是(D )。

A.nextB.stringC.docaseD.default

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

A)longB)printC)defaultD)typedef

4.下列正确的标识符是(C )。

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

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

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

6.下面四个选项中,合法的标识符是:

(D)

A.autoB.defineC.6aD.c

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

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

8.以下选项中合法的用户标识符是B

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

9.下列四组选项中,正确的C语言标识符是(C)。

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

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

A)voidB)a3_b3C)ForD)2a

define_123-abcDO

WORDsumCasesizeof

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

A、print_3ddb8aBcB、I\amone_halfstart$it3pai

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

12.下列C语言标识符中合法的变量名是B。

A)2e3B)youC)*yD)float

13.C语言中的简单数据类型包括(D)。

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

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

14、下列可以正确表示字符型常量的是(A)。

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~32767D)-256~255

*24.若有以下类型说明语句:

chara;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)floatB)charC)intD)double

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

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

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

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

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

x=10;x+=x;

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

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

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

30.如果inta=3,b=4;则条件表达式"a

a:

b"的值是__A__。

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

31.若intx=2,y=3,z=4则表达式x

y:

z的结果是(B).

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

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

A)0B)0或1C)1D)‘T’或’F’

33.设a,b和c都是int型变量,且a=3,b=4,c=5,则下面表达式中,值为0的表达式是(D)

A、’a’&&’b’B、a<=b

C、a||b+c&&b-cD、!

((a

c||1)

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

  A)11/3          B)11.0/3

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

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

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

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

A)68B)‘D’C)错误D)‘d’

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

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

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

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

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

38.有:

intw=11,x=12,y=3,m;执行下面语句后m的结果是(C)

m=(w

w:

x;

m=(m

m:

y;

A.1B.2C.3D.以上结果都不对

39.有:

intw=7,x=12,y=3,m;执行下面语句后m的值是(A)

m=(w>x)?

w:

x;

m=(m>y)?

m:

y;

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

40.设整型变量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)

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

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

=

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

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

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

x=10;x*=x;

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

44.若有语句inta=1,b;doubley=2.3;b=(int)y;则b的值为(B)。

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

45.已知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)

46.在C语言的库函数中,可以输出char型变量x值的语句是C。

A)getchar(x);B)fputc(x)C)putchar(x)D)puts(x)

47.以下说法正确的是(C)

A)'x'+5是一个错误的表达式

B)C语言不允许类型的混合运算

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

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

48.设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语言表达式为A

A)(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<=0B)a>=0|a<=10

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

4、判断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

A)(X>79)&&(X<90)B)(X>79)!

=(X<90)

C)7979)||(X<90)

6.设有语句“inta=2,b=3,c=-2,d=2;”,则逻辑表达式“a>0&&b&&c<0&&d>0”的值是(A )

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

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

A.10

C.a>10&&a<15D.!

(a<=10)&&!

(a>=15)

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

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

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

switch(i)

{case9:

i+=1;

case10:

i+=1;

case11:

i+=1;

default:

i+=1;}

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

10.在下面的条件语句中(其中s1和s2表示是C语言的语句),只有一个在功能上与其它三个语句不等价,它是(D)。

A、if(a)s1;elses2;B、if(a==0)s2;elses1;

C、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.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

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

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

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(“a=%d,b=%d\n”,a,b);}

该程序的输出结果是D

A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2

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

(C)

main()

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

if(x

if(y<0)z=0;

elsez=z+1;

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语句中

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

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

4.语句while(!

y);中的表达式!

y等价于A

A)y==0B)y!

=1C)y=!

0D)y==1

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

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

6.有以下程序段

intk=0

while(k)k++;

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

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

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

7.下列循环语句中有语法错误的是(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

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)

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.不确定次    C.10次      D.9次

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

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

14.有如下程序

main()

{inti,sum=2;

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

printf(“%d\n”,sum);}

该程序的执行结果是A

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

*15、执行语句”for(i=0;i++<3;);”后,变量i的值为(C)。

A、2B、3C、4D、5

16.设x和y均为int型变量,则执行以下的循环后,y的值为(D )。

for(y=1,x=1;y<=50;y++)

{

if(x>=0)break;

if(x%2==1){x+=5;continue;}

x-=3;

}

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

五数组

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*1}

3.在C语言中对一维整型数组的正确定义为D。

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[0]

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

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]={1,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]={1,4,7,10,2,5,8,11,3,6,9,12};

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

9.假定int类型变量占用两个字节,其有定义:

intx[10]={0,2,4};,则数组x在内存中所占字节数是D

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

10.若有说明:

inta[][3]={{1,2,3},{4,5},{6,7}};则数组a的第一维的大小为:

(B)

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

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

A)inta[]={1,2};B)char*a;

C)chars[10]=“test”;D)intn=5,a[n];

12.下面程序段的输出结果是:

(C)

inti;

intx[3][3]={1,2,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 小学教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1