暑假第六天之每天一些题系列

一、选择题

  • 以下程序的运行结果是

    int fun(int a,int b)
    {if(a>b)return(a+b);elsereturn(a-b);
    }
    int main()
    {int x = 3, y = 8, z = 6, r;r = fun (fun(x,y), 2 * z);printf(“%d\n”,r);return 0;
    }
    

    A. -48 B. 58 C. -58 D. -17

    答案解析:

    这个fun函数的调用,是一个嵌套调用,里面这个fun(x,y)执行的结果为-5,外面的就为fun(-5,12),返回的结果为-17

    • 一个8位的二进制整数,采用补码表示,且由3个“1”和5个“0”组成,则最小值为
      A. -127 B. -32 C. -125 D. -3

    答案解析:

    由3个“1”和5个“0”组成的补码,求最小值,因为是补码,这样组是最小的:10000011,因为最高位是符号位,先给个1,剩下两个1需要给在低位上,这样原码才会最小,它的反码为:10000010,原码为:11111101,该值为-125

    • int a = 4 , 则对于表达式 ++(a++) 的结果说法正确的是
      A. 结果为5 B. 结果为6 C. 结果为7 D. 以上都不是

    答案解析:

    a++是先使用后加加,故a++这个表达式的值为4,然后++(4),因为4是一个常量是不能修改的,故这是个错误的表达式。

    • 已知 x >= y and y >= z 为真,那么 x > z or y == z 值为
      A. 真 B. 假 C. 无法确定 D. x y z同为正数时为真

    答案解析:

    x >= y and y >= z 为真,那么x>=z也为真,那么x>z or x=z 就为真,又因为x=z等价于y=z,故x > z or y == z 值为真

    • 式子 7*15 = 133 成立,则用的是几进制
      A. 7 B. 8 C. 9 D. 11

    答案解析:

    首先不可能是7进制,7进制不可能有7出现,这种题就得一个一个试试,假如是8进制,那15化为十进制就是13,133化成十进制就是91,而13乘以7恰好就是91,故是8进制


二、填空题

  • 下列程序执行后输出的结果是___
int f(int a)
{int b = 0;static int c = 3;a = c++,b++;return (a);
}
int main()
{int a = 2, i, k;for (i = 0; i < 2; i++){k = f(a++);}printf(" % d\n", k);return 0;
}

答案解析:

首先将a++作为参数传给f函数,函数内部定义了变量b和静态变量c,而a=c++,b++;这个代码会将c++赋给a,而不是b++,因为c是后置加加,故函数第一次调用返回的是3,然后第二次调用,注意c是静态变量,它会保留上次调用后c最后的值,c此时是4,因为c是后置加加,故a=4,返回赋值到k,故k为4

  • 写出函数指针,要求返回值是 void , 无参数

答案解析:

*void (Fun)()

因为是函数指针,它首先是一个指针,Fun先要和*结合,然后没有参数,故后面的括号什么而不写,返回值为void,在前面写void

想要多了解指针前往博主指针进阶的讲解:指针进阶

  • 以下程序的输出的结果是
int x = 3;
void inc()
{static int x = 1;x *= (x + 1);printf("%d",x);return;
}
int main()
{int i;for (i = 1; i < x; i++){inc();}return 0;
}

答案解析:

x=3,我们循环进行两次,第一次调用函数进去有一个静态变量x=1,x=(x+1)得x=2,第一次调用打印2,第二次调用,因为x是静态变量,会保留之前调用的值,x*=(x+1)得x=6,第二次调用打印6*

三、算法题

题目描述:

编写函数,要求逆置单链表(不带头结点)。

思路一:

思路一:
调整结点指针的方向,n1和n2倒方向,n3进行迭代

当n2为NULL时,返回n1即可,但是这里有一个问题,将n2->next=n1,我们怎么找n2的下一个结点呢?这里我们还需要用一个n3结点保存之前n2的next

代码如下:

struct ListNode* reverseList(struct ListNode* head)
{if(head==NULL){return NULL;}struct ListNode* n1=NULL;struct ListNode* n2=head;struct ListNode* n3=head->next;while(n2){n2->next=n1;n1=n2;n2=n3;if(n3)//n3不为空时,将n3=n3->next{n3=n3->next;}}return n1;
}

思路二:

头插法,定义一个新链表,newhead=NULL,原链表定义cur和next,next记录cur的下一个结点

代码如下:

struct ListNode* reverseList(struct ListNode* head)
{if(head==NULL){return NULL;}struct ListNode* newhead=NULL;struct ListNode* cur=head;while(cur){struct ListNode* next = cur->next;cur->next=newhead;newhead=cur;cur=next;}return newhead;
}

暑假第六天之每天一些题系列相关推荐

