C模拟考试题及参考答案208级.docx
- 文档编号:27033992
- 上传时间:2023-06-26
- 格式:DOCX
- 页数:18
- 大小:19.99KB
C模拟考试题及参考答案208级.docx
《C模拟考试题及参考答案208级.docx》由会员分享,可在线阅读,更多相关《C模拟考试题及参考答案208级.docx(18页珍藏版)》请在冰豆网上搜索。
C模拟考试题及参考答案208级
《C语言程序设计》模拟试题2(08级)
1、下面程序的输出结果是____。
main()
{inti,j,k=10;
for(i=0;i<2;i++)
{k++;
{intk=0;
for(j=0;j<=3;j++)
{if(j%2)continue;
k++;
}
}
k++;
}
printf("k=%d\n",k);
}
A.k=18
B.k=14
C.k=8
D.k=4
2、以下选项中,对指针变量p不正确的操作是()。
A.inta[6],*p;p=&a;
B.inta[6],*p;p=a;
C.inta[6];int*p=a=1000;
D.inta[6];int*p1,*p2=a;*p1=*p2;
3、设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是()
A.P2=k;
B.P1=P2;
C.k=*P1+*P2;
D.k=*P1*(*P2);
4、若“inta[4][10],*p,*q[4];”,且0<=i<4,则下面选项中()是错误的赋值。
A.p=a
B.q[i]=a[i]
C.p=a[i][0]
D.q[i]=&a[2][0]
5、以下关于函数调用的描述中错误的是()。
A.实参可以是常量、表达式或有确定值的变量
B.实参和形参共用同一内存单元
C.实参和形参的类型、个数必须一致
D.只有发生函数调用时,系统才为形参分别存储空间
6、以下正确的描述是()。
A.函数的定义可以嵌套,但函数的调用不可以嵌套
B.函数的定义不可以嵌套,但函数的调用可以嵌套
C.函数的定义和函数的调用均不可以嵌套
D.函数的定义和函数的调用均可以嵌套
7、已经有以下函数定义:
fun(chara)
{printf((“a=%c\n”,a);}
该函数的返回值类型是()。
A.void
B.char
C.int
D.不确定
8、以下叙述中正确的是()。
A.在C语言中静态变量在未赋值时,其值为0
B.在C语言中任何变量在未赋值时,其值为0
C.外部变量在程序的任何函数中均有效
D.函数中任何一个局部变量均无法保留上一次调用时的运行结果
9、在对文件进行操作时,读文件的含义是():
A.将内存中的信息存入磁盘
B.将磁盘中的信息输入到内存
C.将CPU中的信息存入磁盘
D.将磁盘中的信息输入到CPU
10、调用fopen函数打开一个文件失败时,函数返回的值是():
A.-1
B.EOF
C.NULL
D.1
11、feof(fp)函数是用来测试fp所指的文件是否结束,如果文件结束,则feof(fp)返回的值是():
A.0
B.1
C.NULL
D.以上答案都不对
12、下述程序的正确运行结果是()。
#include
intfun(intx)
{
intp;
if(x==0||x==1)
return3;
else
p=x-fun(x-2);
returnp;
}
voidmain()
{
printf(“\n%d”,fun(9));
}
A.8
B.7
C.10
D.9
13、以下不正确的if语句是()。
A.if(a
B.if(a!
=b&&b);
C.if(a=b)printf("equal");
D.if(a>b)&&(b>c)printf("max=%d",a);
14、关于if后面一对圆括号中的表达式,叙述正确的是()。
A.只能用关系表达式
B.只能用逻辑表达式
C.只能用关系表达式或逻辑表达式
D.可以使用任意合法的表达式
15、C程序中,合法的关键字是():
A.int
B.integer
C.Int
D.Integer
16、在C程序中,不合法的浮点型常量是():
A.3.4E2.5
B..456
C.0.820000
D.100.3e5
17、在引用数组元素时,其下标表达式的类型必须是()。
A.字符型
B.整型
C.整型或字符型
D.整型常量
18、以下运算符中,优先级最高的是()。
A.!
B.[]
C.++
D.%
19、对定义"inta[2];"的正确描述是()。
A.定义一维数组a,包含a[1]和a[2]两个元素
B.定义一维数组a,包含a[0]和a[1]两个元素
C.定义一维数组a,包含a[0]、a[1]和a[2]三个元素
D.定义一维数组a,包含a(0)、a
(1)和a
(2)三个元素
20、C语言中while和do-while循环的主要区别为()。
A.do-while的循环体至少无条件执行一次
B.while的循环控制条件比do-while的循环控制条件严格
C.do-while允许从外部转到循环体内
D.do-while的循环体不能是复合语句
21、有以下程序段:
intt=0;
while(t=1)t--;
while循环执行的次数是()。
A.一次也不执行
B.只执行一次
C.无限次
D.执行2次
22、While语句中循环结束的条件是while后面表达式的值是()。
A.0
B.1
C.-1
D.非0
23、执行循环语句"for(i=1;i<10;i++)a++;"后,变量i的值是()。
A.9
B.10
C.11
D.不确定
24、若变量x和y均为整型,且x=y=1,则表达式y+=x+1的值为()。
A.3
B.2
C.1
D.无正确结果
25、表示关系x<=y<=z的c语言表达式为()。
A.(X<=Y<=Z)
B.(X<=Y)AND(Y<=Z)
C.(X<=Y)&&(Y<=Z)
D.(X<=Y)&(Y<=Z)
26、下面程序的输出结果是()。
#include
main()
{intn[3][3],i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
n[i][j]=i+j;
for(i=0;i<2;i++)
for(j=0;j<2;j++)
n[i+1][j+1]+=n[i][j];
printf("%d\n",n[i][j]);
}
A.14
B.0
C.6
D.不确定
27、下面程序的输出结果是____。
#include
char*p="abcdefghijklmnopq";
main()
{inti=0;
while(*p++!
='e');
printf("%c\n",*p);
}
A.c
B.d
C.e
D.f
28、下面程序的输出结果是____。
#include"stdio.h"
structstr1
{charc[5];
char*s;
};
main()
{structstr1s1[2]={{"ABCD","EFGH"},{"IJK","LMN"}};
structstr2
{structstr1sr;
intd;
}s2={"OPQ","RST",32767};
structstr1*p[2];
p[0]=&s1[0];
p[1]=&s1[1];
printf("%s",++p[1]->s);
}
A.LMN
B.MN
C.N
D.IJK
29、设有以下宏定义:
#defineN3
#defineY(n)((N+1)*n)
则执行语句:
z=2*(N+Y(5+1));后,z的值为():
A.出错
B.48
C.54
D.42
30、在VC6.0中,若有以下说明:
structst
{intx;
floaty;
unionun
{chara[10];
doubleb[2];
}c;
};
则:
sizeof(structst)的值为():
A.34
B.22
C.42
D.24
31、在VC6.0中,若有以下共用体说明:
unionuu
{floatx;
doubley;
charz;
}luck;
luck所占存储单元字节数为():
A.8
B.4
C.13
D.1
32、在下列结构变量st的定义中,不正确的是()。
A.structstudent{intnum;floatscore;}st;
B.structstudent{intnum;floatscore;};structstudentst;
C.struct{intnum;floatscore;}st;
D.struct{intnum;floatscore;}student;studentst;
33、有以下程序:
voidmain()
{;
;;
}
程序运行后的结果是():
A.编译时有警告错误
B.编译时有语法错误
C.编译没有错误,但是运行时出错
D.程序正常运行,但是无任何输出
34、x为int型变量,执行以下语句后,x的值为()。
x=10;
x+=x-=x-x;
A.10
B.20
C.30
D.40
35、若有输入语句"scanf("%d,%d,%d",&x,&y,&z);",欲使x的值为10,y的值为20,z的值为30,则正确的输入应为():
A.10,20,30〈回车〉
B.102030〈回车〉
C.10,20,30〈回车〉
D.10〈回车〉20〈回车〉30〈回车〉
36、统计学生成绩中不及格的学生名单。
#include
structstudent
{
longnum;
charname[20];
floatscore;
}stu[6]={{9910110,”wangling”,85},{9910111,”liming”,90.5},{9910112,”fengyong”,90.5},{9910113,”fangjun”,56},{9910114,”sunping”,77.5},{9910115,”kongxiao”,50.5}};
main()
{
structstudent*p;
intcount=0;
printf(“不及格名单:
\n”);
for(p=stu;_p if(p->score<60) {count++; printf(“%ld: %-12s%.1f\n”,p->num,p->name,p->score); } printf(“不及格人数: %d\n”,count); } 37、下面程序是实现1+1/2+1/4+1/6+…+1/50的值,请填空: main() {inti=2; floatsum=1; while(i<=50) { sum=sum+1/(float)i; i++;__i++________; } printf(“sum=%f\n”,sum) } 38、下面程序输入一个字符串,输出其中所出现过的大写英文字母.如输入字符串“UKSDYckjsjsjJSJJD”;应输出“UKSDYJ”。 按程序功能填空。 #include main() {chara[80],b[26]; inti,j,k=0; gets(a); for(i=0;a[i]! ='\0';i++) if(a[i]>='A'&&a[i]<='Z') {for(j=0;j if(b[j]==a[i])break; if(j==k) {b[k]=a[i];k++;} } b[k]='\0'; for(i=0;i printf("%c",b[i]); printf("\n"); } 39、下面的程序将浮点数写到文件test中,然后读出并显示。 #include main() {FILE*fp; floatf=12.34; if((_fp=fopen_____(“test”,“wb”))==NULL) {printf("Cannotopenfile.");exit(l);} fwrite(&f,sizeof(float),1,fp); rewind(fp); fread(&f,sizeof(float),1,fp); printf(“%f\n”,f); fclose(fp); } 40、下面的程序可以实现从10个数中找出最大值和最小值功能,请填空。 #include intmax,min; find(int*p,intn) {int*q;max=min=*p; for(q=p;q if(__max<*q_________)max=*q; elseif(min>*q)min=*q; } main() {intI,num[10]; printf("Input10numbers: \n"); for(i=0;i<10;i++) scanf("%d",&num[i]); find(num,10); printf("max=%d,min=%d\n",max,min); } 41、打开C: \CAADATA\41中的源程序文件pg207.cpp,补充程序并以原文件名保存(不得删除原文件中的注释内容,否则该题不计分),使得程序运行时完成以下功能: 编写程序找出3×3矩阵中的最大元素及其行列位置并输出。 42、打开C: \CAADATA\42中的源程序文件pg307.cpp,按要求补充程序并以原文件名保存(不得删除原文件中的注释内容,否则该题不计分),要求为: 编写判断一个年份是否为闰年的函数leapyear(),并在主函数调用该函数输出1900~2100年之间的所有闰年。 闰年的条件是: 能被4整除但不能被100整除,或者能被400整除。 43、打开C: \CAADATA\43中的源程序文件pg106.cpp,补充程序使得程序运行时完成以下功能: 从键盘输入3个数,并按由大到小的顺序输出。 并以原文件名保存(不得删除原文件中的注释内容,否则该题不计分)。 参考答案: 题号: 1分值: 3得分: 0答案: B 题号: 2分值: 1得分: 0答案: C 题号: 3分值: 1得分: 0答案: A 题号: 4分值: 1得分: 0答案: C 题号: 5分值: 1得分: 0答案: B 题号: 6分值: 1得分: 0答案: B 题号: 7分值: 1得分: 0答案: C 题号: 8分值: 1得分: 0答案: A 题号: 9分值: 1得分: 0答案: B 题号: 10分值: 1得分: 0答案: C 题号: 11分值: 1得分: 0答案: B 题号: 12分值: 3得分: 0答案: A 题号: 13分值: 1得分: 0答案: D 题号: 14分值: 1得分: 0答案: D 题号: 15分值: 1得分: 0答案: A 题号: 16分值: 1得分: 0答案: A 题号: 17分值: 1得分: 0答案: B 题号: 18分值: 1得分: 0答案: B 题号: 19分值: 1得分: 0答案: B 题号: 20分值: 1得分: 0答案: A 题号: 21分值: 1得分: 0答案: C 题号: 22分值: 1得分: 0答案: A 题号: 23分值: 1得分: 0答案: B 题号: 24分值: 1得分: 0答案: A 题号: 25分值: 1得分: 0答案: C 题号: 26分值: 3得分: 0答案: A 题号: 27分值: 3得分: 0答案: D 题号: 28分值: 3得分: 0答案: B 题号: 29分值: 1得分: 0答案: B 题号: 30分值: 1得分: 0答案: D 题号: 31分值: 1得分: 0答案: A 题号: 32分值: 1得分: 0答案: D 题号: 33分值: 1得分: 0答案: D 题号: 34分值: 1得分: 0答案: B 题号: 35分值: 1得分: 0答案: C 题号: 36分值: 3得分: 0 答案: p p<=stu+5 题号: 37分值: 3得分: 0 答案: i++ i=i+1 ++i i+=1 i++; i=i+1; ++i; i+=1; 题号: 38分值: 3得分: 0 答案: i i i b[i]! ='\0' b[i]! =0 题号: 39分值: 3得分: 0 答案: fp=fopen 题号: 40分值: 3得分: 0 答案: max<*q max<=*q *q>max *q>=max 试卷: 题号: 41分值: 12得分: (该题由评卷系统判分) 题号: 42分值: 18得分: (该题由评卷系统判分) 题号: 43分值: 10得分: (该题由评卷系统判分)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模拟 考试题 参考答案 208