c语言经典测试题3

1.题1

int a = 248, b = 4;
int const *c = 21;
const int *d = &a;
int *const e = &b;
int const * const f = &a;

请问下列表达式哪些会被编译器禁止?

A: *c = 32; B: *d = 43 C: e=&a D: f=0x321f

我们来分析一下:const用来修饰变量是想其不被改变,也就是所谓的变得静态。但是这个const放在哪?有什么作用也是有讲究的。就比如说int const *c =21,这里的const限制的就是*c,但是没有限制c.那么我们按照这个逻辑推理一下,这个A选项用*c来赋值,但是我们原式的const限制了*c,所以这个A选项是错误的,B选项也是一样的道理。C选项的const限制的是e,但是我们使用的也是e所以也是错误的,D选项的const既限制了*f又限制了f。所以也是错误的。

2.题2

#include <stdio.h>
int i;
void prt()
{
for (i = 5; i < 8; i++)
printf("%c", '*');
printf("\t");
}
int main()
{
for (i = 5; i <= 8; i++)
prt();
return 0;
}

上述代码的运行结果会是什么呢?

A: *** B: *** *** *** *** C: *** *** D: * * *

我们来分析一下:首先大家伙不会觉得是B选项呢?当然B选项坑定是错的,大家之所以会去选B应该是觉得main函数中for循环4次,共调用4次prt函数,所以选B但是大家可能没有看到这串代码的第一行是int i;这个代码说明什么呢?其实它是在告诉我们i是一个全局变量。当我们在第一次调用prt的时候,i在其函数中变为9后跳出,但是它出函数的时候,变量i并没有销毁,而是继续为9,再次回到main函数,发现判断式为假,跳出循环,所以只调用一次prt函数,应该选A。

到底是不是呢?我们运行看看:

3.题3

 

int main()
{
int a=3;
printf("%d\n",(a+=a-=a*a));
return 0;
}

这串代码的运行结果是什么呢?

这一题我们需要考虑运算符的优先级。这里的+=其实就是我们的a+=1等价于a=a+1,所以这里的式子就等价于a=a+(a=a-a*a),这样的话我们就先计算括号里面的式子,a=a+a=-6;所以结果为-12。

我们运行看看:

4.题4

​
int main()
{
int m=65;
int n=14;
printf("Enter m,n;");
while (m!=n) 
{
while(m>n) m=m-n; 
while(n>m) n=n-m; 
}
printf("m=%d\n",m);
return 0;
}​

我们来分析一下:其实这题比较简单大家只需要认真计算即可,我们只需要注意随着判断式的改变静茹的循环不一样,进行的式子也会不同,但是不要忘记了验算一下。

运行看看:

5.题5(首先输入要输入的整数个数 n ,然后输入 n 个整数。输出为 n 个整数中负数的个数,和所有正整数的平均值,
结果保留一位小数。)

 

#include<stdlib.h>
#include<stdio.h>
#include<assert.h>
int main()
{int n, contu1 = 0;int contu2 = 0;float sum = 0;scanf("%d ", &n);int* pt = (int*)malloc(n * sizeof(int));assert(pt);for (int i = 0; i < n; i++){scanf("%d", &pt[i]);}for (int i = 0; i < n; i++){if (*pt < 0){contu1++;}else if (*pt > 0){sum += *pt;contu2++;}pt++;}printf("%d %.1f", contu1,sum/contu2);free(pt);pt = NULL;return 0;
}

大家可以动手尝试一下,当然这不是唯一的结果。也期待收到大家的私信,和我交流一下。

谢谢

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

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

相关文章

遍历的三种算法——递归、非递归、层次

一、递归遍历方法&#xff1a; 先序遍历&#xff1a; Status PreOrderTraverse(Tree *t) {if (t NULL) return OK;//合法性检查else {visit(t->data);//访问根节点PreOrderTraverse(t->lchild);//递归遍历左子树PreOrderTraverse(t->rchild);//递归遍历右子树} } …

【ArcGIS】利用高程进行坡度分析

在ArcGIS中利用高程进行坡度分析 坡度ArcGIS实操参考 坡度 坡度是地表单元陡缓的程度&#xff0c;通常把坡面的垂直高度和水平距离的比值称为坡度。 坡度的表示方法有百分比法、度数法、密位法和分数法四种&#xff0c;其中以百分比法和度数法较为常用。 &#xff08;1&#…

C语言特殊函数

静态函数 背景知识&#xff1a;普通函数都是跨文件可见的&#xff0c;即在文件 a.c 中定义的函数可以在 b.c 中使用。 静态函数&#xff1a;只能在定义的文件内可见的函数&#xff0c;称为静态函数。 语法 staitc void f(void) // 在函数头前面增加关键字 static &#xff…

智慧城市的新宠儿:会“思考”的井盖

在城市化飞速发展的今天&#xff0c;我们或许未曾过多地关注那些平凡却至关重要的井盖。它们无声地矗立在城市的每个角落&#xff0c;守护着深藏于地下的城市生命线&#xff0c;然而&#xff0c;这些井盖并未满足于传统的角色&#xff0c;它们正逐步融入智慧城市的宏大画卷中&a…

IDEA生成Java Doc帮助文档

使用场景 使用IDEA&#xff08;本次使用2020.3版&#xff09;将自己写的常用的工具类打成jar包&#xff0c;安装到maven本地仓库&#xff0c;最后生成对应的doc参考文档。 操作流程 方法一 选中项目 右键 show in Explor&#xff0c;如下图&#xff1a; 选中地址栏 cmd 输入…

