C语言理论基础试题Word下载.docx
- 文档编号:21725584
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:30
- 大小:33.13KB
C语言理论基础试题Word下载.docx
《C语言理论基础试题Word下载.docx》由会员分享,可在线阅读,更多相关《C语言理论基础试题Word下载.docx(30页珍藏版)》请在冰豆网上搜索。
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
1
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&
b
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);
程序运行后的输出结果是
2
3
B)2
3
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)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 理论基础 试题