C语言练习题文档格式.docx

上传人:b****4 文档编号:17577661 上传时间:2022-12-07 格式:DOCX 页数:62 大小:60.36KB
下载 相关 举报
C语言练习题文档格式.docx_第1页
第1页 / 共62页
C语言练习题文档格式.docx_第2页
第2页 / 共62页
C语言练习题文档格式.docx_第3页
第3页 / 共62页
C语言练习题文档格式.docx_第4页
第4页 / 共62页
C语言练习题文档格式.docx_第5页
第5页 / 共62页
点击查看更多>>
下载资源
资源描述

C语言练习题文档格式.docx

《C语言练习题文档格式.docx》由会员分享,可在线阅读,更多相关《C语言练习题文档格式.docx(62页珍藏版)》请在冰豆网上搜索。

C语言练习题文档格式.docx

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)’#’

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)由用户自定义

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

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

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

35.设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<

b)&

!

c||1)

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

A)11/3 

B)11.0/3

C)(float)11/3 

D)(int)(11.0/3+0.5)

40.已知字母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>

m=(m>

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

45.设整型变量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的值是(A)

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

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

x*=x;

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

53.若有语句inta=1,b;

doubley=2.3;

b=(int)y;

则b的值为(B)。

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(“%d%d”,&

y)D)scanf(“%d,%c”,&

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)是完全等价的表达式

三、选择结构

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<

=z)D)(x<

3.能正确表示逻辑关系:

“a≥=10或a≤0”的C语言表达式是(D)

A)a>

=10ora<

=0B)a>

=0|a<

=10

C)a>

=10&

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

X<

90,应使用的C语言表达式是A。

A)(X>

79)&

(X<

90)B)(X>

79)!

=(X<

90)

C)79<

90D)(X>

79)||(X<

6.设有语句“inta=2,b=3,c=-2,d=2;

”,则逻辑表达式“a>

0&

b&

c<

d>

0”的值是(A )

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

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

A.10<

15B.a==11||a==12||a==13||a==14

C.a>

10&

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:

case11:

default:

}

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;

D、if(a==0)s1;

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:

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

四、循环结构

2.break语句不能出现在(D )语句中

A.switchB.forC.whileD.if…else

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.无限次    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);

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)有语法错误

13.执行语句{for(j=0;

j<

=3;

j++)a=1;

}后变量j的值是C.

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

14.有如下程序

{inti,sum=2;

for(i=1;

i<

i+=2)sum+=i;

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

该程序的执行结果是A

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

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}

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;

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]]元素数值是(C )。

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

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

11.若有说明:

inta[][3]={{1,2,3},{4,5},{6,7}};

则数组a的第一维的大小为:

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

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

(C)

inti;

intx[3][3]={1,2,3,4,5,6,7,8,9};

for(i=0;

3;

i++)

%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];

则对数组元素引用正确的是__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.任意指定的数据类型

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

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

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

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

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

9.以下叙述中正确的是A

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

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

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

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

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

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

C)数组全部元素的值D)数组元素的个数

13、函数的功能是交换变量x和y中的值,且通过正确调用返回交换的结果。

能正确执行此功能的函数是(D)。

B、funb(intx,inty)

{intt;

t=x;

x=y;

y=t;

A、funa(int*x,int*y)

{int*p;

*p=*x;

*x=*y;

*y=*p;

D、fund(int*x,int*y)

t=*x;

*y=t;

C、func(int*x,int*y)

p=x;

x=y;

y=p;

14.有如下程序

intfunc(inta,intb)

{return(a+b);

{intx=2,y=x,z=8,r;

r=func(func(x,y),func(y,z));

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

该程序的输出的结果是C

A)12B)13C)14D)15

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

(C)

A)autoB)registerC)staticD)extern

18.未指定存储类别的变量,其隐含的存储类别为(A)。

A)autoB)staticC)externD)register

七、结构体

1.若有以下说明语句:

structstudent

{intnum;

charname[];

floatscore;

}stu;

则下面的叙述不正确的是:

(D)

A.struct是结构体类型的关键字

B.structstudent是用户定义的结构体类型

C.num,score都是结构体成员名

D.stu是用户定义的结构体类型名

2.若有以下说明语句:

structdate

{intyear;

intmonth;

intday;

}brithday;

则下面的叙述不正确的是__C___.

A)struct是声明结构体类型时用的关键字

B)structdate是用户定义的结构体类型名

C)brithday是用户定义的结构体类型名

D)year,day都是结构体成员名

4.以下对结构变量stul中成员age的非法引用是B

structstudent

{intage;

intnum;

}stu1,*p;

p=&

stu1;

A)stu1.ageB)student.ageC)p->

ageD)(*p).age

6.存放100个学生的数据、包括学号、姓名、成绩。

在如下的定义中,不正确的是(B)。

A.structstudent

{intsno;

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

当前位置:首页 > 工程科技 > 电力水利

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

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