linux下的c语言入门-day4

2024-05-20 20:08
文章标签 语言 linux 入门 day4

本文主要是介绍linux下的c语言入门-day4,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

之前复习了以便循环的只是概念,还是打算把他给写出来。


for循环一般用于计算循环的次数,在该循环中控制变量的值在每次迭代时递增或递减指定的值i,知道到达某个最终值为止。


while循环只要给定的条件是true就继续执行。如果循环条件在循环语句一开始就是false的,循环语句就根本不执行。


do while循环类似于while循环,但其循环条件在循环语句块执行后检查。因此循环语句块至少会执行一次。


再次记录一下编程的规则:

1.开始编程之前,先规划好过程和计算的逻辑,将它写下来最好,采用流程图的形式。试着从侧面思考,这也许比直接的方法更好。


2.要理解运算符的优先级,以正确计算复杂的表达式。如果不能确定运算符的优先级,就应该使用括号,确保表达式完成预期的操作。


3.要有给程序加上注释的习惯,全面解释他的使用和操作。要假设这些注释是方便给别人阅读这些程序,并加以扩展。声明变量时应该说明他们的应用。


4.程序的可读性是最重要的。


5.使用缩进格式,留出适当的空位,不让太挤,可视化的表达出程序的结构。


这里最后有个simon游戏,但是始终无法让数字显示在屏幕上。但是整体的逻辑还是理解的

#include#include#include#include#includeint main() { char another_game = 'Y'; bool correct = true; int counter = 0; int sequence_length = 0; int seed = 0; int number = 0; long now = 0; int time_taken = 0; int i =1; printf("\n To play simple simon, "); printf("watch the screen for a sequence of digits."); printf("\n Watch carefully, as the digits are only displayed for second!"); printf("\n The computer will remove them, and then prompt you"); printf("to enter the same sequence."); printf("\n When you do, you must put spaces between the digits.\n"); printf("\n Good luck!\npress enter to play\n"); scanf("%c", &another_game); do { correct = true; counter = 0; sequence_length = 2; time_taken = clock(); while(correct) { sequence_length += counter++%3 ==0; seed = time(NULL); now = clock(); srand((int)seed); for(i = 1; i <= sequence_length; i++) printf("%d", rand() % 10); for( ; clock() - now < CLOCKS_PER_SEC; ); printf("\r"); for(i = 1; i <= sequence_length; i++) printf(" "); if(counter == 1) printf("\n Now you enter the sequence - do not forget the spaces\n"); else printf("\r"); srand(( int)seed); for(i =1; i <= sequence_length; i++) { scanf("%d", &number); if(number != rand() % 10) { correct = false; break; } } printf("%s\n", correct ? "Correct!" : "Wrong!"); } time_taken = (clock() - time_taken) / CLOCKS_PER_SEC; printf("\n\n Your score is %d", --counter * 100 / time_taken); fflush(stdin); printf("\n Do you want to play again (y/n)? "); scanf("%c", &another_game); } while(toupper(another_game) == 'Y'); return 0; } 
很多函数都具有自己的头文件,不要忘记申明了。

下一站,数组~

这篇关于linux下的c语言入门-day4的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/995945

相关文章

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Linux samba共享慢的原因及解决方案

《Linuxsamba共享慢的原因及解决方案》:本文主要介绍Linuxsamba共享慢的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux samba共享慢原因及解决问题表现原因解决办法总结Linandroidux samba共享慢原因及解决

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

Linux安装MySQL的教程

《Linux安装MySQL的教程》:本文主要介绍Linux安装MySQL的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux安装mysql1.Mysql官网2.我的存放路径3.解压mysql文件到当前目录4.重命名一下5.创建mysql用户组和用户并修

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

C语言中的数据类型强制转换

《C语言中的数据类型强制转换》:本文主要介绍C语言中的数据类型强制转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C语言数据类型强制转换自动转换强制转换类型总结C语言数据类型强制转换强制类型转换:是通过类型转换运算来实现的,主要的数据类型转换分为自动转换