C语言必刷题上(保姆式详解)

这篇具有很好参考价值的文章主要介绍了C语言必刷题上(保姆式详解)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

C语言必刷题上(保姆式详解),C语言题目,c语言,开发语言

目录

说明:

(1)

(2)

错题

1.printf输出 

(1)关于printf的输出

(2)注意点

2.  关键字

3. ASCII编码

4.转义字符

​编辑

5.变量

6.for循环

(1)线段图案

​编辑

(2) for循环体

(3) 素数

(4)"x"型图案 

(5)正方形图案

7.while循环 

(1)注意点

(2)求两个数的最大公约数

8.switch..case语句

(1)switch..case中的break

(2) 注意点

9.数组 

10.函数

(1)

(2) 9*9乘法口诀表

重点题型

1.关于strlen和sizeof计算的题目

(1)strlen作用与数组

(2)转义字符和strlen 

(3)关于sizeof题目 

(4)strlen和sizeof的计算 

4.1

4.2 

2.前置++和后置++ 

3.数组&函数 

编程题

1.将三个数从大到小排序

2.在数组中寻求最大值

 ​编辑

3.计算分组求和

方法一

方法二 

4.数数字

5.数组的并序并升序


说明:

(1)

以下所列题目是我结合平常时所做错重点题型和编程题.

(2)

必刷题上更新至函数

错题

1.printf输出 

(1)关于printf的输出

C语言必刷题上(保姆式详解),C语言题目,c语言,开发语言

(2)注意点

printf()参数与占位符是一一对应关系,如果有n个占位符,printf()的参数就应该有n+1个 

2.  关键字

C语言必刷题上(保姆式详解),C语言题目,c语言,开发语言

continue语句和break语句相似。

所不同的是,

它不是退出一个循环,而是开始循环的一次新迭代。 

3. ASCII编码

C语言必刷题上(保姆式详解),C语言题目,c语言,开发语言

4.转义字符

C语言必刷题上(保姆式详解),C语言题目,c语言,开发语言

5.变量

局部变量是放在内存的栈区的,全局变量是放在内存的静态区 

6.for循环

(1)线段图案

C语言必刷题上(保姆式详解),C语言题目,c语言,开发语言

(2) for循环体

C语言必刷题上(保姆式详解),C语言题目,c语言,开发语言

(3) 素数

打印100-200的素数

素数:这个数只能除1和它本身的数

int main()
{
	int i = 0, count = 0;
	for (i = 100; i <= 200; i++)
	{
		int j = 0;
		for (j = 2; j <= i; j++)
		{
			if (i % j == 0)
			{
				break;
			}
			
		}
		if (i == j)              //它本身
		{
			count++;
			printf("%d ", i);
		}	
	}
	printf("\n");
	printf("count=%d\n", count);

	return 0;
}

(4)"x"型图案 

int main()
{
	int n = 0;
	while ((scanf("%d", &n) != EOF))
	{
		int i = 0;    //控制行
		for (i = 0; i < n; i++)
		{
			int j = 0;//控制列
			for (j = 0; j < n; j++)
			{
				if (i == j)
				{
					printf("*");
				}
				else if (i + j == n - 1)
				{
					printf("*");
				}
				else
				{
					printf(" ");
				}
			}
			printf("\n");
		}
	}
	return 0;
}

逐步调试: 

C语言必刷题上(保姆式详解),C语言题目,c语言,开发语言

(5)正方形图案

int main()
{
    int n = 0;
    while ((scanf("%d", &n) != EOF))
    {
        int i = 0;//控制行
        for (i = 0; i < n; i++)
        {
            int j = 0;
            for (j = 0; j < n; j++)
            {
                if (i == 0 || i == n - 1)
                {
                    printf("* ");
                }
                else if (j == 0 || j == n - 1)
                {
                    printf("* ");
                }
                else
                {
                    printf("  ");
                }
            }
            printf("\n");
        }
    }
    return 0;
}

逐步调试及总结 

C语言必刷题上(保姆式详解),C语言题目,c语言,开发语言

7.while循环 

(1)注意点

关于while(条件表达式) 循环体, (假设循环体里面没有break,continue,return,goto等等语句)    

条件表达式执行次数总是比循环体的执行次数多一次 

 while循环中,当条件表达式成立时,才会执行循环体中语句,每次执行期间,都会对循环因子进行修改(否则就成为死循环),修改完成后如果while条件表达式成立,继续循环,如果不成立,循环结束

(2)求两个数的最大公约数

int main()
{
	int a = 0, b = 0, c = 0;
	scanf("%d %d", &a, &b);

	while (c = a % b)//表达式直到为0停止
	{
		a = b;       //b-->a
		b = c;       //c-->b
	}
	printf("这两个数的最大公约数为%d\n", b);
	return 0;
}

C语言必刷题上(保姆式详解),C语言题目,c语言,开发语言

C语言必刷题上(保姆式详解),C语言题目,c语言,开发语言

8.switch..case语句

(1)switch..case中的break

C语言必刷题上(保姆式详解),C语言题目,c语言,开发语言

(2) 注意点

  switch语句中表达式的类型只能是:整形(int)和枚举类型

9.数组 

数组的下标由小到大地址由低到高

10.函数

(1)

C语言必刷题上(保姆式详解),C语言题目,c语言,开发语言

(2) 9*9乘法口诀表

*输入n就输出到n*n的乘法口诀

int print(int n)
{
	int i = 0;
	for (i = 1; i <= n; i++)
	{
		int j = 0;
		for (j = 1; j <= i; j++) //j<=i方便控制台输出更有条理性
		{
			printf("%d*%d=%d ", i, j, i * j);
		}
		printf("\n");
	}
	return 0;
}

int main()
{
	int n = 0;
	scanf("%d", &n);
	print(n);
	return 0;
}

C语言必刷题上(保姆式详解),C语言题目,c语言,开发语言

C语言必刷题上(保姆式详解),C语言题目,c语言,开发语言

重点题型

1.关于strlen和sizeof计算的题目

(1)strlen作用与数组

C语言必刷题上(保姆式详解),C语言题目,c语言,开发语言

(2)转义字符和strlen 

C语言必刷题上(保姆式详解),C语言题目,c语言,开发语言

(3)关于sizeof题目 

sizeof的计算

C语言必刷题上(保姆式详解),C语言题目,c语言,开发语言

(4)strlen和sizeof的计算 

4.1

C语言必刷题上(保姆式详解),C语言题目,c语言,开发语言

4.2 

C语言必刷题上(保姆式详解),C语言题目,c语言,开发语言

2.前置++和后置++ 

C语言必刷题上(保姆式详解),C语言题目,c语言,开发语言

3.数组&函数 

要求:

(1)实现print()  打印数组的每个元素

(2)实现reverse()  函数完成数组元素的逆置

(3)实现函数init() 初始化数组为全0

void init(int arr[], int sz, int set)
{
	int i = 0;
	for (i = 0; i < sz; i++)
	{
		arr[i] = set;
	}
}

void print(int arr[], int sz)
{
	int i = 0;
	for (i = 0; i < sz; i++)
	{
		printf("%d ", arr[i]);
	}
	printf("\n");
}

void reverse(int arr[], int sz)
{
	int left = 0;
	int right = sz - 1;

	while (left <= right)
	{
		int temp = arr[left];
		arr[left] = arr[right];
		arr[right] = temp;
		left++;
		right--;
	}


}

int main()
{
	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
	int sz = sizeof(arr) / sizeof(arr[0]);
	print(arr, sz);     //打印数组
	reverse(arr, sz);   
	print(arr, sz);     //数组逆序
	init(arr, sz, 0);   //函数set置为0
	print(arr, sz);     //数组置0

	return 0;
}

编程题

1.将三个数从大到小排序

定义临时变量temp,

从大到小,先用临时变量=最小

图解:

C语言必刷题上(保姆式详解),C语言题目,c语言,开发语言

