期末复习汇编2.docx

上传人:b****6 文档编号:8948154 上传时间:2023-02-02 格式:DOCX 页数:19 大小:40.41KB
下载 相关 举报
期末复习汇编2.docx_第1页
第1页 / 共19页
期末复习汇编2.docx_第2页
第2页 / 共19页
期末复习汇编2.docx_第3页
第3页 / 共19页
期末复习汇编2.docx_第4页
第4页 / 共19页
期末复习汇编2.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

期末复习汇编2.docx

《期末复习汇编2.docx》由会员分享,可在线阅读,更多相关《期末复习汇编2.docx(19页珍藏版)》请在冰豆网上搜索。

期末复习汇编2.docx

期末复习汇编2

期末复习汇编

一、选择题

1.C语言的数据类型分为基本类型和构造类型和指针类型等。

以下定义的变量中哪个定义了结构体类型变量:

A.longx;B.structstud_typea;

C.shorty;D.int*p;

2.C语言的字符是根据其ASCII码的值来存储的。

如charx=97;printf(“%d,%c”,x,x);则输出的值为:

A.a97B.9797C.97aD.aa

3.C语言规定:

在一个源程序中,main函数的位置____。

A.必须在最开始B.必须在系统调用的库函数的后面

C.可以任意D.必须在最后

4.C语言提供的合法关键字是____________。

A.swithB.cherC.PrintfD.if

5.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是____。

A.float型B.int型C.long型D.double型

6.在C语言中,char类型的数据占字节数为_____。

A.1B.2C.4D.8

7.C语言在输出时用到转义字符,来实现输出的格式。

以下转义字符号中,表示横向跳格的是:

A.\rB.\tC.\nD.\b

8.C语言中,运算对象必须是整型的运算符是____。

A.%B./C.%和/D.*

9.C语言中基本数据类型包括

A.整型实型逻辑型B.整型实型字符型

C.整型字符型逻辑型D.整型实型逻辑型字符型

10.fscanf函数的正确调用形式是_________。

A.fscanf(文件指针,格式字符串,输出地址列表)

B.fscanf(格式字符串,输出地址列表,文件指针);

C.fscanf(格式字符串,文件指针,输出地址列表);

D.fscanf(文件指针,格式字符串,输入地址列表);