Android约束布局中用ConstraintHelper实现过渡动画效果

前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下"通俗易懂&#xff0c;风趣幽默"&#xff0c;感觉非常有意思,忍不住分享一下给大家。 &#x1f449;点击跳转到教程 一.创建一个类CircularRevealHelper继承ConstraintHelper代码如下 /*** Author: ly* Da…

【Flink状态管理五】Checkpoint的设计与实现

文章目录 1. Checkpoint的整体设计2. Checkpoint创建源码解析2.1. DefaultExecutionGraphBuilder.buildGraph2.2. ExecutionGraph.enableCheckpointing 由于系统原因导致Flink作业无法正常运行的情况非常多&#xff0c;且很多时候都是无法避免的。对于Flink集群来讲&#xff0c…

江科大stm32学习笔记——【3-2】GPIO输出:LED闪烁LED流水灯蜂鸣器

&#xff08;一&#xff09; 硬件连接 1.LED闪烁 LED灯正极连接面包板电源正极&#xff0c;LED负极连接单片机A0口 (也可以LED负极连面包板负极&#xff0c;LED正极连接单片机A0口) 跳线连接单片机3.3和面包板正极&#xff0c;连接单片机GND和面包板负极 2.LED流水灯 3.蜂鸣…

Rabbitmq入门与应用(三)-RabbitMQ开发流程

RabbitMQ开发流程 引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId> </dependency>配置MQ 最简配置 spring:rabbitmq:host: mq的安装机器ipport: 5672username: ad…

C++如何避免float误差?

C如何避免float误差&#xff1f; 在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「c的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01; …

k8s-heml联动harbor 18

将打包的heml包上传到harbor仓库进行管理 创建一个公开的项目来接收传送的heml包 安装helm-push插件&#xff1a; helm plugin install https://github.com/chartmuseum/helm-push &#xff08;在线安装&#xff0c;要求网速要快或者提供科学上网&#xff09; 离线安装&…

[工具探索]VSCode介绍和进阶使用

相比较GoLand、PhpStorm、PyCharm、WebStorm的重量级内存占用&#xff0c;从Windows系统来&#xff0c;各种卡死&#xff0c;换到MacOS倒不会卡死&#xff0c;但是内存占用太多&#xff0c;影响体验&#xff0c;决定换到VSCode。当然这个过程需要适应过渡期&#xff0c;旧伙计都…

(全注解开发)学习Spring-MVC的第三天

全注解开发 第一部分 : 1.1 消除spring-mvc.xml 这些是原来spring-mvc.xml配置文件的内容 <!--1、组件扫描, 使Controller可以被扫描到--><context:component-scan base-package"com.itheima.controller"/><!--2、非自定义的Bean, 文件上传解析器--&…

【springblade】springblade(bladeX) 数据权限失效原因分析

文章目录 数据权限接口权限 前言&#xff1a;最近博主在按照bladeX官方文档 配置数据权限 结果发现失效了&#xff0c;网上搜了一下没找到合适的答案&#xff0c;本着求人不如求己的精神&#xff0c;自己调试了一下发现了问题所在&#xff0c;也大致看了一下bladeX的权限逻辑。…

PolarDN MISC做题笔记

cat flag 使用01打开flag.png,发现图片尾部有padding的数据。D0 CF 11 E0 A1 B1 1A E1为office2007以前版本的文件头。将其另存为flag.doc,打开发现提示需要密码。&#xff08;可以注意到&#xff1a;D0CF11E0非常类似DOCFILE&#xff09; 使用john的office2john.py 提取hash …

vue3组件通信方式汇总

前言&#xff1a;本文默认读者有JS基础和Vue基础&#xff0c;如果没有这个两个基础&#xff0c;可能阅读比较困难&#xff0c;建议先看下官方文档&#xff0c;当然&#xff0c;也欢迎评论交流&#x1f601; 通信方式总结 常见搭配形式 一、props&#xff08;使用频率最高&#…

防火墙内容安全笔记

目录 DFI和DPI IDS和IPS 签名 AV URL过滤 HTTPS过滤 内容过滤 文件类型过滤 文件内容过滤 邮件过滤 VPN概述 密码学概述 对称加密 非对称加密 DFI和DPI DFI和DPI技术 --- 深度检测技术 DPI DPI --- 深度包检测技术 --- 主要针对完整的数据包&#xff08;数据包…

Rust: reqwest库示例

一、异步处理单任务 1、cargo.toml [dependencies] tokio { version "1.0.0", features ["full", "tracing"] } tokio-util { version "0.7.0", features ["full"] } tokio-stream { version "0.1" }…

C++特殊类设计

一、设计模式的概念 1、设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。 2、使用设计模式是为了可重用代码、让代码更容易被他人理解、提高代码的可靠性。 3、设计模式一般有如下几个基本要素&#xff1a;模式名称、问题、目的…

数字信号处理:傅里叶分析

本文主要参考视频如下&#xff1a; 数字信号处理9-1_线性时不变系统对复指数信号的响应_哔哩哔哩_bilibili 傅里叶分析的主要研究内容如下所示&#xff1a; 注意&#xff0c;计算机中使用的离散傅里叶变换并不是离散时间傅里叶变换&#xff1b; 前四种都是理论上的变换方式&…