c语言经典测试题3

1.题1

cpp 复制代码
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

cpp 复制代码
#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

cpp 复制代码
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

cpp 复制代码
​
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 个整数中负数的个数,和所有正整数的平均值,

结果保留一位小数。)

cpp 复制代码
#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;
}

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

相关推荐
野渡拾光1 小时前
【考研408数据结构-05】 串与KMP算法:模式匹配的艺术
数据结构·考研·算法
tainshuai3 小时前
用 KNN 算法解锁分类的奥秘:从电影类型到鸢尾花开
算法·分类·数据挖掘
Coovally AI模型快速验证9 小时前
农田扫描提速37%!基于检测置信度的无人机“智能抽查”路径规划,Coovally一键加速模型落地
深度学习·算法·yolo·计算机视觉·transformer·无人机
pusue_the_sun9 小时前
数据结构:二叉树oj练习
c语言·数据结构·算法·二叉树
RaymondZhao349 小时前
【全面推导】策略梯度算法:公式、偏差方差与进化
人工智能·深度学习·算法·机器学习·chatgpt
zhangfeng113310 小时前
DBSCAN算法详解和参数优化,基于密度的空间聚类算法,特别擅长处理不规则形状的聚类和噪声数据
算法·机器学习·聚类
啊阿狸不会拉杆10 小时前
《算法导论》第 32 章 - 字符串匹配
开发语言·c++·算法
小学生的信奥之路11 小时前
洛谷P3817题解:贪心算法解决糖果分配问题
c++·算法·贪心算法
曙曙学编程12 小时前
stm32——GPIO
c语言·c++·stm32·单片机·嵌入式硬件
你知道网上冲浪吗12 小时前
【原创理论】Stochastic Coupled Dyadic System (SCDS):一个用于两性关系动力学建模的随机耦合系统框架
python·算法·数学建模·数值分析