c语言每日一练(13)

前言:
每日一练系列,每一期都包含5道选择题,2道编程题,博主会尽可能详细地进行讲解,令初学者也能听的清晰。每日一练系列会持续更新,上学期间将看学业情况更新。

 五道选择题:

1、程序运行的结果为()

#include<stdio.h>
int main()
{
int x=1.9;
x++;
printf("%d",x);
}

A、1    B、2    C、2.9    D、3

解析:简单题,考察的是你对于整型变量的理解整型变量如果初始值被赋予小数,那么在vs编译器上就会直接将小数部分给舍去,也就是说,代码1中给x赋予1.9,实际上只是给x赋予1,接着走到x++,使x=2,所以最后打印出来的结果就是2,选B 

2、设有整型变量a,b,c,它们的初值是1,运行表达式++a| |++b&&++c后,a,b,c的值分别是 ()

A、2,1,1       B、2,2,2     C、2,2,1      D、2,1,2

解析:易错题,考察||(或)运算和&&(且)运算的运用,||运算只要一边为真即为真,所以当我们判定完一边为真的时候另一边就不用再判定,计算机会直接跳过。&&运算,两边都为真才为真,只要有一边为假就为假,所以一旦发现一边为假则不再判定另一边。

跟据规则走,首先遇到的是++a,先++后使用,a=2,2为真,是||运算,所以后面的部分不进行,连带着&&也没有进行,所以最后a=2,b=1,c=1,选A

3、以下程序运行的结果为()

#include<stdio.h>
int main()
{
	int x = 5;
	int i = 0, j = 0, k = 0;
	x = (i = 4, j = 16, k = 32);
	printf("%d %d %d %d", x,i,j,k);
}

A、5,4,16,32     B、5,0,0,0    C、32,4,16,32    D、32,0,0,0

解析:考察你对于逗号表达式的理解,逗号表达式从左往右进行,整个表达式的结果为最后一个表达式。

从左往右走,首先给i赋值为4,接着给j赋值为16,最后来到最后一个表达式,k=32,而根据逗号表达式的运行可知整个表达式的结果也是k=32,所以最后是x=k=32,同时对x和k赋值,所以x和k最后均为32,综上所述,i=4,j=16,x=k=32,所以最后打印出来的结果为32,4,16,32选C

4、有如下程序,程序运行后的输出结果是()

#include <stdio.h>
int main()
{
int x = 072;
printf("%d\n", x+1);
}

A、72      B、73       C、115       D、59

 解析:基础题,考察你对细节的掌控,八进制数的前缀为0,十六进制的前缀为0x,十进制数没有前缀。所以该程序赋值给x的值是一个八进制的72,转换为十进制就是2*1+7*8=58,最后打印出x+1即59,故选D

5、若想定义 int 型变量 a,b,c,d 并都赋值为 1,以下写法中错误的

A、int a=b=c=d=1;
B、int a=1, b=1, c=1, d=1;
C、int a,b,c,d; a=b=c=d=1;
D、int a,b,c,d=1; a=b=c=d;

解析:一个一个走,先看A选项,A选项的操作并没有定义b,c,d这三个整型变量,故A错误,B选项挨个定义,没有问题,B正确。C选项全部定义完了再赋值,C正确,D选项,先定义a,b,c,d四个变量的同时给d赋值为1,最后令a=b=c=d,令a,b,c与d相等,所以最后,a,b,c,d均为1,D正确,综上所述,选A

编程题1: 

剑指 Offer 10- I. 斐波那契数列 - 力扣(LeetCode)

提示:记得取模,一开始博主也没有取模,想半天,哈哈 

int fib(int n) {
    if (n == 0)
    {
        return 0;
    }
    if (n <= 2)
    {
        return 1;
    }
    //以上特殊情况单独处理下
    int f1 = 1; int f2 = 1; int f3 = 0; int i = 0;
    for (i = 3; i <= n; i++)
        //我们一开始计算的就是第三个斐波那契数,所以令i=3
    {
        f3 = (f1 + f2) % 1000000007;
        //先储存下一个斐波那契数
        f1 = f2;
        f2 = f3;
        //进行数据更新
    }
    return f3;
    //返回目标
}

编程题2: 

134. 加油站 - 力扣(LeetCode)

提示:此题较难,建议学习贪心算法之后再过来进行,这里博主并没有使用贪心算法,使用最朴实无华的方法通过的,目的是让大家能够感受一下代码的严谨。拷贝博主的代码有时也是通不过的,因为博主没有使用技巧答题,当你网络不好时可能会因为超出时间限制而失败,多试几次就可以。 

 

