C语言程序设计复习资料Word格式文档下载.docx

上传人:b****4 文档编号:8258225 上传时间:2023-05-10 格式:DOCX 页数:19 大小:23.92KB
下载 相关 举报
C语言程序设计复习资料Word格式文档下载.docx_第1页
第1页 / 共19页
C语言程序设计复习资料Word格式文档下载.docx_第2页
第2页 / 共19页
C语言程序设计复习资料Word格式文档下载.docx_第3页
第3页 / 共19页
C语言程序设计复习资料Word格式文档下载.docx_第4页
第4页 / 共19页
C语言程序设计复习资料Word格式文档下载.docx_第5页
第5页 / 共19页
C语言程序设计复习资料Word格式文档下载.docx_第6页
第6页 / 共19页
C语言程序设计复习资料Word格式文档下载.docx_第7页
第7页 / 共19页
C语言程序设计复习资料Word格式文档下载.docx_第8页
第8页 / 共19页
C语言程序设计复习资料Word格式文档下载.docx_第9页
第9页 / 共19页
C语言程序设计复习资料Word格式文档下载.docx_第10页
第10页 / 共19页
C语言程序设计复习资料Word格式文档下载.docx_第11页
第11页 / 共19页
C语言程序设计复习资料Word格式文档下载.docx_第12页
第12页 / 共19页
C语言程序设计复习资料Word格式文档下载.docx_第13页
第13页 / 共19页
C语言程序设计复习资料Word格式文档下载.docx_第14页
第14页 / 共19页
C语言程序设计复习资料Word格式文档下载.docx_第15页
第15页 / 共19页
C语言程序设计复习资料Word格式文档下载.docx_第16页
第16页 / 共19页
C语言程序设计复习资料Word格式文档下载.docx_第17页
第17页 / 共19页
C语言程序设计复习资料Word格式文档下载.docx_第18页
第18页 / 共19页
C语言程序设计复习资料Word格式文档下载.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计复习资料Word格式文档下载.docx

《C语言程序设计复习资料Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计复习资料Word格式文档下载.docx(19页珍藏版)》请在冰点文库上搜索。

C语言程序设计复习资料Word格式文档下载.docx

!

=,?

:

&

=||%中优先级别最高和最低的分别是_______________和_______________。

26、文件操作步骤通常是:

27、设inta,b=2,c=3;

执行表达式a=(b>

c)?

(b+1):

(c+2),3后a的值是_______________。

28、语句int(*p)()的含义是.

29、全局变量放在内存的区

30在C语言中,单目运算符的结合方向(运算方向)是____________;

唯一的一个三目运算符是____________。

31能正确表示“当ch为小写字母为真,否则为假”的表达式是。

32循环语句for(;

;

)printf("

OK\n"

);

和do{printf("

OK\n"

}while(0);

执行完毕循环,循环次数分别是________________和________________。

33明inti,j,k;

则表达式i=10,j=20,k=30,k*=i+j的值为________________

二、选择题

1、在C语言中字符型(char)数据在内存中是以()形式存储的

A原码B补码C反码DASCII码

2、在C程序中可以作为变量名的合法标识符是()

AstaticB23-bC#stuDIf

3、若有以下定义和语句:

inta,b,c;

scanf(“a=%d,b=%d,c=%d”,&

a,&

b,&

c);

为了使1,3,2分别赋给a,b,c,从键盘上输入数据的正确形式是()

A132B1,3,2Ca=1b=3c=2Da=1,b=3,c=2

4、若要求在if后一对圆括号中表示a不等于0的关系,能正确表示这一关系的表达式是()

Aa!

=0Ba>

=0Ca==0Da<

5、以下说法不正确的是()

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;

的循环次数是()

A8次B9次C无限循环D1次也不执行

7、C语言中函数的返回值的类型是由()决定的

A调用该函数的主调函数类型;

Breturn语句中的表达式类型;

C调用函数时指定;

D定义函数时所指定的返回值类型。

8、在定义inta[5][4];

对数组元素的正确引用是()

Aa[0][0]Ba[2][4]Ca[5][4]Da[1,1]

9、若给出以下定义:

charm[10],*p=m;

则以下表达式不正确的是()

Ap=m+5;

Bm=m+p;

Cm[3]=‘a’;

Dp=p+1;

10、若有以下定义和语句:

structperson

{intno;

char*name;

}stu,*p=&

stu;

则以下引用方式正确的是()

Ap.noBstu->

noCp->

noD*p.no

11、有一个二维数组s[3][3],其第2行第3列元素的正确表示是:

A*(S+3)+3Bs[2][3]Cs[2,3]Ds23

12、C语言规定数组名做实参时,它和对应形参之间的数据传递方式是:

A单向值传递B无传递C地址传递D用户指定传递方式

13、若变量a是int类型,并执行了语句:

a=‘A’+2;

则正确的叙述是:

Aa的值是字符2Ba的值是67C不能用字符和数字相加Da的值是‘A’

14、以下程序的输出结果是:

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;

刚下面语句正确的是:

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的值是

A3.6B3.14C11.304D40.6944

18、若给出以下定义:

19、若变量a是int类型,并执行了语句:

20设有如下定义:

int(*ptr)*();

则以下叙述中正确的是

Aptr是指向一维组数的指针变量

Bptr是指向int型数据的指针变量Cptr是指向函数的指针,该函数返回一个int型数据Dptr是一个函数名,该函数的返回值是指向int型数据的指针

21下列不正确的转义字符是A)'

