五邑大学C语言程序设计_期末考试题1

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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;

相关文档
最新文档