1.用遍历找约数时,只用找到平方根,判断条件用检测变量的平方比较快速。

2.找素数,可以定一个变量为0,写一个if语句,令其等于1,若最后,没有变,则说明没有进入过if,这是标记!

3.逻辑运算符:与&&,或||,非!;经常用于写复杂的循环或控制条件,注意仔细阅读;非!的优先级与++一样,&&高于||,但两者都低于关系运算符。C语言对&&左边判定为假后,就不会再检测右边是否正确,所以不要在右边写除了判断以外的其他操作。

4.条件运算符?::  x=(y<0)?-y:y意思是:若y<o,x=-y;若y>0,x=y.可以用来在打印时确定打啊,或者b。

5.continue:跳过本次迭代,进入下一次循环,对while直接测试下一次条件,对for会进行递增后再检测条件。

6.break:跳出包含其的最近一层循环,对while和for的作用一样

7.switch(){   //此处的括号内只能是int类型,常量或整型常量表达式。

case     : ;  //属于多重标签,写数字或者 ' 字母 ';每层标签后记得break;。

default :  ;}

8.

while(getchar() ! = ' \n ')       //跳过剩余字母或其他,类似可以跳过空格;

continue;

9.switch和if else的选择:switch不接受浮点型,不接受大范围,但运行速度快。

10.少用:go to语句:goto 变量名;……;变量名:  ;会显得代码很混乱,仅仅用于跳出全部循环。

11.补充一下几个<ctype.h>包含的函数,感觉很好用。字母:isalpha();数字:isdigit();空格:isblank();空白:isspace();小写:islower();大写:isupper();标点:ispunct();返回小写值:tolower();返回大写值:toupper()。

复习题10(有点有趣记录一下)

#include <stdio.h>
int main(void) {
    char ch;
    while ((ch = getchar()) != '#') {
        while (ch != '\n') {
            printf("Step 1\n");
            while (ch !='c'&&ch !='b'&&ch !='h') {
                printf("Step 2\n");
                break;
            }
            if (ch == 'h')
                printf("Step 3\n");
            break;
        }
        if (ch == 'b')
            break;
    }
    printf("Done\n");
    return 0;
}

编程练习7.9

#include <stdio.h>
int main(void) {
    int a, def, num;
    while((scanf("%d",&a)==1)&&a>0) {
        if(a==2){
            printf("2 ");
                break;
        }
        else if(a<2)
            break;
        else {
            printf("2 3 ");
            for(num=4; a>=4&&num<=a; num++) {
                for(def=2; def*def<=num; def++) {
                    if(num%def==0)
                        break;
                }
                if(def*def>num)
                    printf("%d ",num);
            }
        }
        if(num>a)
            break;
    }
    return 0;
}

if else 部分可以换成switch,但也不是很简化。不调用函数的情况我只能这么写了。

7.12

#include <stdio.h>
#define APRICE 2.05
#define BPRICE 1.15
#define CPRICE 1.09
int main(void) {
    char ch;
    float acont,bcont,cont,ccont,scont,sum,ssum,sdel;
    acont=bcont=ccont=0.0;
    printf("Enter a to buy artichokes, b for beets, ");
    printf("c for carrots, q to quit: ");
    ch=getchar();
    while(ch!='q'){
        printf("Enter the number you need:");
        scanf("%f",&cont);
        switch(ch){
            case 'a':acont+=cont;break;
            case 'b':bcont+=cont;break;
            case 'c':ccont+=cont;
            default :break;
        }
        printf("Enter a to buy artichokes, b for beets, ");
        printf("c for carrots, q to quit: ");
        while(getchar()==' ')
            continue;
        scanf("%c",&ch);
        printf("%c",ch);
    }
    scont = acont+bcont+ccont;
    sum = acont*APRICE+bcont*BPRICE+ccont*CPRICE;
    if(scont<=0)
        sdel = 0.0;
    else if(scont<=5)
        sdel = 6.5;
    else if(scont>20)
        sdel = 14+((int)scont+1-14)*0.5;
    else
        sdel = 14;
    if(sum>=100)
        ssum=sum*0.95+sdel;
    else
        ssum=sum+sdel;
    printf("洋蓟的单价是%3.2f,甜菜的单价是%3.2f,胡萝卜的单价是%3.2f\n",APRICE,BPRICE,CPRICE);
    printf("买了%4.2f磅的洋蓟,买了%4.2f磅的甜菜,买了%4.2f磅的胡萝卜\n",acont,bcont,ccont);
    printf("所订洋蓟的价格是%7.2f,甜菜的价格是%7.2f,胡萝卜的价格是%7.2f\n",
    APRICE*acont,BPRICE*bcont,CPRICE*ccont);
    printf("蔬菜的总费用是%7.2f美元\n",sum);
    if(sum>=100)
        printf("折扣是%7.2f美元\n",sum*0.05);
    printf("包装和运费一共%7.2f美元\n",sdel);
    printf("所有的费用总额是%7.2f美元",ssum);
    return 0;
}