int main()
{
	int a = 0, b = 0, c = 0;
	scanf("%d %d %d", &a, &b, &c);
	int temp = 0;
	//从大到小
	if (a < b)
	{
		temp = a;
		a = b;
		b = temp;
	}
	if (a < c)
	{
		temp = a;
		a = c;
		c = temp;
	}
	if (b < c)
	{
		temp = b;
		b = c;
		c = temp;
	}
	printf("%d %d %d\n", a, b, c);
	return 0;
}

 C语言必刷题上(保姆式详解),C语言题目,c语言,开发语言

2.在数组中寻求最大值

int main()
{
	int arr[10] = { 0 };
	int i = 0;
	int max = arr[0];         //先令max取数组的第一个元素
	for (i = 0; i < 10; i++)
	{
		scanf("%d", &arr[i]); //在控制台输入10个数

		if (arr[i] > max)     //如果数组中某个元素>max
		{
			max = arr[i];     //令max取数组的某个元素
		}
	}

	printf("max=%d\n", max);  
//最后输出单独放出来,不能放在循环中,否则就会输出10个不同的最大值
	
	return 0;
}

 

计算最小值则相反  

3.计算分组求和

计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值

方法一

int main()
{
	int i = 0;
	double zheng = 0.0;     
	double fu = 0.0;          //分组求和肯定是小数,要用double类型
	for (i = 1; i <= 100; i++)
	{
		if (i % 2 == 1)
		{
			zheng += 1.0 / i; //如果是分母是奇数,就用+
            //double类型所含的表达式要加小数点和0,如:1.0
		}
		else
		{
			fu -= 1.0 / i;    //如果是分母是偶数,就用-
		}
	}
	printf("result=%lf\n", zheng+fu);//0.688172
	return 0;
}

方法二 

int  main()
{
	int i = 0;
	double sum = 0.0;
	int flag = 1;           //定义一个flag
	for(i=1; i<=100; i++)
	{
		sum += flag*1.0/i;  //首先分母是奇数,用+
		flag = -flag;       //然后接着下一步分母是负数,就用-
	}
	printf("%lf\n", sum);
	return 0;
}

4.数数字

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

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

*值得注意的是: 

i%10==9:余数为9,i的个位数为9,如9,19,29,39...

i% 9 ==0:余数为0,是9的倍数,     如9,18,27,36...

5.数组的并序并升序

两个数组分别升序组合成一个数组,并排为升序

值得注意的是,输入的两个数组都要分别为升序!!!

int main()
{
	int m = 0, n = 0;//数组a,b元素个数
	int i = 0, j = 0;//for循环会使用到
	scanf("%d %d", &m, &n);
	//定义数组
	int a[100] = { 0 };
	int b[100] = { 0 };

	//输入数组a,b元素个数
	for (i = 0; i < m; i++)
	{
		scanf("%d", &a[i]);
	}

	for (j = 0; j < n; j++)
	{
		scanf("%d", &b[j]);
	}

	//重新初始化为0
	i = 0;
	j = 0;

	while (i < m && j < n)
	{
		if (a[i] < b[j])
		{
			printf("%d ", a[i]);
			i++;
		}
		else
		{
			printf("%d ", b[j]);
			j++;
		}
	}

	if (i == m)
	{
		for (; j < n; j++)
		{
			printf("%d ", b[j]);
		}
	}

	if (j == n)
	{
		for (; i < m; i++)
		{
			printf("%d ", a[i]);
		}
	}
}

C语言必刷题上(保姆式详解),C语言题目,c语言,开发语言

C语言必刷题上(保姆式详解),C语言题目,c语言,开发语言

感谢浏览和阅读,希望以上对你有帮助!

创作不易,阅读完后记得留个赞和关注吧!!! 文章来源地址https://www.toymoban.com/news/detail-780139.html

