当前位置:首页 > 五邑大学C语言程序设计 - 期末考试题1
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. 自然语言 C. N-S流程图
B. 伪代码 D. 数学公式
第 1 页 共 5 页
2. 以下哪个不是C语言的数据类型。( )
A. 整型类型 C. 记录类型
B. 结构体类型 D. 实数类型
3. 设字符变量ch的值为?a?,语句“printf(“ch=%d”,ch);”在屏幕上的输出结果是( )。
A. a B.?a? C. 97
D. 65
4. 变量f=123456.78语句“printf(“.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)
第 2 页 共 5 页
)
三、 阅读程序,写出运行结果。(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
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)); }
程序运行后输出: 。
得分四、 程序填空(根据给出的程序功能说明,补充完整程序中缺少的代码,每一空行只填写一条语句或一个表达式,不写、多写、错写不给分。)(30%:3题,每题10分)
第 3 页 共 5 页
得分 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 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] temp=num[i]; num[i]=num[j]; num[j]=temp; } 第 4 页 共 5 页 得分五、 程序设计(15%:1题,每题15分) 1.编写一函数sort,使用选择法对传入的整数数组从小到大排序,要排序数的个数由参数传入,排序好的数存放到原数组中。 第 5 页 共 5 页
共分享92篇相关文档