实验1c语言开发环境使用和数据类型,运算符和表达式

news/2024/4/30 11:54:25/文章来源:https://www.cnblogs.com/mli-littlewith/p/16785845.html

1.试验任务1

(1)在垂直方向上打印两个字符小人的源代码,以及运行结果截图

 

\\在垂直方向上打印两个字符小人#include<stdio.h>
int main()
{printf(" o\n");printf("<H>\n");printf("I I\n");printf("\n\n");printf(" o\n");printf("<H>\n");printf("I I\n");return 0;
}

 

 

 

 

(2)在水平方向上打印两个字符小人的程序源代码,以及运行结果截图

//在水平方向上打印出两个字符小人
#include<stdio.h>
int main()
{printf(" o        o\n");printf("<H>      <H>\n");printf("I I      I I\n");return 0;
}

2.试验任务2


(1)

 

//在c开发环境下,编写,编译,运行一个简单的算术运算程序

#include<stdio.h>
#include<math.h>int main()
{double x,ans;scanf("%lf",&x);  //注意:对于使用scanf()函数从键盘输入一个值给定义好的变量而言,格式控制符必须用"%lf"而不能用"%f",但是用printf()输出该变量时格式控制符可以用"%f";ans = pow(x,365);printf("%.2f的365次方:%.2f\n",x,ans);return 0;
}

 

(2)

#include<stdio.h>
#include<math.h>int main()
{double x,ans;while(scanf("%lf",&x) != EOF) //EOF表示文件结束符,在while循环中以它作为文件结束标志//对于scanf("%lf",&x) != EOF 式子的理解,若x被成功读入那么该表达式的结果为1,若x没有被读入那么该表达式的值为0,如果遇到错误或者文件结尾或者ctrl + z那么该表达式的值为EOF//"ctrl + z"用于结束while循环,line7这样的写法常常用于多组数据的输入
{ans = pow(x,365);printf("%.2f的365次方:%.2f\n",x,ans);printf("%n");}return 0;}

(3)编写程序实现华氏温度和摄氏温度的转换

 

//摄氏温度和华氏温度的转换
#include<stdio.h>
int main()
{double F,C;while(scanf("%lf",&C) != EOF){F = 9 * C / 5 + 32;printf("摄氏温度c=%.2f时,华氏度f=%.2f\n",C,F);}return 0;
}

 

运行结果截图

 

 

3.试验任务3

(1)编写c程序利用等比数列求和公式求等比数列的前n项和

 

//用等比数列求和公式计算以下等比数列求和
#include<stdio.h>
#include<math.h>int main()
{unsigned a1 = 1,q = 2,n,sum;//将变量定义为int类型运行得不到正确结果,这是因为在计算机中int类型占4个字节,而运行结果超出了int类型可以表示的数据范围,把变量定义为unsigned,和double类型就可以运行得到正确结果//double sum;
scanf("%d",&n);sum = a1 * (1 - pow(q,n)) / (1 - q);printf("n=%u,sum=%u",n,sum);return 0;
}

 

 

此程序将变量定义为int类型输入32时运行得不到正确结果,这是因为在计算机中int类型占4个字节,而运行结果超出了int类型可以表示的数据范围,把变量定义为unsigned,和double类型就可以运行得到正确结果,当输入64时即使把变量定义为double和unsigned也得不到正确结果,原因和将变量定义为int类型类似

 

4.试验任务4

(1)改正程序中的语法错误学会正确的从键盘输入数据给scanf()函数

//改正程序中的语法错误

#include<stdio.h> 
int main() 
{double x,y;char c1,c2,c3;int a1,a2,a3;scanf("%d%d%d",&a1,&a2,&a3);printf("%d,%d,%d\n",a1,a2,a3);scanf("%c%c%c",&c1,&c2,&c3);printf("%c%c%c\n",c1,c2,c3);scanf("%lf,%lf",&x,&y);printf("%f,%lf\n",x,y);return 0;
}

运行结果截图

注意事项:对于从键盘输入字符型的数据scanf()函数会把回车,空格等字符当作有效字符处理,所以从键盘输入字符型数据给scanf()函数时需要特别注意字符之间不能有空格或者其它符号必须连续输入

5.试验任务5

(1)学会正确的从键盘输入数据给scanf()函数,尤其注意字符型数据和整形数据的混合输入

#include <stdio.h> 
int main() 
{ int age1, age2; char gender1, gender2; scanf("%d%c%d%c", &age1, &gender1, &age2, &gender2); printf("age1 = %d, gender1 = %c\n", age1, gender1); printf("age2 = %d, gender2 = %c\n", age2, gender2); return 0; 
}

运行结果截图

6.试验任务6

补全代码

 

//补全程序

