【C与数据结构】——寒假提高每日练习Day1

一共16日的练习,分为选择题与编程题,涵盖了C语言所学以及数据结构的重点,以及一些秋招、春招面试的高频考点,难度会随着天数而上升。

(建议在电脑客户端进行,将鼠标选中被遮挡的地方,即可看到解析。)

1、以下代码会输出什么?

char a=101;
int sum=200;
a+=27;sum+=a;
printf(“%d\n”,sum);
A、327 B、99 C、328 D、72

答案:->答案为D

解析:a为char类型,大小为1个字节,8个比特位,所对应的补码为0110 0101 当它加上27后对应的补码为:1000 0000 然后与sum进行运算时会发生整型提升,对于无符号类型来说,整型提升高位补符号位,但是a同时也是char类型,最高位为1,所以这里将1看作符号位,整型提升后为1111 1111 11111111 11111111 10000000,然后补码取反+1得到原码:10000000 00000000 00000000 10000000 即-128,所以变成了200-128=72,答案为D

2、对于下面代码执行后会输出什么?

int value = 1024;
char condition = ((char)(&value));
if(condition) value += 1; condition = ((char)(&value));
if(condition) value += 1; condition = ((char)(&value));
printf(“%d %d”, value, condition);
A、1026 1 B、1025 0 C、1025 1 D、1024 0

答案:->D

解析:这里1024的补码为00000000 00000000 00000100 00000000 ,而condition强制转换为char后,只有8个比特位,即00000000 也就是0,C语言中0为假,所以if语句不执行,最终结果为1024 0 答案为D

3、32位机器下,对于下面代码执行后会输出什么?

void func(char para[100])
{
void *p = malloc(100);
printf(“%d, %d\n”, sizeof(para), sizeof(p));
}
A、4,4 B、100,4 C、4,100 D100,100

答案:->B

解析:sizeof(数组名)这里表示的是整个数组,para为char类型,共100个元素,所以大小为100byte,而p是个指针,在32位机器中,指针的大小固定位4byte,所以选B

4、以下程序执行后的输出结果为

include

}
A、2 B、编译错误 C、1 D、无法确定

答案:->C

解析:形参的改变不会影响实参,这里*p确实等于2,但是与s无关,s作为数组名表示数组首元素,解引用后即1,所以选C

5、已知数组D的定义是int D[4][8]; 现在需要把这个数组作为实参传递给一个函数进行处理。下列可以作为对应的形参变量说明的是【多选】

A、int D[ 4 ][ ] B、int s[ 8 ] C、int (s) [ 8 ] D、int D [ ][ 8 ]

答案:C、D

解析:考点为作为形参如何接收二维数组的传参,对于二维数组的传参,形参共以下几种方式用来接收:1、与它本身保持一致 int D[ 4 ] [ 8 ] 2、可以省略行,但是不能省略列 int [ ] [ 8 ] 3、数组指针 int (*s)[ 8 ] 故选C、D

自守数是指一个数的平方的尾数等于该数自身的自然数。例如:25^2 = 625,76^2 = 5776,9376^2 = 87909376。请求出n(包括n)以内的自守数的个数
数据范围:1≤n≤10000
例:
输入:

6

输出:

4

说明:

有0,1,5,6这四个自守数

方法一:

思路:找规律后发现,(自守数的平方数-自守数后)再%(10^(位数))==0,就比如25^2=625,这里(625-25)%100 ==0 ,利用该特性解题

代码实现:

