C语言复习题Word格式.docx
- 文档编号:21617528
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:18
- 大小:34.13KB
C语言复习题Word格式.docx
《C语言复习题Word格式.docx》由会员分享,可在线阅读,更多相关《C语言复习题Word格式.docx(18页珍藏版)》请在冰豆网上搜索。
=y
(8)设有程序段
intk=10;
while(k=0)k=k-1;
以下描述正确的是。
A)循环体语句一次也不执行。
B)循环是无限循环。
C)while循环语句执行十次。
D)循环体语句执行一次。
(9)以下C程序正确的运行结果是。
main()
{longy=23456;
printf("
y=%3x\n"
y);
y=%8x\n"
y=%#8x\n"
}
A)y=5ba0B)y=5ba0C)y=5ba0D)y=5ba0
y=5ba0y=5ba0y=bba0y=5ba0
y=0x5ba0y=0x5ba0y=0x5ba0y=####5ba0
(10)当a=1,b=3,c=5d=4时,则执行完下面一段程序后,x的值是。
if(a<
b)
if(c<
d)x=1;
else
c)
if(b<
d)x=2;
elsex=3;
elsex=6;
elsex=7;
A)1B)3C)2D)6
(11)下面程序的运行结果是。
#include"
stdio.h"
main()
{inta=1,b=10
do
{b-=a;
a++;
}
while(b--<
0);
a=%d,b=%d\n),a,b);
A)a=3,b=11B)a=4,b=9
C)a=1,b=-1D)a=2,b=8
(12)以下for循环的执行次数是。
for(x=0,y=0;
(y=123)&
(x<
4);
x++);
A)无限次。
B)4次。
C)0次。
D)3次。
(13)以下是死循环的程序段的是。
A)for(i=1;
)B)i=32767
{if(++i%2==0)continue;
do{if(i<
0)break;
}while(++i)
if(++i%3==0)break;
C)for(i=1;
)D)i=1
if(++i<
10)continue;
while(i--);
(14)若有说明:
inta[10];
则对a数组元素的正确引用是。
A)a[10]B)a[10-10]C)a(5)D)a[3.5]
(15)根据定义和数据的输入方式,输入语句的正确形式为。
已有定义:
floatf1,f2;
数据输入方式:
4.25
3.5
A)scanf("
%f%f"
&
f1,&
f2);
B)scanf("
%f,%f"
C)scanf("
%3.2f%2.1f"
D)scanf("
%2.1f%3.2f"
(16)已知ch是字符型变量,下面正确的赋值语句是。
A)ch='
123'
B)ch='
\08'
C)ch='
\xff'
D)ch="
\"
(17)以下if语句语法正确的是。
A)if(x>
0)B)if(x>
0)printf("
%f"
-x)
{x=x+y;
printf("
x);
}elseprintf("
%f"
-x);
elseprintf("
-x);
C)if(x>
0)D)if(x>
0)
{x=x+y;
};
{x=x+y;
peintf("
x)}
-x);
elseprintf("
(18)若W=1,X=2,Y=3,Z=4则条件式:
W<
X?
W:
Y<
Z?
Y:
Z的值是。
A)1B)3C)4D)2
(19)以下程序段。
x=-1;
do{x=x*x;
while(!
x);
A)是死循环B)循环执行一次
C)循环执行二次D)有语法错误
(20)逻辑运算符两侧运算对象的数据类型。
A)只能是0或1B)可以是任何类型的数据
C)只能是整型或字符型数据D)只能是0或非0正数
(21)下面程序中有错误的行是。
(前面数字表示行号)
1、1、
main()5、scanf("
%d"
a);
2、2、
{6、for(i=1;
i<
3;
i++)a[0]=a[0]+a[i],
3、3、
inta[3]={1};
7、printf("
a[0]=%d\n"
a[0]);
4、4、
inti;
8、}
A)3B)6C)5D)7
(22)下面的程序段。
for(t=1;
t<
=100,t++)
{scanf("
%d"
&
x);
if(x<
0)continue;
%3d"
t);
A)当x<
0时整个循环结束B)当x>
=0时什么也不输出
C)printf函数永远也不执行D)最多允许输出100个非负整数
(23)以下对一维整型数组a的正确说明是。
A)inta(10)B)intn=10;
a[n];
C)intn;
D)#defineSIZE10
scanf("
n);
inta[SIZE];
inta[n];
(24)下面程序的运行结果是。
a=1;
b=2;
c=2;
while(a<
b<
c){t=a;
a=b;
b=t;
c--;
printf("
%d,%d,%d"
a,b,c);
A)1,2,0B)2,1,0C)1,2,1D)2,1,1
(25)若有说明:
inta[3][4];
则对数组元素的非法引用是。
A)a[0][2*1]B)a[0][4]C)a[4-2][0]D)a[1][3]
(26)对以下说明的正确理解是。
inta[10]={6,7,8,9,10}
A)将5个初值依此赋给a[1]至a[5]B)将5个初值依此赋给a[0]至a[4]
C)将5个初值依此赋给a[6]至a[10]D)因长度与初值个数不同,故语句错误
(27)若二维数组a有m列,则在a[i][j]前的元素个数为
A)i*m+jB)j*m+iC)i*m+j-1D)i*m+j+1
(28)以下程序段运行的结果是。
charc[5]={'
a'
'
b'
c'
};
%s"
c);
A)'
B)abcC)abcD)ab
(29)以下正确的函数定义形式是。
A)doublefun(intx,inty)B)doublefun(intx;
inty)
C)doublefun(intx,inty);
D)doublefun(intx,inty);
(30)以下不正确的说法是。
A)实参可以是常量、变量或表达式。
B)形参应与其对应的实参类型一致。
C)实参可以为任意类型。
D)形参可以是常量、变量或表达式。
(31)有两个字符数组a,b,则以下正确的输入格式是。
A)scanf("
%s%s"
a,&
b)B)gets(a,b)
a,b)D)gets("
a"
);
gets("
b"
)
(32)以下程序正确的运行结果是。
{inta=2,i;
for(i=0;
3;
i++)printf("
%4d"
f(a));
f(inta)
{intb=0;
staticintc=3;
b++;
c++;
return(a+b+c);
A)777B)71013C)789D)7911
(33)#define能做简单的替代,用宏替代计算多项式4*x*x+3*x+2之值的函数f,正确的宏定义是。
A)#definef(x)4*x*x+3*x+2B)#definef4*x*x+3*x+2
C)#definef(a)(4*a*a+3*a+2)D)#define(4*a*a+3*a+2)f(a)
(34)当运行以下程序时,从键盘输入:
ab<
CR>
c<
def<
(<
表示回车)则下面程序的运行结果是。
#include"
stdio.h"
#defineN6
{charc(N);
inti=0;
for(;
i<
N;
c[i]=getchar(),i++);
for(i=0;
i++)putchar(c[i]);
A)abcdefB)aC)bD)ab
bcc
cdd
d
e
f
(35)请读程序:
#defineAD(x)x+x
{intm=1,n=2,k=3;
intsum=AD(m+n)*k;
sum=%d"
sum);
上面程序的运行结果是。
A)sum=9B)sum=10C)sum=12D)sum=18
(36)对下面程序段正确的判断是:
___________
#defineA3
#defineB(a)((A+1)*a)
x=3*(A+B(7));
A)A)
程序错误,不许嵌套宏定义。
B)x=21
C)x=93D)程序错误,宏定义不许有参数。
(37)执行以下程序后,a,b的值为
{inta,b,k=4,m=6,*p1=&
k,*p2=&
m;
a=p1==&
b=(-*p1)/(*p2)+7;
a=%d\n"
a);
b=%d\n"
b);
A)-1B)0C)1D)4
57610
(38)以下程序中调用scanf函数给变量a输入数值的方法是错误的,因为。
{int*p,*q,a,b;
p=&
a;
inputa:
"
);
scanf("
%d"
*p);
…}
A)*p表示的是变量a的值,而不是变量a的地址。
B)*p表示的是指针变量p的地址。
C)*p表示的是指针变量p的值。
D)*p只能用来说明p是一个指针变量。
(39)以下程序的运行结果是。
#defineMIN(x,y)(x)<
(y)?
(x):
(y)
{inti=10,j=15,k;
k=10*MIN(i,j);
%d\n"
k);
A)15B)10C)100D)150
(40)以下正确的函数形式是
B)B)
doublefun(intx,inty)B)fun(intx,y)
{z=x+y;
returnz;
}{intz;
returnz;
C)fun(x,y)D)doublefun(intx,inty)
{intx,y;
doublez;
}{doublez;
z=x+y;
(41)以下不正确的说法是。
在不同函数中可以使用相同名字的变量。
形式参数是局部变量。
C)在函数内的复合语句中定义的变量在本函数范围内有效。
D)在函数内定义的变量只在本函数范围内有效。
(42)C语言提供的预处理功能包括条件编译,其基本形式为:
#XXX标识符
程序段1
#else
程序段2
#endif
这里XXX可以是。
A)define或include.B)ifdef或ifndef或if
C)ifdef或ifndef或defineD)ifdef或include
(43)以下程序的正确运行结果是。
{intk=4,m=1,p;
p=func(k,m);
%d,"
p);
%d\n"
func(inta,intb)
{staticintm=0,i=2;
i+=m+1;
m=i+a+b;
return(m);
A)8,16B)8,17C)8,20D)8,8
(44)已有定义intk=2;
int*p1,*p2,且p1和p2均已指向变量k,下面不能正确执行的赋值语句是。
A)k=*p1+*p2;
B)p1=p2;
C)p2=k;
D)k=*p1*(*p2);
(45)若有说明int*p,m=5,n;
以下正确的程序段是。
A)p=&
n;
B)p=&
Scanf("
%d"
p);
Scanf("
*p);
C)Scanf("
n)D)p=&
*p=n;
*p=m;
(46)以下scanf函数调用语句中,对结构体成员的不正确引用为。
structpupil
{charname[20];
intage;
intsex;
}pup[5],*p;
p=pup;
A)scanf("
pup[0].name);
B)scanf("
&
pup[0].age);
C)scanf("
p->
sex);
D)scanf("
(p->
age));
(47)若有定义:
inta[3][4];
则对a数组的第i行第j列(假设i,j已正确说明并赋
值)元素值的正确引用为。
A)*(*(a+i)+j)B)(a+j)[j]
C)*(a+i+j)D)*(a+i)+j
(48)若已定义charS[10];
则在下面表达式中不表示S[1]的地址的是。
A)S+1B)&
S[1]C)&
S[0]+1D)S++
(49)若有定义:
inta[2][3]则对a数值的第i行,第j列元素地址的正确引用为。
A)*(a[i]+j)B)a[i]+jC)*(a+j)D)(a+i)
(50)若有以下定义,且0<
=i<
6,则正确的赋值语句是。
ints[4][6],t[6][4],(*p)[6];
A)p=t;
B)p=s[i];
C)p=s;
D)p=t[i];
(51)以下程序的运行结果是。
{union{longa;
intb;
charc;
}m;
%d\n"
sizeof(m));
A)4B)2C)6D)8
(52)当顺利执行了文件,关闭操作时,fclose函数的返回值是。
A)0B)TURNC)-1D)1
(53)已知学生记录描述为
structstudent
{intno;
charname[20];
charsex;
struct
{intyear;
intmonth;
intday;
}birth;
}s;
设变量s中的“生日”应是“1984年6月6日”,下列对“生日”的正确赋值方式是。
A)year=1984;
B)birth.year=1984;
month=6;
birth.month=6;
day=6;
birth.day=6;
C)s.year=1984;
D)s.birth.year=1984;
s.month=6;
s.birth.month=6;
s.day=6;
s.birth.day=6;
(54)表达式a<
b||~c&
d的运算顺序是.;
A)~,&
<
||B)~,<
||
C)~,&
||,<
D)~,||,&
(55)设有以下语句:
charx=3,y=6,z;
z=x^y<
<
2;
则z的二进制值是.
A)00010100B)00011000C)00011100D)00011011
(56)已知函数的调用形式:
fread(buffer,size,count,fp),其中buffer代表的是。
一个整型变量,代表要读入的数据项总数.
一个文件指针,指向要读的文件.
C)C)
一个存储器,存放要读的数据项.
D)一个指针,指向要读入数据的存放地址
(57)若有函数max(a,b),并且已使函数指针变量p指向函数max,当调用该函数时,正确的调用方法是。
A)(*p)max(a,b);
B)*pmax(a,b);
C)*p(a,b)D)(*p)(a,b)
(58)在16位IBM-PC机上使用C语言,若有如下定义:
uniondata
{inti;
charch;
doublef;
}b;
则其共用体变量b占用内存字节数是。
A)1B)2C)8D)4
(59)若有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 复习题
![提示](https://static.bdocx.com/images/bang_tan.gif)