#include <stdio.h> 
int main() 
{ char ans1, ans2; printf("每次课前认真预习、课后及时复习了没? (输入y或Y表示有,输入n或N表示没有) : "); ans1 = getchar(); // 从键盘输入一个字符,赋值给ans1 
    getchar(); // 思考这里为什么要加这一行。试着去掉这一行,看看对运行有没有影响。 
printf("\n动手敲代码实践了没? (输入y或Y表示敲了,输入n或N表示木有敲) : "); ans2 = getchar(); if ((ans1 == 'y' || ans1 == 'Y') && (ans2 == 'y' || ans2 == 'Y')) // 待补足,判断用户回答ans1和ans2都是小写y或大写Y printf("\n罗马不是一天建成的, 继续保持哦:)\n"); elseprintf("\n罗马不是一天毁灭的, 我们来建设吧\n");return 0;
}

 

7.试验任务7

(1)编译运行测试程序,实现人机互动

// 测试你是哪一类学习者 

#include <stdio.h> 
int main() 
{ int answer; char words[5000];printf("网课学习让一些人欢喜一些人忧.\n"); printf("1. 作为喜欢自学且自律的人,觉得这样很好. 有网络,自主学习,很ok.\n"); printf("2. 不喜,不喜,很不喜. 眼睛快瞎了. 脑壳有点卡...\n"); printf("3. 中间派. 不知道. 说不清.\n"); printf("4. 其它...\n"); printf("你的选择: ");scanf("%d", &answer);if(answer == 4) { printf("请补充说明你的想法: \n"); getchar(); // 这行代码为什么放在这里,如果去掉了,会怎么样? gets(words); // 从键盘输入你的想法,输完后,敲回车键 
    }printf("\n"); printf("当遇到问题时, 你会选择:\n"); printf("1. 遇到问题, 就解决问题。不懂的,搜索式学习,逐个攻破.\n"); printf("2. 遇到问题, 不高兴。然后,...,没有了.\n"); printf("3. 其它...\n"); printf("你的选择: "); scanf("%d", &answer); if(answer == 1) printf(":)\n"); else if(answer == 2) printf("这样不能解决问题啊...我们选择1好不好:)\n"); else if(answer == 3) { printf("请补充说明你的想法: \n"); getchar(); // 这行代码为什么放在这里,如果去掉了,会怎么样? gets(words); // 从键盘输入你的想法,输完后,敲回车键 
    }return 0;
}

运行结果截图

 

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

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

相关文章

【PMP学习笔记】第10章 项目沟通管理

【PMP学习笔记】第10章 项目沟通管理 什么是项目沟通管理? 让正确的信息在正确的时间通过正确的方式传递给正确的人,达到正确的效果。一、规划沟通管理规划沟通管理是基于每个相关方或相关方群体的信息需求、可用的组织资产,以及具体项目的需求,为项目沟通活动制定恰当的方…

基于SSM的网上餐厅管理系统

目 录 摘 要 I Abstract II 第一章 绪论 1 1.1研究背景及意义 1 1.2研究现状 1 1.3章节安排 2 第二章 相关技术说明 3 2.1 JSP(Java Server Page)简介 3 2.2 Spring框架简介 3 2.3 Spring MVC框架简介 5 2.4 MyBatis 框架简介 5 2.4 MySql数据库简介 6 2.5 Eclipse简介 6 2.6 T…

顺序表的实现