  1. 暑假第十三天之每天一些题系列

    暑假第十三天之每天一些题系列 一.选择题 如果二进制文件 a.dat 已经存在,现在要求写入全新数据,应以什么方式打开 A. "w" B. "wb" C. &q ...

  2. 暑假第一天之每天一些题系列

    暑假第一天之每天一些题系列 文章目录 暑假第一天之每天一些题系列 一.选择题 二.填空题 三.算法题 一.选择题 若有定义: int a[] = {2,4,6,8,10,12,14,16,18,20, ...

  3. 暑假第九天之每天一些题系列

    暑假第九天之每天一些题系列 一.选择题 下面程序的输出结果为多少(32位机器上) void Func(char str_arg[2]) {int m = sizeof(str_arg);int n = ...

  4. [分类整理IV]微软等100题系列V0.1版:字符串+数组面试题集锦

    微软等100题系列V1.0版整理IV:字符串+数组面试题集锦 July   2010年12月30日 第4章 字符串+数组面试题 在微软等100题系列V0.1版中,此类字符串+数组的问题,占了足足22道 ...

  5. python必刷面试_Python面试必刷题系列(5)

    本篇是[Python面试必刷题系列]的第5篇文章.通过收集.整理Python真实面试题,给大家讲解面试中的python高频考察点,希望能够引起读者的足够重视. 往期回顾: Python中 is 和 = ...

  6. 每天一道算法题系列十七之电话号码的字母组合

    每天一道算法题系列: 来源:力扣(LeetCode) 本题链接:https://leetcode-cn.com/problems/letter-combinations-of-a-phone-numb ...

  7. BAT机器学习面试1000题系列(第1~305题

    1 请简要介绍下SVM,机器学习 ML模型 易SVM,全称是support vector machine,中文名叫支持向量机.SVM是一个面向数据的分类算法,它的目标是为确定一个分类超平面,从而将不同 ...

  8. BAT机器学习面试1000题系列(第150~279题)

    首页 博客 学院 下载 GitChat TinyMind 论坛 问答 商城 VIP 活动 招聘 ITeye CSTO 写博客 发Chat leadai的博客 RSS订阅 转 BAT机器学习面试1000 ...

  9. 【转】BAT机器学习面试1000题系列(1~50)

    BAT机器学习面试1000题系列 整理:July.元超.立娜.德伟.贾茹.王剑.AntZ.孟莹等众人.本系列大部分题目来源于公开网络,取之分享,用之分享,且在撰写答案过程中若引用他人解析则必注明原作者 ...

最新文章

  1. hive无法执行带where语句的SQL
  2. 微信notify mysql_微信支付的notify.php中如何获取订单号(php版)
  3. 【运筹学】单纯形法总结 ( 单纯形法原理 | 单纯形法流程 | 单纯形表 | 计算检验数 | 最优解判定 | 入基变量 | 出基变量 | 方程组同解变换 ) ★★★
  4. Windows中将文件压缩成linux支持的tar.gz格式的压缩包
  5. 每天一道LeetCode-----平面上n个点,计算最多有多少个点在一条直线上
  6. 502 Bad Gateway Registered endpoint failed to handle the request
  7. 对于下一代互联网的畅想
  8. Mybatis in查询List或数组 场景实例
  9. xtrabackup部分备份数据库 Partial Backups
  10. 向左向右向后转python_Turbot与python教程-实现左向旋转
  11. laravel构造函数和中间件执行顺序问题
  12. VC++6.0 内存泄露(Memory Leaks)征兆1
  13. 好用好玩的Python包
  14. Sqoop导出模式——全量、增量insert、更新update的介绍以及脚本示例
  15. ENVI:影像的规则裁剪和不规则裁剪
  16. 音乐在计算机中的应用,计算机音乐技术在音乐教育中的应用
  17. ACM学习心得(5000字)
  18. 浮点数表示的计算方法
  19. 【Selenium】stale element reference 问题解决方案
  20. Qt QTcpSocket 客户端设计(自动重连、多线程处理、发送大数据包、同步方式)

热门文章

  1. 如何一分钟记住23种设计模式
  2. 内是不是半包围结构_半包围结构有什么字?
  3. word格式转html自动编号,word文档中标题样式及自动编号操作方法
  4. 测试设计应该怎么写?
  5. Python的Colorama模块
  6. 阿里斯托芬的剧本《云》
  7. 数据结构:堆的实现与建堆时间复杂度分析
  8. 教你怎样选择儿童房地毯
  9. 河南省第十届省赛 Intelligent Parking Building
  10. 云发单详细使用视频教程