本周学习总结


本周学习总结

       本周是我们开始学习高级语言程序设计的第一周,选用的编程语言是C语言。面对着繁多的知识点朝我飞来,我还是十分头疼信心满满,相信自己学有所成。这门课的实践性非常强,光看课表却不刷题是完全不行的。因此,要在做题的过程中,了解、巩固相关知识。


导航:


输入与输出—在屏幕上显示"Hello World!"

实验1-1 -输入输出格式化控制 Hello World!

本题要求编写程序,输出一个短句“Hello World!”。

输入格式:

本题目没有输入。

输出格式:

在一行中输出短句“Hello World!”。

示例代码:

/*我是注释*/
#include<stdio.h>					    //编译预处理命令
int main()						    //定义主函数main
{
	printf("Hello World!");			            //调用printf()函数输出文字
	return 0;					    //返回整数 0,代表程序运行正常
}

看书了解printf( )函数后,强烈的好奇心驱使着我——那输入函数是什么呢?那就是scanf( )函数,同样在系统文件 stdio.h 中声明(书p27)。


简单数据处理

  1. 常量和变量
    数据有常量和变量之分,不能改变值的是常量,可以改变值的是变量。那么该如何声明一个变量:
    类型名   变量名
    Ps :  取名字的时候不能包含空格、类型名、标点符号和运算符等。

  2. 基本数据类型
    详见这里
  3. 算术运算
    运算符 + - * / %
    名称 模(取余)
    优先级


  4. 赋值运算
    变量  =   表达式;  //计算表达式的值,然后将其赋给“ = ”左侧的变量

实验2-2-7-表达式 整数四则运算

本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内

输入格式:

输入在一行中给出2个正整数A和B。

输出格式:

在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。

输入样例:

3 2

输出样例:

3 + 2 = 5
3 - 2 = 1
3 * 2 = 6
3 / 2 = 1

示例代码:

#include<stdio.h>
int main()
{
	int a,b;
	scanf("%d %d",&a,&b);
	printf("%d + %d = %d\n%d - %d = %d\n%d * %d = %d\n%d / %d = %d",a,b,a+b,a,b,a-b,a,b,a*b,a,b,a/b);// '\n' 是换行
	return 0;
}

接下来呢,咱想整个计算器,但又不想像上面那样把加减乘除全都来一次,只想输出我想要的,那这该怎么整呢?


分支结构

  1. 关系运算符
    运算符 < <= > >= == !=
    名称 小于 小于或等于 大于 大于或等于 等于 不等于
  2. if-else 语句
    一般形式为 : if ( 表达式 )
                              语句1;
                         else
                              语句2; 
  3.  switch 语句
    一般形式为:switch ( 表达式 ) {
                                 case 常量表达式1 : 语句段1; break;
                                 .....
                                 case 常量表达式n : 语句段n; break;
                                 default :                  语句段n+1; break;
                          }

                                                                  switch 流程图

L1-5【例3-5】 求解简单的四则运算表达式 (10 分)

输入一个四则运算表达式,输出运算结果,要求对除数为0的情况作特别处理。题目保证输入与输出均在双精度范围内。

输入格式:

输入在一行中依次输入操作数1、运算符、操作数2,其间没有空格,操作数的数据类型为实型。

输出格式:

在一行中输出表达式的运算结果,保留两位小数。

如果除法分母为0,则输出错误信息“Divisor can not be 0!”;如果输入了除加减乘除以外的非法运算符,则输出错误信息“Unknown operator!”。

输入样例1:

3.1+4.8

输出样例1:

7.90

输入样例2:

98/0

输出样例2:

Divisor can not be 0!

输入样例1:

123%3

输出样例1:

Unknown operator!

示例代码:

#include<stdio.h>
int main()
{
     double a, b;
     char c;
     scanf("%lf%c%lf", &a, &c, &b);
     switch(c)
     {
          case '+':
               printf("%.2lf", a + b);
               break;
          case '-':
               printf("%.2lf", a - b);
               break;
          case '*':
               printf("%.2lf",a * 1.0 * b);
               break;
          case '/':
               if ( b < 0.0000001 )//浮点数精度问题
               {
                    printf("Divisor can not be 0!");
                    break;
               }
               printf("%.2lf", a * 1.0 / b);
               break;
          default:
               printf("Unknown operator!");
               break;
     }
     return 0;
}

嗯,就是这样子。


但我还是不满意。这个计算器只能进行一次运算,如果我想进行多次运算,却不想连续编译运行程序该怎么办?

这之后就交给我的小组成员们解决吧!

@疯子眼里小丑最美
@echoesyy
@菻
@Stackoverflow#



有什么错误欢迎大家指出来,记得催更。 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM