=’A’ && c1<=’Z’)?(c1+32):c1;
c1=(c1>=’a’ && c1<=’z’)?(c1-32):c1;
printf(“%c”,c1);
}
4.设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是( 3 )。
For(x=0,y=0;y!=123 && x<3;x++)
Scanf(“%d”,&y);
5.下面程序的运行结果是( ####
)。
#includemain( )
{ int i,j;
for(i=4;i>=1;i--)
{ for(j=1;j<=i;j++) putchar(‘#’);
for(j=1;j<=4-i;j++) putchar(‘*’);
putchar(‘\n’);
}
}
6.下面程序可求出矩阵a的两条对角线上的元素之和,请填空。
Main( )
{int a[3][3]={1,3,6,7,9,11,14,15,17},sum1=0,sum2=0,i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(i= =j) sum1=sum1+a[i][j];
for(i=0;i<3;i++)
for( j=2 ; j>=0 ;j--)
if((i+j)= =2) sum2=sum2+a[i][j];
printf(“sum1=%d,sum2=%d\n”,sum1,sum2);
}
7.以下程序的输出结果是( 1110 )。
Main( )
{int x[6],a=0,b,c=14;
do
{ x[a]=c%2;
a++;
c=c/2;
} while(c>=1);
for(b=a-1;b>=0;b--)
printf(“%d”,x[b]);
printf(“\n”);
}
8.输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其他字符不变。请填空。
Main( )
{ char ch1;
scanf(“%c”,&ch1);
if( ch1>=’A’ && ch1<=’Z’ ) ch1=ch1+32;
else if ( ch1>=’a’ && ch1<=’z’) ch1=ch1-32 ;
printf(“%c”,ch1);
}
9.以下程序的功能是判断输入的年份是否闰年,请填空。
Main( )
{ int year,yes;
scanf(“%d”,&year);
if (year%400= =0) yes=1;
else if( year % 4==0 && year % 100!=0 ) yes=1;
else yes=0 ;
if(yes) printf(“%d is”,year);
else printf(“%d is not”,year);
printf(“a leap year.\n”);
}
10.下面程序的运行结果是( 1 1 2 3
5 8 13 21
)。 34 55
Main( )
{ int I,f[10];
F[0]=f[1]=1; 2 3 5 8 13 21 34 55
For(i=2;i<10;i++)
F[i]=f[i-2]+f[i-1];
For(i=0;i<10;i++)
{if(i%4==0) printf(“\n”);
Printf(“%3d”,f[i]);
}
}
得 分
评卷人
复查人
三、编程题(35分)。
1.从键盘输入10个整数,存放在数组中,要求对这10个数按大到小进行排序后输出。(10分)
2..设有一分数序列:
编程求出这个数列的前10项之和。(10分)
3.输出杨辉三角形(要求输出10行)。(15分)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
……