11.if(a>b)if(a

elsex=2;

eslex=3;如a>b>c,则x=()

A.0,B.1,C.2,D.3

12.inta=5,b=0;printf(“%d,%d\n”,a&&b,a||b);输出值为:

A.5,0B.1,5C.1,0D.0,1

13.inta=5;b=3;x,y;x=a/b;y=a%b,则x、y的值分别为:

A.1、2,B.2、3C.3、5D.2、5

14.intx,y,z;x=y=z=0;++x||++y&&++z;则x、y、z的值分别为:

A. 000;B.001; C.100; D.111。

15.scanf(“%d%f%d”,&a,&b,&c),若要使a=1000,c=3,b=0.025,则应输入____。

A.100030.025B.10000.0253

C.1000,3,0.025D.1000,0.025,3

16.while(!

x)等价于while()。

A.x==1B、x==0C、x!

=0D、x!

=1

17.表达式:

10==9的值是

A.trueB.非零值C.0D.1

18.不合法的八进制数是____。

A.0B.028C.077D.01

19.不能正确表示ab除以cd的C语言表达式是____________。

A.a*b/c*dB.a/(c*d)*bC.a*b/c/dD.a*b/(c*d)

20.不是单个字符的是______。

A.‘a’B.“b”C.‘\n’D.‘#’

21.不正确的赋值或赋初值的方式是

A.charstr[]=“string”;

B.charstr[7]={‘s’,‘t’,‘r’,‘i’,‘n’,‘g’,‘\0’};

C.char*p=“string”;

D.enumcolor{red,blue,black}a;a=3;

22.

程序设计的基本控制结构有:

顺序结构、选择结构和循环结构。

下图中选择结构的是:

A.B.C.D.

23.程序运行后z的值为__________。

#include

#definen2

#definey(n)((n+1)*n)

main()

{intz;

z=2*(n+y(5));

printf("%d\n",z);

}

A.64B.34C.65D.输出值不确定

24.错误的转义字符是____________。

A.‘\091’B.‘\t’C.‘\0’D.‘\n’

25.当顺利执行了文件关闭操作后,fclose函数的返回值为______。

A.-1B.TC.0D.1

26.对于以下变量定义,

int*p[3],a[3];

正确的赋值是:

A.p=aB.*p=a[0]C.p=&a[0]D.p[0]=&a[0]

27.函数的指针,其含义是指该函数的:

A.值B.地址C.入口地址D.函数的参数

28.假定a和b为int型变量,则执行以下语句后,b的值为__A____。

inta=1,b=10;

do

{b-=a;a++;}//这一步执行

while(b--<0);//循环不执行

A.9B.-2C.-1D.8

29.类型定义中正确的是________。

A.DoubleB.shortC.integerD.Char

30.满足:

当c的值为1、3、5三个数时值为“真”,否则值为“假”的表达式是__D__。

A.(c=1)||(c=3)||(c=5)B.(c!

=1)&&(c!

=3)&&(c!

=5)

C.(c==1)&&(c==3)&&(c==5)D.(c==1)||(c==3)||(c==5)

31.判断char型变量ch是否为大写字母的正确表达式是。

A.’A’<=ch<=’Z’B.(ch>=’A’)&(ch<=’Z’)

C.(ch>=’A’)&&(ch<=’Z’)D.(‘A’<=ch)AND(‘Z’>=ch)

32.判断两个字符串s1和s2相等,应当使用___C_。

A.if(s1==s2)B.if(s1=s2)

C.if(strcmp(s1,s2))D.if(strcmp(s1,s2)==0)

33.若a=-14,b=3,则条件表达式a

a:

b+1的值为____。

A.-14B.-13C.3D.4

34.若ch为char型变量(已知字符a的ASCII码是97),则执行下列语句后输出为________________。

ch=’c’;

print(“%x,%o”,ch,ch);

A.97,97B.61,97C.97,61D.63,143

35.若fp是指向某文件的指针,且已读到此文件的末尾,则库函数feof(fp)的返回值是__________。

A.EOFB.0C.非零值D.NULL

36.若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为____。

A.0B.1C.-1D.一个非0值

37.若k为整型,以下while循环____次。

intk=10;

while(k=1)k=k-1;

A.10次B.无限循环C.一次不执行D.执行一次

38.若p1和p2都是整型指针,p1已指向变量x,要使p2也指向x,正确的是。

A.p2=p1B.p2=**p1C.p2=&p1D.p2=*p1

39.若变量已说明为int类型,并且有语句scanf(“%f%f%f”,&a,&b,&c);要给a,b,c输入数据,下列不正确的输入方法是_____。

A.10B.10.0,22.0,33.0C.10.0D.1022

2222.033.033

33

40.若程序中定义了以下函数,则下面选项中对该函数错误的说明是______。

doublemyadd(doublea,doubleb)

A.doublemyadd(doublea,b);

B.doublemyadd(double,double);

C.doublemyadd(doubleb,doublea);

D.doublemyadd(doublex,doubley);

41.若二维数组a有m列,则在a[i][j]前的元素个数为________。

A.j*m+iB.i*m+jC.i*m+j-1D.i*m+j+1

42.若要打开A:

盘上的user子目录下名为abc.txt的文本文件进行读、写操作则下列符合要求的函数调用是__________________________。

A.fopen(“A:

\user\abc.txt”,“r”)

B.fopen(“A:

\user\abc.txt”,“r+”)

C.fopen(“A:

\user\abc.txt”,“rb”)

D.fopen(“A:

\user\abc.txt”,“w”)}

43.下列为合法的用户标识符的是___________。

A._98B.#PdC.2aD.char

44.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为_D___。

A.a<>0B.!

aC.a=0D.a

45.若有如下定义:

intx=10,y=3,z;

则语句printf("%d\n",z=(x%y,x/y))的输出结果是____________。

A.1B.0C.4D.3

46.若有说明:

inta[3][4];则对数组元素的非法引用是______。

A.a[0][2*1]B.a[0][4]C.a[4-2][0]D.a[1][3]

