C语言--每日选择题--Day31

第一题

1. 下面程序 的值为()

int main()
{int i = 10;int j = 0;if (j = 0)i++; elsei--;        return 0;
}

A:11

B:9

答案及解析 B

if语句中的条件判断为赋值语句的时候,因为赋值语句的返回值是右操作数;

比如 if(j = 1) 相当于 if(1),if(j = 0) 相当于if(0)

所以在了解这里之后,就可以得出答案啦

第二题(注意细节)

2. 下面程序的输出结果为()

#include <stdio.h>
void fun(int *s) 
{static int j = 0;do {s[j] += s[j + 1];} while (++j < 2);
}
int main() 
{int i, a[10] = {1, 2, 3, 4, 5};for (i = 1; i < 3; i++)fun(a);for (i = 1; i < 5; i++)printf("%d", a[i]);printf("\n");return 0;
}

A:34756

B:5745

C:5795

D:35745

答案及解析 B

 本题考查的是局部static变量和do-while循环的认识;

局部static变量,只会初始化一次,因为是存在静态区的,值不会被刷新;

do-while循环,先执行语句,再判断条件

所以我们这里是进入2次fun函数,最后打印的时候是打印下标为1~4的哦,这里要注意;

在fun函数内部:

第一次进入函数:先初始化一下static变量j = 0;之后进入两次do-while循环;j = 2的时候循环结束,函数也结束;

第二次进入函数:不会执行初始化j,虽然j = 2;但是先执行do-while内部的语句,再判断;

最后数组元素分别为:3 5 7 4 5

输出结果为 5 7 4 5;

第三题

3. 下列代码的结果是

#include<stdio.h>
int main() 
{ int a[5] = {1, 2, 3, 4, 5}; int *ptr = (int *)(&a + 1); printf("%d,%d", *(a + 1), *(ptr - 1)); return 0;
}

A:3,5

B:2,4

C:2,5

D:3,4

答案及解析 B

本题是考查你对指针和数组的认识,我们来一步一步分析:

数组名代表首元素地址,但是有2个例外:sizeof(数组名),&数组名,数组名都表示整个数组

在了解上面的知识之后:

先看&a,这里表示的取整个数组的地址

对指针的加法,移动的字节数是根据这个指针指向的内容的数据类型算的,数据类型是什么,对指针加的数字就乘这个内容的数据类型的字节数;

&a指向的内容是整个数组,数组的数据类型是int [5]

所以&a+1,是移动的整个数组的大小,也就是1 * (5 * 4)字节,移动的也就是整个数组的大小;

但是这个指针被强制转换为int*类型,也就是指向的内容的数据类型为int,加减就不一样了;

则ptr - 1,就是减小一个int类型,4个字节,而不是整个数组的大小了;

第四题

4. 执行下面程序段后, x 的值是( )

int a = 14, b = 15, x;
char c = 'A';
x = (a && b) && (c < 'B');

A:true

B:false

C:0

D:1

答案及解析 

首先我们来看x = (a&&b)&&(c < 'B')

&&是与操作符,是双目操作符,结合性是从左到右;

我们要知道条件判断操作符,真为1,假为0

先算右边的操作数(a&&b)

因为a = 14,b = 15 ;上面就转换为(14 && 15)为真;

所以1 && (c < 'B')

右边c = 'A' ,c < 'B'成立,为真;

最后x = 1 && 1;

所以都为1,为真,x = 1;

第五题

5. while 循环语句的循环体至少执行一次,请问这句话的说法是正确的吗?

A:正确

B:错误

答案及解析 B

只有do-while才会至少执行一次,先执行语句后判断;

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

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

相关文章

Flask SocketIO 实现动态绘图

Flask-SocketIO 是基于 Flask 的一个扩展&#xff0c;用于简化在 Flask 应用中集成 WebSocket 功能。WebSocket 是一种在客户端和服务器之间实现实时双向通信的协议&#xff0c;常用于实现实时性要求较高的应用&#xff0c;如聊天应用、实时通知等&#xff0c;使得开发者可以更…

ps 透明印章制作

ps 透明印章制作 1、打开不透明印章2、抠出红色印章3、新建图层4、填充红色印章到新图层5、导出透明印章 1、打开不透明印章 打开ps软件&#xff0c;菜单栏选择 文件-打开 选择本地不透明印章 打开 2、抠出红色印章 ps菜单栏 选择 选择-色彩范围 点击色彩范围 色彩范围窗口 取…