#include
#include
int main() {
    int n=0;
    scanf("%d",&n);
    int count=0;//计数
    //从0遍历
    for(int i=0; i

方法二:

遍历0-n,将这个数的每一位都与它的平方数的每一位从个位数进行对比,借助flag变量解题。

代码实现:

#include
#include
int main() {
    int n=0;
    int count=0;
    scanf("%d ",&n);
    for(int i=0; i

两种方法都可以实现该题,时间复杂度都为O(N)

题目二:

输入描述:

一个整数N

输出描述:

小于N的质数数量(请考虑性能)
例:
输入:

10

输出:

4

说明:

N=10,质数有 [2, 3, 5, 7]

思路:对于该题,转换为求2-N之间的素数个数(0、1不为质数),这里最容易想到的就是试除法,即将一个数从2-N进行试除,如果都不能被整除,就说明是质数,count计数++,但是这里题目要求优化性能,即我们可以试除到该数的平方根即可,就比如100,完全没必要进行2-100的试除,只需要试除2-10即可。

代码实现:

#include
#include
//转化为求2-n之间的质数个数
void PrimeCount(int n,int p)
{
    for(int i=2; i

今日end

生活原本沉闷,但跑起来就会有风!🌹

Original: https://blog.csdn.net/qq_60192898/article/details/128431345
Author: 诺诺的包包
Title: 【C与数据结构】——寒假提高每日练习Day1

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/806278/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 使用python爬取微博评论

    最近在复习以前学习的python爬虫内容,就拿微博来练了一下手,这个案例适合学习爬虫到中后期的小伙伴,因为他不是特别简单也不是很难,关键是思路,为什么说不是很难呢?因为还没涉及到j…

    Python 2023年10月30日
    034
  • unittest框架基本使用

    unittest对.py文件类没有命名要求,只需要函数是以test为开头的就可以 不同于pytest(从上往下)的是,unittest运行顺序是按照从0-9,A-Z,a-z的先后顺…

    Python 2023年6月11日
    071
  • np.arange()和 range()的用法及区别

    np.arange() np.arange()函数返回一个有终点和起点的固定步长的排列,如[1,2,3,4,5],起点是1,终点是6,步长为1。参数个数情况: np.arange(…

    Python 2023年8月28日
    0105
  • Python操作Numpy模块库

    14天学习训练营导师课程:杨鑫《Python 自学编程基础》杨鑫《 Python 网络爬虫基础》杨鑫《 Scrapy 爬虫框架实战和项目管理》 Python操作Numpy模块库 文…

    Python 2023年8月27日
    054
  • python3实现字符串的全排列的方法(无重复字符)两种解决方法

    抛出问题 求任意一个字符串的全排列组合,例如a=’123′,输出 123,132,213,231,312,321。(暂时假定字符串没有重复) 解决方案 目前…

    Python 2023年10月30日
    051
  • Python读取.xlsx指定行列

    本文以Python3.9.1读取data.xlsx中包含的西瓜数据集3.0数据为例,数据集如下: 编号色泽根蒂敲声纹理脐部触感密度含糖率好瓜1青绿蜷缩浊响清晰凹陷硬滑0.6970….

    Python 2023年8月15日
    040
  • Python入门进阶:68 个 Python 内置函数详解

    内置函数就是Python给你提供的,拿来直接用的函数,比如print.,input等。 截止到python版本3.6.2 ,python一共提供了68个内置函数,具体如下 abs(…

    Python 2023年11月9日
    019
  • django中的proxy

    在看django源码的时候, django.db.init.py里面有这样一行代码 connections = ConnectionHandler() connection = C…

    Python 2023年8月6日
    054
  • pytest中conftest中fixture

    pytest中conftest中fixture fixture 中 scope 中有四个参数 function,class,module,session function 每一个函…

    Python 2023年9月12日
    050
  • C语言练习2:用@符号输出字母H的图案

    1 /*练习题目为:用@符号输出字母H的图案*/ 2 3 #include 4 #include 5 6 #define H 12 7 #define W 16 8 /******…

    Python 2023年6月10日
    082
  • 科学计算库 —— Pandas之DataFrame

    Pandas之DataFrame 1 DataFrame介绍 2 创建DataFrame 3 常用属性 4 访问数据 5 处理重复数据 6 删除数据 7 添加数据 8 修改数据 9…

    Python 2023年8月7日
    062
  • DataFrame 数据框与Numpy ndarray 的转换

    在处理的数据的时候,最常遇到的就是使用 Pandas 的 Dataframe 与 Numpy 的 ndarray。以下以 mtcars 为例,该数据集包含 32 笔汽车模型的数据,…

    Python 2023年8月6日
    042
  • conda常用命令汇总,随时查询(最全)

    Conda 是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。 在Windows下,需要安装使用Anaconda Prompt …

    Python 2023年9月8日
    038
  • 推理网络精度不达标,5个方法轻松搞定

    摘要:推理时精度错误或不达标,怎么办?模型推理时,模型推理功能调测OK,但推理精度错误,或推理精度与标杆数据存在少量差距,这时该怎么做呢? 一、推理时精度错误或不达标,怎么办? 模…

    Python 2023年10月29日
    036
  • Flask-sqlalchemy一对多,多对一,一对一,多对多

    这里以作者和文章来演示一对多的关系:一个作者可以有多篇文章,但是一篇文章只能有一个作者。 配置项 首先,配置下数据库 config.py username = ‘xxxx’ pas…

    Python 2023年8月14日
    036
  • MySQL 基础操作

    MySQL基础操作 使用方法: 方式一: 通过图型界面工具,如 Navicat 等( 高级课使用 ) 方式二: 通过在命令行敲命令来操作 ( 基础阶段使用 ) SQL ( Stru…

    Python 2023年6月10日
    052
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球