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 ;
}
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 = ,e = ,f = ;
int g,h,i = 5;这样仅仅将i赋值了,并没有为前两个赋值,所以最好一个一个赋值
//变量定义的原则一般有4个
//第一 只能由数字、字母、下划线、且不能以数字开头//第二 变量名不能够重名
//第三 不能与系统的保留字、关键字重名
//第四 见名知意,这是规范
//变量名第一个字母用小写,工程名第一个是大写,切一定要用英文
C语言的函数声明与函数定义可以取不一样的名字,但是只要是正确的就可以,参考
6.运算符、与浮点小数的格式化输出
//计算的结果占6位小数保留两位,不足的列以空格替代,从默认为从右至左排列,如果想从左向右的话在6前面加一个‘-’号
printf("%6.2f \n",/0.2);//定义两个整形数计算加减乘除运算
int n=,m=;
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则往下执行
C:指针、数据类型、格式化输入输出、输入函数的坑点的更多相关文章
- C/C++知识总结 三 C/C++数据类型与输入输出
C/C++数据类型与输入输出 基本数据类型 输入与输出 复合数据类型(将在下几篇博客中总结) C/C++数据类型 数据类型总图 数据类型差别 数据类型不同的意义 1)指明数据的大小,以便正确分配,访问 ...
- [C++ Primer Plus] 第8章、函数探幽(一)程序清单——内联、引用、格式化输入输出、模板、decltype
程序清单8.1(inline内联函数) #include<iostream> using namespace std; inline double square(double x) {// ...
- numpy常用功能总结、python格式化输入输出
#coding:utf-8 #author:徐卜灵 ##################### #由于在各大公司笔试的时候总是会遇到一些格式化输入输出数据,今天就来总结一下. #结合numpy来处理数 ...
- C语言学习笔记---3.字符串格式化输入输出
1.C语言字符串 字符串(character string)是一个或多个字符的序列,例如:"Zing went the strings of my heart!" C语言没有专门用 ...
- C Primer Plus_第四章_字符串和格式化输入输出_编程练习
Practice 1.输入名字和姓氏,以"名字,姓氏"的格式输出打印. #include int main(void) { char name[20]; char family[2 ...
- C++格式化输入输出
要实现格式化输入输出,程序需要包含 iostreams 标准标头 <iomanip> 以定义几个各自采用单个参数的操控器. 备注: 其中每个操控器都返回重载 basic_istream&l ...
- c语言之字符串和格式化输入输出
字符串和格式化输入输出 #include<stdio.h> #include<string.h> #define DENSITY 62.4 int main(void) { f ...
- std::string格式化输入输出
在C语言中: C函数有sprintf函数, 比较方便, 但是需要知道所需要的内存空间是多少. 在C++的框架MFC中: 在MFC中CString 有Format函数来格式化字符串. 很方便. 难过的是 ...
- C语言------数据类型与输入输出
仅供借鉴.仅供借鉴.仅供借鉴(整理了一下大一C语言每个章节的练习题.没得题目.只有程序了) 文章目录 1 .实训名称 2 .实训目的及要求 3 .源代码及运行截图 4 .小结 1 .实训名称 实训2: ...
随机推荐
- 朴素贝叶斯(Naive Bayes)
1.朴素贝叶斯模型 朴素贝叶斯分类器是一种有监督算法,并且是一种生成模型,简单易于实现,且效果也不错,需要注意,朴素贝叶斯是一种线性模型,他是是基于贝叶斯定理的算法,贝叶斯定理的形式如下: \[P(Y ...
- (六)6.6 Neurons Networks PCA
主成分分析(PCA)是一种经典的降维算法,基于基变换,数据原来位于标准坐标基下,将其投影到前k个最大特征值对应的特征向量所组成的基上,使得数据在新基各个维度有最大的方差,且在新基的各个维度上数据是不相 ...
- 文件IO一些注意的地方
两个各自独立的进程各自打开同一个文件,则每个进程都有各自的文件表项.这是因为每个进程都有它自己对该文件的当前偏移量.但是对一个给定的文件只有一个v节点表项.lseek()只修改文件表项中的当前文件偏移 ...
- ORACLE执行计划 explain说明
ORACLE SQL优化工具系列之--EXPLAIN PLAN 对于oracle数据库来说,sql语句的优化可能是对性能提升最为明显的,当然对于DBA来说,也是挑战性比较大的.为了优化一个复杂的SQL ...
- Hadoop1.1.2伪分布式安装笔记
一.设置Linux的静态IP 修改桌面图标修改,或者修改配置文件修改 1.先执行ifconfig,得到网络设备的名称eth0 2.编辑/etc/sysconfig/network-scripts/if ...
- AutoCompleteTextView不能使用的问题
AutoCompleteTextView按照网络上的方法写之后不能使用 解决方法: android:layout_width="fill_parent" 而不能是wrap_pare ...
- Android Lock Screen Orientation
一些与屏幕有关的基础知识: //这个是手机屏幕的旋转角度 final int rotation = this.getWindowManager().getDefaultDisplay().getOri ...
- centos5.4_x64 red5 1.0安装部署
一.centos5.4_x64 默认安装后会集成jdk1.6 java -version 如果显示当前安装的版本号为1.6,则不需要再安装. 二.安装Red5 1.创建临时目录: cd /usr/lo ...
- 对人脑处理视觉的描述(摘《学习OpenCV(中文版)》)
人脑将视觉信号划分入很多个通道,将各种不同的信息输入你的大脑.你的大脑有一个关注系统,会根据任务识别出图像的重要部分,并做重点分析,而其他部分则分析得较少 .在人类视觉流中存在大量的反馈,但是目前我们 ...
- 33条C#、.Net经典面试题目及答案
33条C#..Net经典面试题目及答案[zt] 本文集中了多条常见的C#..Net经典面试题目例如".NET中类和结构的区别"."ASP.NET页面之间传递值的几种方式? ...