47.若有说明:

inta[10];则对a数组元素的正确引用是_______________。

A.a[10]B.a[10-10]C.a(5)D.a[3.5]

48.若有下列程序段,其输出的结果是_____B__________。

inta=0,b=0,c=0;

c=(a-=a-5),(a=b,b+3);

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

A.0,0,-10B.0,0,5C.-10,3,-10D.3,3,-10

49.若有以下定义,则p+5表示_______A_____。

inta[10],*p=a;

A.元素a[5]的地址B.元素a[5]的值

C.元素a[6]的地址D.元素a[6]的值

50.若有以下定义,则对a数组元素的正确引用是__B_________。

inta[5],*p=a;

A.*&a[5]B.a+2C.*(p+5)D.*(a+2)

51.若有语句:

inta=4,*p=&a;,下面均代表地址的一组选项是__C__。

A.a,p,&*aB.*&a,&a,*pC.&a,p,&*pD.*&p,*p,&a

52.若有语句int*point,a=4和point=&a;下面均代表地址的一组选项是___D__。

A.a,point,*&aB.&*a,&a,*point

C.*&point,*point,&aD.&a,&*point,point

53.若运行时给变量x输入12,则以下程序的运行结果是____________。

main()

{intx,y;

scanf(“%d”,&x);

y=x>12?

x+10:

x-12;

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

}

A.4B.3C.2D.0

54.若整型变量k的当前值为9,则执行语句“x=k>>2”后,变量k,x的值分别是C(>>2表示右移两位)

A.9,2B.2,2C.9,9D.2,9

55.设inta,b,c;执行表达式a=b=1,a++,b+1,c=a+b--后,a,b和c的值分别是_D__。

A.2,1,2B.2,0,3C.2,2,3D.2,1,3

56.设a=4,b=3,c=2,d=1,则表达式:

a

a:

c

a:

d的结果为:

D

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

57.设a和b均为double型常量,且a=5.5,b=2.5,则表达式(int)a+b/b的值是:

A.6.500000B.6C.5.500000D.6.000000

58.设x、y均为float型变量,则以下不合法的赋值语句是__B__。

A.++x;B.y=(x%2)/10;C.x*=y+8;D.x=y=0;

59.设变量定义如下,则对其中的结构分量num正确的引用是。

structstudent{

intnum;

Charname[20];

floatscire;

}stud[10];

A.stud[1].num=10;B.student.stud.num=10;

C.struct.stud.num=10;D.structstudent.num=10;

60.设有如下定义:

structsk

{intn;

floatx;

}data;

Int*p;

若要使p指向data中的n域,则正确的赋值语句是______。

A.p=&n;B.p=data.n;C.p=&data.n;D.*p=data.n;

61.数组定义为inta[3][2]={1,2,3,4,5,6},数组元素B的值为6。

A.a[3][2]B.a[2][1]C.a[1][2]D.a[2][3]

62.说明和语句:

inta=4;

a++;

最后a的值是________。

A.7B.6C.5D.4

63.说明和语句:

intx=5;

++x;

最后a的值是______。

A.7B.6C.8D.4

64.算法具有五个特性,以下选项中不属于算法特性的是____。

A.有穷性B.简洁性C.可行性D.确定性

65.为表示关系x≤y≤z,正确的C语言表达式是____。

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

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

66.下列scanf函数调用语句中对结构体变量成员的不正确引用是________。

structpupil

{charname[20];

intage;

intsex;

}pup[5],*p;

p=&pup[0];

A.scanf(“%s”,pup[0].name);

B.scanf(“%d”,&pup[0].age);

C.scanf(“%c”,&(p->sex));

D.scanf(“%d”,p->age);

67.下列while循环,将执行A次。

i=4;

while(--i);

printf(“%d”,i);

A.3B.4C.0D.无限次

68.下列不能正确定义二维数组的选项是____D____。

A.inta[2][2]={{1},{2}};B.inta[][2]={1,2,3,4};

C.inta[2][2]={{1},2,3};D.inta[2][]={{1,2},{3,4}};

69.下列不属于字符型常量的是___________。

A.‘A’B.“B”C.‘\n’D.‘*’

