37-巩固练习(一)

37-1 if语句等

1、问:输出结果

int main()
{
	int i = 0;
	for (i = 0; i < 10; i++)
	{
		if (i = 5)
		{
			printf("%d\n", i);
		}
		return 0;
	}
}

答:一直输出5,死循环

解析:i=5是赋值语句,不是判断语句,每一次循环i都被赋值为5,每一次都打印5;每一次循环i都被赋值为5,加1后是6,永远小于10,要一直循环下去

2、问:关于if语句说法正确是:()

A.if语句后面只能跟一条语句
B.if语句中0表示假,1表示真
C.if语句是一种分支语句,可以实现单分支,也可以实现多分支 
D.else语句总是和它的对齐的if语句匹配

答:C

解析:B:0表示假,非0表示真,并不只有1

3、关于switch说法不正确的是()

A.switct语句中的default子句可以放在任意位置
B.switch语句中case后的表达式只能是整形常量表达式
C.switch语句中case子句必须在default子句之前
D.switch语句中case表达式不要求顺序

答:C

解析:default与case的顺序不作要求;char也是属于整型家族的,因为字符存储的时候,存储的是ASCII码值

4、问:func(1)是多少?

int func(int a)
{
	int b;
	switch (a)
	{
	case 1:b = 30;
	case 2:b = 20;
	case 3:b = 16;
	default:b = 0;
	}
	return b;
}

答:0

解析:没有break

5、问:switch(c)语句中,c不可以是什么类型()

A.int   B.Jong   C.char   D .float

答:D

6、问:输出结果

int main()
{
	int x = 3;
	int y = 3;
	switch (x % 2)
	{
	case 1:
		switch (y)
		{
		case 0:
			printf("first");
		case 1:
			printf("second");
			break;
		default:
			printf("hello");
		}
	case 2:
		printf("third");
	}
	return 0;
}

 答:hellothird

解析:注意有无break

7、将三个整数按从大到小输出

代码1:

int main()
{
	int a = 0;
	int b = 0;
	int c = 0;
	scanf("%d%d%d", &a, &b, &c);
	if (a > b)
	{
		if (a < c)
		{
			printf("%d ", c);
			printf("%d ", a);
			printf("%d ", b);
		}
		else
		{
			if (a > c)
			{
				if (b > c)
				{
					printf("%d ", a);
					printf("%d ", b);
					printf("%d ", c);
				}
				else
				{
					printf("%d ", a);
					printf("%d ", c);
					printf("%d ", b);
				}
			}
		}
	}
	else
	{
		if (b < c)
		{
			printf("%d ", c);
			printf("%d ", b);
			printf("%d ", a);
		}
		else
		{
			if (b > c)
			{
				if (a > c)
				{
					printf("%d ", b);
					printf("%d ", a);
					printf("%d ", c);
				}
				else
				{
					printf("%d ", b);
					printf("%d ", c);
					printf("%d ", a);
				}
			}
		}
	}
	return 0;
}

代码2(推荐):

int main()
{
	int a = 0;
	int b = 0;
	int c = 0;
	int tmp = 0;
	scanf("%d%d%d", &a, &b, &c);
	//调整,a放最大值,b放中间值,c放最小值
	if (a < b)
	{
		tmp = a;
		a = b;
		b = tmp;
	}
	if (a < c)
	{
		tmp = a;
		a = c;
		c = tmp;
	}
	if (b < c)
	{
		tmp = b;
		b = c;
		c = tmp;
	}
	printf("%d %d %d", a, b, c);
	return 0;
}

 代码3(函数版):

void Swap(int* a, int* b)
{
	int tmp = 0;
	tmp = *a;
	*a = *b;
	*b = tmp;
}
int main()
{
	int a = 0;
	int b = 0;
	int c = 0;
	scanf("%d%d%d", &a, &b, &c);
	//调整,a放最大值,b放中间值,c放最小值
	if (a < b)
	{
		Swap(&a, &b);
	}
	if (a < c)
	{
		Swap(&a, &c);
	}
	if (b < c)
	{
		Swap(&b, &c);
	}
	printf("%d %d %d", a, b, c);
	return 0;
}

