期中试卷2 ( 1 )

温柔似野鬼°
754次浏览
2020年09月10日 07:53
最佳经验
本文由作者推荐

北京农业学院-初三入团申请书


所属语言:C语言
试卷方案:2012c语言期中测试
试卷总分:98分
共有题型:4种


一、单项选择 共24题 (共计48分)
第1题 (2.0分)
为了避免在嵌套的条件语句 if-else 中产生二义性,C语言规定:
else子句总是与()配对。
A:缩排位置相同的if
B:其之前最近的if
C:其之后最近的if
D:同一行上的if


答案:B

第2题 (2.0分)
以下运算符中,优先级最高的运算符是()。
A:?:
B:++
C:&&
D:,


答案:B

第3题 (2.0分)
已知year为整型变量,不能使表达式(year%4==0&&year%100!=0)
||year%400==0的值为“真”的数据是()。
A:1990
B:1992
C:1996
D:2000


答案:A

第4题 (2.0分)
用下列语句定义a,b,c,然后执行b=a;c='b'+b;则b,c的值是()。
long a=0xffffff;
int b; char c;
A:0ffffff 和0x61


B:-1和98
C:-1和97
D:指向同一地址


答案:C

第5题 (2.0分)
下列字符序列中,可用作C标识符的一组字符序列是()。
A:S.b,sum,average,_above
B:class,day,lotus_1,2day
C:#md,&12x,month,student_n!
D:D56,r_1_2,name,_st_1


答案:D

第6题 (2.0分)
以下数据中,不正确的数值或字符常量是()。
A:8.9e1.2
B:10
C:0xff00
D:82.5


答案:A

第7题 (2.0分)
下列变量说明语句中,正确的是()。
A:char:a b c;
B:char a;b;c;
C:int x;z;
D:int x,z;


答案:D

第8题 (2.0分)
C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符()。
A:必须为字母
B:必须为下划线
C:必须为字母或下划线
D:可以是字母,数字和下划线中任一字符



答案:C

第9题 (2.0分)
下列运算符中,不属于关系运算符的是()。
A:<
B:>
C:>=
D:!


答案:D

