【C语言】数组练习题分享
好久没记录(氵)博客了,今天记录一下昨天学习的数组练习题中的内容 数组练习题 [TOC] 昨天学习的练习题挺多的,下面只记录了几个我个人认为比较重要和典型的内容 (1)错误的引用数组 题目: 1int arr[10]={0}; 下面错误的引用方式是: A. arr[0]=1 B.arr[0]=5*2 C. arr[10]=2 D.arr[1]=arr[2]*arr[0] arr[10]代表数组中有10个元素,但是arr[10]的引用是下标,指第11个元素 这超出了数组10个元素的范围 答案是 C (2)数组中的逗号表达式 请问以下代码输出的结果是什么? 1234567#include<stdio.h>int main(){ int arr[]={1,2,(3,4),5}; printf("%d\n", sizeof(arr)); return...
【C语言】童年经典游戏-扫雷
想必屏幕前的你,肯定玩过windows XP系统自带的那个游戏,扫雷 回想当年,我根本没看懂这个游戏是怎么玩的 比起扫雷,三维弹球对我更有吸引力 跑题了 本篇博客就让我们一起来试试,如何通过C语言代码,制作出一个“扫雷游戏se” 1.游戏程序主函数 在编写这类游戏代码时,我们要用到的主函数基本是一致的 扫雷游戏的主函数和猜数字游戏的主函数相差很小 小白必学!简单的C语言应用==>猜数字游戏 123456789101112131415161718192021222324252627282930void menu()//简易目录{ printf("***************************\n"); printf("**** 1. play 0. exit*****\n"); printf("***************************\n");}int main(){ int input = 0; do { ...
【C语言】变量的作用域和生命周期
变量的作用域和生命周期 [TOC] 1.全局变量和局部变量 定义在代码块外部的是全局变量 定义在代码块内部的是局部变量 什么是代码块? 12345//这是代码快外部int main(){//这是代码块内部} 实际上用int main来演示是不太对的,实际使用的时候我们定义变量是在int main内部定义的 下面这个例子更加清晰明了 123456789int main(){ int i = 0;//这是代码块外部-i全局变量 for(i=0;i<10;i++) {//代码块开始 int j=0;//这是代码块内部-j局部变量 for(j=0;j<10;j++) }//代码块结束} 需要注意的是: 同一个变量a可以在全局,局部变量中间同时使用,局部变量优先 这里是指同时存在,同时使用,但不能同时定义 在局部的代码块中重新定义一个全局变量是错误的 下面这种形式就是 同时使用一个变量 123456789int main(){ int sz =...
【C语言】排序三个输入的数字
如何将输入的3个数字排序并打印出来 @[TOC] 承接上篇博客中输出数组内元素最大值的内容 本篇博客向大家分享如何将我们输入的三个数字进行大小排序并打印出来 1.scanf函数 1234567int main(){ int a = 0; int b = 0; int c = 0; scanf("%d%d%d", &a, &b, &c);} 既然需要输入,那就要用到scanf函数来接受我们输入的数字 要使用指针变量,因为这里的scanf需要改变我们的a,b,c scanf的头文件是 <stdio.h> 2.tmp盒子 相信大家在自己的学习中已经接触过使用tmp来进行大小比较的代码了 什么?没有? 那也没关系,基本实现的原理易懂的很! 123456if (a < b) { int tmp = a; a = b; b = tmp; ...
【C语言】如何产生数组最大值
产生数组最大值 @[TOC] 今日风和日丽,是个写(水 )博客的绝佳时机 和大家分享一串C语言中产生数组中的元素的最大值的代码 实现方式很简单,我们需要用到for循环和if语句 1234567891011121314151617#include <stdio.h>int main(){ int arr[] = { 1,2,3,4,5,6,7,8,9,10 };//数组初始化 int max = 0;//设置一个最大值 int i = 0; int sz = sizeof(arr) / sizeof(arr[0]);//计算数组元素个数 for (i = 0; i < sz; i++) { if (arr[i] > max) { max = arr[i]; } } printf("max = %d\n", max); return...
【C语言】冒泡排序
冒泡排序 @[TOC] 无内鬼,直入主题! 冒泡排序的思想核心是:比较两两相邻的元素,并且可能的话需要交换 说人话就是 把原本是9,8,7,6,5,4,3,2,1,0的数组 变成0 ,1,2,3,4,5,6,7,8,9 也可以把无序的数组排列为有序(从小到大or从大到小) 基本的流程如下图: 同时我们可以计算出,0·9这十个数字,重新排列完需要循环9次 也就是N个数字需要N-1趟的排列 代码实现 说完了原理,还是需要敲代码来实现 “老铁们int main return 0走一波!” 12345678#include<stdio.h>int main(){ int arr[] = { 9,8,7,6,5,4,3,2,1,0 };//排序为升序 - 冒泡排序 int sz = sizeof(arr) / sizeof(arr[0]); bubble_sort(arr, sz);//冒泡排序的自定义函数 return...
【方法分享】准大学生如何自学C语言
【方法分享】准大学生如何自学C语言 [TOC] 准大学生如何自学C语言 虽说现在已经接近我们最长的且无忧无虑的暑假的尾声 但我估摸着很多小伙伴还是和我一样整天摸鱼,不知不觉就浪费了一天 (其实只有我在摸鱼对吗,流下了不争气的泪水) 不扯这些没用的,进入今天的正题 本篇博客和大家分享一下我是如何自学C语言的,以及如何做学习笔记 学习方法各不相同,请以自身情况为准 一、找寻一个优质教学视频 好的教学资源永远是我们学习的第一步! 在这里我建议以视频为主,书本为辅助 C语言的书籍繁多而杂,有很多热销书籍并非出自名门大家,有纰漏在所难免。作为初学者的我们肯定看不出这些纰漏,但它可能会把我们的学习引入死胡同。 视频同样也会有错误的地方,这也是为何我们需要寻找优质教学视频 在看视频的基础上,复以书本练习为辅助,方为学习妙计(个人观点) 在这里强烈推荐b站比特鹏哥的C语言教学视频...
【C语言】关机程序
不知不觉就摸了几天鱼,及时醒悟,开始码之前在goto语句中提到的关机小程序 @[TOC] 关机程序 在介绍这个程序之前,我们要了解win10系统的一些系统指令 windows系统指令 用win+r打开系统的运行框(这个从xp,win7到win10都有) 在弹出的运行框中输入shutdown -s -t 7200(后面跟着的数字是时间,单位是秒) 系统将在右下角提示你定时关机的时间,届时还会在定时关机时间提前60s提醒你要关机 想要取消定时关机,可以在运行中输入shutdown -a 定时关机就被取消了 了解了这个之后,我们就要知悉C语言中可以帮我们在系统的运行中输入指令的函数 system函数 首先,让我们在之前和大家分享过的网站cplusplus上查询该函数的定义 简单地说,这个函数就是来帮我们execute执行系统命令的。 同时,cpluscplus网站告诉我们:这个函数的头文件是stdlib.h 先写一个简单的关机程序来实操一下system函数 1234567#incldue <stdlib.h>int main(){ ...
【C语言】sizeof操作符
@[toc] sizeof操作符 上篇博客提到了一个知识点 【链接】 sizeof操作符括号内的表达式是不会真正计算的 这个是为什么呢? 我们先来看看sizeof的基本用法 基本用法 12345678910#include<stdio.h>int main(){ int a=10; printf("%d\n",sizeof(a)); printf("%d\n",sizeof(int)); printf("%d\n",sizeof a); return 0; } 打印结果为3个4 但当我们以这种方式书写的时候,编译器就会报错 1printf("%d\n",sizeof int); 在使用sizeof的时候,变量a的括号可以省略 但直接计算int的时候,括号不能省略 这说明sizeof是一个操作符,而不是函数 123int...
【C语言】goto语句
这是初识c语言的第五篇文章了 虽然看的人不多,但我不会放弃哒 毕竟这也是给我自己的一个学习记录,不想写日记就用这个代替了! goto语句 c语言中提供了可以随意使用的goto语句和标记跳转的标号 理论上来说,goto语句没什么必要,因为我们可以用whlie等循环语句来替代它 goto是类循环语句,其本身是关键字 goto语句在某些场景下用的到,如终止程序在某些深度嵌套的结构的处理过程,例如一次跳出两次或者多层的循环 这种情况下break达不到我们的目的。break只能从最内层循环退出到上一层的循环 goto语句真正适合的场景如下: 123456789101112for(...) for(...) { for(...) { if(disaster) goto error; } } ...error: ...