《C程序设计》复习资料.docx

上传人:b****8 文档编号:9642067 上传时间:2023-05-20 格式:DOCX 页数:30 大小:26.73KB
下载 相关 举报
《C程序设计》复习资料.docx_第1页
第1页 / 共30页
《C程序设计》复习资料.docx_第2页
第2页 / 共30页
《C程序设计》复习资料.docx_第3页
第3页 / 共30页
《C程序设计》复习资料.docx_第4页
第4页 / 共30页
《C程序设计》复习资料.docx_第5页
第5页 / 共30页
《C程序设计》复习资料.docx_第6页
第6页 / 共30页
《C程序设计》复习资料.docx_第7页
第7页 / 共30页
《C程序设计》复习资料.docx_第8页
第8页 / 共30页
《C程序设计》复习资料.docx_第9页
第9页 / 共30页
《C程序设计》复习资料.docx_第10页
第10页 / 共30页
《C程序设计》复习资料.docx_第11页
第11页 / 共30页
《C程序设计》复习资料.docx_第12页
第12页 / 共30页
《C程序设计》复习资料.docx_第13页
第13页 / 共30页
《C程序设计》复习资料.docx_第14页
第14页 / 共30页
《C程序设计》复习资料.docx_第15页
第15页 / 共30页
《C程序设计》复习资料.docx_第16页
第16页 / 共30页
《C程序设计》复习资料.docx_第17页
第17页 / 共30页
《C程序设计》复习资料.docx_第18页
第18页 / 共30页
《C程序设计》复习资料.docx_第19页
第19页 / 共30页
《C程序设计》复习资料.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《C程序设计》复习资料.docx

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

《C程序设计》复习资料.docx

《C程序设计》复习资料

一、选择题

1、以下字符不能出现在标识符中的是(B)

A、大写字母B、连接符C、数字字符D、下划线

2、C程序中main函数的位置(C)

A、必须在最开始

B、必须在系统库函数后面

C、可以在自定义函数后面

D、必须在最后

3、C语言的函数体由(B)括起来。

A、()B、{}C、[]D、/**/

4、以下(B)是正确的变量名。

A、5fB、ifC、f.5D、_f5

5、表达式3.6-5/2+1.2+5%2的值是(D)

A、4.3B、4.8C、3.3D、3.8

6、char型变量存放的是(A)。

A、ASCII代码值B、字符本身

C、十进制代码值D、内码值

7、下列数组声明中,正确的是(B)。

A、inta[5]={0};B、inta[]={012};

C、inta[5]=0;D、inta[];

8、已定义以下函数

intfun(int*p)

{return*p;}

fun函数返回值是(D)

A、不确定的值B、一个整数

C、形参P中存放的值D、形参P的地址值

9、如下fun函数的类型是(C)。

fun(floatx)

{doubley;intz;

y=x*x;

z=(int)y;

return(z);

}

A、voidB、doubleC、intD、float

10、以下叙述中正确的是(A)

A、预处理命令行必须位于C源程序的起始位置

B、在C语言中,预处理命令行都以"#"开头

C、每个C程序必须在开头包含预处理命令行:

#include

D、C语言的预处理不能实现宏定义和条件编译的功能

11、以下程序运行后屏幕输出为(B)

#include

intf(intx,inty)

{

return(x+y);

}

main()

{

inta=2,b=3,c;

c=f(a,b);

printf("%d+%d=%d\n",a,b,c);

}

A、0B、2+3=5C、2+3=0D、3+2=5

12、有以下程序

main()

{

inta,b,d=25;

a=d/10%9;

b=a&&(-1);

printf("%d,%d\n",a,b);

}

程序运行后的输出结果是(B)

A、6,1B、2,1C、6,0D、2,0

13、以下程序运行后屏幕输出为(D)。

#include

inta=2,b=3;

intmax(inta,intb)

{

intc;

c=a>b?

a:

b;

return(c);

}

main()

{

inta=4;

printf("%d",max(a,b));

}

A、2,3B、2C、3D、4

14、有以下程序

voidf(int*x,int*y)

{intt;

t=*x;*x=*y;*y=t;

}

main()