函数接口定义:顺序表描述的结构体为 typedef struct {ElemType *elem; //存储空间的基地址int length; //当前长度 } SqList;需要实现函数的接口分别为:int GetElem(SqList L, int i, ElemType &e) 顺序表的取值 判断i值是否合理,若不合理,返回0;[i-1]单元存储第i个数…

服务器开发26:Linux中线程和进程的联系与区别(游戏后端请和游戏思考10一起食用)

文章目录一、线程创建方法&#xff08;以redis举例&#xff09;1&#xff09;创建线程函数讲解2&#xff09;线程创建的标记二、内核中对线程的数据结构表示1&#xff09;task_struct具体定义2&#xff09;线程与进程的区别三、进程、线程创建过程及异同1&#xff09;进程创建(…

Oracle Form Builder 安装时遇到的问题记录

Oracle Form Builder 安装时遇到的问题记录 问题1&#xff1a;Checking operating system version: must be 5.0, 5.1 or 5.2. Actual 6.1 Checking operating system version: must be 5.0, 5.1 or 5.2. Actual 6.1 Failed <<<< 解决方法&#xff1a; 修改x:\ds…

JAVAEE多线程synchronized 优化过程

文章目录synchronized 优化过程一、锁升级/锁膨胀1. 偏向锁2. 轻量级锁3. 重量级锁二、锁消除三、锁粗化总结synchronized 优化过程 对于synchronized 1.既是乐观锁,也是悲观锁 2.既是轻量级锁,也是重量级锁 3.乐观锁的部分是基于自旋锁实现的,悲观锁的部分是基于挂起等待锁实…

springboot+jsp云课堂在线教育系统javaweb

“云课堂”在线教育系统是由高校学生依据兴趣爱好自愿组成&#xff0c;按照章程自主开展在线教育课程。“云课堂”在线教育系统是实施素质教育的重要途径和有效方式&#xff0c;在加强校园文化建设、提高学生综合素质、引导学生适应社会、促进学生成才就业等方面发挥着重要作用…

【23种设计模式】组合模式(Composite Pattern) .Net Core实现

文章目录需求变更我们应该怎么做?组合和单个对象是指什么呢?使用组合模式来设计菜单组合迭代器来源组合模式&#xff08;Composite Pattern&#xff09;&#xff0c;又叫部分整体模式&#xff0c;是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象&…

【服务器数据恢复】AIX环境下误删除逻辑卷的数据恢复方案

一、AIX存储层面相关的知识&AIX环境下LV误删除后的恢复方案。 对于AIX而言&#xff0c;PV相当于物理磁盘&#xff0c;一个VG由若干个PV组成&#xff0c;这让我们可以将容量不同的存储空间组合起来进行统一分配。AIX把同一个VG的所有PV按相同大小的存储颗粒&#xff08;PP&…

自制操作系统系列(二):软盘读取

代码仓库地址&#xff1a;https://github.com/freedom-xiao007/operating-system 简介 在上一篇中&#xff0c;我们使用汇编编写了一个直接显示hello的程序&#xff0c;接下来我们继续探索如果使用汇编读取软盘数据 软盘数据读取准备 在上一篇中&#xff0c;我们使用nasm将…

让运维化繁为简,云原生可观测平台 Alibaba Cloud Lens 正式发布

9 月 28 日&#xff0c;阿里云正式推出云产品可观测平台 Alibaba Cloud Lens&#xff08;Lens 透镜&#xff0c;意为洞察细微变化&#xff09;&#xff0c;从成本、性能、安全、数据保护、稳定性、访问分析六个维度&#xff0c;为用户提供对存储类、网络类、数据库类等云产品的…

还在埋头敲代码?不妨学学设计模式,必能让你工作事半功倍

设计模式在开发中占很重要的地位&#xff1b;在大型项目中使用好设计模式往往会取得事半功倍的效果&#xff1b;下面就介绍下几种在开发中常用到的设计模式 装饰者模式(Decorator Pattern) 装饰者模式是在不必改变原类文件和使用继承的情况下&#xff0c;动态地扩展一个对象的…

中断系统:外部中断

中断系统&#xff1a;外部中断 实现功能 按下独立按键Key3&#xff0c;LED流水灯向右&#xff1b;按下Key4&#xff0c;LED流水灯向左。 单片机型号&#xff1a;STC89C52 硬件原理 中断系统就是当系统在进行一项工作时&#xff0c;需要终止这项工作&#xff0c;转而去执行另一…

Springboot复习

本笔记来自b站尚硅谷 文章目录SpringbootHelloWorld原理Value获取值和ConfigurationProperties获取值比较PropertySource 和 ImportResourceprofile自动配置原理整合日志指定配置全面接管SpringMVC启动流程自定义starterdev-toolsyml提示指标监控Springboot HelloWorld原理 配置…

Python函数练习题:通讯录管理程序实战案例

嗨害大家好鸭&#xff01;我是小熊猫❤ 好久没有整实战案例类文章辽 今天就来整一整~ 功能简介 实现一个通讯录管理程序&#xff0c;使用函数来实现程序&#xff0c;采用模块化的程序设计方法&#xff1a; 划分通讯录程序的功能模块&#xff0c;使用函数实现相应的功能首先…

数据湖-hudi概述

前言 数据湖是目前比较热的一个概念&#xff0c;许多企业都在构建或者计划构建自己的数据湖。 数据湖是一个集中式存储库&#xff0c;允许您以任意规模存储所有结构化和非结构化数据。您可以按原样存储数据&#xff08;无需先对数据进行结构化处理&#xff09;&#xff0c;并运…

nginx80转443

多了一个server&#xff0c;做了一个301的跳转 server { listen 80; server_name www.web1.com web1.com; &#xff08;这里是可写别名的&#xff0c;第二个是别名&#xff09; return 301 https://www.web1.com$request_uri; &#xff08;当别人访问80&#xff0c;让它转到…

智能网联-浅谈基于PKI的车联网应用服务安全

智能网联-浅谈基于PKI的车联网应用服务安全 面对车联网快速发展趋势&#xff0c;信息安全是一项必要的防护措施。车端应用数字证书可认证合法身份&#xff0c;保障数据加密通信&#xff0c;防止信息的泄露与攻击。基于PKI的车联网应用服务安全认证体系框架&#xff0c;从国家层…

Java多线程的创建与Thread类的方法及使用

Java多线程的创建与Thread类的方法及使用&#x1f34e;一.Thread类的属性与方法&#x1f347;1.1什么是线程&#x1f347;1.2Thread类的基础常见的构造方法&#x1f347;1.3Thread的常见属性&#x1f347;1.4Thread类常用的基础方法&#x1f34e;二.Java线程的创建&#x1f347…

6步搭建一个飞机大战游戏

摘要&#xff1a;本文以华为云软件开发平台DevCloud为例&#xff0c;展示飞机大战游戏开发的DevOps实践流程。DevOps实践 DevOps实践是一种开发、测试运维一体化的模式&#xff0c;其实践的外在表现一般包括了如代码仓库、构建、测试、发布、配置、监控等工具形成的一个完整的…