C语言模拟历年考题集1.docx
- 文档编号:8046761
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:49
- 大小:49.28KB
C语言模拟历年考题集1.docx
《C语言模拟历年考题集1.docx》由会员分享,可在线阅读,更多相关《C语言模拟历年考题集1.docx(49页珍藏版)》请在冰豆网上搜索。
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.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 模拟 历年 考题