、、'

B)'

、“C)'

074'

D)'

、0'

"

22若有以下定义:

chara;

intb;

floatc;

doubled;

则表达式a*bd--c值的类型为A)floatB)intC)charD)double

23表示关系x《=y《=z的c语言表达式为

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?

c《d?

d的结果为

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

25设x为int型变量,则执行以下语句后,x的值为

x=10;

x=x--=x--x;

A)10B)20C)40D)30

26下列可作为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型变量,用下面的语句给这两个变量输入值:

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'

};

则正确的叙述为

A)数组X和数组Y等价B)数组x和数组Y的长度相同

C)数组X的长度大于数组Y的长度D)数组X的长度小于数组Y的长度

31以下叙述中不正确的是

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;

j3;

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)出错B)42C)48D)54

35设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是

A)k=*P1*P2;

B)p2=k;

C)P1=P2;

D)K=*P1*(*P2);

36设有如下定义:

intarr[]={6,7,8,9,10};

int*ptr;

则下列程序段的输出结果为

ptr=arr;

*(ptr2)=2;

printf("

%d,%d、n"

,*ptr,*(ptr2));

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的值为

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

intm,*p;

p=&

a[0][0];

m=(*p)*(*(p2))*(*(p4));

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

(39)有以下程序段

chararr[]="

ABCDE"

char*ptr;

for(ptr=arr;

ptr《arr5;

ptr)printf("

%s、n"

,ptr);

输出结果是

A)ABCDB)AC)ED)ABCDE

(40)有以下程序

{intx,i;

or(i=1;

i《=50;

i)

{x=i;

if(x%2==0)

if(x%3==0)

if(x%7==0)

%d,i);

A)28B)27C)42D)41

(41)有下列程序#include《stdio.hmain(){union{intk;

chari[2];

}*s,a;

s=&

a;

s--i[0]=0x39;

s--i[1]=0x38;

%x、n"

,s--k);

A)3839B)3938C)380039D)390038

(42)有以下程序

#include《stdio.h

{inta,b,c=246;

a=c/100%9;

b=(--1)&

(--1);

,a,b);

A)2,1B)3,2C)4,3D)2,--1

(43)有以下程序#include《stdio.hstructstu

{intnum;

charname[10];

intage;

voidfun(structstu*p)

{printf("

,(*p)。

name);

{

structstustudents[3]={{9801,"

Zhang"

,20},

{9802,"

Wang"

,19},

{9803,"

Zhao"

,18}};

fun(students2);

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

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

%d,/%d、n"

,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;

if(!

(j%i))break;

if(i=j--1)printf("

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=

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

 

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

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“);

7、#include<

#definesub(x)(x)–(x)

{inta=24,b=46,c=78,m;

m=sub(a+b)*c;

printf(“m=%d”,m);

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

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

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

  

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

输出结果为:

                     

12、#include“stdio.h”

ints1,s2,s3,c,I;

intx;

s1=s2=s

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

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2