到了这里,关于C语言必刷题上(保姆式详解)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 保姆式教程-Qt配置QtXlsx库

    Qt Xlsx 模块提供了一组类来读写 Excel 文件。它不需要 Microsoft Excel,可以在 Qt5 支持的任何平台上使用。 该库可用于: 生成一个新的 .xlsx 文件 从现有的 .xlsx 文件中提取数据 编辑现有的 .xlsx 文件 以上介绍节选自官方文档 Qt Xlsx源代码下载链接 3.1.1 查看是否安装了Perl 如果前期

    2024年02月04日
    浏览(28)
  • uniapp打包ios保姆式教程【最新】

    安卓打包直接使用公共测试证书即可打包成功,简单方便,这里我会记录 ios 打包过程 一、前往官网登录 官网:苹果官网account中心 如果没有开发者账号请找相关教程去注册 下边步骤是有开发者账号的流程 二、添加证书 首先进入证书列表 添加证书: 往下走创建你想要的证书

    2024年02月04日
    浏览(32)
  • 微信小程序开发(保姆式教程,点赞+收藏)

    二,微信开发者工具 下载微信web开发者工具,根据自己的操作系统下载对应的安装包进行安装即可。 新建项目 页面介绍 项目组成 page.json 文件 5,新建页面 文件用途 设置主页 把新建的文件路径调到最上面那就是主页了,意思就是,第一个路径就是首页的路径! 三,基本语法

    2024年02月22日
    浏览(48)
  • 【科普向】Jmeter 如何测试接口保姆式教程

    现在对测试人员的要求越来越高,不仅仅要做好功能测试,对接口测试的需求也越来越多!所以也越来越多的同学问,怎样才能做好接口测试? 要真正的做好接口测试,并且弄懂如何测试接口,需要从如下几个方面去分析问题,再找准学习的的方向,才能让自己在工作中,运

    2024年02月09日
    浏览(34)
  • 微信小程序——Echarts使用(保姆式教程)

    ✅作者简介:2022年 博客新星 第八 。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏:微信小程序学习分享 ✨特色专栏:国学周更-心性养成之路 🥭本文内容:微信小程序——

    2024年02月09日
    浏览(31)
  • 抖音seo源码开发,开源技术保姆式搭建

    抖音SEO是通过一系列的技术手段和优化策略来提升视频内容在抖音平台内的曝光率和排名。其中主要包括以下几个方面: 1.优化。通过对视频的标题、描述等元素的进行优化,提高相关性和匹配度,让用户更容易搜索到相关视频。 2.标签优化。在上传视频时,合

    2024年02月16日
    浏览(37)
  • Linux之Kafka保姆式详细安装教程

    《Kafka官网下载》 注意:下载的是二进制文件,不要下载源码!这里可以采用第三方下载工具加速下载,如:迅雷等 tar -zxvf是解压文件命令,-C表示把解压文件放到哪个目录下 修改环境变量 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL下追加内容: 按ESC键后输入:wq保存,使

    2024年02月13日
    浏览(35)
  • 【hadoop——Hive的安装和配置】保姆式教学

      目录 一.Hive的安装和配置 1.Hive并不是hadoop自带的组件,因此我们需要去下载hive,此次课我们使用hive 1.2.1版本,下载地址为: 2.下载完成之后,安装包默认保存在下载文件夹中,解压安装包apache-hive-1.2.1-bin.tar.gz至路径 /usr/local,命令如下: 3.然后切换至目录 /usr/local,将文

    2023年04月22日
    浏览(30)
  • nginx本地服务器的搭建(保姆式教学)

    1.1 静态资源访问(功能1) 前端项目在进行服务器部署的时候,如果基于tomcat则不能满足并发的需求,因此我们需要一种能够处理更高并发的适用于静态资源的服务器 1.2 代理服务器-负载均衡(功能2) 当微服务端口号比较多的时候这时候可以用到nginx做代理服务器-负载均衡

    2024年02月09日
    浏览(30)
  • Flutter Android 打包保姆式全流程 2023 版

    大家好,我是 17。 Flutter 打包的文章一共有两篇 Flutter Android 打包保姆式全流程 2023 版 Flutter IOS 新建打包发布全流程 2023 版 本篇介绍 Android 的打包全流程。 为什么要写这篇文章呢?对于一没有 android 开发经验,从未有过打包经历的新人来说,要想成功打包,是很困难的。因

    2023年04月08日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包