非选择题部分
注意事项:
用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。
三、简答题(本大题共4小题,每小题4分,共16分)
26.C语言中整型常量有几种形式,他们是如何表示的?
27.C语言中的运算符“=”与数学中“=”的意义相同吗?为什么?
28.设有说明:unsigned x=10;试用两种方法写出通过仅对X进行位运算操作和赋值操作使x的值为0的C语句(不能用x=0;这种C语句)。
29.设有下面说明:
struct flower{ char *part;char *color; } mum;
char*part__of__flower[3]={ "花", "茎", "叶" };
char*seven__color[7]={ "赤" , "橙" , "黄 " , "绿" , "青" , "蓝" "紫"};
试写出将mum的成员part定义为"花"、成员color定义为"黄 "的C语句。
四、阅读分析题 (本大题共6小题,每小题5分,共3O分)
30.阅读下面程序,写出运行结果
main( )
{
int a=456,b=l 00,x,y;
x=a/b;
y=a%b;
printf( " x=%d,y=%d\n " ,x,y);
}
31.阅读下面程序,若输入0,3,则程序的运行结果是什么?
void main(void)
{
int x,y,z;
scanf( " %d,%d " ,&x,&y);
if(x { z=x;x=y;y=z; } printf( " %d,%dkn " ,x,y); } 32.阅读下面程序,写出运行结果 main( ) { int s=0,t=1,i; for(i=1;i <5;i++) { t=t*i; s+=t; printf( " s=%d\n " ,s); } } 33.阅读下面程序,写出运行结果 main( ) { int a [5][5], i,j ; for(i=0;i<5;i++) for(j=0;j<5;j++) if(i==j || j==4-i) a[i][j]=0; else a[i][j]=l; for(i=0;i<5;i++) { for(j=0;j < 5;j++) printf( " %3d " ,a[i][j]); printf( "\n " ); } } 34.阅读下面程序,写出运行结果 int check(int n,int k) {int m; do { m=n%10: n=n/10; }while(k--); return(m); } main() { int y=2345,j; for(j=1;j<4;j++) printf("j=%d,number is%d\n",j,check(y,j)); } 35.阅读下面程序,写出运行结果 #define M 2 #define N M+4 int a[ ]={10,20,30}; int subl(int x,int y,int z) { int t; t=x a[1]=t return t; } main( ) { int k: k=sub 1(M*N,*(a+1),*(a+2)); printf("%d,%d\n",k,*(a+1)); } 五、程序设计题 (本大题共2小题,每小题1 2分,共24分) 3 6.从键盘上输入1 6个整数,组成4行4列的数组,打印出下三角数组。 3 7.设有7×7浮点型数组x(7×7表示7行7列)。要求: (1)从键盘上输入49个浮点数对数组x赋初值。 (2)计算数组x每一行的累加和以及每一列正数的平均值(假设每列中至少有一个正数)。 (3)将数组x各行的累加和以及各列正数的平均值依次写到当前目录下的二进制文件 array.txt中。