C语言例题讲解(上)

简介: C语言例题讲解(上)

1

2f545a5ec2e44110ba261f8236264405.png

7097bea434e9476caf7a6b04da12a79a.png

362dd1cf236b4bbca62caf7954f1f687.png


2

fd18ac6c71a8488cb53f4746b4d872b7.png

fc6e26e7c7fc414ba858b773ddc53114.pngb155ff83981049a69c8b447b8ddf6a59.png



3

1788c5651c4d49788f698cd2fd0f5c7a.png


#include <stdio.h>
#include <string.h>
int main()
{
    printf("%d\n", strlen("c:\test\121"));
    return 0;
}

0bb901a81c614f40999b7de7158bf894.png

5a85a4c88b944470b8d054e730fd3853.png


4

47412288fb8040fc807ef4d9ad732c60.png


#include <stdio.h>
#include <string.h>
int main()
{
    char arr[] = {'b', 'i', 't'};
    printf("%d\n", strlen(arr));
  return 0;
}

95327bc79c1d427c809e873fdc9250bd.png

5806b3d27d374b119abc3e6436131f43.png


5

6d85fcc046f0498eb716b77e8b394029[0].png

0ead20ba827a471fa003559ce90714a1.png

c06f329e4833486c99c476b9e7868389.png


6

BC83-被5整除问题

https://www.nowcoder.com/practice/a4f527b043c04551bf4b80b4275a53bd?tpId=107&&tqId=33364&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking

#include <stdio.h>
int main()
{
    int n = 0;
    scanf("%d", &n);
    if(n%5==0)
        printf("YES\n");
    else
        printf("NO\n");
    return 0;
}

7

BC23-时间转换

https://www.nowcoder.com/practice/c4ae7bcac7f9491b8be82ee516a94899?tpId=107&&tqId=33304&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking

#include <stdio.h>
int main()
{
    int sec = 0;
    scanf("%d", &sec);
    int h = sec/60/60;
    int m = sec/60%60;
    int s = sec%60;
    printf("%d %d %d\n", h,m,s);
    return 0;
}

8

BC18-计算带余除法

https://www.nowcoder.com/practice/34d3911bf2fd48a285f6396e886a1259?tpId=107&&tqId=33299&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking

#include <stdio.h>
int main()
{
    int a = 0;
    int b = 0;
    scanf("%d %d", &a, &b);
    int m = a/b;
    int n = a%b;
    printf("%d %d\n", m, n);
    return 0;
}

9

BC17-计算表达式的值

https://www.nowcoder.com/practice/58457d27f91043edaf95b6591bb64fd6?tpId=107&&tqId=33298&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking

#include <stdio.h>
int main()
{
    int a = 40;
    int c = 212;
    int ret = (-8+22)*a-10+c/2;
    printf("%d\n", ret);
    return 0;
}

10

17adc224073d4dca880ea3f1274adf72.png

5b8d844d957c4851a4550743686ca452.png

b89e674976164bde8fa567040d523607.png


11

72a16f3fe72f454ebd67d8e95f869e8a.png

ed80621541dc4e8cb2539af0ea852b77.png

c46d546f04544b31b4e5c67c25bc8614.png


12

5b46bb5ceff24b3abc338ce0f0d344b8.png


be3ed96d92664531855d71bd599c3d2a.png

/*
解题思路:本题目主要是考察函数的声明定义,题目比较简单,请参考以下实现。
*/
int get_max(int x, int y)
{
    if(x > y)
        return x;
    else 
        return y;
}
int main()
{
    int num1 = 10;
    int num2 = 20;
    scanf("%d%d", &num1, &num2);
    //要求:完成get_max函数
    int max = get_max(num1, num2);
    printf("max = %d\n", max);
  return 0;
}

13

BC114-小乐乐排电梯

https://www.nowcoder.com/practice/0f855c7642b74cccb3c2366bb7732d2a?tpId=107&&tqId=33395&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking

#include <stdio.h>
int main()
{
    int n = 0;
    scanf("%d", &n);
    printf("%d\n", n/12*4+2);
    return 0;
}

14

BC9-printf函数的返回值


//代码1
#include <stdio.h>
int main()
{
    int ret = printf("Hello world!");
    printf("\n");
    printf("%d\n", ret);
    return 0;
}
//代码2
#include <stdio.h>
int main()
{
    printf("\n%d\n", printf("Hello world!"));
    return 0;
}

15

BC51-三角形判断

#include <stdio.h>
int main()
{
    int a = 0;
    int b = 0;
    int c = 0;
    while(~scanf("%d %d %d", &a, &b, &c))
    {
        if((a+b>c) && (a+c>b) && (b+c>a))
        {
            //三角形
            if(a==b && b==c)//等边三角形
            {
                printf("Equilateral triangle!\n");
            }
            else if(((a==b)&&(b!=c)) || ((a==c)&&(c!=b)) || ((b==c)&&(c!=a)))//等腰
            {
                printf("Isosceles triangle!\n");
            }
            else
            {
                printf("Ordinary triangle!\n");
            }
        }
        else
        {
            //不是三角形
            printf("Not a triangle!\n");
        }
    }
    return 0;
}