8、写一个代码打印1-100之间所有3的倍数的数字

代码1:

int main()
{
	int i = 0;
	for (i = 3; i <= 100; i+=3)
	{
		printf("%d ", i);
	}
	return 0;
}

代码2:

int main()
{
	int i = 0;
	for (i = 1; i <= 100; i++)
	{
		if(i % 3 == 0)
			printf("%d ", i);
	}
	return 0;
}

9、求两个数的最大公约数

 代码1:暴力求解

int main()
{
	int a = 0;
	int b = 0;
	int tmp = 0;
	int i = 0;
	scanf("%d%d", &a, &b);
	if (a > b)  //让a是小的数
	{
		tmp = a;
		a = b;
		b = tmp;
	}
	for (i = a; i > 1; i--)
	{
		if ((a % i == 0)&&(b % i == 0))
		{
			printf("最大公约数:%d\n", i);
			break;
		}
	}
	if (1 == i)
	{
		printf("这两个数没有公约数");
	}
	return 0;
}

代码2:辗转相除法

两个整数的最大公约数是能够同时整除它们的最大的正整数。辗转相除法基于如下原理:两个整数的最大公约数等于其中较小的数和两数相除余数的最大公约数。

int main()
{
	int a = 0;
	int b = 0;
	int c = 0;
	int tmp = 0;
    scanf("%d%d", &a, &b);
	while (c= a % b)
	{
		a = b;
		b = c;
	}
	printf("%d\n", b);
	return 0;
}

a和b谁大谁小不影响,可以用a=18,b=24和a=24,b=18自己测试一下

37-2 for循环语句等

1、问:关于while(条件表达式)循环练以下叙述正确的是()?
(假设循环体里面没break,continue,return,goto等等语句)

A.循环体的执行次数总是比条件表达式的执行次数多一次
B.条件表达式的执行次数总是比循环体的执行次数多一次
C.条件表达式的执行次数与循环体的执行次数一样
D.条件表达式的执行次数与循环体的执行次数无关

答:B

2、问:输出结果

int main()
{
	int a = 0, b = 0;
	for (a = 1, b = 1; a <= 100; a++)
	{
		if (b >= 20) break;
		if (b % 3 == 1)
		{
			b = b + 3;
			continue;
		}
		b = b - 5;
	}
	printf("%d\n", a);
	return 0;
}

答:8

3、编程数一下1到100的所有整数中出现多少个数字9

注意:题目中说的是出现多少个9,而不是多少个数字包含9

int main()
{
	int i = 0;
	int count = 0;  //计数
	for (i = 1; i <= 100; i++)
	{
		if (i / 10 == 9)  //十位是9
		{
			count++;
		}
		if (i % 10 == 9)  //个位是9
		{
			count++;
		}
	}
	printf("%d\n", count);
	return 0;
}

4、计算1/1-1/2+1/3-1/4+1/5......+ 1/99 - 1/100的值,打印出结果

代码1:

int main()
{
	int i = 0;
	double sum = 0;  //结果是小数
	for (i = 1; i <= 100; i++)
	{
		if (i % 2 != 0)
		{
			sum += 1.0 / i;  //要想得到小数,必须要有一个浮点数
		}
		else
		{
			sum += -1.0 / i;
		}
	}
	printf("%lf\n", sum);
	return 0;
}

代码2:

int main()
{
	int i = 0;
	double sum = 0;  //结果是小数
	int flag = 1;  //用于正负变换
	for (i = 1; i <= 100; i++)
	{
		sum += (1.0 / i)*flag;
		flag = -flag;
	}
	printf("%lf\n", sum);
	return 0;
}

5、10个数找最大值

int main()
{
	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
	int i = 0;
	int max = arr[0];
	for (i = 1; i < 10; i++)
	{
		if (arr[i] > max)
		{
			max = arr[i];
		}
	}
	printf("%d\n", max);
	return 0;
}

