一、选择题
1、运行以下程序,如果从键盘上输入5,则输出结果是 C 5
void main()
{    int x;
scanf("%d",&x);
iIf(x<=5) printf("%d",x);
else printf("%d",x++);
}
2、若执行以下程序时从键盘上输入9,则输出结果是 C 9
main()
{
int n;
scanf("%d",&n);
if(++n<10) printf("%d\n",n);
else printf("%d\n",--n);
}
3、若a、b、c1、c2、x、y均是整形变量,正确的switch语句是 D
switch(a-b)
{default:y=a*b;break;
case 3:
case 10:y=a-b;break;
}
4、若变量c为char类型,能正确判断出c为小写字母的表达式是 D (c>='a')&&(c<='z')
5、有如下程序
main()
{int x=1,a=0,b=0;
switch(x){
case 0:b++;
case 1:a++;
case 2:a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
该程序的输出结果是 A a=2 b=1
6、有如下程序:
main()
{float x=2.0,y;
if(x<0.0) y=0.0;
else if(x<10.0) y=1.0/x;
else y=1.0;
printf("%f\n",y);
}
该程序的输出结果是 C 0.500000
7、若输入B,以下程序的运行结果为 C >=60<60error
main()
{    char grade;
scanf("%c",&grade);
switch(grade)
{
case 'A':printf(">=85");
case 'B':
case 'C':print(">=60");
case 'D':printf("<=60");
default:printf("error");
}
}
}
8、以下不正确的语句为 C if(x=y)&&(x!=0) x+=y;
9、以下程序输出结果为 B 2
main()
{int x=2,y=-1,z=2;
if(x<y)
if(y<0) z=0;
else z+=1;
printf("%d\n",z);
}
10、以下程序输出结果为 C、10
main(){
int a=-1,b=1,k;
if((++a<0)&&(b--<=0))
    printf(“%d%d\n”,a,b);
else
    printf(“%d%d\n”,b,a);
}
11、当a=1,b=3,c=5时,执行下面一段程序后,x的值为 B 2
if(a<b)
        if(c<d) x=1;
        else if(a<c)
            if(b<d) x=2;
            else x=3;
        else x=6;
    else x=7;
12、有如下程序段
int a=14,b=15,x;
char c='A';
x=(a&&b)&&(c<'B');
执行该程序段后,x的值为 D 1
13、有如下程序段
int score=5;
switch(score)
{
    case 5:printf("very good!");
    case 4:printf("Good!");
    default:printf("data error!");
}
程序输出结果为 D Very good! Good! Data error!
14、有如下程序
main()
{
    int a=10,b=4,c=3;
    if(a<b) a=b;
    if(a<c) a=c;
    printf("%d,%d,%d\n",a,b,c);
}
运行后的输出结果是D 10,4,3
15、下列关于switch语句和break语句的说法中,只有 B 在switch语句中可以根据需要使用或不使用break语句。是正确的。
16、下列关于if语句的描述中,错误的是 C if语句中只能有不超过5个的else if 子句
二、填空题
1、以下程序实现将两个数从大到小输出。
main()
{
    float a,b, t ;
    scanf("%f%f",&a,&b);
    if(a<b)
    {
        t=a;
        a=b;
        b=t;
    }
    printf("%5.2f,%5.2f\n",a,b);
}
2、当a=1,b=2,c=3时执行下面语句后,a,b,c的值分别为 3 2 2
If(a>c) b=c;a=c;c=b;
3、执行以下程序,当输入3时,输出结果是 33=33
int main()
{
    int n;
    printf("Enter an integer:");
    scanf("%d",&n);
    if(n=33) printf("%d=33\n",n);
    else printf("%d!=33\n",n);
}
三、编程题
1、输入一个整数,判别它是奇数还是偶数。
#include<stdio.h>
void main()
{
    int n;
    printf(Please enter one integer:);
    scanf("%d",&n);
    if(n%2) printf("odd\n");
    else printf("even\n");
}
2、从键盘输入一个字符,如果输入的是大写字母,则将它转换成小写字母后输出,否则输出原来输入的字符。
#include<stdio.h>
void main()
{
    char c;
c语言程序设计教材答案    c=getchar();
    if(c>='A' && c<='Z') c-='A'-'a';
    putchar(c);
}
3、从键盘输入一个考试分数,如果输入的分数是60分以下输出“不及格”,90分以上输出“优秀”,否则输出“合格”。
#include<stdio.h>
void main()
{
    int n;
printf(Please enter one integer:);
    scanf("%d",&n);
    if(n<60) printf("不及格\n");
    else if(n<90) printf("合格\n");
    else printf("优秀\n");
}
4、从键盘输入一个考试分数,如果不在0~100之间,显示出错信息:“数据错误”,如果输入的分数是60分以下输出“不及格”,如果在60~69之间输出“及格”,如果在70~79之间输出“中”,如果在80~89之间,输出“良”,如果在90分以上输出“优”。(分别用if语句和switch语句)
#include<stdio.h>
void main()
{
    int n;
    printf(Please enter one integer:);
scanf("%d",&n);
    if(n<0 && n>100) printf("数据错误\n");
    else if(n<60) printf("不及格\n");
    else if(n<70) printf("及格\n");
    else if(n<80) printf("中\n");
    else if(n<90) printf("良\n");
    else printf("优\n");
}
#include<stdio.h>
#include<math.h>
void main()
{
    int n;
    scanf("%d",&n);
    switch(n/abs(n))
    {
    case -1: default: printf("数据错误\n");return;
    }
    switch(n/10)
    {
    case 10:
    case 9: printf("优\n");break;
    case 8: printf("良\n");break;
    case 7: printf("中\n");break;
    case 6: printf("及格\n");break;
    case 5:
    case 4:
    case 3:
    case 2:
    case 1:
    case 0: printf("不及格\n");break;
    default: printf("数据错误\n");
    }
}
5、求分段函数y=f(x)的值。
f(x)= 2x^3-1 x<=-1
    x^2 1<x<=0;
    sqrt(x) 0<x<=1
    3x+2 x>1
#include<stdio.h>
#include<math.h>
void main()
{
    double x,y;
    printf(Please enter x:);
    scanf("%lf",&x);
    if(x<=-1) y=2*x*x*x-1;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。