选择与循环结构练习题-学习十一

2022-02-28 21:27:43 浏览数 (3)

练习

练习

1、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是___。
代码语言:javascript复制
if(x>y)
z=x; x=y; y=z;

(A)10 20 30

(B)20 30 10

(C)20 30 30

(D)30 20 10

2、以下不正确的语句是___。

(A)if(x>y) x=1;

(B)if(x=y)&&(x!=0) x =y;

(C)if(x!=y) scanf("%d",&x);

(D)if(x<y){x ;y };

3、请读以程序写出程序的输出结果___。
代码语言:javascript复制
#include <stdio.h>

main() {
    int x = 1, y = 0, a = 0, b = 0;
    switch (x) {
    case 1:
        switch (y) {
        case 0: a  ; break;
        case 1: b  ; break;
        }
    case 2:
        a  ; b  ; break;
    }
    printf("a=%d,b=%d", a, b);
}

(A)a=1,b=0

(B)a=2,b=1

(C)a=2,b=2

(D)a=0,b=0

4、写出下面程序的运行结果是___。
代码语言:javascript复制
#include <stdio.h>

main() {
    int i;
    for (i = 1; i <= 5; i  )
        switch (i % 5) {
        case 0: printf("*"); break;
        case 1: printf("#"); break;
        default:printf("n");
        case 2:printf("&");
        }
}

(A)

代码语言:javascript复制
#&
&
&*

(B)

代码语言:javascript复制
#&

&*

(C)

代码语言:javascript复制
#&

&

(D)

代码语言:javascript复制
#&&&*
5、下面程序的运行结果是___。
代码语言:javascript复制
#include <stdio.h>

main()
{
    int i = 0, j = 0, k = 0, m;
    for (m = 0; m < 3; m  )
        switch (m) {
        case 0: i = m  ;
        case 1: j =   m; break;
        case 2: k = m  ;
        case 3:   m;
        }
    printf("%d, %d, %d,%d", i, j, k, m);
}

(A)0,2,0,4

(B)1,2,1,4

(C)0,2,0,3

(D)0,3,2,4

6、下列程序的输出结果为___。
代码语言:javascript复制
#include <stdio.h>

main()
{
    int sum = 10;
    for (int i = 100; i <= 10; i  )
        sum = sum   i;
    printf("%d", sum);
}

(A)10

(B)100

(C)5050

(D)5005

7、假设i的初始值为0,每循环一次后i的值增加1。如果想要让循环执行6次,那么for语句中循环继续的条件应该是:

(A)i>6

(B)i<=6

(C)i<7

(D)i<6

8、有以下程序,写出输出结果___。
代码语言:javascript复制
#include <stdio.h>

main(){
    int i;
    for (i = 0; i < 3; i  )
        switch (i)
        {
        case 0: printf("%d", i);
        case 1: printf("%d", i);
        default: printf("%d",i);
        }
}
9、设一个三位数可以表示为abc,若其能满足条件a3 b3 c3=abc,则称其为水仙花数,编程求出所有的水仙花数。例如: 153是一个“水仙花数”,因为153=13 53 33。
10、输入一行字符,分别统计出其中的英文字母、空格、数字、和其他字符的个数。
11、输入一个大于3的整数n,判定它是否素数(prime,又称质数)。
12、求费波那西(Fibonacci)数列的前40个数。这个数列有如下特点:第1、2两个数为1、1。从第3个数开始该数是其前面两个数之和。
代码语言:javascript复制
F1=1    (n=1)
F2=1     (n=2)
....
Fn=F(n-2) F(n-1)   (n>2)

答案

选择题

选择填空答案

1、C   2、D   3、B   4、A   5、C   6、A   7、D   8、000112  

应用题答案

9、

代码语言:javascript复制
#include <stdio.h>

main(){
    int a,b,c,i;
    for (i = 100; i <= 999; i  )
    {
        a = i / 100;
        b = i % 100 / 10;
        c = i % 10;
        if (i == a*a*a   b*b*b   c*c*c)
            printf("%d,", i);
    }    
}

10、

代码语言:javascript复制
#include <stdio.h>

void main(){
    int z,k,s,q;
    char c;
    z = k = s = q = 0;
        
    for (c = getchar(); c != 'n';)
    {
        if (c >= 'a'&&c <= 'z' || c >= 'A'&&c <= 'Z')
            z  ;
        else if (c == ' ')
            k  ;
        else if (c >= '0'&&c <= '9')
            s  ;
        else q  ;
        c = getchar();
    }
    printf("字母:%d,空格:%d,数字:%d,其他:%d", z, k, s, q);
}

11、

代码语言:javascript复制
#include <stdio.h>

void main() {
    int n, i;
    printf("请输入一个大于3整数:"); 
    scanf_s("%d", &n);
    for (i = 2; i <= n - 1; i  )
        if (n%i == 0) break;
    if (i < n) 
        printf("%d 不是素数n", n);

    else printf("%d 是素数n", n);
}

12、

代码语言:javascript复制
#include <stdio.h>

void main() {
    int f1 = 1, f2 = 1, f3; int i;
    printf("dndn", f1, f2);
    for (i = 1; i <= 38; i  )
    {
        f3 = f1   f2;
        printf("dn", f3);
        f1 = f2;
        f2 = f3;
    }
}

0 人点赞