【Qt基础之QPalette实例电子时钟】

# 简介 借助`QLCDNumber`实现电子时钟,可以随意拖拽到桌面任意位置,鼠标右键进行关闭,用于实践`QPalette`类、`QTimer`的使用以及`mousePressEvent`\`mouseMoveEvent`\`mouseDoubleClickEvent`事件处理函数的使用。可在此基础上扩展其他应用,参看Qt帮助手册。 # QPalette …

网络基础『发展 ‖ 协议 ‖ 传输 ‖ 地址』

&#x1f52d;个人主页&#xff1a; 北 海 &#x1f6dc;所属专栏&#xff1a; 神奇的网络世界 &#x1f4bb;操作环境&#xff1a; CentOS 7.6 阿里云远程服务器 文章目录 &#x1f324;️前言&#x1f326;️正文1.网络发展1.1.背景1.2.类型 2.网络协议2.1.什么是协议2.2.协议…

Linux中的fork()函数的面试题目

1.面试题目1 (1)fork 以后&#xff0c;父进程打开的文件指针位置在子进程里面是否一样&#xff1f;(先open再fork) (2)能否用代码简单的验证一下? (3)先fork再打开文件父子进程是否共享偏移量?父进程打开的文件指针位置在子进程里面是否一样&#xff1f;能否用代码简单验证一…

Linux介绍

文章目录 前言一、概述 前言 Linux学习笔记。 一、概述 linux怎么读,不下10种 linux是一个开源、免费的操作系统&#xff0c;其稳定性、安全性、处理多并发已经得到业界的认可&#xff0c;目前很多企业级的项目(c/c/php/python/java/go)都会部署到Linux/unix系统上。 常见的…

【代码随想录】算法训练计划37

贪心 1、738. 单调递增的数字 题目&#xff1a; 输入: n 10 输出: 9 思路&#xff1a; func monotoneIncreasingDigits(n int) int {// 贪心&#xff0c;利用字符数组s : strconv.Itoa(n)ss : []byte(s)leng : len(ss)if leng < 1 {return n}for i:leng-1; i>0; i-- …

数据库系统原理与实践 笔记 #10

文章目录 数据库系统原理与实践 笔记 #10存储管理与索引(续)数据字典存储系统元数据的关系表示 数据缓冲区存储访问缓冲区管理器缓冲区替换策略 顺序索引基本概念索引技术评价指标顺序索引稠密索引稀疏索引索引多级索引辅助索引主索引与辅助索引多码索引 B树索引B树索引文件B树…

概念理论类-k8s :架构篇

转载&#xff1a;新手通俗易懂 k8s &#xff1a;架构篇 Kubernetes&#xff0c;读音是[kubə’netis]&#xff0c;翻译成中文就是“库伯奈踢死”。当然了&#xff0c;也可以直接读它的简称&#xff1a;k8s。为什么把Kubernetes读作k8s&#xff0c;因为Kubernetes中间有8个字母…

5、DMA Demo(STM32F407)

DMA简介 DMA 全称Direct Memory Access&#xff0c;即直接存储器访问。 DMA传输将数据从一个地址空间复制到另一个地址空间。当CPU初始化这个传输动作&#xff0c;传输动作本身是由DMA控制器来实现和完成的。 DMA传输方式无需CPU直接控制传输&#xff0c;也没有中断处理方式那…

超详细!Opencv人脸识别!附源码!

一、新建环境 注意&#xff01;&#xff01;确定后需要关闭项目&#xff0c;重新打开&#xff0c;终端的环境才会变化&#xff01;&#xff01; 二、下载安装包&#xff08;只需要3个即可&#xff09; 1. 下载dlib包 pip install dlib-19.19.0-cp38-cp38-win_amd64.whl.whl …

【数据清洗 | 数据规约】数据类别型数据 编码最佳实践,确定不来看看?

&#x1f935;‍♂️ 个人主页: AI_magician &#x1f4e1;主页地址&#xff1a; 作者简介&#xff1a;CSDN内容合伙人&#xff0c;全栈领域优质创作者。 &#x1f468;‍&#x1f4bb;景愿&#xff1a;旨在于能和更多的热爱计算机的伙伴一起成长&#xff01;&#xff01;&…