第10题 (2.0分)
若int类型数据占两个字节,则下列语句的输出为()。
int k=-1; printf(
A:-1,-1
B:-1,32767
C:-1,32768
D:-1,65535


答案:D

第11题 (2.0分)
C语言源程序的基本单位是()。
A:过程
B:函数
C:子程序
D:标识符


答案:B

第12题 (2.0分)
static char str[10]=数组元素个数为()。
A:5
B:6
C:9
D:10


答案:D


第13题 (2.0分)
设a为整型变量,初值为12,执行完语句a+=a-=a*a后,a的值是()。
A:552
B:144
C:264
D:-264


答案:D

第14题 (2.0分)
以下数据中,不正确的数值或字符常量是()。
A:c
B:66
C:0xaa
D:50


答案:A

第15题 (2.0分)
以下程序的输出结果是()。
main()
{float x=3.6;
int i;
i=(int)x;
printf(
}
A:x=3.600000,i=4
B:x=3,i=3
C:x=3.600000,i=3
D:x=3 i=3.600000


答案:C

第16题 (2.0分)
下列数据中,为字符串常量的是()。
A:A
B:
C:How do you do.
D:$$abc


答案:B

第17题 (2.0分)
在C语言中,为了结束由while语句构成的循环,while后一对圆括号
中表达式的值应该为()。
A:0
B:1
C:True
D:非0


答案:A

第18题 (2.0分)
假定所有变量均已正确定义,下列程序段运行后x的值是()。
k1=1;
k2=2;
k3=3;
x=15;
if(!k1) x--;
else if(k2) x=4;
else x=3;
A:14
B:4
C:15
D:3


答案:B

第19题 (2.0分)
执行下列语句后的输出为()。
int j=-1;
if(j<=1) printf(
else printf(
A:****
B:%%%%
C:%%%%c
D:有错,执行不正确


答案:A

第20题 (2.0分)


C语言中 while 和 do-while 循环的主要区别是()。
A:do-while 的循环体至少无条件执行一次
B:while的循环控制条件比 do-while的循环控制条件更严格
C:do- while 允许从外部转到循环体内
D:do-while 的循环体不能是复合语句


答案:A

第21题 (2.0分)
设j和k都是int类型,则for循环语句
for(j=0,k=0;j<=9&&k!=876;j++) scanf(()。
A:最多执行10次
B:最多执行9次
C:是无限循环
D:循环体一次也不执行


答案:A

第22题 (2.0分)
下列四个选项中,均是C语言关键字的选项是()。
A:auto enum include
B:switch typedef continue
C:signed union scanf
D:if struct type


答案:B

第23题 (2.0分)
设j和k都是int类型,则下面for循环语句说法正确的是()。
for(j=0,k=-1;k=1;j++,k++)
printf(
A:循环结束的条件不合法
B:是无限循环
C:循环体一次也不执行
D:循环体只执行一次


答案:B

第24题 (2.0分)
以下程序的输出结果是()。


main()
{int i,j,k,a=3,b=2;
i=(--a==b++)?--a:++b;
j=a++;k=b;
printf(
}
A:i=2,j=1,k=3
B:i=1,j=1,k=2
C:i=4,j=2,k=4
D:i=1,j=1,k=3


答案:D

二、程序填空 共2题 (共计20分)
第1题 (10.0分)
*-- -------------------------------------------------- ---
【程序填空】
------------------------------- --------------------------

题目:1982年我国第三次人口普查,结果全国人口为10.3亿,假
如人口增长率为5%。编写一个程序求在公元多少年总人口
翻了一番。
------------------------------------------------ -------*
#include
void main()
{
double p1=10.3,p2,r=0.05;
int n=1;
***********SPACE***********
p2=p1*【?】;
***********SPACE***********
while(p2<=【?】)
{
n++;
***********SPACE***********
p2=p2*【?】;
}
***********SPACE***********
n=【?】;
printf(年人口总数翻了一番,即为%g亿人n
}





答案:

=======(答案1)=======
(1+r)
=========或=========
(r+1)

=======(答案2)=======
2*p1
=========或=========
p1*2
=========或=========
20.6

=======(答案3)=======
(1+r)
=========或=========
(r+1)

=======(答案4)=======
n+1982
=========或=========
1982+n


第2题 (10.0分)
*--------------------------- ----------------------------
【程序填空】
------ -------------------------------------------------- -

题目:以下程序的功能是产生并输出杨辉三角的前七行。

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1

--------------------------------------- ----------------*


#include
main ( )
{
int a[7][7];
int i,j,k;
for (i=0;i<7;i++)
{
a[i][0]=1;
***********SPACE***********
【?】;
}
for (i=2;i<7;i++)
***********SPACE***********
for (j=1;j<【?】;j++)
***********SPACE***********
a[i][j]= 【?】;
for (i=0;i<7;i++)
{
***********SPACE***********
for (j=0; 【?】;j++)
printf(
printf(
}
}


答案:

=======(答案1)=======
a[i][i]=1
=========或=========
*(*(a+i)+i)=1
=========或=========
*(a[i]+i)=1

=======(答案2)=======
i

=======(答案3)=======
a[i-1][j]+a[i-1][j-1]
=========或=========
a[i-1][j-1]+a[i-1][j]
=========或=========
*(*(a+i-1)+j)+*(*(a+i-1)+j-1)



=======(答案4)=======
j<=i
=========或=========
i>=j
=========或=========
j=========或=========
i+1>j
=========或=========
j-1=========或=========
i>j-1


三、程序改错 共1题 (共计10分)
第1题 (10.0分)
*-- -------------------------------------------------- --
【程序改错】
------------------------ --------------------------------
功能:下面程序的功能是:从键盘输入十个学生的成绩,统计最
高分,最低分和平均分。max代表最高分,min代表最低分,
avg代表平均分。
---------------------------------------------- ----------
注意:不可以增加或删除程序行,也不可以更改程序的结构。
--- -------------------------------------------------- -*

main( )
{
int i;
***********FOUND***********
float a[8],min,max,avg;
printf(
for(i=0;i<=9;i++)
{
***********FOUND***********
scanf(
}
***********FOUND***********
max=min=avg=a[1];
for(i=1;i<=9;i++)
{
***********FOUND***********
if(min


min=a[i];
if(max max=a[i];
avg=avg+a[i];
}
avg=avg10;
printf(
}

答案:

=======(答案1)=======
float a[10],min,max,avg;

=======(答案2)=======
scanf(
=========或=========
scanf(

=======(答案3)=======
max=min=avg=a[0];

=======(答案4)=======
if (min>a[i])
=========或=========
if (a[i]

四、程序设计 共2题 (共计20分)
第1题 (10.0分)
*------------------------------------------------
【程序设计】
----------------------------------- ---------------
功能:编写函数fun,函数的功能是:求一个四位数的各
位数字的立方和
---------------------------- ----------------------
注意:部分源程序给出如下。请勿改动主函数main和其
它函数中的任何内容,仅在函数fun的花括号中填
入所编写的若干语句。
- -----------------------------------------------*
#include

int fun(int n)
{



**********Program**********






********** End **********

}

main()
{ void yzj()
int k;
k=fun(1234);
printf(
yzj();
}

void yzj()
{
FILE *IN,*OUT;
int iIN,iOUT,i;
IN=fopen(
if(IN==NULL)
{
printf(
}
OUT=fopen(
if(OUT==NULL)
{
printf(
}
for(i=0;i<10;i++)
{
fscanf(IN,
iOUT=fun(iIN);
fprintf(OUT,
}
fclose(IN);
fclose(OUT);
}


答案:----------------------
int d,k,s=0;
while (n>0)
{d=n%10;
s+=d*d*d;
n=10;
}
return s;
----------------------

第2题 (10.0分)
*----------------------------------- -------------
【程序设计】
--------------------- -----------------------------
功能:编写函数fun其功能是:根据整型形参m,计算如下
公式的值:y=12!+14!+...+1m!(m是偶数)
----------------- ---------------------------------
注意:部分源程序给出如下。请勿改动主函数main
和其它函数中的任何内容,仅在函数fun的花
括号中填入所编写的若干语句。
------------------------------------------------*
#include

double fun(int m)
{
**********Program**********





********** End **********
}

main()
{ void yzj();
int n;
printf(
scanf(
printf(
yzj();
}

void yzj()


{
FILE *IN,*OUT;
int t;
double o;
int c;
IN=fopen(
if(IN==NULL)
{
printf(
}
OUT=fopen(
if(OUT==NULL)
{
printf(
}
for(c=1;c<=5;c++)
{
fscanf(IN,
o=fun(t);
fprintf(OUT,
}
fclose(IN);
fclose(OUT);
}

答案:double y=0.0;
int i,j;
double s=1;
for (i=2;i<=m;i+=2)
{
for(j=i-1;j<=i;j++)
s=s*j;
y=y+1.0s;
}
return y;

婚宴贺词-高考户籍限制


淮阴师范大学-毕业实习总结


红色电影观后感-中学团支部工作总结


gdkszx-优秀员工事迹


海外置业-七年级上册复习资料


枣庄八中-销售内勤岗位职责


上海普通话考试报名-青春演讲稿


党性心得体会-社区民政工作总结