{inta[8]={1,2,3,4,5,6,7,8},i,*p,*q;

p=a;q=&a[7];

while(p

{

f(p,q);

p++;

q--;

}

for(i=0;i<8;i++)

printf("%d,",a[i]);

}

程序运行后的输出结果是(D)

A、8,2,3,4,5,6,7,1,B、5,6,7,8,1,2,3,4,

C、1,2,3,4,5,6,7,8,D、8,7,6,5,4,3,2,1,

15、C语言源程序名的后缀是(B)

A、.exeB、.CC、.objD、.cp

16、若有定义:

#definePI3,则表达式PI*2*2的值为(D)。

A、12B、4C、3D、不确定

17、设有以下语句,则(A)是对a数组元素的不正确引用,其中0≤i<10。

inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;

A、a[p-a]B、*(&a[i])C、p[i]D、*(*(a+i))

18、以下程序段:

stuctstudent

{intage;

intnum;

}std,*p;

p=&std;

则以下对结构体变量std中成员age的引用方式不正确的是(B)

A、std.ageB、p->ageC、*p.ageD、(*p).age

19、有如下定义

structperson{charname[9];intage;};

structpersonclass[10]={“Johu”,17,

“Paul”,19,

“Mary”,18,

“Adam”,16};

根据上述定义,能输出字母M的语句是(D))

A、printf(“%c\n”,class[3].name);

B、printf(“%c\n”,class[3].name[1]);

C、printf(“%c\n”,class[2].name[1]);

D、printf(“%c\n”,class[2].name[0]);

20、设有以下定义语句:

structstudent

{intnum;

charname[10];

floatscore;

}wang,zhang;

则变量wang所占的内存字节数是(B)。

A、14B、16C、18D、20

21、下列属于合法标识符的是(B)

A、2mB、_n25C、n*mD、int

22、定义一个变量使之保存值的范围是0-65535,应该选择( A )类型。

A、unsignedshortintB、int   

C、shortintD、longint

23、C语言中运算对象必须是整型的运算符是(A)

A、%B、/C、〈=D、=

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

A、1B、2C、2.0D、2.5

25、能正确表示逻辑关系:

“a≥10或a≤0”的C语言表达式是(D)

A、a>=10ora<=0B、a>=0|a<=10

C、a>=10&&a<=0D、a>=10‖a<=0

26、结束while(表达式)循环的条件是(B)

A、当表达式的值为0时B、当表达式的值不为0时

C、当表达式的值为1时D、当表达式的值为非1时

27、以下数组定义中错误的是(B)

A、intx[][3]={0};

B、intx[2][3]={{l,2},{3,4},{5,6}};

C、intx[][3]={{l,2,3},{4,5,6}};

D、intx[2][3]={l,2,3,4,5,6};

28、若有以下语句,则正确的描述是(C)

charx[]="12345";

chary[]={'1','2','3','4','5'};

A、x数组和y数组的长度相同B、x数组等价于y数组

C、x数组长度小于y数组长度 D、x数组长度大于y数组长度

29、有函数调用语句func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是(A)

A、3B、4C、5D、有语法错

30、以下叙述中正确的是(C)

A、预处理命令行必须位于C源程序的起始位置

B、在C语言中,预处理命令行都以"#"开头

C、每个C程序必须在开头包含预处理命令行:

#include

D、C语言的预处理不能实现宏定义和条件编译的功能

31、有如下程序

main()

{inty=3,x=3,z=1;

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

}

运行该程序的输出结果是(D)

A、34B、42C、43D、33

32、有如下程序

main()

{intx=1,a=0,b=0;

switch(x){

case0:

b++;

case1:

a++

case2:

a++;b++

}

printf(“a=%d,b=%d\n”,a,b);

}

该程序的输出结果是(A)

A、a=2,b=1B、a=1,b=1C、a=1,b=0D、a=2,b=2

33、有如下程序

main0

{intn=9;

while(n>6){n--;printf(“%d”,n);}

}

该程序段的输出结果是(B)

A、987B、876C、8765D、9876

34、若变量均已正确定义并赋值,以下合法的C语言表达式(D)

A、a:

=b+1B、a=a+7=c+bC、int18.5%3D、a=b=c+2

35、C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是(A)

A、voidB、intC、floatD、double

36、有如下说明

inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

则数值为9的表达式是(C)

A、*P+9B、*P+=9C、*(P+8)D、P+8

37、有如下程序

#defineN2

#defineMN+1

#defineNUM2*M+1

#main()

{inti;

for(i=1;i<=NUM;i++)printf(“%d\n”,i);

}

该程序中的for循环执行的次数是(C)

A、5B、6C、7D、8

38、有以下程序(C)

main()

{intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};

inti,s=0;

for(i=0;i<4;i++)s+=aa[i][1];

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

}

程序运行后的输出结果是

A、11B、13C、19D、20

39、有如下定义

structperson{charname[9];intage;};

