Android实战开发课-第一次笔记

学习内容

  • 快速打字技巧

  • C和C++的区别

  • 程序开发的过程

  • #include和main函数介绍

  • printf和scanf的运用

  • 变量

  • 运算符

  • 问号表达式和逗号表达式

  • 工资实战

  • 年龄转换实战

一、快速打字技巧

手指的正确摆放位置

  • 左手
    小拇指:a q 1 z ctrl tab shift
    无名指:s w 2
    中指:d e x 3 4
    食指:f g r t c v 5 6
  • 右手
    小拇指:;p ‘【 】{ } - = enter / ?
    无名指:l o . 0
    中指:k i 8 9 ,
    食指:j h m n b u y 7

二、C和C++的区别

之前没学过C语言,只学过C++,来到这里又学习了C语言了,在之前个人认为C与C++的区别很小,基本上就是printf与scanf这点输出和输入的区别了,如果还有什么区别的话那就是要包含的头文件是不同的。比如在C++中,是#include<iostream>,而在C中#include<stdio.h>。在这里又学到一个面向的区别:

  • C是面向过程
  • C++面向对象(移植 复用)
    eg:上课
    C:找过程 小王,走进教室,拿出电脑,开始听东哥的课
    C++:找对象 谁上课 Teacher(姓名 身高 年龄 授课)->东哥
    谁来听 Student(姓名 身高 年龄 学号 选修课)->小王
    什么课 Subject (课程编号,课程名称)->Android开发
    哪里上Classroom(编号 座位数)->5405
    怎么上 Computer(。。。)->ASUS

三、程序开发的过程

1.写代码-文本编译器

#include<stdio.h>
int mian(){
printf("Hello World!");
return 0;
}

2.预编译->编译器(制定规则)
gcc -E test.c -o test.i
a.检查语法错误
b.展开

3.编译->高级语言转化为汇编代码
gcc -S test.i -o teat.s
a.检查语法错误
b.转化为汇编语言

4.汇编->把汇编代码转化为二进制数据
gcc -c test.s -o test.o
a.转化为目标文件

5.链接->把所有的目标文件链接为可执行的程序
gcc -o tset.o test

四、#include和main函数的介绍

1.#include

  • include -宏 用来导入头文件。如果系统已经提供某些功能的实现,只需要使用include将这些功能所在的头文件导入进来就可以了
  • < > 用来导入系统提供的类库,如:stdio.h stdlib.h math.h string.h
    " " 用来导入自己定义的头文件,如: calculate.h。
  • #include <stdio.h 编译器首先从系统的类库里面去查找这个头文件,如果没有,再到自己的文件中查找,否则报错。
  • #include "stdio.h" 编译器首先从自己的文件里面去查找这个头文件,如果没有,再到系统的类库中查找,否则报错。
    2.main函数
  • main(int argc, char** argv)函数 所有的程序的入口点都是main函数
  • int 函数返回值, 记录当前程序的运行状态
    0:正常结束 资源自由分配 ,非零:1 异常结束 没收资源。
  • int argc:参数个数, char*argv[ ]: 每个参数组成的字符串数组 。
  • 注释的应用://用来注释单行 /* 注释内容
    */ 用来注释多行

五、printf和scanf的运用

在调用printf与scanf的时候一定要包含#include<stdio.h>。

  • printf 的用法是:printf("格式控制字符串",输出参数一,输出参数二)。
    格式控制字符串包含:格式控制说明,普通字符。
    格式控制说明主要是按指定的格式输出数据,包含以%开头的格式控制字符,不同类型的数据采用不同的格式控制字符(int型用%d,float和double用%f)。
    普通字符就是在输出数据的时候,按照原样输出的字符,如:"jrs=%d,siu=%d\n"中的jrs=,siu=这些。
  • scanf 的用法是:scanf("格式控制字符串",输入参数一,输入参数二)。
    格式控制字符串包含:格式控制说明,普通字符。
    格式控制字符串表示输入的格式,(int型用%d,float用%f,double型用%lf)。
    普通字符:和上面谈到的printf的用法是一样的。
    输入的参数是变量的地址,所以要在变量前面加&,还有不要乱加东西到格式控制字符串中。
----------格式控制说明---------------------------------------------------------
%d 十进制有符号整数 
%u 十进制无符号整数 
%f 浮点数 
%s 字符串 
%c 单个字符 
%p 指针的值 
%e 指数形式的浮点数 
%x, %X 无符号以十六进制表示的整数 
%0 无符号以八进制表示的整数 
%g 自动选择合适的表示法 
---------一些特殊规定字符---------------------------------------------------------
\n 换行 
\f 清屏并换页 
\r 回车 
\t Tab符 
\xhh 表示一个ASCII码用16进表示, 
其中hh是1到2个16进制数 

