栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

初始C语言刷题记录

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

初始C语言刷题记录

初识C语言刷题记录

记录知识点考点及相关延伸

下面代码题均出自于牛客网

选C

C、 struct Stu结构体,属于自定义类型 自定义类型:自己创造出来的;内置类型:C语言本身携带。

2.

选D

对选项A的解释:C语言不止main函数一种主函数
int  ADD(int x,int y)
{
    int z=x+y;
    return z;
}
int main()
{
    int a=10;
    return 0;
}
//不能说z函数的作用域在main函数内部

3.

选B

”局部变量优先原则“。

小技巧:课本上问程序结果的题不会做,可以放到编译器里进行运行和思考,以巩固所学。

#include 
int main()
{
    printf("I lost my cellphone!n");
    return 0;
}

建议:牛客网刷题时可以==复制题目要求==,避免出错。如本题输出内容“I lost my cellphone!”。

#include 
int main()
{
    printf("     **     n");
    printf("     **     n");
    printf("************n");
    printf("************n");
    printf("    *  *    n");
    printf("    *  *    n"); 
    return 0;
}

注:没什么特别规律,不必要写成循环。

6.

选C

0的含义
0——数字0
‘0’——字符0,ASCII码值 48
‘’——转义字符,字符串结束标志,ASCII码值是0
EOF——end of file 文件的结束标志
NULL——空指针,本质是0
#define EOF (-1)
//scanf、getchar读取失败的时候会返回EOF
#define NULL((void*)0)//强制类型转换
#define NULL 0
int*p=NULL
//右击转到定义

7.

选B(定义)

8.

选C(详细表格请阅读笔者上篇文章)

9.

选C

strlen查找的是‘’。若’’未定义,strlen查找的则是随机值。

10.

选B

C99 标准之前,数组的大小是不能使用变量

C99 标准中增加:变长数组,数组的大小可以是变量,但是这样的数组是不能直接初始化的。

VS Code环境下:

#include 
//linux 的环境下
//gcc编译器是支持C99变长数组的
int main()
{
    int n=10;
    int arr[n];
    return 0;
}

11.

选A

7、121分别是一个字符 12.写一个函数求两个整数的较大值

int MAX(int x,int y)
{
    if(x>y)
        return x;
    else
        return y;
}
//或者写成三目操作符
int MAX(int x,int y)
{
    return (x > y ? x : y);
}

int main()
{
    int a=0;
    int b=0;
    scanf("%d %d",&a,&b);
    //求较大值
    int m=MAX(a,b);
    printf("%dn",m);
    return 0;
}
请计算表达式“(-8+22)×a-10+c÷2”,其中,a = 40,c = 212。

#include 
int main()
{    
    int a=40;
    int b=0;
    int c=212;
    b=(-8+22)*a-10+c/2;
    printf("%dn",b);
    return 0;
}

//改进
#include 
int main()
{    
    int a=40;
    int c=212;
    printf("%dn",(-8+22)*a-10+c/2);
    return 0;
}

注意:数学符号对应的代码符号

14.多组输入,表明一个人的智商。

#include 
int main()
 {
    int iq=0;
    //输入
    scanf("%d",&iq);
    if(iq>=140)
    {
        printf("Geniusn");
    }
    return 0;
}//只能处理一组数据

int main()
{
    int iq=0;
    //输入
    //EOF -> -1
    while(scanf("%d",&iq)==1)
    //等价于while(scanf("%d",&iq)!==EOF)
    {
          if(iq>=140)
          {
             printf("Geniusn");
          }
    }
    return 0;
}
在 cplusplus.com 上查找scanf:

int main()
{
    int a=0;
    int b=0;
    int ret=scanf("%d %d",&a,&b);
    //4 5          ret=2
    //5 (ctrl+z)*3 ret=1
    //CodeBlock (ctrl+z)*1
    printf("ret=%dn",ret);
    printf("ret=%dn",a);
    printf("ret=%dn",b);
    return 0;
}
15.判断一个整数是否能被5整除

#include 
int main()
{
    int M=1;
    scanf("%d",&M);
    if(M%5==0)
            printf("YES");
     else
            printf("NO");
    return 0;
}

选B

17.

选C

18.

选B

参考初始C语言讲解

19.

选C

#define预处理指令

20.

选A

21.计算商和余数

#include 
int main()
{
    int a=0;
    int b=0;
    scanf("%d %d",&a,&b);
    printf("%d %d",a/b,a%b);
    return 0;
}
22.反向输出一个四位数

#include 
//解析:
//1234
//4321

//1234%10=4
//1234/10=123
//123%10=3
//123/10=12
//12%10=2
//12/10=1
//1%10=1
//1/10=0
int main()
{
    int n=1000;
    if(1000<=n&&n<=9999)
    {
        scanf("%d",&n);
            while(n)
            {
                printf("%d",n%10);
                n=n/10;
            }
    }
    return 0;
}

//修改代码
int main()
{
    int n=0;
    scanf("%d",&n);//1234
    while(n)
    {
        printf("%d",n%10);
        n=n/10;
    }
    return 0;
}
23.计算平均成绩

//法1
int main()
{
    int a=0;
    int b=0;
    int c=0;
    int d=0;
    int e=0;
    scanf("%d %d %d %d %e",&a,&b,&c,&d,&e);
    printf("%.1lf",(a+b+c+d+e)/5.0);
    return 0;
}

//法3
int main()
{
    int n=0;
    int i=0;
    int sum=0;
    while(i<5)
    {
        scanf("%d",&n);
        sum+=n;
        i++;
    }
    printf("%.1lf",sum/5.0);
    return 0;
}

//法2
#include 
int main()
{
    int score[5]={0};
    int sum=0,i=0;
    for(i=0;i<5;i++)
    {
        scanf("%d",&score[i]);
        sum+=score[i];
    }
    double ave=sum/5.0;
    printf("%.1lf",ave);
    return 0;
}
24.判断两个数大小
//法1
int main()
{
    int a=0;
    int b=0;
    while(scanf("%d %d",&a,&b)==2)
    {
        if(a>b)
        {
            printf("%d>%dn",a,b);
        }
        else if(a
            printf("%d<%dn",a,b);
        }
            else
            {
                printf("%d=%dn",a,b);
            }
    }
    return 0;
}

//法2
#include 
int main ()
{
    int a = 1 ;
    int b = 1 ;
    while(scanf("%d %d",&a,&b)!=EOF)
    {
    if(a==b)
    {
        printf("%d=%dn",a,b);
    }
    else if( a>b)
    {
        printf("%d>%dn",a,b);
    }
    else
        printf("%d<%dn",a,b);
    }
    return 0;
}
25.时间转换

#include 
//3661
//s/3600=1h
//s%3600=61
//61/60=1min
//61/60=1s
int main()
{
    int seconds;
    scanf("%d",&seconds);
      if(0
       int h=seconds/3600;
       int m=seconds/60%60;
          //int m=(second%3600)/60;
       int s=seconds%60;
          //int s=(s%3600)%60;
        printf("%d %d %d",h,m,s);
      }
    return 0;
}
1 h = 60 min = 3600 s
1 min = 60 s
#include 
//3661
//s/3600=1h
//s%3600=61
//61/60=1min
//61/60=1s
int main()
{
    int seconds;
    scanf("%d",&seconds);
      if(0
       int h=seconds/3600;
       int m=seconds/60%60;
          //int m=(second%3600)/60;
       int s=seconds%60;
          //int s=(s%3600)%60;
        printf("%d %d %d",h,m,s);
      }
    return 0;
}
1 h = 60 min = 3600 s
1 min = 60 s
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1025345.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号