代码2(手动输入十个数)

int main()
{
	int arr[10] = { 0 };
	int j = 0;
	for (j = 0; j < 10; j++)
	{
		scanf("%d", &arr[j]);
	}
	int i = 0;
	int max = arr[0];
	for (i = 1; i < 10; i++)
	{
		if (arr[i] > max)
		{
			max = arr[i];
		}
	}
	printf("%d\n", max);
	return 0;
}

6、 在屏幕上输出九九乘法表

代码1:

int main()
{
	int i = 0;
    //打印9行
	for (i = 1; i <= 9; i++)
	{
		int j = 0;
        //打印一行
		for (j = 1; j <= i; j++)
		{
			printf("%d*%d=%d ", i, j, i * j);
		}
		printf("\n");
	}
	return 0;
}

代码2: 

 %2d:右对齐;%-2d:左对齐

int main()
{
	int i = 0;
	for (i = 1; i <= 9; i++)
	{
		int j = 0;
		for (j = 1; j <= i; j++)
		{
			printf("%d*%d=%-2d ", i, j, i * j);
		}
		printf("\n");
	}
	return 0;
}

37-3 函数等

1、问:关于实参和形参描述错误的是()

A.形参是实参的一份临时拷贝
B.形参是在函数调用的时候才实例化。才开辟内存空间
C.改变形参就是改变实参
D.函数调用如果采用传值调用。改变形参不影响实参

答:C

2、问:函数调用exec(v1,v2),(v3,v4),v5,v6)中,实参的个数()

A .3   B.4   C.5   D.6

答:B

解析:表达式是一个实参

3、问:以下关于函数设计不正确的说法是()

A.函数设计应该追求高内聚低耦合
B.要尽可能多的使用全局变量
C.函数参数不易过多
D.设计函数时,尽量做到谁申请的资源就由谁来释放

答:B

解析:高内聚低耦合,功能单一,不要与其他的产生过多关联;过多使用全局变量,不安全。

4、问:关于C语言函数描述正确的是()

A.函数必须有参数和返回值
B.函数的实参只能是变量
C.库函数的使用必须要包含对应的头文件
D.有了库函数就不需要自定函数了

答:C

5、问:C语言规定,在一个源程序中,main函数的位置()

A.必须在最开始
B.必须在库函数的后面
C.可以任意
D.必须在最后

答:C

6、问:以下叙述中不正确的是()

A.在不同的阂数中可以使用相同名字的变量
B.函数中的形式参数是在栈中保存
C.在一个函数内定义的变量只在本函数范围内有效
D.在一个函数内复合语句中定义的变量在本函数范围内有效(复合语句指函数中的成对括号构成的代码)

答:D

解析:

7、 实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定

void print_table(int n)
{
	int i = 0;
	for (i = 1; i <= n; i++)
	{
		int j = 0;
		for (j = 1; j <= i; j++)
		{
			printf("%d*%d=%-2d ", i, j, i * j);
		}
		printf("\n");
	}
}
int main()
{
	int n = 0;
	scanf("%d", &n);
	print_table(n);
	return 0;
}

37-4 函数递归等 

1、问:能把函数处理结果的两个数据返回给主调函数,在下面的方法中不正确的是:()

A.return这两个数   B.形参用数组   C .形参用两个指针   D.用两个全局变量

答:A

解析:return只能返回一个数

2、问:关于函数调用说法不正境的是()

A.函数可以传值调用,传值调用的时候形参是实参的一份临时拷贝
B.函数可以传址调用,传址调用的时候。可以通过形参操作实参
C.函数可以嵌套定义,但是不能嵌套调用
D.函数可以嵌套调用,但是不能嵌套定义

答:C

3、问:在函数调用时,以下说法正确的是()

A.函数调用后必须带回返回值
B.实际参数和形式参数可以同名
C.函数间的数据传递不可以使用全局变量
D.主调函数和被调函数总是在同一个文件里

