C期末试卷(学时)moni_答案 ()
————————————————————————————————作者:————————————————————————————————日期:
2
《程序设计基础(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);
第 4 页
}
答:该程序是计算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))。
27
56b a b a --+
答:(6*a+5*sqrt(b-7))/(a-b*b)
8. 简单说明double 类型的数值用什么运算符可以转变为int 类型?
答:强制类型转换运算符
9. 以下语句中哪一行是非法的,简单说明理由。
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("data error!\n"); 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("fare=%.2f\n",m); } } 第 5 页 答: fare= 11.00 2. 【程序2】 #include main() { int i,j; for(i=0;i<5;i++) { for(j=0;j<5-i;j++) printf("*"); printf("\n"); } } 答: ***** **** *** 3.【程序3】 #include "stdio.h" main() { int a[6],i; for(i=0;i<6;i++) a[i]=9*(i+4) % 5; for(i=5;i>=0;i--) printf("%2d",a[i]); printf("\n"); 第 6 页 } 答: □1□2□3□4 4. 【程序4】 #include "stdio.h" int fun(int m); main() { int i=4,k=2; fun(i); printf("3. %d,%d\n",i,k); } int fun(int m) { int k=1; int c=32; k=k+m; printf("1. %d,%d\n",c-24,k); m=m+k; printf("2. %d,%d\n",m,k); } 答: 1.□8,5 2.□9,5 第 7 页 三.试题三(36分) 按要求编写程序。 (9) 1.输入2个实数,输出它们的平方和, 取两位小数。 (9) 以上为A,70~79分为B,60~69分为C,60分以下为D,要求对成绩输入正确性进行检查(成绩的正确值在0-100之间)。(9) 第 8 页 4.有一个3X4的矩阵,(a[3][4]={{1,2,3,4},{9,8,7,6},{11,12,5,2}};)要求编程输出 其中素数的个数。(9) 第 9 页 第 10 页