【C刷题】day6

这篇具有很好参考价值的文章主要介绍了【C刷题】day6。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、选择题

1、以下叙述中正确的是( )

A: 只能在循环体内和switch语句体内使用break语句

B: 当break出现在循环体中的switch语句体内时,其作用是跳出该switch语句体,并中止循环体的执行

C: continue语句的作用是:在执行完本次循环体中剩余语句后,中止循环

D: 在while语句和do-while语句中无法使用continue语句

【答案】:

A

【解析】:

考点:break和continue语句

B.当break用于switch语句中时,可使程序跳出switch而不执行switch以后的语句;当break语句用于do-while、for、while循环语句中时,可使程序终止循环而不执行循环后面的语句,即满足条件时便跳出循环。

故当break出现在循环体中的switch语句体内时,只会跳出该switch语句体,但是并不会中止循环体的执行(break只能跳出一层)

CD.continue语句的作用是跳过本次循环体中剩余的语句而强行执行下一次循环。


2、下列 for 循环的次数为( )

for(int i = 0 ; i || i++ < 5;);

A: 0 B: 5 C: 1 D: 无限

【答案】:

D

【解析】:

考点:逻辑运算的短路特性

逻辑或运算如果前表达式为真,后表达式不计算,第一次循环(0||0<5)时i为0,执行i++,第二次循环时i为1,是个真值,不再执行i++,也就死循环了


3、以下描述中正确的是( )

A: 由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句

B: do-while循环由do开始,用while结束,在while(表达式)后面不能写分号

C: 在do-while循环体中,不一定要有能使while后面表达式的值变为零("假")的操作

D: do-while循环中,根据情况可以省略while

【答案】:

C

【解析】:

考点:do-while循环

A.do-while循环中的循环体通常都是复合语句代码块

B.while(表达式)后面要写分号

C.可以用break跳出循环

D.while不能省


4、设函数 fun 和实参数组的说明是如下形式,则对函数的调用语句中,正确的是( )

void fun(char ch,float x[]);

float a[10];

A: fun("asd" , a[]); B: fun('x' , A); C: fun('68' , 2.8); D: fun(32 , a);

【答案】:

D

【解析】:

考点:函数传参

A:数组传参只需要写数组名就行,a[]时错误的

B:第二个参数写成了大写,错了

C:第一个参数既可以传字符也可以传字符串,‘68’最好写成“68”,因为‘68’相当于两个字符,这种写法本身就存在问题;第二个参数是浮点数,但是fun函数的第二参数是数组不匹配,fun函数参数x需要传一个数组或者float *指针

D:32当作ASCII值,也就相当于字符'D'


5、在c语言中,一个函数不写返回值类型,默认的返回类型是( )

A: int B: char C: void D: 都不是

【答案】:

A

【解析】:

考点:

一个函数不写返回值类型,默认的返回类型是int,但不提倡这么做


二、编程题

 1.至少是其他数字两倍的最大数

【C刷题】day6,【C】每日一练,1024程序员节,c语言,算法,数据结构
 

【参考答案】:  

思路:遍历数组找出最大值和次大值,最后return时进行比较返回结果

int dominantIndex(int* nums, int numsSize)
{
    int max1=nums[0];//最大值
    int max2=0;//次大值
    int flag=0; //返回的下标

    //遍历找最大
    for(int i=1;i<numsSize;i++)
    {
        if(nums[i]>max1)
        {
            max2=max1;//次最大值等于上一次的最大值
            max1=nums[i];
            flag=i;
        }
        else if(nums[i]>max2)//针对次最大值在max后面
        {
            max2=nums[i];
        }
    }

    return max1>=2*max2?flag:-1;
}

 2.两个数组的交集

【C刷题】day6,【C】每日一练,1024程序员节,c语言,算法,数据结构

 【参考答案】: 

思路:先对两个数组进行排序,如果再一个一个进行比较,如果相等就存放进新数组中,如果不相等,另一个数组就继续下一个元素进行比较

int int_cmp(const void *e1,const void* e2)
{
    return (*(int*)e1-*(int*)e2);
}

int* intersection(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize)
{
    //对两个数组进行快排
    qsort(nums1,nums1Size,sizeof(int),int_cmp);
    qsort(nums2,nums2Size,sizeof(int),int_cmp);
    //为返回数组开辟空间(大小要开足:nums1Size+nums2Size)
    int * re=(int*)malloc(sizeof(int)*(nums1Size+nums2Size));
    //下标
    int index1=0;
    int index2=0;
    *returnSize=0;

    while(index1<nums1Size&&index2<nums2Size)//下标取不到nums1Size和nums2Size
    {
        if(nums1[index1]==nums2[index2])
        {
            
        //避免重复存放(returnSize=0或者这个元素不等于存放进re的上一个元素)
            if(!(*returnSize)||nums1[index1]!=re[(*returnSize)-1])
            {
                re[(*returnSize)++]=nums1[index1];
            }
            index1++;
            index2++;
        }
        else if(nums1[index1]>nums2[index2])
        {
           index2++;
        }
        else
        {
           index1++;
        }
    }

    return re;
}

我们刷题经常会看到int* returnSize