答:B

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

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

相关文章

零基础教程:R语言lavaan结构方程模型(SEM)

查看原文>>>最新基于R语言lavaan结构方程模型&#xff08;SEM&#xff09;实践技术应用 基于R语言lavaan程序包&#xff0c;通过理论讲解和实际操作相结合的方式&#xff0c;由浅入深地系统介绍结构方程模型的建立、拟合、评估、筛选和结果展示的全过程。我们筛选大量…

鸿蒙原生应用开发-网络管理HTTP数据请求

一、场景介绍 应用通过HTTP发起一个数据请求&#xff0c;支持常见的GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT方法。 二、接口说明 HTTP数据请求功能主要由http模块提供。 使用该功能需要申请ohos.permission.INTERNET权限。 涉及的接口如下表&#xff0c;具体的…

分享一个免费的chat工具

用这个神奇的聊天工具&#xff0c;我的生活变得更加便利了。不需要魔法&#xff0c;不需要海外手机号码&#xff0c;来试试吧:Chat8。点击使用: https://guan.chat772.com/#/register?bronk_on1579566

用html写一个贪吃蛇游戏

<!DOCTYPE html> <html> <head><title>贪吃蛇</title><meta charset"UTF-8"><meta name"keywords" content"贪吃蛇"><meta name"Description" content"这是一个初学者用来学习的小…

实现一个Google身份验证代替短信验证

最近才知道公司还在做国外的业务&#xff0c;要实现一个登陆辅助验证系统。咱们国内是用手机短信做验证&#xff0c;当然 这个google身份验证只是一个辅助验证登陆方式。看一下演示 看到了嘛。 手机下载一个谷歌身份验证器就可以 。 谷歌身份验证器&#xff0c;我本身是一个基…

多模态大模型:解析未来智能汽车的新引擎

多模态大模型&#xff1a;解析未来智能汽车的新引擎 1. 多模态大模型简介2. 多模态大模型在智能汽车中的应用2.1 感知与认知2.2 智能驾驶辅助2.3 智能交互 随着人工智能技术的不断进步&#xff0c;智能汽车已经从概念变成了现实&#xff0c;成为了当今科技领域的焦点之一。而在…

#include<初见c语言之指针总结>

第一小节&#xff1a; #include&#xff1c;初见C语言之指针&#xff08;1&#xff09;&#xff1e;-CSDN博客 #add&#xff1c;初见C语言之指针&#xff08;1&#xff09;&#xff1e;-CSDN博客 第二小节&#xff1a; #include&#xff1c;初见c语言之指针…

C++进阶,手把手带你学继承

&#x1fa90;&#x1fa90;&#x1fa90;欢迎来到程序员餐厅&#x1f4ab;&#x1f4ab;&#x1f4ab; 主厨&#xff1a;邪王真眼 主厨的主页&#xff1a;Chef‘s blog 所属专栏&#xff1a;c大冒险 总有光环在陨落&#xff0c;总有新星在闪烁 【本节目标】 1.继…

RAG进阶笔记:RAG进阶

1 查询/索引部分 1.1 层次索引 创建两个索引——一个由摘要组成&#xff0c;另一个由文档块组成分两步进行搜索&#xff1a;首先通过摘要过滤出相关文档&#xff0c;接着只在这个相关群体内进行搜索 1.2 假设性问题 让LLM为每个块生成一个假设性问题&#xff0c;并将这些问…

【ENSP】交换机和交换机之间实现静态路由

1.概念 三层交换机只能在Vlanif逻辑口配置iP地址 2.实现方法 交换机允许对应vlan通行&#xff0c;配置vlanif的ip地址&#xff0c;做静态路由 3.静态路由配置方法 ip route-static 目的网段 子网掩码 下一跳设备 LSW1三层交换机配置 u t m sys vlan batch 10 20 …

用Python实现办公自动化(自动化处理Excel工作簿)

