Part1:

printf(),scanf()函数的用法

  1. /*
  2. C语言程序设计教程学习指导》p119 实验内容(2)
  3. 这是一个格式化输入输出函数及格式符使用练习
  4. 找出两处错误,修改并运行程序
  5. 为a1,a2,a3,c1,c2,c3,x,y输入数据,使得:
  6. a1=1,a2=2,a3=3,c1='a',c2='b',c3='c', x=1.5, y=2.5
  7. */
  8. #include <stdio.h>
  9. int main() {
  10. double x,y;
  11. char c1,c2,c3;
  12. int a1,a2,a3;
  13. scanf("%d%d%d",&a1,&a2,&a3);
  14. printf("%d,%d,%d\n",a1,a2,a3);
  15. scanf("%c%c%c",&c1,&c2,&c3);
  16. printf("%c%c%c\n",c1,c2,c3);
  17. scanf("%lf,%lf",&x,&y);
  18. printf("%lf,%lf\n",x,y);
  19. return 0;
  20. }

  

%d:按十进制整型输出

%f:用来输出实数,以小数形式输出,默认情况下保留小数点6位。

%c:用来输出一个字符。

%e:以指数形式输出实数。

%s:用来输出一个字符串。

%5d:表示按十进制输出数据,最小输出宽度为5个字符,右对齐,如果输出的数据小于5个字符,前补空格。如果超过5个字符,按实际数据长度输出。

%f:表示以double型格式输入或输出变量的值。

%.3f表示单精度浮点型,保留3位小数。

%lf表示双精度浮点型

%6.2f表示输出结果总共占6个字符,包含3位小数。

输入输出双精度类型数据的时候必须要用%lf

part4:

  1. /*
  2. switch语句使用示例
  3. 输入1,2,3...的不同整数,显示不同提示信息
  4. */
  5. #include <stdio.h>
  6. int main() {
  7. int level;
  8. printf("输入现在状态等级(1-5): ");
  9. scanf("%d",&level);
  10. switch(level) {
  11. case 1: printf("high翻了:)\n"); break;
  12. case 2: printf("low爆了:(\n"); break;
  13. default: printf("一言难尽,无法概括。。。\n");
  14. }
  15. return 0;
  16. }

 

 有break情形

无break情形

  1. /*
  2. switch语句使用示例
  3. 输入1,2,3...的不同整数,显示不同提示信息
  4. */
  5. #include <stdio.h>
  6. int main() {
  7. int level;
  8. printf("输入现在状态等级(1-5): ");
  9. scanf("%d",&level);
  10. switch(level) {
  11. case 1: printf("high翻了:)\n");
  12. case 2: printf("low爆了:(\n");
  13. default: printf("一言难尽,无法概括。。。\n");
  14. }
  15. return 0;
  16. }

  

不同之处:

有break的时候,程序跳出这一层的switch语句结构,转到其结构后面的语句执行,即输入1执行case1的语句,输入2执行case2的语句,不执行case1,

当没有break语句时,程序就会一直执行下去,直到遇到break语句或该switch结构结束。

part5:

简单编程小练习

  1. /*要求用户从键盘输入x(A,B,C,D之一),如果用户答案是'A',则输
  2. 出提示信息"Binggo, you are right~",否则,输出提示信息"
  3. try again~"。
  4. */
  5. # include <stdio.h>
  6. int main()
  7. {
  8. int ch;
  9. printf("输入字母'A'-'D' ");
  10. scanf("%c",&ch);
  11. switch(ch){
  12. case 'A': printf("Binggo, you are right~"); break;
  13. case 'B':
  14. case 'C':
  15. case 'D': printf("try again~"); break;
  16.  
  17. }
  18. return 0;
  19. }

  

用if语句编写

  1. /*要求用户从键盘输入(A,B,C,D之一),如果用户答案是'A',则输
  2. 息"Binggo, you are right~",否则,输出提示信息"
  3. try again~"。
  4. */
  5. # include <stdio.h>
  6. int main()
  7. {
  8. int ch;
  9. printf("输入字母'A'-'D' ");
  10. scanf("%c",&ch);
  11. if(ch=='A')
  12. printf("Biggo, you are right~");
  13. else
  14. printf("try again~");
  15.  
  16. return 0;
  17. }

  

总结与体会

输入函数scanf()中要有地址符&,格式符使用时要注意各格式符的意思不能乱用,而且要根据实际情况正确使用。

对于if语句的使用还有点不熟,难以正确定义变量,就part5我觉得用if语句比较简单,但是最初我是用switch语句,因为开始的时候用if语句时我只定义了变量ch