学到了一个快捷键:Ctrl+shift+A,可以让整段代码规范缩进

C Primer Plus第七章:控制相关推荐

  1. C++ Primer Plus 第七章编程题练习

    C++ Primer Plus 第七章编程题练习 第一题 题目描述 编写一个程序,不断要求用户输入两个数,直到其中的一个为0.对于每两个数,程序将使用一个 函数来计算它们的调和平均数,并将结果返回给m ...

  2. 第六章—身份认证、第七章—控制访问

    第六章 身份认证 身份认证概述:证实主体的真实身份与其所声称的身份是否相符的过程,是用户对资源访问的第一道关卡,是访问控制和审计的前提. 身份认证 (1)认证系统组成:认证服务器.认证系统用户端软件. ...

  3. 第七章 控制PL/SQL错误

    一.错误控制一览 在PL/SQL中,警告或错误被称为异常.异常可以是内部(运行时系统)定义的或是用户定义的.内部定义的案例包括除零操作和内存溢出等.一些常见的内部异常都有一个预定义的名字,如ZERO_ ...

  4. C++学习之路(六),C++primer plus 第七章 函数--C++的编程模块

    第 7 章 函数---C++的编程模块 本章内容包括: 函数基本知识. 函数原型. 按值传递函数参数. 设计处理数组的函数. 使用 const 指针参数. 设计处理文本字符串的函数. 设计处理结构的函 ...

  5. c++ primer练习题 第七章 类 (Class)

    练习7.1 使用2.6.1节定义的Sales_data类为1.6节的交易处理程序编写一个新版本. 解: #include <iostream> #include <string> ...

  6. 【C++ primer】第七章 函数-C++的编程模块

    1,函数的基本知识        C++对于返回值的类型有一定的限制:不能是数组,但可以使其他任何类型,甚至可以使结构和对象.        有趣的是,虽然数组不可以作为返回对象,但是数组可以作为结构 ...

  7. C PRIMER PLUS第七章11题

    ABC邮购杂货店出售的洋蓟售价为2.05美元/磅,甜菜售价为1.15美元/磅,胡萝卜售价为1.09美元/磅.在添加运费之前,100美元的订单有5%的打折优惠.少于或等于5磅的订单收取6.5美元的运费和 ...

  8. C primer plus 第七章 练习7:编写程序,要求输入一周的工作小时数,然后打印工资总额,税金以及净工资。

    #include<stdio.h> void main(){double cash,time1,time2,s,j;//工资,正常工作时间,加班时间,税金,净工资. printf(&quo ...

  9. 描述性物理海洋学--第七章学习笔记

    第七章学习笔记--海洋环流的动力过程 不稳定理论 判别方法: 大尺度不稳定 中尺度不稳定 控制方程 地流动力学参数 近似简化 正斜压海洋 基本洋流 地转流 风生Ekman 环流 上升流 朗缪尔环流 惯 ...

最新文章

  1. LeetCode简单题之长度为三且各字符不同的子字符串
  2. COLING 2020 | 面向机器阅读理解的双向认知思维网络
  3. 活动目录实战系列七(降级主DC为成员服务器)
  4. 战双帕弥什显示服务器满员,战双帕弥什星火和信标服务器有何区别
  5. (一)MySQL优化之索引优化
  6. php时间截取日期,php中肿么获取给定时间中的日期部分
  7. C++ 字节序测试代码
  8. “/etc/profile“ 无法保存 E212: Can‘t open file for writing
  9. 360浏览器不能打开CSDN登陆页面
  10. stc15f2k60s2单片机控制led流水灯
  11. 算法高级(21)-如何通过IP地址进行定位?
  12. 中病毒了文件夹变exe文件找到方法
  13. 为什么学python?怎么学?怎样算学会?
  14. k8s修改默认命名空间
  15. oracle视图转换为mysql视图_oracle视图迁移到mysql
  16. redis实战(12):Redis性能监控指标汇总
  17. 『P3610-2MIC』XMOS USB 双麦阵列板
  18. Struts2 S2-016/S2-017 命令执行带回显、看web路径、getshell e...
  19. 金蝶EAS DEP脚本(4)—— 控件常用脚本之设置F7默认值
  20. Android studio+SQLCipher加密SQLite数据库的几个坑

热门文章

  1. [第五章] 深入理解计算机系统第三版 家庭作业参考答案
  2. 房产税,抑制高房价的最后稻草?
  3. idea回退操作reset、revert
  4. Linux系统磁盘空间不足解决办法
  5. 学计算机前端技术学院,百度前端技术学院(任务)
  6. centos 7下安装php,centos7下安装php7
  7. 深度学习 英文 训练阶段_深度学习英语单词才是王道丨6步就搞定!
  8. 51nod 2075 图书管理员
  9. Mybatis——mapper.xml中常用的SQL相关标签简介
  10. 累了,困了,来看“MySQL”,让你梦回吹角连营