70.下列程序的输出结果是__D_orA___。

#include

#defineP3

F(intx)//C-FREE中没有定义函数类型通不过,c++可以通过

{return(P*x*x);}

main()

{printf(“%d\n”,F(3+5));

}

A.192B.29C.25D.编译出错

71.下列程序的输出结果是_______。

#include

main()

{inta=0,b=0,c=0,d=0;

if(a=1)

{b=1;c=2;}

else

d=3;

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

}

A.1,2,1,0B.0,0,0,3C.1,1,2,0D.编译有错

72.下列程序的输出结果是___C____。

#include

main()

{inta=-1,b=1,k;

if((++a<0)&&!

(b--<=0))

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

else

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

}

A.-11B.01C.10D.00

73.下列程序的输出结果是________。

#include

#defineSQR(x)x*x

main()

{inta=10,k=3,m=2;

a=SQR(k+m);

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

}

A.25B.11C.5D.15

74.下列程序的输出结果是_____C____。

#include

main()

{doubled=3.2;

intx,y,z;x=1.2;

y=(x+3.8)/5.0;

z=(d+3.8)/5.0;

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

}

A.1,1B.0,0C.0,1D.1,0

75.下列程序的输出结果是_________。

intx=3;

do

{printf("%d",x-=2);

}

while(!

(--x));

A.1B.30C.1-2D.死循环

76.下列程序的输出结果是__________。

#include

main()

{

inta,b,c=246;

a=c/100%9;

b=(-1)&&(-1);

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

}

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

77.下列程序的输出结果是__________。

#include

#include

voidmain()

{charstr[10]={'s','t','r','i','n'};

printf("%d\n",strlen(str));

}

A.5B.6C.不确定D.7

78.下列程序的输出结果是_____C______。

intm=5;

if(m++>5)//先判断m=5不大于5,之后m变成6,然后执行else先输出m=6,再m--。

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

else

printf(“%d\n”,m--);

A.4B.5C.6D.7

79.下列程序的输出结果是_____________。

#include

#defineN5

#defineM1N*3

#defineM2N*2

main()

{inti;

i=M1+M2;

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

}

A.10B.20C.25D.30

80.下列程序的输出结果是______C___________。

#include

#defineM(x,y)(x)<(y)?

(x):

(y)

main()

{inti=20,j=10,k;

k=10*M(i,j);

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

}

A.10B.20C.100D.200

81.下列程序的输出结果是__________________。

#include

main()

{intx;

for(x=3;x<6;x++)

printf((x%2)?

(“**%d”):

(“##%d\n),x);

}

A.**3##4B.##3C.##3**4D.**3##4

**5**4##5**5##5

82.下列程序段的输出结果是___A_。

#defineM(x,y)x/y

printf("%d",M(10,2+3));

A.2B.2.0C.5D.8

83.下列程序段的输出结果是__C_____。

inta=1234;

printf(“%2d\n”,a);//当输出长度比a的长度小时,定义的长度无效

A.12B.34C.1234D.提示出错,无结果

84.下列各表达式中哪个值为“真”。

A.7>10&&4>2;B.10>’A’&&2>0;

C.’a’<50||’a’>’b’;D.0||1

85.下列描述正确的是___________。

A.C语言的预处理功能是指完成宏替换和包含文件的调用

B.预处理指令只能位于C源程序文件的首部

C.凡是C源程序中行首以“#”标识的控制行都是预处理指令

D.C语言的编译预处理就是对源程序进行初步的语法检查

86.下列能正确地定义整型变量a、b和c并为其赋初值3的语句是________。

A.inta=b=c=3B.inta,b,c=3

C.inta=3,b=3,c=3D.a=b=c=3

87.下列能正确进行字符串赋值操作的是______。

A.chars[5]={“ABCDE”};

B.chars[5]={‘A’,’B’,’C’,’D’,’E’,’\0’};

C.char*s;s=“ABCDE”;

D.char*s,scanf(“%s”,s);

88.下列说明不正确的是___D________。

A.chara[10]={"china"};B.chara[10],*p=a;p="china";

C.char*a;a="china";D.chara[10],*p;p=a=

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

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1