也没有提示输入,这点应该是我输入函数没有理解好,对于变量的输入也没有明确表示,还有一个经常犯的毛病就是字符型常量忘记加单引号。

if语句尚未理解透彻,还需多加练习。switch语句我觉得还没有完全理解透彻,有些细节性的东西还要多多练习。

第二次C语言实验的更多相关文章

  1. 第二次C语言实验报告

    #一.设计题目,设计思路,实现方法 ##设计题目 15-10 找最长的字符串,14-5 指定位置输出字符串,13-6 数组循环右移,12-5 查找指定字符,11-5 打印杨辉三角. ##设计思路 15 ...

  2. ytu 1998:C语言实验——删除指定字符(水题)

    C语言实验——删除指定字符 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 327  Solved: 211[Submit][Status][Web Boa ...

  3. 第二章 C语言编程实践

    上章回顾 宏定义特点和注意细节 条件编译特点和主要用处 文件包含的路径查询规则 C语言扩展宏定义的用法 第二章 第二章 C语言编程实践 C语言编程实践 预习检查 异或的运算符是什么 宏定义最主要的特点 ...

  4. SDUT 1177 C语言实验——时间间隔

    C语言实验——时间间隔 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Description 从键 ...

  5. 1993: C语言实验——最值

    1993: C语言实验——最值 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 1541  Solved: 727[Submit][Status][Web ...

  6. ytu 2002:C语言实验——单词统计(水题)

    C语言实验——单词统计 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 61  Solved: 34[Submit][Status][Web Board] ...

  7. ytu 1985:C语言实验——保留字母(水题)

    C语言实验——保留字母 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 136  Solved: 59[Submit][Status][Web Board] ...

  8. ytu 2029: C语言实验——温度转换(水题)

    2029: C语言实验——温度转换 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 12  Solved: 10[Submit][Status][Web B ...

  9. ytu 2011: C语言实验——找中间数(水题)

    2011: C语言实验——找中间数 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 212  Solved: 122[Submit][Status][Web ...

随机推荐

  1. LeetCode第十二题-将数字转化为罗马数字

    Integer to Roman 问题简介:将输入的int类型数字转化为罗马数字 问题详解:罗马数字由七个不同的符号表示:I,V,X,L,C,D和M 符号-数值 I - 1 V - 5 X -10 L ...

  2. [Harbor]Harbor简要介绍

    前一段时间写过一篇文章:[Kubernetes]CentOS7下搭建Harbor仓库,只是知道了如何搭建,但是对于背后的整体架构还不是太清楚,这篇文章就来讲讲. 默认情况下,Harbor运行起来后有如 ...

  3. Web从入门到放弃<2>

    <添加debug-toolbar> django现在1.11是必须这么做: pip install django-debug-toolbar 设置1: INSTALLED_APPS = [ ...

  4. 第三周 数据分析之概要 Pandas库数据特征分析

    数据的排序: 数据的基本统计分析 : 数据的累计统计分析: 数据的相关分析: 单元小结

  5. Python-Django-Djangorestframwork

    1 CBV源码分析(cbv和fbv) 1 在views中写一个类,继承View,里面写get方法,post方法 2 在路由中配置: url(r'^test/', views.Test.as_view( ...

  6. Emacs Org-mode 2 文档结构

    2.1 章节 org-mode用* 标识章节,一个* 代表一级标题,两个* 代表两级标题,以此类推.最多6颗星,也就是最多6级. 书写格式如下: * 标题一 ** 标题二 注意, * 后有空格.不同的 ...

  7. 使用Selenium+ChromeDriver登录微博并且获取cookie

    using OpenQA.Selenium;using OpenQA.Selenium.Chrome; public class GetSinaCookie { private static stri ...

  8. 微信小程序换皮肤,动态切换菜单栏和导航栏的样式,动态修改TabBar和NavigationBar

    在做微信小程序换皮肤的时候,需要动态修改菜单栏(TabBar)和导航栏(NavigationBar) 但是在小程序中它们的样式是写在app.json里面,而且app.json是静态编译,运行时哪怕你修 ...

  9. CodeForces 553E Kyoya and Train 动态规划 多项式 FFT 分治

    原文链接http://www.cnblogs.com/zhouzhendong/p/8847145.html 题目传送门 - CodeForces 553E 题意 一个有$n$个节点$m$条边的有向图 ...

  10. sql语句表连接删除

    DELETE 表1,表2FROM 表1 LEFT JOIN 表2 ON 表1.id=表2.id WHERE 表1.id=需要删除的ID