structpersonclass[10]={“Johu”,17,

“Paul”,19,

“Mary”,18,

“Adam”,16};

根据上述定义,能输出字母M的语句是(D)

A、printf(“%c\n”,class[3].name);

B、printf(“%c\n”,class[3].name[1]);

C、printf(“%c\n”,class[2].name[1]);

D、printf(“%c\n”,class[2].name[0]);

40、有如下程序(59713)

main()

{charch[2][5]={“6937”,”8254”},*p[2];

inti,j,s=0;

for(i=0;i<2;i++)p[i]=ch[i];

for(i=0;i<2;i++)

for(j=0;p[i][j]>’\0’;j+=2)

s=10*s+p[i][j];

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

}

该程序的输出结果是

A、69825B、63825C、6385D、693825

41、下列属于合法标识符的是(B)

A、2mB、_n25C、n*mD、int

42、定义一个变量使之保存值的范围是0-65535,应该选择( A )类型。

A、unsignedshortintB、int   

C、shortintD、longint

43、C语言中运算对象必须是整型的运算符是(A)

A、%B、/C、〈=D、=

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

A、1B、2C、2.0D、2.5

45、能正确表示逻辑关系:

“a≥10或a≤0”的C语言表达式是(D)

A、a>=10ora<=0B、a>=0|a<=10

C、a>=10&&a<=0D、a>=10‖a<=0

46、结束while(表达式)循环的条件是(B)

A、当表达式的值为0时B、当表达式的值不为0时

C、当表达式的值为1时D、当表达式的值为非1时

47、以下数组定义中错误的是(B)

A、intx[][3]={0};

B、intx[2][3]={{l,2},{3,4},{5,6}};

C、intx[][3]={{l,2,3},{4,5,6}};

D、intx[2][3]={l,2,3,4,5,6};

48、若有以下语句,则正确的描述是(C)

charx[]="12345";

chary[]={'1','2','3','4','5'};

A、x数组和y数组的长度相同B、x数组等价于y数组

C、x数组长度小于y数组长度 D、x数组长度大于y数组长度

49、有函数调用语句func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是(A)

A、3B、4C、5D、有语法错

50、以下叙述中正确的是(C)

A、预处理命令行必须位于C源程序的起始位置

B、在C语言中,预处理命令行都以"#"开头

C、每个C程序必须在开头包含预处理命令行:

#include

D、C语言的预处理不能实现宏定义和条件编译的功能

51、有如下程序

main()

{inty=3,x=3,z=1;

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

}

运行该程序的输出结果是(D)

A、34B、42C、43D、33

52、有如下程序

main()

{intx=1,a=0,b=0;

switch(x){

case0:

b++;

case1:

a++

case2:

a++;b++

}

printf(“a=%d,b=%d\n”,a,b);

}

该程序的输出结果是(A)

A、a=2,b=1B、a=1,b=1C、a=1,b=0D、a=2,b=2

53、有如下程序

main0

{intn=9;

while(n>6){n--;printf(“%d”,n);}

}

该程序段的输出结果是(B)

A、987B、876C、8765D、9876

54、若变量均已正确定义并赋值,以下合法的C语言表达式(D)

A、a:

=b+1B、a=a+7=c+bC、int18.5%3D、a=b=c+2

55、C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是(A)

A、voidB、intC、floatD、double

56、有如下说明

inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

则数值为9的表达式是(C)

A、*P+9B、*P+=9C、*(P+8)D、P+8

57、有如下程序

#defineN2

#defineMN+1

#defineNUM2*M+1

#main()

{inti;

for(i=1;i<=NUM;i++)printf(“%d\n”,i);

}

该程序中的for循环执行的次数是(C)

A、5B、6C、7D、8

58、有以下程序(C)

main()

{intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};

inti,s=0;

for(i=0;i<4;i++)s+=aa[i][1];

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

}

程序运行后的输出结果是

A、11B、13C、19D、20

59、有如下定义

structperson{charname[9];intage;};

structpersonclass[10]={“Johu”,17,

“Paul”,19,

“Mary”,18,

“Adam”,16};

根据上述定义,能输出字母M的语句是(D)

A、printf(“%c\n”,class[3].name);

B、printf(“%c\n”,class[3].name[1]);

C、printf(“%c\n”,class[2].name[1]);

D、printf(“%c\n”,class[2].name[0]);

60、有如下程序(59713)

main()

{charch[2][5]={“6937”,”8254”},*p[2];

inti,j,s=0;

for(i=0;i<2;i++)p[i]=ch[i];

for(i=0;i<2;i++)

for(j=0;p[i][j]>’\0’;j+=2)

s=10*s+p[i][j];

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

}

