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

相关文章

从入门到精通C++11 <chrono> 库特性

《从入门到精通C++11<chrono>库特性》chrono库是C++11中一个非常强大和实用的库,它为时间处理提供了丰富的功能和类型安全的接口,通过本文的介绍,我们了解了chrono库的基本概念... 目录一、引言1.1 为什么需要<chrono>库1.2<chrono>库的基本概念二、时间段(Durat

Go语言中nil判断的注意事项(最新推荐)

《Go语言中nil判断的注意事项(最新推荐)》本文给大家介绍Go语言中nil判断的注意事项,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.接口变量的特殊行为2.nil的合法类型3.nil值的实用行为4.自定义类型与nil5.反射判断nil6.函数返回的

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

解析C++11 static_assert及与Boost库的关联从入门到精通

《解析C++11static_assert及与Boost库的关联从入门到精通》static_assert是C++中强大的编译时验证工具,它能够在编译阶段拦截不符合预期的类型或值,增强代码的健壮性,通... 目录一、背景知识:传统断言方法的局限性1.1 assert宏1.2 #error指令1.3 第三方解决

在Linux终端中统计非二进制文件行数的实现方法

《在Linux终端中统计非二进制文件行数的实现方法》在Linux系统中,有时需要统计非二进制文件(如CSV、TXT文件)的行数,而不希望手动打开文件进行查看,例如,在处理大型日志文件、数据文件时,了解... 目录在linux终端中统计非二进制文件的行数技术背景实现步骤1. 使用wc命令2. 使用grep命令

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

从入门到精通MySQL 数据库索引(实战案例)

《从入门到精通MySQL数据库索引(实战案例)》索引是数据库的目录,提升查询速度,主要类型包括BTree、Hash、全文、空间索引,需根据场景选择,建议用于高频查询、关联字段、排序等,避免重复率高或... 目录一、索引是什么?能干嘛?核心作用:二、索引的 4 种主要类型(附通俗例子)1. BTree 索引(

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文