C语言模拟历年考题集1.docx

上传人:b****5 文档编号:8046761 上传时间:2023-01-28 格式:DOCX 页数:49 大小:49.28KB
下载 相关 举报
C语言模拟历年考题集1.docx_第1页
第1页 / 共49页
C语言模拟历年考题集1.docx_第2页
第2页 / 共49页
C语言模拟历年考题集1.docx_第3页
第3页 / 共49页
C语言模拟历年考题集1.docx_第4页
第4页 / 共49页
C语言模拟历年考题集1.docx_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

C语言模拟历年考题集1.docx

《C语言模拟历年考题集1.docx》由会员分享,可在线阅读,更多相关《C语言模拟历年考题集1.docx(49页珍藏版)》请在冰豆网上搜索。

C语言模拟历年考题集1.docx

C语言模拟历年考题集1

C语言模拟试卷集

填空题:

1、C语言中基本的数据类型有:

        、        、        。

2、C语言中普通整型变量的类型说明符为      ,在内存中占   字节,有符号普通整型的数据范围是                 。

3、整数-35在16位机内的补码表示为                 。

4、执行下列语句inta=8。

 a+=a-=a*a。

后,a的值是       。

5、有如下语句:

char A[]={”Iamastudent”}。

该字符串的长度是   ,A[3]=   。

6、符号”a”和’a’的区别是                                           。

7、所谓“指针”就是                                    。

 “&”运算符的作用是                          。

 “*”运算符的作用是                           。

8、有如下输入语句:

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

为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是                         。

9、设整型变量n的值为2,执行语句n+=n-=n*n后,n的值是      。

10、下列程序的输出结果是。

intast(intx,inty,int*cp,int*dp>

{*cp=x+y。

*dp=x-y。

}

main(>

{inta=4,b=3,c,d。

ast(a,b,&c,&d>。

printf("%d,%d/n",c,d。

}

11、C语言的预处理语句以__________开头。

12、表达式7+8>2&&25%5的结果是_______________________。

13、C语言中putchar(c>函数的功能是_________________________________。

14、语句int*p。

的含义是___________________________________________。

15、定义fp为文件型指针变量的定义方法为_______________________。

16、语句inta[3][4]。

共定义了____________个数组元素。

17、实型变量的类型说明符有:

__________、____________。

18、C语言中数组的下标下限为___________________________。

20、设x=4,y=(++x>+(++x>;那么y的值为_____,表达式执行后,变量x的值为_______。

21、一个变量的指针是指_____________________________________________。

22、能够构成一个数组,其元素满足的特点是__________________________________;那么,构成结构体的成员可以是_________________________________________。

23、下面运算符<%++=按照优先级从高到低排列顺序为______________。

24、C程序设计中语句后的符号/*……*/所起作用是_________________________。

25、写出下面表达式的值:

<1)3*5/7+7%3_________<2)x=2。

y=4。

(x++>+y_________

<3)3+4>=7-10___________<4)3>4?

3%2:

1_____________

<5)x=2,y=2。

++x||++y_________<6)x=3。

x+=x-=2_________

26、在C语言中,正确的标识符是由____________组成的,且由____________开头的。

27、设p=30,那么执行q=(++p>语句后,表达式的结果q为______,变量p的结果为________。

若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是_________。

29、在C语言程序中,对文件进行操作首先要____________________;然后对文件进行操作,最后要对文件实行__________________________操作,防止文件中信息的丢失。

30、以下程序<头文件省略)运行后的输出结果是。

该程序的功能是。

main(>

{intx=10,y=20,t=0。

if(x!

=y>t=x。

x=y。

y=t。

printf(“%d,%d\n”,x,y>。

}

31、若fp已正确定义为一个文件指针,d1.dat为二进制文件,请填空,以便为"读"而打开此文件:

fp=fopen(>。

33、在循环中,continue语句与break语句的区别是:

continue语句是,break是。

34、在内存中存储“A”要占用<)个字节,存储‘A’要占用<)字节。

35、符号常量的定义方法是<)。

36、能表述“20

37、结构化程序设计方法规定程序或程序段的结构有三种:

顺序结构、<)和<)。

38、C语言共提供了三种用于实现循环结构的流程控制语句,它们是<)、<)和<)。

39、若在程序中用到putchar,应在程序开头写上包含命令<),若在程序中用到strlen(>函数时,应在程序开头写上包含命令<)。

