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.mfbz.cn/a/405115.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Kotlin filterIsInstance filterNotNull forEach

Kotlin filterIsInstance filterNotNull forEach fun main(args: Array<String>) {val i1 MyItem(1, 1)val i2: MyItem? nullval i3: Int 3val i4 "4"val i5 nullval i6 MyItem(6, 6)val list mutableListOf<Any?>(i1, i2, i3, i4, i5, i6)lis…

百度地图海量点方案趟坑记录(百度地图GL版 + MapVGL + vue3 + ts)

核心需求描述 不同层级有不同的海量图标展示底层海量图标需要展示文字拖动、放大缩小都需要重新请求数据并展示固定地图中心点&#xff08;拖动、放大缩小&#xff0c;中心点始终在地图中心&#xff09; 示例图片&#xff1a;&#xff08;某些图片涉及公司数据&#xff0c;就未…

靡语IT:Vue精讲(一)

Vue简介 发端于2013年的个人项目&#xff0c;已然成为全世界三大前端框架之一&#xff0c;在中国大陆更是前端首选。 它的设计思想、编码技巧也被众多的框架借鉴、模仿。 纪略 2013年&#xff0c;在Google工作的尤雨溪&#xff0c;受到Angular的启发&#xff0c;从中提取自…

unity学习(30)——跳转到角色选择界面(跳转新场景)

1.在scene文件夹中&#xff08;[siːn]&#xff09;&#xff0c;右键->create->scene&#xff0c;名字叫SelectMenu&#xff08;选择角色场景&#xff09;。 2.把新建场景拖拽到hierarchy[ˈhaɪərɑːki]中。 3.此时才能在file->build setting中Add open scene&…

图解李白的“朋友圈”

《长安三万里》作为2023年票房第一的国漫电影&#xff0c;以安史之乱为背景&#xff0c;从诗人高适的视角铺设了一幅绚丽的历史长卷&#xff0c;细细讲述“诗仙”李白跌宕起伏的一生&#xff0c;以及大唐盛世一路荣耀幻灭的唏嘘。同时&#xff0c;在这部动画电影中出现了多位大…

【了解机器学习的定义与发展历程】

曾梦想执剑走天涯&#xff0c;我是程序猿【AK】 目录 简述概要知识图谱 简述概要 了解机器学习的定义与发展历程 知识图谱 机器学习&#xff08;Machine Learning&#xff0c;ML&#xff09;是一门跨学科的学科&#xff0c;它使用计算机模拟或实现人类学习行为&#xff0c;通…

HTML5新婚、年会、各种聚会的现场抽奖活动(附源码)

文章目录 1.抽奖平台设计来源1.1 主界面效果1.2 抽奖效果1.3 中奖效果 2.效果和源码配置2.1 动态效果2.2 人员信息配置2.3 奖品信息配置2.4 抽奖音效配置2.5 源代码 源码下载 作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_43151418/article/deta…

UnityWebGL 设置全屏

这是Unity导出Web默认打开的页面尺寸 修改后效果 修改 index.html 文件 1.div元素的id属性值为"unity-container"&#xff0c;宽度和高度都设置为100%&#xff0c;意味着该div元素将占据整个父容器的空间。canvas元素的id属性值为"unity-canvas"&#xff…

liunx docker 安装 nginx:stable-alpine 后报500错误

参考:docker使用nginx部署网站报500错误_docker nginx 500-CSDN博客 重启容器后访问,正常

在面试中,如何回复擅长 Vue 还是 React

目录 一、Vue.JS 二、React 三、Vue和React的区别 四、前端开发框架 一、Vue.JS Vue.js&#xff08;通常简称为Vue&#xff09;是一个用于构建用户界面的开源JavaScript框架。它采用了MVVM&#xff08;Model-View-ViewModel&#xff09;的架构模式&#xff0c;通过数据驱动…

C语言——指针——第1篇——(第19篇)

坚持就是胜利 文章目录 1.指针是什么2.指针和指针类型&#xff08;1&#xff09;指针 - 整数&#xff08;2&#xff09;指针 的 解引用 3.野指针(1)野指针成因1.指针未初始化2.指针越界访问3.指针指向的空间释放 (2)如何规避野指针1.指针初始化2.小心指针越界3.指针指向的空间…

Vue+SpringBoot打造生活废品回收系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容三、界面展示3.1 登录注册3.2 资源类型&资源品类模块3.3 回收机构模块3.4 资源求购/出售/交易单模块3.5 客服咨询模块 四、免责说明 一、摘要 1.1 项目介绍 生活废品回收系统是可持续发展的解决方案&#xff0c;旨在鼓…

FreeBSD如何进行系统升级

为什么要升级 原因是当前在使用的版本是12.4&#xff0c;官方已经停止维护了&#xff0c;而且找了几个国内的镜像站也不维护了&#xff0c;导致pkg工具都无法安装&#xff0c;干脆直接进行系统升级。 FreeBSD的系统升级 目前打算升级到13.2-RELEASE版本 获取目前版本需要的…

前端快速网格布局

直接进去CSS Grid Generator 真的好方便&#xff1a;

Python实战:读取MATLAB文件数据(.mat文件)

Python实战&#xff1a;读取MATLAB文件数据(.mat文件) &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程 &#x1f448; 希望得到您的订阅…

go RPC编程

1、golang中如何实现RPC golang中实现RPC非常简单&#xff0c;官方提供了封装好的库&#xff0c;还有一些第三方的库 golang官方的net/rpc库使用encoding/gob进行编解码&#xff0c;支持tcp和http数据传输方式&#xff0c;由于其他语言不支持gob编解码方式&#xff0c;所以gol…

【某机构vip教程】Requests(6):Requests模块_超时设置

超时设置 Requests模块可以设置接收数据的超时时间&#xff0c;超出设定的时间还没有数据返回&#xff0c;就抛出异常。超时设 置有两种类型表达&#xff1a;float 、tuple timeout():以秒为单位 如果远端服务器很慢&#xff0c;你可以让 Request 永远等待&#xff0c;传入一…

【LeetCode: 889. 根据前序和后序遍历构造二叉树 + DFS】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

研学活动报名平台系统功能清单

中小学生社会实践活动、研学旅行等素质教育活动报名与管理平台&#xff0c;功能包含&#xff1a;活动分类&#xff0c;活动管理&#xff0c;在线报名缴费&#xff0c;扫码核销&#xff0c;会员特权体系&#xff0c;在线商城&#xff0c;研学互动。系统支持入驻老师自行创建研学…

jenkins配置ssh的时候测试连接出现Algorithm negotiation fail

背景&#xff1a;当jenkins升级后&#xff0c;同时ssh插件也升级&#xff0c;测试ssh连接的时候 出现的问题&#xff1a; com.jcraft.jsch.JSchAlgoNegoFailException: Algorithm negotiation fail: algorithmName"server_host_key" jschProposal"ecdsa-sha2-n…
最新文章