六、变量

int 整型数据 1 2 3 4 5
long 长整型 容纳位数更多12344564646154
short 短整型
float 单精度浮点数 1.5 94.3
double 双精度浮点数 1.4
char 字符 'a' 'b'
string 字符串 "jack" "rose"
boul 布尔型 是、成立、真true 否、不成立、假false
输入符号的区别与运用:
1.int型的输入用%d;
2.long型的输入用%ld;
3.float型的输入用%f;
4.double型的输入用%lf;(输出时double型可用%f或%lf)
5.一个字符的输入用%c;
6.输入一个字符串用%s;
输出符号的区别与运用:
1.%d,以十进制输出一个整型值;
2.%o,以八进制输出一个整型值;
3.%x,以十六进制输出一个整型值;
4.%g,打印一个浮点值;
5.%c,打印一个字符;
6.%s,打印一个字符串;

七、运算符

+、-、*加减乘
/ 除 取整数部分 7/3=2
% 取余数部分 7%3=1
余数范围举例:x%5=范围0~4 x%51+50=范围50~100
&& 且 两个同时成立 1>2&&2>1 no
// 或 只要一个成立就可以 1>2&&2>1 yes
++ 自增 a++先判断后执行 ++a先执行后判断,--同理。

八、问号表达式和逗号表达式

  • 问号表达式又称为三目表达式
char c;
  if(3>1){
      c='y';
  } else{
      c='n';
  }

可转化为c=3>1?'y';'n';

  • 逗号表达式
    参数类型 参数=(表达式一,表达式二,表达式三 );
    只输出最右边的值
  int temp=20;
  int t2=(temp--,temp--,temp--);
  if(t2){
      printf("temp=%d\n",temp);//t1=17
      printf("t2=%d\n",t2);//t2=18        
  } 
  return 0;}

九、工资实战

/*题目:
    输入工资 计算税后工资
    <5000
    5k-8k   10%     
    8k-10k  15%   
    >10k    20% 
    例如  10000:salary=10000-(10000-8000)*0.15-(8000-5000)*0.1=9400  
*/
#include <stdio.h>
int main()
{
    float x;//税前工资
    float salary;//税后工资
    float tax; //税
    printf("请输入你的工资:");
    scanf("%f",&x);
    if(x>=10000)
        tax=(x-10000)*0.2+300+300;  
        else if(x>=8000&&x<10000)
            tax=(x-8000)*0.15+300; 
            else if(x>=5000&&x<8000)
                tax=(x-5000)*0.1;
                else tax=0;
                  salary=x-tax; 
    printf("你的税后工资是:%f\n",salary); 
    return 0; 
}

感悟:

  • 不要将C和C++混着用,容易出错并且不美观。
  • 方法有多种,但是总体思路是不变的。
  • 要学会举一反三。

十、年龄转化实战

#include <stdio.h>
int main()
{
    int age=0;
    //保存个位数
    char* gewei[]={"","one","two","three","four","five","six","seven","eight","eight","ten"}; 
    //保存10~19
    char* temp[]={"ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"} ;
    //保存十位
    char* shiwei[] = {"twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"};
    
    printf("你的年龄是");
    scanf("%d",&age);
    
    char *name;
    if(age<10){
        name=gewei[age];
    }else if(age>=10&&age<=19) {
        int index=age%10;
        name=temp[index];
    }else{
        int g=age%10;//个位 
        char* sString=shiwei[s-2];
        int s=age/10;//十位 
        char* gString=gewei[g];
        
        printf("you age is %s-%s\n",sString,gString); 
        return 0;//程序还没运行完提前结束,不出现下一个printf 
    } 
    printf("you age is %s\n",name);//  %s输出格式为字符串 

    return 0;
}

感悟:

  • 这个项目涉及到if语句、数组、指针的知识,其中,指针还不太熟练,需要再补补联系啊。
    -存在一个bug,输出的时候20~90之间的整十位输出时会带个小尾巴20-,需要单独将他们挑出来输出。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,470评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,393评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,577评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,176评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,189评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,155评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,041评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,903评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,319评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,539评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,703评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,417评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,013评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,664评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,818评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,711评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,601评论 2 353

推荐阅读更多精彩内容