C期末试卷(56学时)moni - 答案(2)

更新时间:2023-10-25 03:27:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《 程序设计基础(C)》模拟试卷

一. 试题一(40分,每小题4分)

按题目要求解答下列各小题

1. 定义一个大小为6的数组,并且使数组的值都为0。 int a[6]={0};

2. 写出执行如下程序段后的输出结果。 char a[]=“hello”,*p ; p = a+2; printf(“%s”, p); 答案:llo

3. 假设x 是一个double变量,而不等式 0≤x<1 需要作为下列if-else语句的条件,应该使用什么样的逻辑表达式?把它填写在下面圆括号内。 if ( x>=0 && x<=0 )

{

printf(“True\\n”); } else {

printf(“False\\n”); }

4. 用文字描述以下程序完成的功能。 #include”stdio.h” main() { int n,t; t=1;

for (n=1;n<=10;n++)

t = t * n ;

printf(“%d\\n”,t);

第 1 页

}

答:该程序是计算10的阶乘。

5. 有以下结构体定义: struct person {

char name[9]; int age; };

Struct person

class[4]={“John”,17,”Paul”,19,”Mary”,18,”adam”,16};请写出输出class中”Mary”的输出语句。 答:printf(“%s”,class[2].name); 6. 求下面算术表达式的值 (1) x+a%3*(int)(x+y)%2/4

设x=2.5,a=7,y=4.7 答:2.5

(2) (double)(a+b)/2+(int)x%(int)y

设a=2,b=3,x=3.5,y=2.5

答:3.5

7. 写出表示如下运算的表达式(平方根函数为sqrt(x))。

6a?5b?7a?b2

答:(6*a+5*sqrt(b-7))/(a-b*b)

8. 简单说明double类型的数值用什么运算符可以转变为int类型? 答:强制类型转换运算符

9. 以下语句中哪一行是非法的,简单说明理由。

第 2 页

1:x =(2 != i); 2:x= j++; 3: (x= 2) = 6; 4: x=(0

答:第3行是非法的,复制符号左边不能为表达式。 10. 举例说明运算符 & 的作用。

答: int a; scanf(“%d”,&a); &主要用于表示取地址的运算符。二. 试题二(24分,每小题6分)

阅读下列程序,写出运行结果。 1. 【程序1】 #include int main() { double k,m=0;

for(k= 2.2; k<32.0; k=k+10.0) { if (k<=0)

printf(\

else if (k<3)

m=11;

else if (k<10)

m=(k-3)*2.0+11;

else

m=(k-10)*3.0+14.7;

printf(\

}

}

第 3 页

答:

fare=11.00 fare=21.30 fare=51.30 2. 【程序2】

#include main() { int i,j; for(i=0;i<5;i++) { for(j=0;j<5-i;j++) printf(\ printf(\ } } 答:

***** **** *** ** *

3. 【程序3】 #include \main() { int a[6],i; for(i=0;i<6;i++)

a[i]=9*(i+4) % 5;

for(i=5;i>=0;i--)

printf(\

printf(\

第 4 页

} 答:

□1□2□3□4□0□1

4. 【程序4】 #include \int fun(int m); main() { int i=4,k=2; fun(i);

printf(\

}

int fun(int m) { int k=1; int c=32; k=k+m;

printf(\ m=m+k;

printf(\

} 答:

1. □8,5 2. □9,5 3. □4,2

第 5 页

本文来源:https://www.bwwdw.com/article/kcz2.html

Top