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

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Go死码消除

概念: 死码消除(dead code elimination, DCE) 是一种编译器优化技术, 作用是在编译阶段去掉对程序运行结果没有任何影响的代码 和 逃逸分析[1],内联优化[2]并称为 Go编译器执行的三个重要优化 效果: 对于 const.go代码如下: package mainimport "fmt"func max(a, b i…

模板方法模式简介

概念&#xff1a; 模板方法模式是一种行为型设计模式&#xff0c;它定义了一个算法的骨架&#xff0c;将一些步骤延迟到子类中实现。该模式通过在抽象类中定义一个模板方法来控制算法的流程&#xff0c;并使用具体方法来实现其中的某些步骤。 特点&#xff1a; 定义了一个算…

Oracle查看与修改隐藏参数

Oracle查看与修改隐藏参数 查看隐藏参数修改隐藏参数 查看隐藏参数 查看数据库中所有的隐藏参数&#xff1a; SELECT a.ksppinm "Parameter", b.KSPPSTDF "Default Value",b.ksppstvl "Session Value", c.ksppstvl "Instance Value"…

Android中获取手机SIM卡的各种信息

通过以下工具类方法可以获取到手机SIM的各种信息数据&#xff01;&#xff01;&#xff01; package com.utils; import android.telephony.TelephonyManager; import com.baidu.platform.comapi.map.E; import org.json.JSONArray; import org.json.JSONObject; import java.…

一篇文章教会你如何编写一个简单的Shell脚本

文章目录 简单Shell脚本编写1. 简单脚本编写2. Shell脚本参数2.1 Shell脚本参数判断2.1.1 文件测试语句2.1.2 逻辑测试语句2.1.3 整数值测试语句2.1.4 字符串比较语句 3. Shell流程控制语句3.1 if 条件测试语句3.1.1 if...3.1.2 if...else...3.1.3 if...elif...else 4. Shell脚…

汽车自适应巡航系统控制策略研究

目 录 第一章 绪论 .............................................................................................................................. 1 1.1 研究背景及意义 ..........................................................................................…

文件夹中lib,dll含义

.dll文件是动态链接库&#xff08;Dynamic Link Library&#xff09;的缩写&#xff0c;它包含了一组可执行的函数和数据&#xff0c;供程序调用。它可以被多个应用程序共享和重用&#xff0c;减少了代码的冗余。通过动态链接库&#xff0c;可以实现代码的模块化和提高代码的复…

百万级并发IM即时消息系统(4)用户基本CRUD

前置&#xff1a; 代码层次还是由低到高&#xff1a;model层数据库操作->service层封装->路由层调用业务 手把手详细教你如何使用go-swagger文档 - 掘金 (juejin.cn) golang swagger注解说明_go swagger 注释_mctlilac的博客-CSDN博客 Gin篇&#xff1a;gorm 使用 - …

ELK安装、部署、调试(五)filebeat的安装与配置

1.介绍 logstash 也可以收集日志&#xff0c;但是数据量大时太消耗系统新能。而filebeat是轻量级的&#xff0c;占用系统资源极少。 Filebeat 由两个主要组件组成&#xff1a;harvester 和 prospector。 采集器 harvester 的主要职责是读取单个文件的内容。读取每个文件&…

编译链接实战(14)符号重定位与重定位表

文章目录 1、什么是符号重定位2、重定位表1、什么是符号重定位 符号重定位的存在是为了解决程序中的符号引用问题。当一个可执行文件或共享库被编译时,其中可能会引用其他对象文件或共享库中定义的函数、变量或其他符号。这些引用通常以符号的名称表示,而不是实际的内存地址…

机器学习技术(六)——有监督学习算法之线性回归算法实操

机器学习技术&#xff08;五&#xff09;——有监督学习之线性回归算法实操 引言&#xff1a; 机器学习监督算法是一种基于已有标记数据的学习方法&#xff0c;通过对已知输入和输出数据的学习&#xff0c;建立一个模型来预测新的输入数据的输出。这种算法模仿人类的学习过程&a…

安防监控/视频汇聚平台EasyCVR调用rtsp地址返回的IP不正确是什么原因?

安防监控/云存储/磁盘阵列存储/视频汇聚平台EasyCVR可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有GB28181、RTSP/Onvif、RTMP等&#xff0c;以及厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等&#xff0c;能对外分发RTSP、RT…

Web 应用开发 - 实训一 网页开发

Web应用开发 实训一 网页开发 一、预习&#xff1a; 1、阅读&#xff1a;教材P1-P39 2、要掌握知识要点&#xff1a;表单标记、超链接标记、CSS的引用方式、CSS选择器、DOM、JavaScript的引入&#xff08;内嵌式、外链式&#xff09;、JavaScript的使用&#xff08;事件处理…

服务器允许ssh登录root

用vim打开/etc/ssh/sshd_config sudo vim /etc/ssh/sshd_config将sshd_config中的PermitRootLogin属性改为yes ... PermitRootLogin yes ...重启sshd服务 sudo service sshd restart

docker 笔记2 Docker镜像和数据卷

参考&#xff1a; 1.镜像是什么&#xff1f;&#xff08;面试题&#xff09; 是一种轻量级、可执行的独立软件包&#xff0c;它包含运行某个软件所需的所有内容&#xff0c;我们把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文…

微信小程序-生成canvas图片并保存到手机相册

wxml页面 <button class"rightbtn bottomBtnCss" catch:tap"canvasImg"><image src{{imgUrl}}/images/mine/jspj-icon.png class"restNumImg"></image><text class"btnText">生成图片</text></but…

算法笔记——路径问题

在引入介绍如何写一个算法的时候&#xff0c;我们先引入一个题作为例子 1137. 第 N 个泰波那契数 - 力扣&#xff08;LeetCode&#xff09; 作为刚开始学习算法的我们&#xff0c;看到这个题目的时候&#xff0c;应该想好以下的问题&#xff1a; 1.状态表示 我们要用什么来表…

Windows7安装SSH客户端的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

SQL sever中库管理

目录 一、创建数据库 1.1库界面方式 1.2SQL命令方式 二、修改数据库 2.1库界面方式 2.2SQL命令方式 三、删除数据库 3.1库界面方式 3.2SQL命令方式 四、附加和分离数据库 4.1附加和分离数据库概述 4.2作用 4.3附加和分离数据库方法 4.4示例 一、创建数据库 1.1库…

第 3 章 栈和队列 (循环队列)

1. 背景说明 和顺序栈相类似&#xff0c;在队列的顺序存储结构中&#xff0c;除了用一组地址连续的存储单元依次存放从队列头到队列尾的元素之外&#xff0c; 尚需附设两个指针 front 和 rear 分别指示队列头元素及队列尾元素的位置。约定&#xff1a;初始化建空队列时&#x…