【C语言】常见练习题1.0

本文涉及的产品
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
简介: 【C语言】常见练习题1.0

前言


😁 网上搜了一些练习题,用于巩固所学,现在给大家分享一下


第一题:


0abbd474642b4284ab186405fb2acf5e.png

答案解析:


上述问题代码思想,循环十次,当i为5时,输出i的值,但if表达式 ’=‘应该写成 ’==‘,每次i都为5,i的值永远不为10,造成死循环


第二题:

       关于if语句说法正确是:( )

A.if语句后面只能跟一条语句


               B.if语句中0表示假,1表示真


               C.if语句是一种分支语句,可以实现单分支,也可以实现多分支


               D.else语句总是和它的对齐的if语句匹配


答案解析:


               A:可以跟多条语句

               B:0为假,非零为真

               C:正确

               D:不一定看语句


第三题:


int func(int a)
{
    int b;
    switch (a)
    {
        case 1: b = 30;
        case 2: b = 20;
        case 3: b = 16;
        default: b = 0;
    }
    return b;
}
则func(1) = (      )

答案解析:

       由于case和default之间都没有break暂停,一直执行到最后一行,所以b=0


第四题:

       switch(c)语句中,c不可以是什么类型( )

  A.int

               B.long

               C.char

               D.float

答案解析:

 switch语句中表达式的类型只能是:整形和枚举类型,所以排除ABC,选D


第五题:


下面代码的执行结果是什么( )

#include <stdio.h>
int main() {
  int x = 3;
  int y = 3;
  switch (x % 2) {
  case 1:
    switch (y)
    {
    case 0:
      printf("first");
    case 1:
      printf("second");
      break;
    default: printf("hello");
    }
  case 2:
    printf("third");
  }
  return 0;
}


答案解析:


       x%2 =1....1

       case1:switch(3),所以,case1输出内容为hello,但default并未跳出程序,继续执行,输出:“hellothird"


第六题:


   关于switch说法不正确的是:( )

               A.switch语句中的default子句可以放在任意位置

               B.switch语句中case后的表达式只能是整形常量表达式

  C.switch语句中case子句必须在default子句之前


               D.switch语句中case表达式不要求顺序


答案解析:


       A,B,D正确,C:没有规定case必须在default之前,一般case最好放在default之前


第七题:


从大到小输出

写代码将三个整数数按从大到小输出。

例如:

输入:2 3 1

输出:3 2 1


答案解析:

#include <stdio.h>
int main()
{
    int a = 2;
    int b = 3;
    int c = 1;
    scanf("%d%d%d",&a, &b,&c);
    if(a<b)
    {
        int tmp = a;
        a = b;
        b = tmp;
    }
    if(a<c)
    {
        int tmp = a;
        a = c;
        c = tmp;
    }
    if(b<c)
    {
        int tmp = b;
        b = c;
        c = tmp;
    }
    printf("a=%d b=%d c=%d\n", a, b, c);
    return 0;
}


第八题:

写一个代码打印1-100之间所有3的倍数的数字

答案解析:

#include <stdio.h>
int main()
{
    int i = 0;
    for(i=1; i<=100; i++)
    {
        if(i%3==0)
        {
            printf("%d ", i);
        }
    }
    return 0;
}


第九题:

求10 个整数中最大值

答案解析:

int main()
{
  int arr[10] = {0};
  int i = 0;
  int max = 0;
  for(i=0; i<10; i++)
  {
    scanf("%d", &arr[i]);
  }
  //
  max = arr[0];
  for(i=1; i<10; i++)
  {
    if(arr[i]>max)
      max = arr[i];
  }
  printf("max = %d\n", max);
  return 0;
}


第十题:

写一个代码:打印100~200之间的素数

答案解析:

int main()
{
  int i = 0;
  int count = 0;
    // 外层循环用来获取100~200之间的所有数据,100肯定不是素数,因此i从101开始
  for(i=101; i<=200; i++)
  {
    //判断i是否为素数:用[2, i)之间的每个数据去被i除,只要有一个可以被整除,则不是素数
    int j = 0;
    for(j=2; j<i; j++)
    {
      if(i%j == 0)
      {
        break;
      }
    }
    // 上述循环结束之后,如果j和i相等,说明[2, i)之间的所有数据都不能被i整除,则i为素数
    if(j==i)
    {
      count++;
      printf("%d ", i);
    }
  }
  printf("\ncount = %d\n", count);
  return 0;
}


第十一题:

打印1000年到2000年之间的闰年

答案解析:

#include <stdio.h>
int main()
{
  int year = 0;
  for(year=1000; year<=2000; year++)
  {
    //判断year是否为闰年
    if(year%4==0)  // 如果year能够被4整除,year可能为闰年
    {
      if(year%100!=0) // 如果year不能内100整除,则一定是闰年
      {
        printf("%d ", year);
      }
    }
    if(year%400 == 0)  // 每400年再润一次
    {
      printf("%d ", year);
    }
  }
  return 0;
}
//
//介绍一下这种的简单写法
//
int main()
{
  int year = 0;
  for(year=1000; year<=2000; year++)
  {
    if(((year%4==0)&&(year%100!=0))||(year%400==0))
    {
      printf("%d ", year);
    }
  }
  return 0;
}


第十二题:

计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值,打印出结果

答案解析:

#include <stdio.h>
int  main()
{
  int i = 0;
  double sum = 0.0;
  int flag = 1;
  for(i=1; i<=100; i++)
  {
    sum += flag*1.0/i;
    flag = -flag;
  }
  printf("%lf\n", sum);
  return 0;
}


目录
相关文章
|
9月前
|
存储 C语言
C语言练习题解析(1)
C语言练习题解析(1)
88 0
|
9月前
|
C语言
C语言练习题解析(2)
C语言练习题解析(2)
75 0
|
C语言 CDN
C语言基础练习题(2)
C语言基础练习题(2)
149 1
|
存储 编译器 C语言
C语言练习题Day2
C语言练习题Day2
|
C语言
C语言练习题Day1
C语言练习题Day1
|
C语言
C语言基础练习题(1)
C语言基础练习题(1)
84 0
|
4月前
|
C语言
C语言练习题代码
C语言练习题代码
|
9月前
|
编译器 C语言 数据安全/隐私保护
C语言练习题解析(4)
C语言练习题解析(4)
133 0
|
9月前
|
C语言 数据安全/隐私保护
C语言练习题
C语言练习题
63 1
|
8月前
|
人工智能 算法 Java

热门文章

最新文章