C语言理论基础试题Word下载.docx

上传人:b****5 文档编号:21725584 上传时间:2023-01-31 格式:DOCX 页数:30 大小:33.13KB
下载 相关 举报
C语言理论基础试题Word下载.docx_第1页
第1页 / 共30页
C语言理论基础试题Word下载.docx_第2页
第2页 / 共30页
C语言理论基础试题Word下载.docx_第3页
第3页 / 共30页
C语言理论基础试题Word下载.docx_第4页
第4页 / 共30页
C语言理论基础试题Word下载.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

C语言理论基础试题Word下载.docx

《C语言理论基础试题Word下载.docx》由会员分享,可在线阅读,更多相关《C语言理论基础试题Word下载.docx(30页珍藏版)》请在冰豆网上搜索。

C语言理论基础试题Word下载.docx

c<

d?

c:

d的值 

  A)1 

   B)2 

  C)3 

  D)4

(15)以下4组用户定义标识符中,全部合法的一组是

  A)_main 

 B)If 

  C)txt 

  D)int

  enclude 

-max 

REAL 

  k_2

  sin 

 turbo 

3COM 

_001

(24)下列关于单目运算符++、--的叙述中正确的是

  A)它们的运算对象可以是任何变量和常量

  B)它们的运算对象可以是char型变量和int型变量,但不能是float型变量

  C)它们的运算对象可以是int型变量,但不能是double型变量和float型变量

  D)它们的运算对象可以是char型变量、int型变量和float型变量

(26)以下选项中合法的用户标识符是

  A)long 

   B)_2Test 

 C)3Dmax 

   D)A.dat

(27)以下非法的赋值语句是

  A)n=(i=2,++i);

B)j++;

   C)++(i+1);

  D)x=j>

0;

(28)设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是

  A)6. 

  B)6 

  C)5. 

  D)6.

(33)以下选项中不属于C语言的类型的是

  A)signed 

short 

int 

  B)unsigned 

longint

  C)unsigned 

  D)long 

short

(34)以下叙述正确的是

  A)可以把define和if定义为用户标识符

  B)可以把define定义为用户标识符,但不能把if定义为用户标识符

  C)可以把if定义为用户标识符,但不能把define定义为用户标识符

  D)define和if都不能定义为用户标识符

(35)在C语言中,合法的长整型常数是

  A)0L 

  B) 

  C)&

  D)216D

(37)假定x和y为double型,则表达式x=2,y=x+3/2的值是

  A)3. 

  B)3 

  C)2. 

  D)3.

(38)以下合法的赋值语句是

  A) 

x=y=100 

  B)d--;

  C)x+y;

  D)c=int(a+b);

(40)以下程序的输出结果是

main()

a=3;

printf(“%d\n”,(a+a-=a*a));

}

  A)–6 

  B)12 

  C)0 

  D)–12

(41)以下所列的C语言常量中,错误的是

  A)0xFF 

  B)1.2e0.5 

  C)2L 

  D)‘\72’

(42)下列选项中,合法的C语言关键字是

  A)VAR 

  B)cher 

  C)integer 

  D)default

(47)若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是

  A)1 

B)2 

C)2.0 

D)2.5

(48)若变量a、iI已正确定义,且i已正确赋值,合法的语句是

  A)a==1 

B)++i;

C)a=a++=5;

D)a=int(i);

(49)若有以下程序段,

c1=1,c2=2,c3;

c3=1.0/c2*c1;

则执行后,c3中的值是

  A)0 

B)0.5 

C)1 

D)2

(50)设有intx=11;

则表达式(x++*1/3)的值是

A)3 

  B)4 

C)11 

D)12

(51)下列程序的输出结果是

  B)3.2 

C)0 

D)3.07

main()

{doubled=3.2;

intx,y;

x=1.2;

y=(x+3.8)/5.0;

printf("

%d\n"

d*y);

}

(52)下列变量定义中合法的是

  A)short_a=1-.le-1;

  B)double 

b=1+5e2.5;

  C)long 

do=0xfdaL;

  D)float 

2_and=1-e-3;

(53)以下选项中属于C语言的数据类型是

  A)复数型 

  B)逻辑型 

  C)双精度型 

  D)集合型

(62)C语言提供的合法的数据类型关键字是

  A)Double 

 B)short 

  

C)integer 

D)Char

(73)C语言程序的基本单位是

  A)程序行 

 B)语句 

 C)函数 

D)字符

(5)设a、b、c为整型数,且a=2、b=3、c=4,则执行完以下语句:

a*=16+(b++)-(++c);

后,a的值是【5】。

第三部分顺序结构:

输入与输出

(1)有以下程序

m,n,p;

scanf("

m=%dn=%dp=%d"

&

m,&

n,&

p);

%d%d%d\n"

m,n,p);

若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是 

  A)m=123n=456p=789

  B)m=123 

n=456 

p=789

  C)m=123,n=456,p=789

  D)123 

456 

789

(2)有以下程序

{intm=0256,n=256;

%o%o\n"

m,n);

程序运行后的输出结果是

  A)02560400 

  B)0256256 

  C)256400 

  D)400400

(5)有以下程序

{int 

a;

char 

c=10;

float 

f=100.0;

double 

x;

a=f/=c*=(x=6.5);

printf("

%d 

%d 

%3.1f 

%3.1f\n"

a,c,f,x);

65 

6.5 

  B)1 

1.5 

6.5

  C)1 

1.0 

  D)2 

(6)有定义语句:

x,y;

,若要通过scanf("

%d,%d"

x,&

y);

语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是

  A)11 

12<

回车> 

  B)11,12<回车>

  C=11,12<回车> 

  D=11,<回车>

    12<回车>

(8)若有以下程序段(n所赋的是八进制数)

intm=32767,n=

%d,%o/n"

执行后输出结果是

  A)32767,32767 

B)32767,

  C)32767,77777 

D)32767,

(9)若有以下程序段

intm=0xabc,n=0xabc;

m-=n;

%X\n"

m);

  A)0X0 

  B)0x0 

  C)0 

  D)0XABC

(11)设有定义:

longx=-L;

,则以下能够正确输出变量x值的语句是

  A)printf(“x=%d\n”,x);

  B)printf(“x=%ld\n”,x);

  C)printf(“x=%8dL\n”,x);

  D)printf(“x=%LD\n”,x);

(12)以下程序段的输出结果是

a=1234;

%2d\n"

a);

  A)12 

  B)34 

  C)1234 

  D)提示出错、无结果

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

  A)17,021,0x11 

B)17,17,17

  B)17,0x11,021 

D)17,21,11

main( 

k=17;

%d,%o,%x\n"

,k,k,k);

(23)请读程序:

#include<

stdio.h>

{inta;

floatb,c;

scanf("

%2d%3f%4f"

a,&

b,&

c);

\na=%d,b=%f,c=%f\n"

a,b,c);

若运行时从键盘上输入<

CR>

(<

表示回车),则上面程序的输出结果是

  A)a=98,b=765,c=4321 

  B)a=10,b=432,c=8765

  C)a=98,b=765.,c=4321. 

  D)a=98,b=765.0,c=4321.0

(25)以下程序的输出结果是 【25】。

#include<

inta=2,c=5;

a=%%d,b=%%d\n"

a,c);

  A)a=%2,b=%5 

  B)a=2,b=5 

  C)a=%%d,b=%%d 

  D)a=%d,b=%d

(8)若有程序

i,j;

i=%d,j=%d"

;

&

i,&

j);

i=%d,j=%d\n"

i,j);

要求给i赋10,给j赋20,则应该从键盘输入 【8】 。

(14)若想通过以下输入语句使a=5.0,b=4,c=3,则输入数据的形式应该是【14】 

b,c;

floata;

%f,%d,c=%d"

,&

a,&

b,&

c);

(15)若想通过以下输入语句给a赋于1,给b赋于2,则输入数据的形式应该是【15】。

inta,b;

a=%d,b=%d"

b);

第四部分选择结构

(3)设有定义:

a=2,b=3,c=4;

,则以下选项中值为0的表达式是

  A)(!

a==1)&

(!

b==0) 

  B)(a<

b)&

!

c||1

  C)a&

  D)a||(b+b)&

(c-a)

(4)设变量a、b、c、d和y都已正确定义并赋值。

若有以下if语句

if(a<

b)

if(c==d) 

y=0;

else 

y=1;

该语句所表示的含义是

(6)有以下程序

i=1,j=2,k=3;

if(i++==1&

(++j==3||k++==3))

%d\n"

i,j,k);

程序运行后的输出结果是 

3

  B)2 

4

  C)2 

  D)2 

(8)有以下程序

{

inta=3,b=4,c=5,d=2;

if(a>

if(b>

c)

%d"

d+++1);

else

++d+1);

%d\n"

d);

  A)2 

  B)3 

  C)43 

  D)44

(10)以下4个选项中,不能看作一条语句的是

  A){;

  B)a=0,b=0,c=0;

  C)if(a>

0);

  D)if(b==0)m=1;

n=2;

(11)以下程序段中与语句k=a>

(b>

c?

1:

0):

0;

功能等价的是

 A)if((a>

B)&

C))k=1;

B) 

if((a>

B)||(b>

C)) 

k=1

                 else 

k=0;

  C)if(a<

=B) 

  D)if(a>

k=1;

  elseif(b<

=C) 

  elseif(b>

C) 

       elsek=0;

(12)有以下程序

{int 

a=1,b=2,m=0,n=0,k;

k=(n=b>

a)||(m=a<

%d,%d\n"

k,m);

  A)0,0 

  B)0,1 

  C)1,0 

  D)1,1

(15)有以下程序

a=5,b=4,c=3,d=2;

if(a>

b>

elseif((c-1>

=d)==1)

d+1);

else

d+2)

  A)2 

  C)4 

  D)编译时有错,无结果

(16)已有定义:

intx=3,y=4,z=5;

,则表达式!

(x+y)+z-1&

y+z/2的值是

  A)6 

B)0 

 C)2 

D)1

(17)有一函数, 

以下程序段中不能根据x值正确计算出y值的是

  A)if(x>

0)y=1;

  B)y=0;

   elseif(x==0)y=0;

  if(x>

   elsey=-1;

     elseif(x<

0)y=-1;

  C)y=0;

     

D)if(x>

=0)

   if(x>

=0);

      if(x>

0)y=1 

     elsey=0;

     elsey=-1;

(18)有以下程序

inta=15,b=21,m=0;

switch(a%3)

{case0:

m++;

break;

case1:

switch(b%2)

{default:

case0:

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

  B)2 

  C)3 

  D)4

(24)设x、y、t均为int型变量,则执行语句:

x=y=3;

t=++x||++y;

后,y的值为

  A)不定值 

 B)4 

  D)1

(46)在下列选项中,不正确的赋值语句是

  A)++t;

  B)n1=(n2=(n3=0));

  C)k=i==j;

  D)a=b+c=1;

(47)能正确表示a≥10或a≤0的关系表达式是

  A)a>

=10ora<

=0 

  B)a>

=10│a<

=0

  C)a>

=10││a<

  D)a>

=10││a<

(2)以下程序运行后的输出结果是

a=3,b=4,c=5,t=99;

if(b<

a&

a<

c) 

t=a;

a=c;

c=t;

if(a<

c&

b<

t=b;

b=a;

a=t;

a,b,c);

(3)以下程序运行后的输出结果是

a,b,c

a=10;

b=20;

c=(a%b<

1)||(a/b>

1);

%d%d%d\n"

(5)有以下程序

main()

intn=0,m=1,x=2;

if(!

n) 

x-=1;

if(m) 

x-=2;

if(x) 

x-=3;

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

执行后输出结果是【5】。

(6)以下程序运行后的输出结果是 

【6】 

p=30;

printf(“%d\n”,(p/3>

0?

p/10 

:

p%3));

(9)若有以下程序

a=4,b=3,c=5,t=0;

if(a<

b)t=a;

a=b;

b=t;

c)t=a;

执行后输出结果是【9】。

(10)以下程序运行后的输出结果是 

[10] 

{intx=10,y=20,t=0;

if(x==y)t=x;

x=y;

y=t;

printf(“%d,%d\n”,x,y);

(15)若x为int类型,请以最简单的形式写出与逻辑表达式!

x等价的C语言关系表达式 

[15]。

第五部分:

循环结构

(3)有以下程序

k=5,n=0;

while(k>

0)

switch(k)

default 

break;

case 

n+=k;

k--;

n);

  A)0 

  B)4 

  C)6 

  D)7

(4)有以下程序

a=1,b;

for(b=1;

=10;

b++)

{

=8) 

if(a%2==1) 

a+=5;

continue;

a-=3;

b);

  A)3

  B)4

  C)5

  D)6

(12)有以下程序段

intn=0,p;

do{scanf(“%d”,&

n++;

}while(p!

=12345&

n<

3);

此处do—while循环的结束条件是

  A)P的值不等于12345并且n的值小于3

  B)P的值等于12345并且n的值大于等于3

  C)P的值不等于12345或者n的值小于3

  D)P的值等于12345或者n的值大于等于3

(17)以下程序的输出结果是

num=0;

while(num<

=2)

num++;

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

  A}1 

B}1 

C}1 

D}l

   2 

2

   

  4

a,b;

for(a=1,b=1;

a<

=100;

a++)

=10) 

if(b%3==1)

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

当前位置:首页 > 高等教育 > 历史学

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

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