zoukankan      html  css  js  c++  java
  • 第二次博客作业

    PTA分数

    本章所学内容

    switch语句

    一种用于多分支选择的switch语句, 其一般形式为:
    switch(表达式){
    case 常量表达式1: 语句1;
    case 常量表达式2: 语句2;

    case 常量表达式n: 语句n;
    default: 语句n+1;
    }
    其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。C语言还提供了一种break语句,专用于跳出switch语句,break 语句只有关键字break,没有参数。

    在使用switch语句时还应注意以下几点:

    1. 在case后的各常量表达式的值不能相同,否则会出现错误。
    2. 在case后,允许有多个语句,可以不用{}括起来。
    3. 各case和default子句的先后顺序可以变动,而不会影响程序执行结果。
    4. default子句可以省略不用。

    for循环结构

    for 循环的一般形式为:

    for(表达式1; 表达式2; 表达式3)
    {
        语句块
    }
    

    它的运行过程为:

    1. 先执行“表达式1”。

    2. 再执行“表达式2”,如果它的值为真(非0),则执行循环体,否则结束循环。

    3. 执行完循环体后再执行“表达式3”。

    4. 重复执行步骤 2) 和 3),直到“表达式2”的值为假,就结束循环。

    上面的步骤中,2和 3是一次循环,会重复执行,for 语句的主要作用就是不断执行步骤 2 和 3)。

    while循环结构

    while循环的一般形式为:

    while(表达式)
    {
        语句块
    }
    

    先计算“表达式”的值,当值为真(非0)时, 执行“语句块”;执行完“语句块”,再次计算表达式的值,如果为真,继续执行“语句块”……这个过程会一直重复,直到表达式的值为假(0),就退出循环,执行 while 后面的代码。

    我们通常将“表达式”称为循环条件,把“语句块”称为循环体,整个循环的过程就是不停判断循环条件、并执行循环体代码的过程。

    do while循环语句

    do...while循环的语法是:

    do
    {
       statement(s);
    
    }
    while( condition );
    
    注意,条件表达式出现在循环结束,所以在循环语句(多个)执行一次前的状态进行测试。
    
    如果条件为真,控制流跳回起来做,并在循环语句再次执行,重复这个过程,直到给定的条件为假。
    

    本章的学习体会

    一些结构,语句看起来很简单,但是遇到真正的题目就会搞不懂,很多题目知道它该用什么语法和结构,但还是无从下手,大部分原因是我自己代码量不够,基础不好。

    PTA实验作业

    前天是哪天

    这道题目我还没有做对,请教了室友,室友提供了一些思路,但是还是编译错误。

    我所写的代码




    12——24小时制

    #include<stdio.h>
    int main()
    {
    	int hour, minutes;
    	scanf("%d:%d", &hour, &minutes);
    	if(hour==24&&minutes==0)
    	{
    		hour = 0;
    		printf("%d:%d AM", hour, minutes);
    	}
    	else if (hour == 12 && minutes == 0)
    	{
    		printf("%d:%d PM", hour, minutes);
    	}
    	else if (hour == 12)
    	{
    		printf("%d:%d PM", hour, minutes);
    	}
    	else if (hour > 12)
    	{
    		hour = hour - 12;
    		printf("%d:%d PM", hour, minutes);
    	}
    	else
    	{
    		printf("%d:%d AM", hour, minutes);
    	}
    	return 0;
    }
    

    单步调试


    对于这道题目,他确实很简单,但刚开始我还是出现了一些问题。

    int main()
    {
    	double x;
    	double y;
    	scanf("%lf", &x);
    
    	if (x == 0)
    	{
    		y = 0;
    	}
    	else
    	{
    		y = 1 / x;
    	}
    	printf("f(%.1f) = %.1f
    ", x, y);
    	return 0;
    }
    
    1. 一直以为x是整数型,一直用的int,调试了两遍才知道。
    2. 在输出语句中f(%.1f) = %.1f,写成了f(x) = %.1f。
    3. else语句后面不需要写条件。
  • 相关阅读:
    linux-CPU和核概念
    Nginx学习——location+proxy_pass左斜杠问题彻底弄清
    es概念一句话简介和注意点
    es-字段类型整理(6.x及以上)
    Nginx学习——location和rewrite
    Nginx学习——proxy_pass
    Nginx学习——简介及常用命令
    第三方接口调用异常补偿机制实现实例记录
    postgres日志爆盘处理方案-转自DBA汪x
    Xshell连接本地 Virtualbo Ubuntu
  • 原文地址:https://www.cnblogs.com/yang123789/p/13946404.html
Copyright © 2011-2022 走看看