山东大学20春《程序设计B》课程测试
《C语言程序设计》模拟卷题号
一
二
三
四
总分
得分
评卷人
一、选择题:
1.一个C语言程序的基本组成单位是______。 A)主程序 B)子程序 C)函数 D)过程
2.C语言中字符型(char)数据在内存中的形式存储是______。
A) 原码 B) 补码 C)反码 D) ASCII码
3.执行以下程序段后,c3的值是______。 int c1=1,c2=2,c3; c3=c1/c2;
A) 0 B) 1/2 C) 0.5 D) 1
4.执行以下语句的结果为______。
y=10; x=y++;
A)x=10,y=10 B)x=11, y=11
C)x=10,y=11 D)x=11, y=10
5.下列常数中不能作为C的常量的是______。
A) 0xA5 B) 2.5e-2 C) 3e2 D) 2e32.6
6.C语言中整数-8在内存中的存储形式是______。
A) 1111 1111 1111 1000 B) 1000 0000 0000 1000 C) 0000 0000 0000 1000 D) 1111 1111 1111 0111
7.已知 int i,a;执行语句"i=(a=2*3,a*5),a+6;"后,变量i的值是______。
A)6 B)12 C)30 D)36
8.执行以下程序段后,a,b,c的值分别是______。 int a,b=100,c,x=10,y=9; a=(--x==y++)?--x:++y; if(x<9)b=x++; c=y;
A)9,9,9 B)8,8,10 C)9,10,9 D)1,11,10
9.下列程序段______。 x=3; do
{ y = x--; if ( !y ) { printf("x");
continue;
} printf("#"); } while(1<=x&&x<=2);
A)输出 ### B)输出 ##x C)是死循环 D)有语法错
10.一个C语言的源程序中______。
A)必须有一个主函数 B)可以有多个主函数
C)必须有主函数和其他函数 D)可以没有主函数
11.C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是_____。
A)地址传递 B)值传递
C)由实参传给形参,并由形参传回来给实参 D)由用户指定传递方式
12.以下程序的输出结果是____。 main() { int i,x={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) printf("%d,",x);
}
A) 1,5,9, B) 1,4,7, C) 3,5,7, D) 3,6,9,
13.已知:int *p, a; 则语句"p=&a;"中的运算符"&"的含义是_____。 A)位与运算 B)逻辑与运算C)取指针内容 D)取变量地址
14.说明语句"int (*p)( );"的含义是_____。 A)p是一个指向一维数组的指针变量
B)p是指针变量,指向一个整型数据 C)p是一个指向函数的指针,该函数的返回值是一个整型
D)以上都不对
15.变量的指针,其含义是指该变量的()
A)值 B)地址 C)名 D)一个标志
二、填空题:
1.表达式10+16%3的值为___________。
2.写出满足下列条件的表达式:a和b都不小于c_____________________。
3.若有定义:int a={{1,2},{0},{4,6,8,10}};则初始化后,a得到的初值为_____。
4.下面函数的功能是求1到n的和请把程序补充完整。
longsum( int n)
{ int i;
__________
for(i=1;i<=n;i++)
_______________
return s;
}三、程序阅读题,写出程序的输出结果:
1.#include “stdio.h”
main()
{int i, j;
i=j=2;
if(i==1)
if(i==2)
printf(“%d”,i=i+j);
else
printf(“%d”,i=i-j);
printf(“%d”,i);
}
___________________________________。
main()
{int i=3
while(i<10))
{if(i<6)
{i+=2;
continue;
}
else
printf(“%d”,++i);
}
}
___________________________________。
3.#include “stdio.h”
#define X5
#define YX+1
#define ZY*X/2
main( )
{int a;
a=Y;
printf(“%d%d\n”,Z,--a);
}
___________________________________。四、编程题:
1.计算正整数1到n中的奇数之和及偶数之和。2.用switch语句编写程序,实现以下功能:从键盘输入数字1、2、3、4。分别显示excellent,good,pass,fail.输入其它键时显示error。3.编程求一个3×3矩阵对角线元素之和。
参考答案:
1、
main()
{ int n,i;
long s1,s2;
printf("please input n\n");
scanf("%d",&n);
for(i=1,s1=0,s2=0;i<=n;i++)
if(i%2==0) s1=s1+i;
else s2=s2+i;
printf("oushu he shi %ld\n",s1);
printf("jishu he shi %ld\n",s2);
}2、(总分8分))
main()
{ int x;
printf("please input a number\n");
scanf("%d",&x);
switch (x)
{ case 1: printf("excellent\n");break;
case 2: printf("good\n");break;
case 3: printf("pass\n");break;
case 4: printf("fail\n");break;
default : printf("error\n");
}
}3、(总分8分)
main()
{int a;
int i,j;
long s;
printf("please input 9 number\n");
for(i=0;i<3;i++)
for(j=0;j<3;j++) scanf("%d",&a);
printf("the array a is \n");
for(i=0,s=0;i<3;i++)
{for(j=0;j<3;j++)
{printf("%4d",a); if(i==j||i+j==2)s=s+a;
}
printf("\n");
} printf("s=%3d",s);
}奥鹏无忧答案网
页:
[1]