int canCompleteCircuit(int* gas, int gasSize, int* cost, int costSize) {
    int oil = 0;
    int i = 0;
    if(gasSize==1)
    //只有一个单独处理
    {
      if(gas[0]>=cost[0])
      return 0;
    }
    for (i = 0; i < gasSize; i++)
    {
        int tmp = i;
        //不要在函数内对循环变量操作,因此使用tmp来间接操作
        int flag = 1;
        //判定是否可以行进的变量
        oil = gas[tmp];
        if (oil > cost[tmp])
        {
            oil -= cost[tmp];
            for (++tmp; tmp < gasSize; tmp++)
            {
                oil += gas[tmp];
                oil -= cost[tmp];
                if (oil < 0)
                {
                    flag = 0;
                    break;
                }
            }
            if (flag == 0)
            {
                continue;
            }
            for (tmp = 0; tmp < gasSize; tmp++)
            {
                oil += gas[tmp];
                oil -= cost[tmp];
                if (tmp == i)
                {
                    break;
                }
                if (oil < 0)
                {
                    flag = 0;
                    break;
                }
            }
            if (flag == 1)
            {
                return tmp;
            }
            else
            {
                continue;
            }
        }
        else
        {
            continue;
        }
    }
    return -1;
}

好了,今天的练习到这里就结束了,感谢各位友友的来访,祝各位友友前程似锦O(∩_∩)O

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/101827.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

9、监测数据采集物联网应用开发步骤(7)

源码将于最后一遍文章给出下载 监测数据采集物联网应用开发步骤(6) 串口(COM)通讯开发 本章节测试使用了 Configure Virtual Serial Port Driver虚拟串口工具和本人自写的串口调试工具&#xff0c;请自行baidu下载对应工具 在com.zxy.common.Com_Para.py中添加如下内容 #RS…

RabbitMQ 的快速使用

docker部署rabbitmq # management才有管理页面 docker pull rabbitmq:management# 新建容器并运行 docker run \-e RABBITMQ_DEFAULT_USERadmin \ -e RABBITMQ_DEFAULT_PASSadmin \ -v mq-plugins:/plugins \--name mq \--hostname mq \-p 15672:15672 \-p 5672:5672 \-itd \ra…

DNS指向别名还是IP

现在有一台服务器dbprod126&#xff0c;ip是172.22.100.4 现在有一个需求&#xff0c;需要在dns中对dbprod126建一个别名wondadb3r的记录&#xff0c;也就是ping wondadb3r的时候显示的是dbprod126的ip&#xff0c;目前有两​种方法&#xff0c;主要使用方法1指向别名&#xf…

SQL-basics

