C:指针、数据类型、格式化输入输出、输入函数的坑点

指针、数据类型、格式化输入输出、输入函数的坑点

有时候我们迷茫的时候,坚持就是最好的选择。

1.指针的分类为什么很重要?

参考

答:因为指针会根据相应的类型取对应长度的数据,类型决定所取数据的长度。如果所取的类型错误,则取得的数据也会错误。所以写对指针很重要。

一个字节为8位。

2. 程序首部

//  main.m  当前文件的名称
//  Lesson01DataType   工程的名称
//
//  Created by XXX 15/7/23.   创建者
//  Copyright (c) 2015年. All rights reserved.  版权所有
//
//import 是导入系统的Foundation框架
#import <Foundation/Foundation.h>
//程序的入口
int main(int argc, const char * argv[]) {
    /*
     @autoreleasepool {
        // insert code here...
        NSLog(@"Hello, World!");
    }
    */
    //单行、多行注释。注释的作用就是解释说明
    return 0;
}

3.基本数据类型

整型{int 4字节、短整型 2字节、字符型 1字节、长整型 4或者8字节}  {char short  int long}

浮点型{单精度float 4byte   双精度double 8byte} 

ASCI表 方便查找 A-Z 65-90  ;a-z 97-122;0-9 47-58

字符型必须是单引号引起来的单个字母或者数字;

参考

4.常量、变量

常量就是程序运行期间不能被改变的量;变量就是在程序运行的期间可以被改变的量,实际上都是代表内存的一块存储空间;

变量的定义 :类型修饰符  变量名 =初始值;这里的“=”是将已存在的拷贝一份;赋初值的用处就是清零的作用,保证在使用的时候更加安全;

    //遇到赋值符号等号左右一定要有空格(规范)

5.初始化最好赋初始值、变量定义

 

    //定义三个整形变量初值为0(要养成好习惯,初始化的时候要赋值)
    int d = 0,e = 0,f = 0;
    int g,h,i = 5;这样仅仅将i赋值了,并没有为前两个赋值,所以最好一个一个赋值
    //变量定义的原则一般有4个
    //第一 只能由数字、字母、下划线、且不能以数字开头//第二 变量名不能够重名
    //第三 不能与系统的保留字、关键字重名
    //第四 见名知意,这是规范
//变量名第一个字母用小写,工程名第一个是大写,切一定要用英文
 

格式化字符串

C语言的函数声明与函数定义可以取不一样的名字,但是只要是正确的就可以,参考

6.运算符、与浮点小数的格式化输出

   //计算的结果占6位小数保留两位,不足的列以空格替代,从默认为从右至左排列,如果想从左向右的话在6前面加一个‘-’号
printf("%6.2f \n",3/0.2);//定义两个整形数计算加减乘除运算
int n=10,m=10;
printf("%d \n",n+m);

printf("%d \n",n-m);
    printf("%d \n",n*m);
    printf("%d \n",n/m);
    //取余运算只能使用整数对整数,只有整数才有取余运算
    printf("%d \n",n%m);
    //++运算在前,运算符在前先执行,就是变量先自增1,然后再参与变量的运算;++在后,则先参与运算,然后变量再自增1;
    //--运算在前,运算符在前先执行,就是变量先自减1,然后再参与变量的运算;--在后,则县参与运算,然后变量再自减1
//return后面的代码永远不能被编译,所以代码不要写到return后面

7.关于输入函数的坑点

//    表达式就是常量、变量与运算符的组合,表达式都会返回值。(例如:a;3;a-b;3+5;)
//    语句:程序中执行的最小单位,以分号结尾(例如:一个分号也是一个句子)
//    printf(“”);是个格式化输出函数。只要没有%的格式转换符的都会输出引号里面的内容
//    %d---int
//    %hd---short
//    %ld---long
//    %c---char
//    %f---float    %.nf---保留小数点n位  %m.nf---数字站m位而且小数点保留n位(且默认为右对齐,如果想左对齐再m前面加个’-‘)这里会出现四舍五入
//    %g---float double 会去掉小数点后多余的0
//    求result与a的值
//    result=a+++b; 就等于result=(a++)+b;以后遇到此问题先加小括号,++的优先级高于+的优先级
//    格式化输入函数scanf(),在输入函数之前需要先定义一个容器用来存放输入的数字//    getchar()是从缓冲区取出一个字符,这里是把回车字符取出
/* float f1; char c; printf("请输入一个浮点型数据:"); scanf("%f",&f1); printf("你刚才输入的浮点型数据是:\t%f\n",f1); printf("请输入一个字符型数据:"); getchar(); scanf("%c",&c); printf("你刚才输入的字符型数据是:\t %c \n",c); getchar(); float f2; char c1; printf("请分别输入一个浮点型数据、一个字符型数据:"); scanf("%f,%c",&f2); getchar(); scanf("%c",&c1); printf("你刚才输入的分别是\t%f,\t %c \n",f2,c1); */ /* int z; float fl; printf("请输入一个整数:"); scanf("%d",&z); printf("你刚输入的整数是:%d\n",z); // getchar(); // 对于整型与浮点型scanf()不会再从缓冲区里面取回车符 printf("请输入一个浮点数:"); scanf("%f",&f); // 这里在输入整数的时候输入一个C,C放到缓冲区域,再从缓冲区匹配不到与%d一致的类型,这时候就会回到刚开始给z赋值的那个数值,输出到控制台。这里没有赋值系统默认为0 */ /* // 从外部输入一个字符: 打印 char c2; printf("请输入一个字符:");//这里输入两个字符看结果 // getchar(); 从内存缓冲区取走一个字符 scanf("%c",&c2);//清除内存缓冲区的所有内容 printf("你刚输入的字符是: %c ",c2); // getchar(); rewind(stdin); char temp=0; printf("entable another: "); scanf("%c",&temp); printf("%c",temp); */ /* // 连续输入一个整数、字符、浮点数;并依次输出 char zz;int aa;float ff; printf("请连续输入一个整数、字符、浮点数:\n"); scanf("%d%c%f",&aa,&zz,&ff);
//scanf()函数里面怎么写后面的printf()函数就会怎么打印。如这道题要是输入的时候写上 12 j 12.4 与12f12.4输出的结果不一样,后者能正确输出。 printf("aa=%d,zz=%c,ff=%f",aa,zz,ff); // 有的字符在控制台上未必能够看到如:char g=0;printf("yy=%c",g); // char g=0;printf("yy=%c",g);
*/

绝对值函数的使用

if(fabs(H-h)<=3) //意思是如果H-h的绝对值不大于3则往下执行

转载于:https://www.cnblogs.com/benpaobadaniu/p/4669569.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值