第六套试题.docx
- 文档编号:29001877
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:6
- 大小:17.26KB
第六套试题.docx
《第六套试题.docx》由会员分享,可在线阅读,更多相关《第六套试题.docx(6页珍藏版)》请在冰豆网上搜索。
第六套试题
第六套试题
一、选择题(15*2=30分)
1、下列对C语言的特点说法不正确的是_____。
A.c语言是结构化设计语言B.c语言是机器语言
C.c语言生成目标代码质量高,程序执行效率高D.c语言简洁、紧凑、使用方便、灵活
2、一个C语言程序的执行是从_____。
A.第一个函数开始,直到最后一个函数结束B.main函数开始,直到main函数结束
C.第一个函数开始,直到最后一个语句结束D.main函数开始,直到最后一个函数结束
3、下列标识符错误的是_____。
A.Hot_dogB.cat1C.2dogD.S_exp
4、以下叙述正确的是_____。
A.do_while语句构成的循环不能用其它语句构成的循环来代替
B.do_while语句构成的循环只能用break语句退出
C.用do_while语句构成循环时,当while后的表达式成立时结束循环
D.用do_while语句构成循环时,当while后的表达式不成立时结束循环
5、以下程序的输出结果是_____。
main()
{intx=10,y=3;printf(“%d\n”,y=x/y);}
A.0B.1C.3D.不确定的值
6、以下程序段的输出结果是___10__。
intk,j,s;
for(k=2;k<6;k++,k++)
{s=1;
for(j=k;j<6;j++)s+=j;
}
printf(“%d\n”,s);
A.9B.1C.11D.6
7、如果有下列说明intp,a=3;执行了p=&a;则与&*p表达的意思一致的是_____。
A.&aB.aC.&pD.*p
8、为表示关系x≥y≥z,应使用的C语言表达式是_____。
A.(x>=y)&&(y>=z)B.(x>=y)AND(y>=z)C.(x>=y>=z)D.(x>=y)&(y>=z)
9、设有语句chara=‘\72’;则变量a_____。
A.包含1个字符B.包含2个字符C.包含3个字符D.说明不合法
10、以下对二维数组a进行不正确初始化的是_____。
A.inta[][3]={3,2,1,1,2,3};B.inta[][3]={{3,2,1},{1,2,3}};
C.inta[2][3]={{3,2,1},{1,2,3}};D.inta[][]={{3,2,1},{1,2,3}};
11、对于如下的结构体定义:
structdate{intyear;intmonth;intday;};
structworklist
{charname[20];
charsex;
structdatebirthday;
}person;
若对变量person的出生年份进行赋值,_____是正确的赋值语句。
A.year=1976;B.birthday.year=1976;C.person.birthday.year=1976;D.person.year=1976;
12、如果int*p,a[3]={1,2,3};执行p=a;那么运行printf(“%d”,*p++);输出结果是_____。
A.1B.2C.3D.不确定
13、下面是有关对算法的说法,其中不正确的是_____。
A.算法是程序的灵魂B.算法是解决“做什么”和“怎么做”的问题
C.N-S流程图表示算法比传统流程图紧凑易画,尤其是它废除了流程线。
D.传统的流程图表示算法如:
顺序、选择、循环三种结构,一般有多个入口,多个出口
14、如果inta[]={1,2,3,4,5};intp=a+3;那么printf(“%d”,*p+3);输出结果是_____。
A.4B.1C.5D.7
15、下列对全局变量和局部变量说法不正确的是_____。
A.全局变量可以为其他文件中的函数所共用
B.全局变量的有效范围为从定义变量的位置开始到本源文件结束
C.局部变量只有在本函数内才能使用它们
D.局部变量不能为其他文件中的函数所共用
二、程序填空(5*5=25分)
1、将下列空白行程序填写完整
1)下列程序完成打印出以下图案的功能,请将程序中的一处补充完整。
Main()
*
***
*****
*******
{inti,j,k;
for(i=0;i<=3;i++)
{
for()j=1;j<=(2*i-1);j++
printf(“”);
for(k=0;k<=2*i;k++)
printf(“*”);
printf(“\n”);
}
2)下列程序完成求一个字符串长度的功能,请将程序中的两处补充完整。
Main()
{
intlen;
char*str[20];
printf(“Inputstring:
”);
scanf(“%s”,);
len=length(str);
printf(“Thelengthofstringis%d.”,len);
}
length(char*p)
{
intn=0;
while(*p!
=’\0’);
{n++;
;
}
return(n);
}
2、写出下列程序的运行结果
1)
main()
{inta=1;b=2;c=3;
switch((a=b)==c)
{case0:
printf(“false”);
case1:
printf(“true”);
case2:
case3:
printf(“2,3”);
}
}
程序运行结果是:
2)
main()
{
intn=0;
charc;
while((c=getchar())!
=’2’)
n++,printf(“0%c”,c);
printf(“%d”,n);
}
假如输入1992,那么输出结果是:
3)
#include
main()
{intm,i,k;
scanf("%d",&m);
k=sqrt(m);
for(i=2;i<=k;i++);
if(m%i==0)break;
if(i>k)printf(“YES”);
elseprintf(“NO”);
}
假如输入19,那么输出结果是:
三、程序改错(3*5=15分)
说明:
如果第4行有错,就写:
第4行应改成*****;如果需要在第3行和第4行插入代码就写:
在第3、4中间插入*****。
1、求1!
+2!
+3!
+4!
+5!
1)#include
2)#include
3)main()
4){
5)floats=0,t=1;
6)intn;
7)for(n=1;n<=5;n++)
8)t=t*n;
9)s=s+t;
10)printf("1!
+2!
+3!
+4!
+5!
=%f\n",s);
11)}
此程序运行后,没有任何语法错误提示,输出结果:
120.000000,显然错误。
请对以上程序改动2行后能使程序正常运行并输出正确结果:
153.000000。
①②
2、交换两个数
1)main()
2){inta,b;
3)int*p1,*p2;
4)scanf("%d,%d",&a,&b);
5)p1=&a;p2=&b;
6)if(a
7)swap(p1,p2);
8)printf("\n%d,%d\n",a,b);
9)}
10)swap(int*pa,int*pb)
11){intp;
12)p=pa;pa=pb;pb=p;
13)}
此程序运行后,没有任何语法错误提示,如果输入3,4输出结果:
3,4,显然错误。
请对以上程序改动1行后能使程序正常运行并输出正确结果:
4,3。
①
四、程序设计(2*15=30分)
1、下列这个程序是用函数的方式完成编写一个Fibonacci数列,请补充完成函数number_fibonacci()的代码。
这个数列有如下特点:
第1,2两个数为1,1。
从第3个数开始,该数是其前面两个数之和。
即:
F1=1(n=1)
F2=1(n=2)
Fn=Fn-1+Fn-2(n>=3)
运行结果为:
1123
581321
345589144
233377610987
1597258441816765
....
....
程序如下
main()
{intn;
scanf("%d",&n);
number_fibonacci(n);
printf("\n");
}
voidnumber_fibonacci(intn)
{
}
2、利用所学知识,设计下列程序
打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。
例如,153是一水仙花数,因为
153=1*1*1+5*5*5+3*3*3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第六 试题
![提示](https://static.bdocx.com/images/bang_tan.gif)