该程序的输出结果是

A、69825B、63825C、6385D、693825

61.下述标识符中,(D)是合法的用户标识符。

   A.A#C       B.getch       C.void       D.ab*

62.以下叙述中正确的是()

 A.C程序中注释部分可以出现在程序中任意合适的地方

 B.花括号"{"和"}"只能作为函数体的定界符

 C.构成C程序的基本单位是函数,所有函数名都可以由用户命名

 D.分号是C语句之间的分隔符,不是语句的一部分

63.为表示关系x≥y≥z,应使用C语言表达式(A)。

 A.(x>=y)&&(y>=z)   B.(x>=y)AND(y>=z)

C.(x>=y>=z)          D.(x>=z)&(y>=z)

64.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)。

A.INPUTx、y、z;    B.scanf("%d%d%d",&x,&y,&z);

C.scanf("%d%d%d",x,y,z); D.read("%d%d%d",&x,&y,&z);

65.表达式(a=5,b=10+a++,a+b)的值是(D)。

 

 A.5  B.6  C.20  D.21

66.若有定义:

int*p[3];,则以下叙述中正确的是(B)

A.定义了一个基类型为int的指针变量p,该变量具有三个指针

B.定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针

C.定义了一个名为*p的整型数组,该数组含有三个int类型元素

D.定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素

67.以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串(42)以下选项中,不能正确赋值的是(A)

 A.chars1[10];s1="Ctest";

 B.chars2[]={'C','t','e','s','t'};

 C.chars3[20]="Ctest";

 D.char*s4="Ctest\n"

68.设intx=1,*p=&x;则下列值不为1的表达式是(D)。

 

  B

A.*p    B.*x

C.*&x   D.xD

1

69.下列能将fp声明为文件指针的语句是(D)。

 

  B

A.FILEfp B.FILE*fp C.filefp D.file*fp 

70.以下选项中不能正确把cl定义成结构体变量的是(B)。

A.typedefstruct  B.structcolorcl

{intred;  {intred;

intgreen;I intgreen;

intblue; intblue;

}COLOR;  };

  COLORcl;

C.structcolorD.struct

{intred;{intred;

intgreen;intgreen;

intblue;intblue;

}cl;}cl;

二、填空题(本题共6小题,每空1.5分,共18分)

1、若有定义:

inta[3][2]={1,2,3,4,5,6};则a[2][0]的值是___3____;a[0][1]的值是_2____。

2、if(a>b)max=a;elsemax=b;等价于if(b>a)max=b;elsemax=a。

(用条件运算符表示)

3、设有如下数组定义:

charstr[8]={"FuJian"};

则分配给数组str的存储空间是8个字节。

4、inti,*p;p=&i;,则p表示i,*p表示i*。

5、结构化程序设计的基本思想认为:

任何程序都可以用顺序结构、__选择结构__、循环结构这三种结构来表示。

6、C语言中允许的基本数据类型包括:

整型、实型、字符型,与它们相应的变量类型说明符分别是:

int、float、char。

7、一个C语言程序中必须存在的函数是mainvoid(),在一个字符数组中,表示一个字符串结束的转义符为‘\0’。

8、C语言中允许的基本数据类型包括:

整型、实型、字符型,与它们相应的变量类型说明符分别是:

int、float、char。

9、循环语句:

for(k=1;k<=5;k++)执行结束后,K的值为12345。

10、inti,*p;p=&i;,则p表示i,*p表示i*。

11、若有定义:

inta[3][2]={1,2,3,4,5,6};则a[0][0]的值是_____1__;a[1][1]的值是4_____。

12、设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f的值的数据类型为float。

13、已有定义:

intx=3,y=4,z=5;,则表达式!

(x+y)&&y+z/2的值是7&&4.5。

14.C语言的预处理语句以___#include“stdio.h”_____开头。

  15.表达式7+8>2&&25%5的结果是_0__.

  16.C语言中putchar(c)函数的功能是向标准输入输出设备输出一个字符,输出设备是屏幕终端_。

 17.int*p的含义是_定义指针变量P*__。

  18.指针是将其它变量的___任何一种基本数据类型数据的储存单元__作为其值的变量。

19.数组int a[3][4];共定义了__7__个数组元素。

三、程序填空题(本题共4小题,共20分)

1、求1~100以内能被3整除且含数字5的数。

(4分)

#include

main()

{inti,a,b,

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

当前位置:首页 > 表格模板 > 合同协议

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

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