自动化处理Excel工作簿 &#xff08;一&#xff09;批量生产产品出货清单 以“出货统计表”为例&#xff0c; 需求&#xff1a;将出货记录按照出货日期分类整理成多张出货清单 “出货统计表数据案例” “产品出货清单模板” 1.提取出货统计表的数据 “Python程序代码” # 使用…

网络安全入门 5 天速成教程_ WEB 安全渗透攻防技术

前言 随着 Web 技术发展越来越成熟&#xff0c;而非 Web 服务越来越少的暴露在互联网上&#xff0c;现在互联网安全主要指的是 Web 安全。 为了自身不“裸奔”在大数据里&#xff0c;渐渐开始学习 Web 安全&#xff0c;在学习 Web 安全的过程中&#xff0c;发现很大一部分知识…

分文件编程——Makefile

1.分文件编程 1.1源文件&#xff1a; .c结尾的文件 包含main函数的.c 包含子函数的.c 1.2头文件&#xff1a; .h结尾的文件 文件包含 头文件、宏定义、typedef、结构体、共用体、枚举、函数声明… 调用时用#include"xx.h" #include< >与#include " &q…

对DataFrame中的缺失值采用插值实现缺失值处理interpolate()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 对DataFrame中的缺失值 采用插值实现缺失值处理 interpolate() [太阳]选择题 以下代码的输出结果中正确的是? import pandas as pd a pd.DataFrame({ A: [1, 2, None, 4, 5], …

数字乡村发展之路:探索农村智慧化新模式

一、引言 随着信息技术的迅猛发展和普及&#xff0c;数字化已经成为推动乡村发展的重要引擎。数字乡村建设旨在通过信息化、智能化手段&#xff0c;提升农村地区的生产生活水平&#xff0c;推动农村经济社会的转型升级。本文旨在探讨数字乡村的发展之路&#xff0c;分析农村智…

基于java+springboot+vue实现的电商个性化推荐系统(文末源码+Lw+ppt)23-389

摘 要 伴随着我国社会的发展&#xff0c;人民生活质量日益提高。于是对电商个性化推荐进行规范而严格是十分有必要的&#xff0c;所以许许多多的信息管理系统应运而生。此时单靠人力应对这些事务就显得有些力不从心了。所以本论文将设计一套电商个性化推荐系统&#xff0c;帮…

Docker镜像逆向生成Dockerfile

你是否曾经遇到过一个想要使用的 Docker 镜像&#xff0c;但却无法修改以适应你的特定需求&#xff1f;或者你可能发现了一个喜欢的 Docker 镜像&#xff0c;但想要了解它是如何构建的&#xff1f;在这两种情况下&#xff0c;将 Docker 镜像逆向生成一个 Dockerfile 可以使用一…

【电子取证篇】哈希校验值的变与不变

【电子取证篇】哈希校验值的变与不变 哈希值&#xff08;散列值&#xff09;是针对电子数据内容来计算的&#xff0c;内容变则哈希变&#xff1b;但计算对象的文件名、文件时间等属性改变不会影响散列值&#xff01;&#xff01;&#xff01;—【蘇小沐】 &#xff08;一&…

HarmonyOS实战开发-如何实现一个简单的电子相册应用开发

介绍 本篇Codelab介绍了如何实现一个简单的电子相册应用的开发&#xff0c;主要功能包括&#xff1a; 实现首页顶部的轮播效果。实现页面跳转时共享元素的转场动画效果。实现通过手势控制图片的放大、缩小、左右滑动查看细节等效果。 相关概念 Swiper&#xff1a;滑块视图容…

【C++】多态的原理

目录 一、虚函数表 1、虚函数表的定义 2、虚函数表特性 3、虚表的打印 二、多态的原理 三、多态的相关问题 1、指针偏移问题 2、输出的程序是什么&#xff1f; 3、输出的程序是什么&#xff1f; 【前言】 上一篇我们学习了多态的基础知识&#xff0c;这一篇我将带着大…