c语言程序设计复习资料复制Word格式.docx
- 文档编号:17700009
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:23
- 大小:25.43KB
c语言程序设计复习资料复制Word格式.docx
《c语言程序设计复习资料复制Word格式.docx》由会员分享,可在线阅读,更多相关《c语言程序设计复习资料复制Word格式.docx(23页珍藏版)》请在冰豆网上搜索。
=,?
:
&
=||%中优先级别最高和最低的分别是____!
___________和____=___________。
26、设inta,b=2,c=3;
执行表达式a=(b>
c)?
(b+1):
(c+2),3后a的值是_______5________。
27、语句int(*p)()的含义是p是一个指向函数的指针.
28、全局变量放在内存的静态存贮区
30在C语言中,单目运算符的结合方向(运算方向)是__自右至左____;
唯一的一个三目运算符是_条件运算符?
:
___________。
31能正确表示“当ch为小写字母为真,否则为假”的表达式是islower(ch)。
32循环语句for(;
;
)printf("
OK\n"
);
和do{printf("
OK\n"
}while(0);
执行完毕循环,循环次数分别是___n次_____________和_____1次___________。
33明inti,j,k;
则表达式i=10,j=20,k=30,k*=i+j的值为___900______
二、选择题
1、在C语言中字符型(char)数据在内存中是以(D)形式存储的
A原码B补码C反码DASCII码
2、在C程序中可以作为变量名的合法标识符是(D)
AstaticB23-bC#stuDIf
3、若有以下定义和语句:
inta,b,c;
scanf(“a=%d,b=%d,c=%d”,&
a,&
b,&
c);
为了使1,3,2分别赋给a,b,c,从键盘上输入数据的正确形式是(B)
A132B1,3,2Ca=1b=3c=2Da=1,b=3,c=2
4、若要求在if后一对圆括号中表示a不等于0的关系,能正确表示这一关系的表达式是(A)
Aa!
=0Ba>
=0Ca==0Da<
5、以下说法不正确的是(C)
Afor,while,do-while循环体中的语句均可由空语句构成;
B使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成;
Cdo-while和for循环均是先执行循环体语句,后判断表达式;
Dwhile循环是先判断表达式,后执行循环体语句。
6、循环语句for(a=0,b=0;
a<
=8&
b!
=66;
a++)x=a+b;
的循环次数是(B)
A8次B9次C无限循环D1次也不执行
7、C语言中函数的返回值的类型是由(D)决定的
A调用该函数的主调函数类型;
Breturn语句中的表达式类型;
C调用函数时指定;
D定义函数时所指定的返回值类型。
8、在定义inta[5][4];
对数组元素的正确引用是(A)
Aa[0][0]Ba[2][4]Ca[5][4]Da[1,1]
9、若给出以下定义:
charm[10],*p=m;
则以下表达式不正确的是(B)
Ap=m+5;
Bm=m+p;
Cm[3]=‘a’;
Dp=p+1;
10、若有以下定义和语句:
structperson
{intno;
char*name;
}stu,*p=&
stu;
则以下引用方式正确的是(C)
Ap.noBstu->
noCp->
noD*p.no
11、有一个二维数组s[3][3],其第2行第3列元素的正确表示B
A*(S+3)+3Bs[2][3]Cs[2,3]Ds23
12、C语言规定数组名做实参时,它和对应形参之间的数据传递方式是:
C
A单向值传递B无传递C地址传递D用户指定传递方式
13、若变量a是int类型,并执行了语句:
a=‘A’+2;
则正确的叙述是:
B
Aa的值是字符2Ba的值是67C不能用字符和数字相加Da的值是‘A’
14、以下程序的输出结果是:
C
main()
{inta=5,b=4,c=6,d;
Printf(“%d\n”,d=a>
b?
(a>
c?
a:
c):
b));
}
A5B4C6D不确定
15、在说明语句中有:
float(*fp)();
则fp代表的是:
A一个用于指向一维数组的行指针;
B一个返回值为实型的函数名;
C一个用于指向函数的指针变量;
D一个指向实型数据的指针;
16、有int*P;
刚下面语句正确的是:
A
Ap=(int*)malloc(sizeof(int));
Bp=malloc(int);
Cp=int*malloc(sizeof(int));
Dp=malloc(sizeof(int));
17、设有宏定义#dedinepi3.14和#dedineS(r)pi*r*r
若在函数中有语句floatb=3.6,area;
area=S(b);
则area的值是D
A3.6B3.14C11.304D40.6944
21下列不正确的转义字符是
A)'
、、'
B)'
、“C)'
074'
D)'
、0'
"
22若有以下定义:
chara;
intb;
floatc;
doubled;
则表达式a*bd--c值的类型为D
A)floatB)intC)charD)double
23表示关系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)
24设a=1,b=2,c=3,d=4,则表达式:
a《b?
a:
c《d?
d的结果为D
A)4B)3C)2D)1
25设x为int型变量,则执行以下语句后,x的值为A
x=10;
x=x--=x--x;
A)10B)20C)40D)30
26下列可作为C语言赋值语句的是C
A)x=3,y=5B)a=b=6C)i--;
D)y=int(x);
27设x,y,z,t均为int型变量,则执行以下语句后,t的值为
x=y=z=1;
t=x||y&
z;
A)不定值B)2C)1D)0
28设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:
B
scanf("
i=%d,f=%f"
,&
i,&
f);
为了把100和765.12分别赋给i和f,则正确的输入为
A)100765.12B)i=100,f=765.12
C)100765.12D)x=100y=765.12
29设x和y均为int型变量,则执行下的循环后,y值为
for(y=1,x=1;
y《=50;
y)
{if(x=10))break;
if(x%2==1)
{x=5;
continue;
x--=3;
A)2B)4C)6D)8
30给出以下定义:
charx[]="
abcdefg"
;
chary[]={'
a'
,'
b'
c'
d'
e'
f'
g'
};
则正确的叙述为C
A)数组X和数组Y等价B)数组x和数组Y的长度相同
C)数组X的长度大于数组Y的长度D)数组X的长度小于数组Y的长度
31以下叙述中不正确的是C
A)在不同的函数中可以使用相同名字的变量
B)函数中的形式参数是局部变量
C)在一个函数内定义的变量只在本函数范围内有效
D)在一个函数内的复合语句中定义的变量在本函数范围内有效
32假定a和b为int型变量,则执行以下语句后b的值为
a=1;
b=10;
do
{b--=a;
while(b--《0);
A)9B)--2C)--1D)8
33设j为int型变量,则下面for循环语句的执行结果是
for(j=10;
j>
3;
j--)
{if(j%3)j--;
--j;
printf("
%d"
,j);
A)63B)74C)62D)73
34设有以下宏定义:
#defineN3
#defineY(n)((N1)*n)
则执行语句:
z=2*(NY(51));
后,z的值为A
A)出错B)42C)48D)54
35设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是B
A)k=*P1*P2;
B)p2=k;
C)P1=P2;
D)K=*P1*(*P2);
36设有如下定义:
intarr[]={6,7,8,9,10};
int*ptr;
则下列程序段的输出结果为6,2
ptr=arr;
*(ptr+2)=2;
printf("
%d,%d、n"
,*ptr,*(ptr=2));
A)8,10B)6,8C)7,9D)6,10
37以下程序的输出结果是错题
main()
{inti,k,a[10],p[3]:
K=5;
for(i=0;
i《10;
i)a[i]=i;
i《3;
i)p[i]=a[i*(i1)];
i)k=p[i]*2;
%d、n"
,k);
A)20B)21C)22D)23
38执行以下程序段后,m的值为A
inta[2][3]={{1,2,3},{4,5,6}};
intm,*p;
p=&
a[0][0];
m=(*p)*(*(p+2))*(*(p+4));
A)15B)14C)13D)12
(39)有以下程序段
chararr[]="
ABCDE"
char*ptr;
for(ptr=arr;
ptr《arr+5;
ptr++)printf("
%s\n"
,ptr);
输出结果是此题是错的D
A)ABCDB)AC)ED)ABCDE
(40)有以下程序
{intx,i;
for(i=1;
i《=50;
i)
{x=i;
if(x%2==0)
if(x%3==0)
if(x%7==0)
%d,i);
”
输出结果是C
A)28B)27C)42D)41
(41)有下列程序
#include《stdio.h
{union
{intk;
chari[2];
}*s,a;
s=&
a;
s--i[0]=0x39;
s--i[1]=0x38;
%x、n"
,s--k);
输出结果是A
A)3839B)3938C)380039D)390038
(42)有以下程序
#include《stdio.h
{inta,b,c=246;
a=c/100%9;
b=(--1)&
(--1);
,a,b);
输出结果是A
A)2,1B)3,2C)4,3D)2,--1
(43)有以下程序
structstu
{intnum;
charname[10];
intage;
voidfun(structstu*p)
{printf("
%s、n"
,(*p)。
name);
{
structstustudents[3]={{9801,"
Zhang"
,20},
{9802,"
Wang"
,19},
{9803,"
Zhao"
,18}};
fun(students2);
输出结果是B
A)ZhangB)ZhaoC)WangD)18
(44)设有以下说明和定义:
typedefunion
{longi;
intk[5];
charc;
}DATE;
structdate
{intcat;
DATEcow;
doubledog;
}too;
DATEmax;
则下列语句的执行结果是
%d"
,sizeof(structdate)sizeof(max));
A)26B)30C)18D)8
(45)有以下程序
{chara[]="
programming"
,b[]="
language"
char*p1,*p2;
inti;
p1=a;
p2=b;
for(i=0;
i《7;
if(*(p1i)==*(p2i))printf("
%c"
,*(p1i));
输出结果是D
A)gmB)rgC)orD)ga
(46)有以下程序
viodfun(inta,intb,intc)
{a=456;
b=567;
c=678;
{intx=10,y=20,z=30;
fun(x,y,z);
,c,d);
输出结果是错误
A)30,20,10B)10,20,30C)456,567,678D)678,567,456
(47)有以下程序
intfun(intx,inty,int*cp,int*dp)
{*cp=xy;
*dp=x--y;
{inta,b,c,d;
a=30;
b=50;
fun(a,b,&
c,&
d);
A)50,30B)30,J50C)80,--20D)80,20
(48)有以下程序
{inti,j;
j《11;
j++)
{for(i=9;
i《j;
i++)
if(!
(j%i))break;
if(i=j--1)printf("
输出结果是B
A)11B)10C)9D)1011
(50)有以下程序
#include"
atdio.h"
intabc(intu,intv);
main()
{inta=24,b=16,c;
c=abc(a,b);
printf('
,c);
intabc(intu,intv)
{intw;
while(v)
{w=u%v;
u=v;
v=w}
returnu;
A)6B)7C)8D)9
三、阅读程序写出运行结果
1、main()
{intx,y=10;
x=-3+5*5-6;
printf("
x=%dy=%d\n"
x,y);
x=10+2*3-7;
x=%d\n"
x);
x=(7+6)%5+2;
y=x+y;
printf("
x=%dy=%d\n"
}
输出结果:
x=16y=10
x=9
x=5y=15
2、#include“stdio.h”
main()
int sum=0,k=1;
do{
sum=sum+k;
k=k+2;
}while(k<
=10);
printf(“sum=%d”,sum) ;
sum=25
3、#include“stdio.h”
main()
intcount(inti);
for(i=1;
i<
=3;
i++)
count(i);
intcount(intn)
{staticintx=1;
printf(“%d:
x=%d,“,n,x);
x=x+2;
printf(“x+2=%d\n,“,x);
1:
x=0
X+2=3
3:
X+2=5
5:
X+2=7
4、swap(int*p1,int*p2)
{inttemp;
temp=*p1;
*p1=*p2;
*p2=temp;
main()
{inta,b;
int*pt1,*pt2;
scanf("
%d%d"
&
a,&
b);
pt1=&
a;
pt2=&
b;
if(a<
b)swap(pt1,pt2);
%d%d"
*pt1,*pt2);
输入5566
6655
5、#include<
stdio.h>
{inta,b,c,d,x;
a=c=0;
b=21;
d=60;
if(a)d=d–30;
elseif(!
b)
c)x=55;
elsex=65;
printf(“d=%d,x=%d\n”,d,x);
错题
6、#include<
{inta,b;
for(a=1;
a<
=6;
a++)
{for(b=1;
b<
=14-2*a;
b++)
printf(““);
/*输出一个空格*/
for(b=1;
=a;
printf(“%4d“,a);
printf(“\n“);
1
22
333
。
。
666666
7、#include<
#definesub(x)(x)–(x)
{inta=24,b=46,c=78,m;
m=sub(a+b)*c;
printf(“m=%d”,m);
m=-5390
8、#include<
{inta[3][3]={21,22,23,24,25,26,27,28,29},j;
Longm=1;
for(j=0;
j<
3;
j++)
m=m*a[j][j];
printf(“m=%d“,m);
m=15225
9、#include<
{inta[3][3]={{7},{8},{9}},*p,k;
a[0][0];
for(k=0;
k<
2;
k++)
{if(k==0)a[k][k+1]=*p+1;
else++p;
printf(“%d”,*p);
78
10#include“stdio.h”
intx,y,z;
x=(z=10,z+15);
y=(x=3,x+z);
printf(“%d,%d,%d\n”,x,y,z);
31310
11、#include“stdio.h”
{charstr[10],temp[10]
intk;
gets(temp);
for(k=0;
k<
4;
{gets(str);
if(strcmp(temp,str)>
0)
strcpy(temp,str);
printf(“%s“,temp);
输入:
usa,canada,china,japan,korea
输出结果为:
usa canada china, japan korea canada
12、#include“stdio.h”
ints1,s2,s3,c,I;
intx;
s1=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 复习资料 复制