第二次C语言实验
Part1:
printf(),scanf()函数的用法
- /*
- C语言程序设计教程学习指导》p119 实验内容(2)
- 这是一个格式化输入输出函数及格式符使用练习
- 找出两处错误,修改并运行程序
- 为a1,a2,a3,c1,c2,c3,x,y输入数据,使得:
- a1=1,a2=2,a3=3,c1='a',c2='b',c3='c', x=1.5, y=2.5
- */
- #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("%lf,%lf\n",x,y);
- return 0;
- }
%d:按十进制整型输出
%f:用来输出实数,以小数形式输出,默认情况下保留小数点6位。
%c:用来输出一个字符。
%e:以指数形式输出实数。
%s:用来输出一个字符串。
%5d:表示按十进制输出数据,最小输出宽度为5个字符,右对齐,如果输出的数据小于5个字符,前补空格。如果超过5个字符,按实际数据长度输出。
%f:表示以double型格式输入或输出变量的值。
%.3f表示单精度浮点型,保留3位小数。
%lf表示双精度浮点型
%6.2f表示输出结果总共占6个字符,包含3位小数。
输入输出双精度类型数据的时候必须要用%lf
part4:
- /*
- switch语句使用示例
- 输入1,2,3...的不同整数,显示不同提示信息
- */
- #include <stdio.h>
- int main() {
- int level;
- printf("输入现在状态等级(1-5): ");
- scanf("%d",&level);
- switch(level) {
- case 1: printf("high翻了:)\n"); break;
- case 2: printf("low爆了:(\n"); break;
- default: printf("一言难尽,无法概括。。。\n");
- }
- return 0;
- }
有break情形
无break情形
- /*
- switch语句使用示例
- 输入1,2,3...的不同整数,显示不同提示信息
- */
- #include <stdio.h>
- int main() {
- int level;
- printf("输入现在状态等级(1-5): ");
- scanf("%d",&level);
- switch(level) {
- case 1: printf("high翻了:)\n");
- case 2: printf("low爆了:(\n");
- default: printf("一言难尽,无法概括。。。\n");
- }
- return 0;
- }
不同之处:
有break的时候,程序跳出这一层的switch语句结构,转到其结构后面的语句执行,即输入1执行case1的语句,输入2执行case2的语句,不执行case1,
当没有break语句时,程序就会一直执行下去,直到遇到break语句或该switch结构结束。
part5:
简单编程小练习
- /*要求用户从键盘输入x(A,B,C,D之一),如果用户答案是'A',则输
- 出提示信息"Binggo, you are right~",否则,输出提示信息"
- try again~"。
- */
- # include <stdio.h>
- int main()
- {
- int ch;
- printf("输入字母'A'-'D' ");
- scanf("%c",&ch);
- switch(ch){
- case 'A': printf("Binggo, you are right~"); break;
- case 'B':
- case 'C':
- case 'D': printf("try again~"); break;
- }
- return 0;
- }
用if语句编写
- /*要求用户从键盘输入(A,B,C,D之一),如果用户答案是'A',则输
- 息"Binggo, you are right~",否则,输出提示信息"
- try again~"。
- */
- # include <stdio.h>
- int main()
- {
- int ch;
- printf("输入字母'A'-'D' ");
- scanf("%c",&ch);
- if(ch=='A')
- printf("Biggo, you are right~");
- else
- printf("try again~");
- return 0;
- }
总结与体会
输入函数scanf()中要有地址符&,格式符使用时要注意各格式符的意思不能乱用,而且要根据实际情况正确使用。
对于if语句的使用还有点不熟,难以正确定义变量,就part5我觉得用if语句比较简单,但是最初我是用switch语句,因为开始的时候用if语句时我只定义了变量ch
也没有提示输入,这点应该是我输入函数没有理解好,对于变量的输入也没有明确表示,还有一个经常犯的毛病就是字符型常量忘记加单引号。
if语句尚未理解透彻,还需多加练习。switch语句我觉得还没有完全理解透彻,有些细节性的东西还要多多练习。
第二次C语言实验的更多相关文章
- 第二次C语言实验报告
#一.设计题目,设计思路,实现方法 ##设计题目 15-10 找最长的字符串,14-5 指定位置输出字符串,13-6 数组循环右移,12-5 查找指定字符,11-5 打印杨辉三角. ##设计思路 15 ...
- ytu 1998:C语言实验——删除指定字符(水题)
C语言实验——删除指定字符 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 327 Solved: 211[Submit][Status][Web Boa ...
- 第二章 C语言编程实践
上章回顾 宏定义特点和注意细节 条件编译特点和主要用处 文件包含的路径查询规则 C语言扩展宏定义的用法 第二章 第二章 C语言编程实践 C语言编程实践 预习检查 异或的运算符是什么 宏定义最主要的特点 ...
- SDUT 1177 C语言实验——时间间隔
C语言实验——时间间隔 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Description 从键 ...
- 1993: C语言实验——最值
1993: C语言实验——最值 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 1541 Solved: 727[Submit][Status][Web ...
- ytu 2002:C语言实验——单词统计(水题)
C语言实验——单词统计 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 61 Solved: 34[Submit][Status][Web Board] ...
- ytu 1985:C语言实验——保留字母(水题)
C语言实验——保留字母 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 136 Solved: 59[Submit][Status][Web Board] ...
- ytu 2029: C语言实验——温度转换(水题)
2029: C语言实验——温度转换 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 12 Solved: 10[Submit][Status][Web B ...
- ytu 2011: C语言实验——找中间数(水题)
2011: C语言实验——找中间数 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 212 Solved: 122[Submit][Status][Web ...
随机推荐
- LeetCode第十二题-将数字转化为罗马数字
Integer to Roman 问题简介:将输入的int类型数字转化为罗马数字 问题详解:罗马数字由七个不同的符号表示:I,V,X,L,C,D和M 符号-数值 I - 1 V - 5 X -10 L ...
- [Harbor]Harbor简要介绍
前一段时间写过一篇文章:[Kubernetes]CentOS7下搭建Harbor仓库,只是知道了如何搭建,但是对于背后的整体架构还不是太清楚,这篇文章就来讲讲. 默认情况下,Harbor运行起来后有如 ...
- Web从入门到放弃<2>
<添加debug-toolbar> django现在1.11是必须这么做: pip install django-debug-toolbar 设置1: INSTALLED_APPS = [ ...
- 第三周 数据分析之概要 Pandas库数据特征分析
数据的排序: 数据的基本统计分析 : 数据的累计统计分析: 数据的相关分析: 单元小结
- Python-Django-Djangorestframwork
1 CBV源码分析(cbv和fbv) 1 在views中写一个类,继承View,里面写get方法,post方法 2 在路由中配置: url(r'^test/', views.Test.as_view( ...
- Emacs Org-mode 2 文档结构
2.1 章节 org-mode用* 标识章节,一个* 代表一级标题,两个* 代表两级标题,以此类推.最多6颗星,也就是最多6级. 书写格式如下: * 标题一 ** 标题二 注意, * 后有空格.不同的 ...
- 使用Selenium+ChromeDriver登录微博并且获取cookie
using OpenQA.Selenium;using OpenQA.Selenium.Chrome; public class GetSinaCookie { private static stri ...
- 微信小程序换皮肤,动态切换菜单栏和导航栏的样式,动态修改TabBar和NavigationBar
在做微信小程序换皮肤的时候,需要动态修改菜单栏(TabBar)和导航栏(NavigationBar) 但是在小程序中它们的样式是写在app.json里面,而且app.json是静态编译,运行时哪怕你修 ...
- CodeForces 553E Kyoya and Train 动态规划 多项式 FFT 分治
原文链接http://www.cnblogs.com/zhouzhendong/p/8847145.html 题目传送门 - CodeForces 553E 题意 一个有$n$个节点$m$条边的有向图 ...
- sql语句表连接删除
DELETE 表1,表2FROM 表1 LEFT JOIN 表2 ON 表1.id=表2.id WHERE 表1.id=需要删除的ID