暑假第六天之每天一些题系列
暑假第六天之每天一些题系列
一、选择题
以下程序的运行结果是
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进制
- 一个8位的二进制整数,采用补码表示,且由3个“1”和5个“0”组成,则最小值为
二、填空题
- 下列程序执行后输出的结果是___
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;
}
暑假第六天之每天一些题系列相关推荐
- 暑假第十三天之每天一些题系列
暑假第十三天之每天一些题系列 一.选择题 如果二进制文件 a.dat 已经存在,现在要求写入全新数据,应以什么方式打开 A. "w" B. "wb" C. &q ...
- 暑假第一天之每天一些题系列
暑假第一天之每天一些题系列 文章目录 暑假第一天之每天一些题系列 一.选择题 二.填空题 三.算法题 一.选择题 若有定义: int a[] = {2,4,6,8,10,12,14,16,18,20, ...
- 暑假第九天之每天一些题系列
暑假第九天之每天一些题系列 一.选择题 下面程序的输出结果为多少(32位机器上) void Func(char str_arg[2]) {int m = sizeof(str_arg);int n = ...
- [分类整理IV]微软等100题系列V0.1版:字符串+数组面试题集锦
微软等100题系列V1.0版整理IV:字符串+数组面试题集锦 July 2010年12月30日 第4章 字符串+数组面试题 在微软等100题系列V0.1版中,此类字符串+数组的问题,占了足足22道 ...
- python必刷面试_Python面试必刷题系列(5)
本篇是[Python面试必刷题系列]的第5篇文章.通过收集.整理Python真实面试题,给大家讲解面试中的python高频考察点,希望能够引起读者的足够重视. 往期回顾: Python中 is 和 = ...
- 每天一道算法题系列十七之电话号码的字母组合
每天一道算法题系列: 来源:力扣(LeetCode) 本题链接:https://leetcode-cn.com/problems/letter-combinations-of-a-phone-numb ...
- BAT机器学习面试1000题系列(第1~305题
1 请简要介绍下SVM,机器学习 ML模型 易SVM,全称是support vector machine,中文名叫支持向量机.SVM是一个面向数据的分类算法,它的目标是为确定一个分类超平面,从而将不同 ...
- BAT机器学习面试1000题系列(第150~279题)
首页 博客 学院 下载 GitChat TinyMind 论坛 问答 商城 VIP 活动 招聘 ITeye CSTO 写博客 发Chat leadai的博客 RSS订阅 转 BAT机器学习面试1000 ...
- 【转】BAT机器学习面试1000题系列(1~50)
BAT机器学习面试1000题系列 整理:July.元超.立娜.德伟.贾茹.王剑.AntZ.孟莹等众人.本系列大部分题目来源于公开网络,取之分享,用之分享,且在撰写答案过程中若引用他人解析则必注明原作者 ...
最新文章
- hive无法执行带where语句的SQL
- 微信notify mysql_微信支付的notify.php中如何获取订单号(php版)
- 【运筹学】单纯形法总结 ( 单纯形法原理 | 单纯形法流程 | 单纯形表 | 计算检验数 | 最优解判定 | 入基变量 | 出基变量 | 方程组同解变换 ) ★★★
- Windows中将文件压缩成linux支持的tar.gz格式的压缩包
- 每天一道LeetCode-----平面上n个点,计算最多有多少个点在一条直线上
- 502 Bad Gateway Registered endpoint failed to handle the request
- 对于下一代互联网的畅想
- Mybatis in查询List或数组 场景实例
- xtrabackup部分备份数据库 Partial Backups
- 向左向右向后转python_Turbot与python教程-实现左向旋转
- laravel构造函数和中间件执行顺序问题
- VC++6.0 内存泄露(Memory Leaks)征兆1
- 好用好玩的Python包
- Sqoop导出模式——全量、增量insert、更新update的介绍以及脚本示例
- ENVI:影像的规则裁剪和不规则裁剪
- 音乐在计算机中的应用,计算机音乐技术在音乐教育中的应用
- ACM学习心得(5000字)
- 浮点数表示的计算方法
- 【Selenium】stale element reference 问题解决方案
- Qt QTcpSocket 客户端设计(自动重连、多线程处理、发送大数据包、同步方式)