int* returnSize表示函数返回的数组的长度,参数类型一定是int*而不是int
  因为只有传入参数的指针(int*)才能在函数中改变传入参数变量的值,int表示传入的仅仅是数值,无法改变原变量文章来源地址https://www.toymoban.com/news/detail-718584.html

到了这里,关于【C刷题】day6的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 好用且免费的CodeWhisperer,给1024程序员节送礼来了

          国庆期间没有胆量去人从众的景点,关在家里刷手机时意外在亚马逊的User Group公众号上发现了CodeWhisperer这么个好东西(bu yao qian),以后撸代码也可以提高生产力(fang yang mo yu)了,这还不赶紧上手试一下。看官方介绍说它支持流行的IDE开发工具,包括VS Code、Intelli

    2024年02月08日
    浏览(54)
  • 1024程序员节带你玩转图片Exif信息获取之JavaScript

    目录 一、前言 二、背景 三、Exif.js          1、Exif.js 简介 2、Exif.js 引入 四、多场景展示数据获取 1、原始图片直接获取  2、base64 编码文件加载  3、文件上传的方式加载  五、总结        1024是2的十次方,二进制计数的基本计量单位之一。1G=1024M,而1G与1级谐音,也有一

    2024年02月20日
    浏览(60)
  • 1024程序员节特辑 | Spring Boot实战 之 MongoDB分片或复制集操作

    Spring实战系列文章: Spring实战 | Spring AOP核心秘笈之葵花宝典 Spring实战 | Spring IOC不能说的秘密? 国庆中秋特辑系列文章: 国庆中秋特辑(八)Spring Boot项目如何使用JPA 国庆中秋特辑(七)Java软件工程师常见20道编程面试题 国庆中秋特辑(六)大学生常见30道宝藏编程面试题

    2024年02月08日
    浏览(82)
  • 1024程序员狂欢节 | IT前沿技术、人工智能、数据挖掘、网络空间安全技术

    一年一度的1024程序员狂欢节又到啦!成为更卓越的自己,坚持阅读和学习,别给自己留遗憾,行动起来吧! 那么,都有哪些好书值得入手呢?小编为大家整理了前沿技术、人工智能、集成电路科学与芯片技术、新一代信息与通信技术、网络空间安全技术,四大热点领域近期

    2024年02月06日
    浏览(67)
  • 1024程序员节特辑 | ELK+ 用户画像构建个性化推荐引擎,智能实现“千人千面”

    专栏集锦,大佬们可以收藏以备不时之需 Spring Cloud实战专栏:https://blog.csdn.net/superdangbo/category_9270827.html Python 实战专栏:https://blog.csdn.net/superdangbo/category_9271194.html Logback 详解专栏:https://blog.csdn.net/superdangbo/category_9271502.html tensorflow专栏:https://blog.csdn.net/superdangbo/category_869

    2024年02月07日
    浏览(84)
  • 1024程序员节特辑 | 解密Spring Cloud Hystrix熔断提高系统的可用性和容错能力

    专栏集锦,大佬们可以收藏以备不时之需 Spring Cloud实战专栏:https://blog.csdn.net/superdangbo/category_9270827.html Python 实战专栏:https://blog.csdn.net/superdangbo/category_9271194.html Logback 详解专栏:https://blog.csdn.net/superdangbo/category_9271502.html tensorflow专栏:https://blog.csdn.net/superdangbo/category_869

    2024年02月08日
    浏览(55)
  • 1024程序员节?我们整点AI绘图玩玩吧,一文教你配置stable-diffusion

    需提前准备:一台高性能的电脑(尤其是显存)、python、Git、梯子。 其实Github上有很多关于Stable diffusion的库,综合对比之后,我选取的是比较全面的AUTOMATIC1111这个,源码链接:Stable-diffusion(Github) 找到安装那块的教程,此教程以windows为例。 ps:如果你电脑上已经有了pyt

    2024年01月16日
    浏览(74)
  • PHP框架开发实践 | 1024 程序员节:通过index.php找到对应的controller是如何实现的

    🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 🏆本文已收录于PHP专栏:PHP进阶实战教程。 🎉欢迎 👍点赞✍评论⭐收藏

    2024年02月08日
    浏览(72)
  • 1024程序员狂欢节有好礼 | 前沿技术、人工智能、集成电路科学与芯片技术、新一代信息与通信技术、网络空间安全技术

    🌹欢迎来到 爱书不爱输的程序猿 的博客, 本博客致力于知识分享,与更多的人进行学习交流 🚩🚩🚩 点击直达福利 一年一度的1024程序员狂欢节又到啦!成为更卓越的自己,坚持阅读和学习,别给自己留遗憾,行动起来吧! 那么,都有哪些好书值得入手呢?小编为大家整理

    2024年02月08日
    浏览(79)
  • C++学习day--11 程序员必备工具--github

    github 的重要性: 网络时代的程序员必备。 github 的作用: 1. 版本管理 2. 多人协作 3. 开源共享 常用方案: git+TortoiseGit+github [Tortoise ,程序员常称其为小乌龟,小海龟 ] 安装配置步骤 1. 注册 https://github.com/ 使用邮箱: (例如:1374784346@qq.com) 密码需要至少包含一位小写字母,至

    2024年02月05日
    浏览(103)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包