16

BC25-计算体重指数


#include <stdio.h>
int main()
{
    int weight = 0;
    int height = 0;
    double bmi = 0.0;
    scanf("%d%d", &weight, &height);
    bmi = weight/((double)height*height/10000);
    printf("%.2lf\n", bmi);
    return 0;
}

17

关于C语言关键字说法正确的是

A.关键字可以自己创建

B.关键字不能自己创建

C.关键字可以做变量名

D.typedef不是关键字

答案解析:


C语言关键字:C语言定义的,具有特定含义、专门用于特殊用途的C语言标识符,也称为保留字


A:错误,关键字是语言自身定义的


B:正确


C:错误,关键字具有特殊含义,不能作为变量名


D:错误,typedef是用来给类型取别名的关键字


因此,选择B


18

关于static说法不正确的是

A.static可以修饰局部变量

B.static可以修全局变量

C.static修饰的变量不能改变

D.static可以修饰函数

答案解析:本题主要考察static的特性


static修饰变量


**a. 函数中局部变量:

声明周期延长:该变量不随函数结束而结束

初始化:只在第一次调用该函数时进行初始化

记忆性:后序调用时,该变量使用前一次函数调用完成之后保存的值

存储位置:不会存储在栈上,放在数据段

b. 全局变量

改变该变量的链接属性,让该变量具有文件作用域,即只能在当前文件中使用

c. 修饰变量时,没有被初始化时会被自动初始化为0


static修饰函数

改变该函数的链接属性,让该函数具有文件作用域,即只能在当前文件中使用

A:正确,原因参考上述注解

B:正确,原因参考上述注解

C:错误,const修饰的变量不能改变

D:正确,原因参考上述注解**

因此:选择C


19

下面代码的结果是什么?


#include <stdio.h>
int sum(int a)
{
    int c = 0;
    static int b = 3;
    c += 1;
    b += 2;
    return (a + b + c);
}
int main()
{
    int i;
    int a = 2;
    for (i = 0; i < 5; i++) 
    { 
        printf("%d,", sum(a)); 
    } 
} 

答案解析:


本题主要考察static修饰局部变量的特性,static修饰局部变量,该变量不会随函数的结束而消失,并且只在第一次调用时进行初始化,后序调用该函数时,使用的都是上次结束前该变量的值。


第一次循环:a=2 b=5 c=1 a+b+c=8


第二次循环:a=2 b=7 c=1 a+b+c=10


第二次循环:a=2 b=9 c=1 a+b+c=12


第二次循环:a=2 b=11 c=1 a+b+c=14


第二次循环:a=2 b=13 c=1 a+b+c=16


因此:选择B


20

用在switch语言中的关键字不包含哪个?

A.continue

B.break

C.default

D.case

答案解析:

switch是用来进行多分支选择的语句,一般结构是:

switch(变量表达式)

{

case xx1:

// …

break;

case xx2

// …

break;

default:

// …

}

当变量表达式的内容与某个case后的常量相等后,就执行该case下的语句,break表示该case以后的内容不会执行,如果没有跟break,会继续执行当前case之后的case分支。

当变量表达式的内容没有与那个case匹配,就会执行default下的内容。

switch中常用的关键字:case 、break、 default,当然case中语句比较复杂时,可能会用if进行判断。

continue是用来结束本次循环的,而switch不是循环,因此其中不能使用continue关键字。


因此:选择A


相关文章
|
5月前
|
C语言
c语言经典例题讲解(输出菱形,喝汽水问题)
c语言经典例题讲解(输出菱形,喝汽水问题)
51 0
|
3月前
|
C语言
C语言:指针典型例题剖析
C语言:指针典型例题剖析
|
5月前
|
存储 编译器 vr&ar
c语言进阶部分详解(《高质量C-C++编程》经典例题讲解及柔性数组)
c语言进阶部分详解(《高质量C-C++编程》经典例题讲解及柔性数组)
34 0
|
7月前
|
C语言
C语言例题讲解(if语句,循环语句,函数)
C语言例题讲解(if语句,循环语句,函数)
64 0
|
9月前
|
编译器 C语言 C++
C语言操作符经典例题
C语言操作符经典例题
|
10月前
|
C语言
c语言经典例题1
c语言经典例题1
|
11月前
|
存储 编译器 Linux
C语言例题讲解(中)
C语言例题讲解(中)
|
11月前
|
C语言
C语言代码编程200个例题(上)2
C语言代码编程200个例题(上)
|
11月前
|
C语言
C语言代码编程200个例题(上)1
C语言代码编程200个例题(上)
|
11月前
|
C语言
C语言有关char数组的一个经典例题及char的取值范围推导的思维图
C语言有关char数组的一个经典例题及char的取值范围推导的思维图