c 语言试卷(2)

来源:百度知道 编辑:UC知道 时间:2024/09/28 07:18:17
阅读程序:
1. 运行如下程序,输出的结果是____________。
#include<stdio.h>
main()
{
int s=0,k;
for(k=7;k>=0;k--)
{
switch(k)
{
case 1;
case 4;
case 7;
s++;
break;
case 2;
case 3;
case 6;
break;
case 0;
case 5;
s+=2;
break;
}
}
printf(“s=%d\n”,s)
}

2. 运行如下程序,输出的结果是____________。
include <stdio.h>
main( )
{
int i;
for (i=1;i<=5;i++)
{
if (i%2)
printf(“*”);
else
continue;
printf(“#”);
}
printf(“$\n”);
}

3. 运行如下程序,输出的结果是____________。
#include<stdio.h>
main()
{
int a,b,c;
a=2;b=3;c=1;
if(a>b)
if(a>c)
printf(“%d\n”,a);
else
printf(“%d\n”,b);
printf(“end\n”);
}

4. 运行如下程序,输出的结果是____________

1.s=7 (case后面的分号都改为冒号,否则错误。本题考查switch case和break的用法,注意case中没有break的将运行下一个case)
2.*#*#*#$ (考查循环和分支结构,i=1时,输出*#,i=2时没有输出,i=3同i=1)
3.end (分支结构,注意else与就近的一个if配对,此题中判断a>b为假后直接运行printf("end\n"); )
4.x=0,m=0,n=8 (考查运算及其优先级,注意A && B运算,如果A为假,则B不用计算,整个表达式为假,即等于零,同理,若A || B运算A为真,则B不用计算,整个表达式为真,即等于1)

1.case 1;后面是分号?若是分号就编译不了,若是:冒号。答案:s=7 换行
2.答案:*#*#*#$ 换行
3.答案: end 换行
4.答案:x=0,m=0,n=0 换行