2013年《C语言程序设计基础》期末考试试卷‘A’及答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8.设变量均已正确定义并且赋值,以下与其他三组输出结构不同的
一组语句是(
)。
A、x++; printf(“%d\n”,x);
B、n=++x; printf(“%d\n”,n);
第1页共8页
程序设计基础
C、++x; printf(“%d\n”,x);
D、n=x++; printf(“%d\n”,n);
第7页共8页
程序设计基础
第8页共8页
B、a=10 b=30 c=10
C、a=50 b=30 c=10
D、a=50 b=30 c=50
14.下面结构体的定义语句中,错误的是(
)。
A、struct ord {int x; int y; int z;}; struct ord a;
B、struct ord {int x; int y; int z;}a;
)。
A、int a[5]={1,2};
B、int a[5]={};
C、int a[5]={5*2}
D、int a[]=(1,2,0,0,0);
7. 若 有 char c[5]={'c','d','\0','e','\0'}; 则 执 行 语 句
printf("%s",c);结果是( )。
A、cd\0e B、'c''d' C、cd D、cd e
9.下面程序的输出结果是(
)。
main( )
{ int i, x[3][3]={9,8,7,6,5,4,3,2,1};
for(i=0;i<4;i+=2) printf(″%d″, x[i][1]);
}
A、 5
1
B、 5
2
C、 8
2
D、 9
3
10.若k是int类型变量,且有以下for语句
for(k=-1;k<0;k++) printf(“****\n");
第6页共8页
程序设计基础
printf("%d!=%ld\n",n,f); return 0; } long fun(int n) { int i; long f=1; for(i=1;i<=n;i++) {
f*=i; } return f; }
30. #include <stdio.h> int main() { int i,x[10],max,min; for(i=0;i<10;i++) scanf("%d",&x[i]); max=x[0]; min=x[0]; for(i=1;i<10;i++) { if(x[i]>max) max=x[i]; if(x[i]<min) min=x[i]; } printf("最高分为:%d,最低分为:%d",max,min); return 0; }
23.设有int y[3][2]={5,4,6,7,8,9};则y[1][1]的值为___________。
24.假定指针 p 所指对象的值为 25,p+1 所指对象的值为 42,则*p++
的值为___________。
三、程序分析题(每小题 5 分,共 10 分)
25.阅读程序,写出运行结果
。
func(int x)
C、&*a
D、*&a
二、填空题(每空 2 分,共 20 分)
16.字符串"a"的占内存长度是
字节。
17. strlen(“apple”)的值为
。
18.根据变量的作用域可将变量分为局部变量和全局变量,定义在
函数内部的变量和函数的形参都是_______ 变量。
19.已知定义:int a[10];
则 VC 编译器中数组 a 占用内存的字节数是___________。
30. 编写程序: 将 10 个学生的成绩由键盘输入存放到数组 x[10] 中,输出其中的最高分和最低分。
第5页共8页
程序设计基础
一、单项选择题(每小题 2 分,共 30 分) 1-5 DDCAB 6-10 ACDCA 11-15 BDBCA
二、填空题(每空 2 分,共 20 分)
16. 2 17. 5 18. 局部 19. 40 20. 9 21. 4 和 216 22. lf 23. 7 24. 25
四、程序填空题(每小题 10 分,共 2Baidu Nhomakorabea 分)
27.用数组处理Fibonacci数列问题1,1,2,3,5,8,13,……。
main()
{ int i;
int f[20];
(1)
/*给数列赋初值*/
for(i=2;i<20;i++)
f[i]= f[i-1]+ f[i-2]; /* 计算后继元素值*/
3.以下叙述错误的是(
)。
A、一个C程序可以包含多个不同名的函数
B、一个C程序只能有一个主函数
C、C程序在书写时,有严格的缩进要求,否则不能编译通过
D、C程序的主函数必须用main作为函数名
4.若a 是数值类型,则逻辑表达式(a==1)||(a!=1)的值是:
(
)。
A、1 B、0 C、2 D、不知道a 的值,不能确定
三、程序分析题(每小题 5 分,共 10 分)
25. 10 26. 7,8,7
四、程序填空题(每小题 10 分,共 20 分)
27. (1) f[0]=f[1]=1;
(2) i=0 28. (1) n%i= =0
(2) i>=n
五、程序设计题(每小题 10 分,共 20 分)
29. #include <stdio.h> long fun(int n); int main() { int n; long f; scanf("%d",&n); f=fun(n);
C、struct ord {int x; int y; int z;} struct ord a;
D、struct {int x; int y; int z;} a;
15.已知:int a,*p=&a; 则为了得到变量 a 的值,下列错误的表达
第2页共8页
式为( A、p[0]
程序设计基础
)。 B、*p
12.下列表达式的值为 0 的是(
)。
A、 3﹪5 B、 3/5.0 C、3<5 D、3/5
13.以下程序段的输出结果是(
)。
int a=10,b=50,c=30;
if(a>b)
a=b;
b=c;
c=a;
printf(“a=%d b=%d c=%d\n”,a,b,c);
A、a=10 b=50 c=10
for( (2) ;i<20;i++)
printf(“%12d”,f[i]);} /* 打印输出数列前20个数*/
(1)
(2) 28.补齐程序,程序功能为:输出100之内的素数。
#include <stdio.h> main() { int n,i;
for (n = 1; n <= 100; n++)
程序设计基础
一、单选题 (每小题 2 分,共 30 分) 答案填入下表
1.以下不合法的C语言标识符是(
)。
A、_1 B、Int C、a_b D、a--b
2.设a和b均为float型变量,且a=5.5、b=2.5,则表达式(int)a+b
/b的值是(
)。
A、6.500000
B、6
C、5.500000
D、6.000000
20. 设 int a=7,b=9,t; 执 行 完 表 达 式 t=(a>b)?a:b 后 , t 的 值 是
___________。
21.表达式sqrt(16)和pow(6,3)的值分别为_________和___________。
22.在格式输入语句scanf中,用于double输入的格式是%_________。
第4页共8页
{
} } (1) (2)
程序设计基础
for(i=2;i<n;i++) if ( (1) ) break;
if( (2) ) printf("%d ", n);
五、程序设计题(每小题 10 分,共 20 分)
29. 编写程序:求 n!
要求:使用自定义函数求解;主函数包括输入、输出和函数调用语句。
下面关于语句执行情况的叙述中正确的是(
)。
A、循环体执行一次
B、循环体执行两次
C、循环体一次也不执行
D、构成无限循环
11.若有定义语句: int k1=10, k2=20;,执行表达式(k1=k1>k2)
&& (k2=k2>k1)后,k1和k2的值分别为(
)。
A、0和1 B、0和20
C、10和1 D、10和20
5.巳知字母A的ASCII码是65,以下程序的执行结果是 ( )
#include<stdio.h>
main()
{ char c1='A',c2='Y';
printf("%d,%d\n",c1,c2); }
A、A,Y B、65,89 C、65,90 D、65, 65
6.以下一维数组初始化语句中,正确的是(
{
x=20;
}
main()
{ int x=10;
func(x);
printf(“%d”,x);
第3页共8页
程序设计基础
}
26.阅读程序,写出运行结果
。
int *f(int *x,int *y) {
if(*x<*y) return x; else return y; } main( ) { int a=7,b=8,*p,*q,*r; p=&a; q=&b; r=f(p,q); printf("%d,%d,%d\n",*p,*q,*r); }