40、设有定义语句staticinta[3][4]={{1},{2},{3}}。

,则a[1][1]值为<),a[2][1]的值为<)。

41、“*”称为<)运算符,“&”称为<)运算符。

42、赋值表达式和赋值语句的区别在于有无<)号。

43、用{}把一些语句括起来称为<)语句

44、设a=12、b=24、c=36,对于scanf(“a=%d,b=%d,c=%d”,&a,&b,&c>。

语句,输入形式应为<)

45、表达式sqrt(s*(s-a>*(s-b>*(s-c>>;对应的数学式子为<)

46、C语言编绎系统在判断一个量是否为“真”时,以<)代表“真”

47、C语言从源程序的书写到上机运行输出结果要经过_______________四个步骤。

48、C语言的表达式与语句的区别在于___________________________________。

49、C语句_____________(有、没有>输入、输出语句。

50、结构化程序的编写有_______________________________三种程序结构。

51、表达式10/3*9%10/2的值是___________________。

52、设有intx=2,y说明,则逗号表达式y=x+5,x+y的值是_________________。

53、设有intx=1,则x>0?

2*x+1:

0表达式的值是______________________。

54、变量Y满足以下两条件中的任意一个:

①能被4整除,但不能被100整除;②能被400整除。

请用逻辑表达式表示所给条件。

_________________________________________

55、逻辑运算符&&、||、!

中的优先级是____________________

57、在C语言中,字符串常量是用表示一串字符。

58、若有说明和语句:

inta=25,b=60。

b=++a。

则b的值是。

59、若intx=5。

while(x>0>printf(“%d”,x-->。

的循环执行次数为。

60、若有inta[5],*p=a。

则p+2表示第个元素的地址。

61、若有说明和语句:

inta=5,b=6,y=6。

b-=a。

y=a++。

则b和y的值分别是、。

62、已知整型变量a=3,b=4,c=5,写出逻辑表达式a||b+c>c&&b-c的值是。

63、C程序设计的三种基本结构是________、________和________。

64、数组是表示类型相同的数据,而结构体则是若干数据项的集合。

65、C语言中文件是指。

66、C语言源程序文件的扩展名是(1>,经过编译后,生成文件的扩展名是(2>,经过连接后,生成文件的扩展名是(3>。

67、把a,b定义成长整型变量的定义语句是(4>

68、设x和y均为整型变量,且x=3,y=2,则1.0*x/y表达式的值为(5>

69、已有定义:

floatx=5.5。

则表达式:

x=(int>x+2的值为(6>

70、已有定义:

intx=0,y=0。

则表达式:

(x+=2,y=x+3/2,y+5>后,变量x的值为(7>,变量y的值为(8>,表达式的值为(9>。

71、执行以下for(i=1。

i<=5。

i++>语句后,变量i的值为(10>。

72、数组是表示类型相同的数据,而结构体则是若干(11>数据项的集合。

73、若有定义:

charc=’\010’。

则变量c中包含的字符个数是<)。

74、C语言提供的三种逻辑运算符是<)、<)、<)。

75、设y为int型变量,请写出描述“y是奇数”的表达式<)。

76、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式<)。

77、在C语言中,二维数组元素在内存中的存放顺序是<)。

78、若有定义:

doublex[3][5]。

则x数组中行下标的下限为<),列小标的上限为<)。

79、若有定义:

inta[3][4]={{1,2},{0},{4,6,8,10}}。

则初始化后,a[1][2]得到的初值是<),a[2][2]得到的初值是<)。

80、若自定义函数要求返回一个值,则应在该函数体中有一条<)语句,若自定义函数要求不返回一个值,则应在该函数说明时加一个类型说明符<)。

81、函数中的形参和调用时的实参都是数组名时,传递方式为<),都是变量时,传递方式为<)。

填空题答案:

1、整型、浮点型、字符型。

2、int,2,-32768~+32767

3、11111111110111014、-1125、14,’m’

6、”a”是字符串常量,而’a’是字符常量。

7、存放地址值的变量或常量,或者答地址取运算对象的地址取指针变量所指的内容

8、a=1,b=3,c=29、-410、7,1

11、#号12、013、将变量c中的字符显示到屏幕上。

14、指针变量p为整型15、FILE*fp16、12

17、floatdouble18、020、12,621、该变量的地址

22、同一类型;不同类型23、++%<=24、注释

25、3,1,1,61226、字母、数字、下划线;以字母、下划线开头。

27、4,4-1229、打开;关闭。

30、20,10变量的交换

31、“d1.dat”,“rb”33、结束本次循环,进入下一次循环;结束循环。

34、2,135、#define符号常量常量

36、(x>20&&x<30>||x<-10037、分支结构,循环结果38、whiledofor

39、#include“stdio.h”#include“string.h”40、a[1][1]=0,a[2][1]=0

41、*指针运算符,&地址运算符42、分号;43、复合语句

44、a=12,b=24,c=3645、

46、非0

47、编辑、编译、连接、执行48、“表达式”未尾加“;”号就成“语句”

49、没有50、顺序、分支、循环51、3

52、953、354、y%4==0&&y%100!

=0||y%400==0

55、!

&&||57、双引号58、2659、560、三(3>

61、1,2062、163、顺序结构、选择结构、循环结构64、类型不同

65、存储在外部介质上的相关数据集合。

66、(1>.C(2>.OBJ(3>.EXE(小写也正确>

67、(4>long(int>a,b。

68、(5>1.569、(6>7.000000

70、(7>2(8>3(9>871、(10>772、(11>类型不同

73、1个74、与&&、或||、非!

75、y%2!

=076、x

77、行列78、0,479、0,880、return,void

81、地址传送,值传送

===========================================================================

二、选择题<一)

1、设整型变量a为5,使b不为2的表达式是<)。

A.b=a/2B.b=6-(--a>C.b=a%2D.b=a>3?

2:

1

2、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:

C程序中的else总是与<)组成配对关系。

A.缩排位置相同的ifB.在其之前未配对的if

C.在其之前未配对的最近的ifD.同一行上的if

3、以下程序的输出结果是(>。

intx=10,y=10。

printf(“%d%d\n”,x--,--y>。

A.1010B.99C.910D.109

4、设A为存放<短)整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为<)。

A.P+i*2B.P+(i-1>*2C.P+(i-1>D.P+i

5、选出下列标识符中不是合法的标识符的是<)。

A.hot_doB.cat1C._priD.2ab

6、以下程序的输出结果是<)。

inta=5。

floatx=3.14。

a*=x*(‘E’-‘A’>。

printf(“%f\n”,(float>a>。

A.62.000000B.62.800000C.63.000000D.62

7、设有说明double(*p1>[N]。

其中标识符p1是<)。

A.N个指向double型变量的指针。

B.指向N个double型变量的函数指针。

C.一个指向由N个double型元素组成的一维数组的指针。

D.具有N个指针元素的一维指针数组,每个元素都只能指向double型量。

8、在C程序中有如下语句:

char*func(intx,inty>。

它是<)。

A.对函数func的定义。

B.对函数func的调用。

C.对函数func的原型说明。

D.不合法的。

9、以下程序的输出结果是<)。

charstr[15]=”hello!

”。

printf(“%d\n”,strlen(str>>。

A.15B.14C.7D.6

10、分析以下程序的输出结果是<)。

main(>

{inta=5,b=-1,c。

c=adds(a,b>。

printf(“%d”,c>。

c=adds(a,b>。

printf(“%d\n”,c>。

}

intadds(intx,inty>

{staticintm=0,n=3。

n*=++m。

m=n%x+y++。

return(m>。

}

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

11、下列描述中不正确的是<)。

A.字符型数组中可能存放字符串。

B.可以对字符型数组进行整体输入、输出。

C.可以对整型数组进行整体输入、输出。

D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。

12、以下程序的输出结果是<)。

#definef(x>x*x

main(>

{inta=6,b=2,c。

c=f(a>/f(b>。

printf(“%d\n”,c>。

}

A.9B.6C.36D.18

13、设有如下定义:

intx=10,y=3,z。

则语句printf("%d\n",z=(x%y,x/y>>。

的输出结果是<)。

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

14、定义如下变量和数组:

inti。

intx[3][3]={1,2,3,4,5,6,7,8,9}。

则语句for(i=0。

i<3。

i++>printf("%d",x[i][2-i]>。

的输出结果是<)。

A.159B.147C.357D.369

15、以下对二维数组a进行正确初始化的是<)

A.inta[2][3]={{1,2},{3,4},{5,6}}。

B.inta[][3]={1,2,3,4,5,6}。

C.inta[2][]={1,2,3,4,5,6}。

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

16、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是<)。

intx。

scanf("%d",&x>。

if(x++>5>printf("%d",x>。

elseprintf("%d\n",x-->。

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

17、设有如下定义:

char*aa[2]={"abcd","ABCD"}。

则以下说法中正确的是<)。

A>aa数组成元素的值分别是"abcd"和ABCD"

B>aa是指针变量,它指向含有两个数组元素的字符型一维数组

C>aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址

D>aa数组的两个元素中各自存放了字符'a'和'A'的地址

18、下列程序的输出结果是<)。

char*p1="abcd",*p2="ABCD",str[50]="xyz"。

strcpy(str+2,strcat(p1+2,p2+1>>。

printf("%s",str>。

A.xyabcABB.abcABzC.ABabczD.xycdBCD

19、下列程序的输出结果是<)。

inta[5]={2,4,6,8,10},*P,**k。

p=a。

k=&p。

printf("%d",*(p++>>。

printf("%d\n",**k>。

A.44B.22C.24D.46

20、不能把字符串:

Hello!

赋给数组b的语句是<)。

A.charb[10]={'H','e','l','l','o','!

'}。

B.charb[10]。

b="Hello!

"。

C.charb[10]。

strcpy(b,"Hello!

">。

D.charb[10]="Hello!

"。

1、C2、C3、D4、B5、D6、A7、C8、C9、D10、A11、C12、C13、D14、C15、B16、C17、D18、D19、C20、B

选择题<二)

1、以下选项中属于C语言的数据类型是<)。

A.复合型B.双精度型C.逻辑型D.集合型

2、以下说法中正确的是<)。

A.C语言程序总是从第一个的函数开始执行

B.在C语言程序中,要调用的函数必须在main(>函数中定义

C.C语言程序总是从main(>函数开始执行

D.C语言程序中的main(>函数必须放在程序的开始部分

5、若已定义:

inta[9],*p=a。

并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为<)。

A.p+1B.a+1C.a++D.++p

6、设有如下定义:

intx=10,y=3,z。

则语句printf("%d\n",z=(x%y,x/y>>。

的输出结果是<)。

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

7、定义如下变量和数组:

inti,x[3][3]={1,2,3,4,5,6,7,8,9}。

则下面语句for(i=0。

i<3。

i++>printf("%d",x[i][2-i]>。

的输出结果是<)

A.159B.147C.357D.369

9、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是<)。

if(x++>5>printf("%d",x>。

elseprintf("%d\n",x-->。

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

10、设有如下定义:

char*aa[2]={"abcd","ABCD"}。

则以下说法中正确的是<)。

A>aa数组成元素的值分别是"abcd"和ABCD"

B>aa是指针变量,它指向含有两个数组元素的字符型一维数组

C>aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址

D>aa数组的两个元素中各自存放了字符'a'和'A'的地址

11、以下语句的输出结果是<)。

inta=-1,b=4,k。

k=(++a<0>&&!

(b--<=0>。

printf("%d,%d,%d\n",k,a,b>。

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

15、下列程序执行后输出的结果是<)。

intd=1。

fun(intp>

{intd=5。

d+=p++。

printf("%d,",d>。

}

main(>

{inta=3。

fun(a>。

d+=a++。

printf("%d\n",d>。

}

A.8,4B.9,6C.9,4D.8,5

16、表达式:

10!

=9的值是<)。

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

17、若有说明:

inti,j=7,*p=&i。

则与i=j。

等价的语句是<)。

A.i=*p。

B.*p=*&j。

C.i=&j。

D.i=**p。

Key:

1、B2、C3、D4、C5、C6、D7、C8、D9、C10、D11、D12、D13、B14、B15、A16、D17、B18、B19、C20、D

选择题<三)

1.设intx=1,y=1。

表达式

x++||y--)的值是_________

A.0B.1C.2D.-1

2.main(>

{intn。

(n=6*4,n+6>,n*2。

printf(“n=%d\n”,n>。

}此程序的输出结果是______________.

A.30B.24C.60D.48

3.若有如下定义,则__________是对数组元素的正确的引用。

inta[10],*p。

p=a。

p=a。

p=a。

p=a。

A.*&a[10]B.a[11]C.*(p+10>D.*p

4.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是__________

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

5.以下不能正确定义二维数组的语句是___________

A.inta[2][2]={{1},{2}}。

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

C.inta[2][2]={{1},2,3}。

D.

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

当前位置:首页 > 经管营销 > 金融投资

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

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