SQL 一些常用的查询语句用法 SQL 中的聚合函数 SQL 中的子查询 SQL 使用实例 SELECT F_NAME , L_NAME FROM EMPLOYEES WHERE ADDRESS LIKE ‘%Elgin,IL%’; SELECT F_NAME , L_NAME FROM EMPLOYEES WHERE B_DATE LIKE ‘197%’; SELECT * FROM EMPLOYEES WHERE (SALARY BET…

优化爬虫请求:如何选择合适的爬虫ip轮换策略?

在进行爬虫任务时&#xff0c;使用隧道爬虫ip并采用合适的轮换策略可以提高稳定性和效率。选择合适的隧道爬虫ip轮换策略可以优化您的爬虫请求过程。 1、考量目标网站特点 不同网站对于频繁请求可能有不同限制或反爬机制。 了解目标网站是否存在IP封禁、验证码等问题&#xff…

WebGIS的一些学习笔记

一、简述计算机网络的Internet 概念、网络类型分类、基本特征和功用是什么 计算机网络的Internet 概念 计算机网络是地理上分散的多台独立自主的计算机遵循约定的通讯协议&#xff0c;通过软、硬件互连以实现交互通信、资源共享、信息交换、协同工作以及在线处理等功能的系统…

AI聊天机器人平台Poe发布更新;自然语言理解课程概要

&#x1f989; AI新闻 &#x1f680; AI聊天机器人平台Poe发布更新 突破功能限制 增加企业级服务 摘要&#xff1a;知名问答网站Quora旗下的AI聊天机器人平台Poe发布了一系列更新&#xff0c;包括推出Mac应用、支持同时进行多个对话、接入Meta的Llama 2模型等功能。用户只需支…

【LeetCode】剑指 Offer <二刷>(5)

目录 题目&#xff1a;剑指 Offer 10- II. 青蛙跳台阶问题 - 力扣&#xff08;LeetCode&#xff09; 题目的接口&#xff1a; 解题思路&#xff1a; 代码&#xff1a; 过啦&#xff01;&#xff01;&#xff01; 题目&#xff1a;剑指 Offer 11. 旋转数组的最小数字 - 力…

AD16 基础应用技巧(一些 “偏好“ 设置)

1. 修改铺铜后自动更新铺铜 AD16 铺铜 复制 自动变形 偏好设置 将【DXP】中的【参数选择】。 将【PCB Editor】中的【General】&#xff0c;然后勾选上【Repour Polygons After Modification】。 2. PCB直角走线处理与T型滴泪 一些没用的AD技巧——AD PCB直角走线处理与…

【大数据】Apache Iceberg 概述和源代码的构建

Apache Iceberg 概述和源代码的构建 1.数据湖的解决方案 - Iceberg1.1 Iceberg 是什么1.2 Iceberg 的 Table Format 介绍1.3 Iceberg 的核心思想1.4 Iceberg 的元数据管理1.5 Iceberg 的重要特性1.5.1 丰富的计算引擎1.5.2 灵活的文件组织形式1.5.3 优化数据入湖流程1.5.4 增量…

基于Googlenet深度学习网络的人脸身份识别matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ..................................................................... % 定义修改的范围 …

SpringBoot整合Websocket(Java websocket怎么使用)

目录 1 Websocket是什么2 Websocket可以做什么3 Springboot整合Websocket3.1 服务端3.2 客户端 1 Websocket是什么 WebSocket 是一种基于 TCP 协议的全双工通信协议&#xff0c;可以在浏览器和服务器之间建立实时、双向的数据通信。可以用于在线聊天、在线游戏、实时数据展示等…

npm报错sass

1.删除node模块 2.删除node-sass&#xff1a; npm uninstall node-sass 3.重新下载对应版本node-sass&#xff1a; npm i node-sass7.0.3&#xff08;指定版本 控制台报错什么版本就写什么版本&#xff09; 4.再运行项目 或者

区块链技术与应用 - 学习笔记1【引言】

大家好&#xff0c;我是比特桃。本系列主要将我之前学习区块链技术时所做的笔记&#xff0c;进行统一的优化及整合。其中大量笔记源于视频课程&#xff1a;北京大学肖臻老师《区块链技术与应用》公开课。肖老师的课让我找回了求知若渴般的感觉&#xff0c;非常享受学习这门课的…

弹性盒子的使用

一、定义 弹性盒子是一种用于按照布局元素的一维布局方法&#xff0c;它可以简便、完整、响应式地实现各种页面布局。 容器中存在两条轴&#xff0c;主轴和交叉轴(相当于我们坐标轴的x轴和y轴)。我们可以通过flex-direction来决定主轴的方向。 主轴&#xff08;main axis&am…

数学建模:Logistic回归预测

&#x1f506; 文章首发于我的个人博客&#xff1a;欢迎大佬们来逛逛 数学建模&#xff1a;Logistic回归预测 Logistic回归预测 logistic方程的定义&#xff1a; x t 1 c a e b t x_{t}\frac{1}{cae^{bt}}\quad xt​caebt1​ d x d t − a b e b t ( c a e b t ) 2 >…

HarmonyOS—UI开发性能提升的推荐方法

注&#xff1a;本文转载自HarmonyOS官网文档 开发者若使用低性能的代码实现功能场景可能不会影响应用的正常运行&#xff0c;但却会对应用的性能造成负面影响。本章节列举出了一些可提升性能的场景供开发者参考&#xff0c;以避免应用实现上带来的性能劣化。 使用数据懒加载 开…

vue Cesium接入在线地图

Cesium接入在线地图只需在创建时将imageryProvider属性换为在线地图的地址即可。 目录 天地图 OSM地图 ArcGIS 地图 谷歌影像地图 天地图 //矢量服务let imageryProvider new Cesium.WebMapTileServiceImageryProvider({url: "http://t0.tianditu.com/vec_w/wmts?s…

Zookeeper 入门

第 1 章 Zookeeper 入门 1.1概述 Zookeeper从设计模式角度来理解&#xff1a;是一个基于观察者模式设计的分布式服务管理框架&#xff0c;它负责存储和管理大家都关心的数据&#xff0c;然后接受观察者的注册&#xff0c;一旦这些数据的状态发生变化&#xff0c;Zookeeper就将…

找redis大key工具rdb_bigkeys

github官网 https://github.com/weiyanwei412/rdb_bigkeys 在centos下安装go [roothadoop102 rdb_bigkeys-master]# wget https://dl.google.com/go/go1.13.5.linux-amd64.tar.gz [roothadoop102 rdb_bigkeys-master]# tar -zxf go1.13.5.linux-amd64.tar.gz -C /usr/local将g…