#include<stdio.h>
int main ()
{
int num=5;
printf("%d\n",++num);
printf("%d\n",num++);
printf("%d\n",num--);
printf("%d\n",num);
return 0;
}
【C代码2】
void func(char ch)
{
while(ch < 'f'){
printf(" %c : %d\n",ch,ch);
ch+ = 2;
}
}
【C代码3】
#define CHARS 5
const int ROWS = 5;
void test ()
{
int row;
char ch;
for(row=0;row<=ROWS;row++)
{
for(ch='B'+row;ch<('B'+CHARS);ch++)
putchar(ch);
printf("\n");
}
}
[问题1](4分)
请给出C代码1运行后的输出结果。
[问题2](6分)
已知字符’a’的ASCII码值为十进制数97,请给出调用C代码2中函数fun(‘a’)后的输出结果。
[问题3](5分)
请给出调用C代码3中函数test( )后的输出结果。
2. 阅读以下代码和问题,回答问题1至问题3,将解答填入答题纸的对应栏内。
【代码 1】
typedef enum {A,B,C,D} EnumType;
EnumType f(int yr)
{
if(0 == yr%400) {
return A;
} else if (!(yr%4)) {
if(0!=yr%100)
return B;
else
return C;
}
return D;
}
【问题1】(4分)
对于代码1,写出下面的函数调用后x1 、x2、x3和x4的值。
x1 = f(1997);
x2 = f(2000);
x3 = f(2100);
x4 = f(2020);
【代码2 】
#include<stdio.h>
int main()
{
int score;
scanf("%d",&score);
switch (score)
{
case 5: printf("Excellent!\n");
case 4: printf("Good!\n"); break;
case 3: printf("Average!\n");
case 2:
case 1:
case 0: printf("Poor!\n");
default: printf("Oops,Error\n");
}
return 0;
}
【问题2】(5分)
(1)写出代码2进行时输入为3的输出结果;
(2)写出代码2进行时输入为5的输出结果。
【代码3】
#include<stdio.h>
int main()
{
int i,j,k;
for(i=0; i<2; i++)
for(j=0; j<3;j++)
for( k=0; k<2;k++) {
if(i!=j&&j!=k)
printf("%d %d %d\n", i,j,k);
}
return 0;
}
阅读以下代码和问题,回答问题1至问题3,将解答填入答题纸的对应栏内。
【代码 1】
typedef enum {A,B,C,D} EnumType;
EnumType f(int yr)
{
if(0 == yr%400) {
return A;
} else if (!(yr%4)) {
if(0!=yr%100)
return B;
else
return C;
}
return D;
}
【问题1】(4分)
对于代码1,写出下面的函数调用后x1 、x2、x3和x4的值。
x1 = f(1997);
x2 = f(2000);
x3 = f(2100);
x4 = f(2020);
【代码2 】
#include<stdio.h>
int main()
{
int score;
scanf("%d",&score);
switch (score)
{
case 5: printf("Excellent!\n");
case 4: printf("Good!\n"); break;
case 3: printf("Average!\n");
case 2:
case 1:
case 0: printf("Poor!\n");
default: printf("Oops,Error\n");
}
return 0;
}
【问题2】(5分)
(1)写出代码2进行时输入为3的输出结果;
(2)写出代码2进行时输入为5的输出结果。
【代码3】
#include<stdio.h>
int main()
{
int i,j,k;
for(i=0; i<2; i++)
for(j=0; j<3;j++)
for( k=0; k<2;k++) {
if(i!=j&&j!=k)
printf("%d %d %d\n", i,j,k);
}
return 0;
}
【问题3】(6分)
写出代码3运行后的输出结果。