五邑大学C语言程序设计_期末考试题1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计
练习1
填空题(20%:10题20空,每空1分)
1. 一个函数包括和两个部分。
2. 算法的特点确定性是指。
3. C语言的三种基本结构是指:、和。
4. 设整型变量a的初值为6,则执行表达式“a-=2”后a的值是。
5. 设整型变量a的初值为3,则执行表达式“a+=a-=a*=a”后a的值是。
6. 设i=3,执行表达式“m=i++”后m的值是。
7. C语言中构成循环的三种基本语句是:、和。
8. C语言提供的预处理功能有:、和。
9. 在C语言中,表达式“5%3”的值是,“3|5”的值是。
10. 在C语言中,表达式“1/2”的值是,“1.0/2”的值是。
选择题(20%:10题,每题2分)
1. 以下哪个不是算法的常用表示方法。()
A. 自然语言
B. 伪代码
2. 以下哪个不是C语言的数据类型。()
A. 整型类型
B. 结构体类型
C. 记录类型
D. 实数类型
3. 设字符变量ch的值为‟a‟,语句“printf(“ch=%d”,ch);”在屏幕上的输出结果是()。
A. a
B.‟a‟
C. 97
D. 65
4. 变量f=123456.78语句“printf(“%10.4f”,f);”在屏幕上的输出结果是()。
A. 123456.78
B. 123456.7800
C. 00123456.78
D. 123456.7890
5. 设a=15,b=8,则表达式“a>b?a:b”的值是()。
A. 15
B. 8
C. 23
D. 7
6. 表达式“!a&&b||c>d&&e”等价于下列哪个表达式。()
A. ((!a)&&b)||(c>(d&&e))
B. ((!a)&&b)||((c>d)&&e)
C. !((a&&b)||((c>d)&&e))
D. (!(a&&b))||((c>d)&&e)
7. 以下哪条输入语句是不合法的。()
A. scanf(“%c”,ch);
B. scanf(“%c”,&ch);
C. ch=getchar();
D. scanf(“%c”,&ch);
8. 以下哪个赋值语句是正确()。
A. 88=a%5;
B. x+y=a*35+b+6;
C. …a‟=getchar();
D. x=max(a,b);
9. 设指针变量p指向数组a的首地址,则以下哪个选项与其他三个选项不等价。()
A. *(p+i)
B. *(a+i)
C. p+i
D. a[i]
10. 设有宏定义“#define S(a,b) a*b”,则赋值语句“s=S(x,y)”经宏展开为()。
A. s=x*y
B. s=S(a,b)
C. s=a*b
D. s=S(x*y)
阅读程序,写出运行结果。(15%:3题,每题5分)
1.
main()
{ int t,a,b;
a=3;
b=5;
t=a>b?a:b;
printf(“t=%d,a=%d,b=%d”,t,a,b);
}
程序运行后输出:。
2.
main()
{ int num[10]={3,8,12,6,9,21,4,11,1,7};
int i,m,n;
m=num[0];
n=num[9];
for(i=0;i<10;i++)
{ if(m if(n>num[i]) n=num[i]; } printf(“i=%d,m=%d,n=%d”,i,m,n); } 程序运行后输出:。 3. int fun(int n) { if(n==1) return(1); else return(n*fun(n-1)); } main() { printf(“%d”,fun(6)); } 程序运行后输出:。 程序填空(根据给出的程序功能说明,补充完整程序中缺少的代码,每一 1. 使用指针输出数组所有元素。 main() { int *p,i,num[10]={1,2,3,4,5,6,7,8,9,10}; p=num; i=0; while(i<10) { printf(“%d “,*p); } } 2. 将数组的所有元素反序存放到原数组中。main() { int i,n,temp,num[10]={1,2,3,4,5,6,7,8,9,10}; n=5; for(i=0,j=9;i { num[i]=num[j]; } } 3. 将输入的10个整数中最大数与最小数对换。main() { int i,j,k,num[10]; for(i=0;i<10;i++) scanf(“%d”,&num[i]); i=0; j=0; for(k=0;k<10;k++) { if(num[i] if(num[j]>num[k]) } temp=num[i]; num[i]=num[j]; num[j]=temp;