学好嵌入式从每天做起加油!

总结:

今天学习了如何定义变量的细节处理,学到了不同类型的赋值运算,还有各种语句的具体形式和概念;同时还重点学习了输入输出的定义和类型,以及其中所用到的占位符的使用方法和细节。

 一、定义变量(起名字)

1.尽量用单词

  可以用单词或者用缩写形式

2.禁止用拼音

  拼音在程序中会给人一种很模糊的意思 增加了程序的可读难度

3.格式

  驼峰命名法:

  a.大驼峰 NewNumber  两个单词的第一个字母都为大写 看着更具层次感

  b.小驼峰 newNumber  第二个单词的第一个字母写成大写 在程序中更突出

  c.内核命名 New_Number  再两个单词中间加上下划线

注意:

  在整个程序编写中尽量使用一种命名法

二、赋值运算

一般要求:左右两边类型匹配

不同类型数据间混合赋值

a.高精度给低精度赋值 会出现精度丢失(损失:小数点后面位数变少) 低精度给高精度赋值 无影响

b.长类型给短类型赋值 会出现高位截断 (截断:短整型最多能放多少字节)只打印出低位数据

c.短类型赋值给长类型 会出现符号位扩展

  无符号位: 结果会在前面补零

  有符号位: 符号位扩展(最高位充当符号位)

    (1)最高位为0 则结果前面补0

    (2)最高位为1 则结果前面补1

拓展:

  输出中%d,%o,%#x都默认为有符号int型

三、语句

1.控制语句

如:if()

  {

  }else

        {

         }

2.函数调用语句

  如:printf("hello world");

3.表达式语句

  如:1+2 ;2+3;

4.空语句

 如: ;  // 空  (只有一个分号 程序无法识别)

5.复合语句

如:{

           多条语组合 一起 表达一个意思

       }

6.赋值语句

如:a=1;  num1=36;   (将一个数值或者字符赋值为一个被初始化的变量)

四、输入输出

  用过鼠标键盘将信息输入到计算器的(内存)中 再有由显示屏或外部显示器输出

注意:

1.c语言并不提供输入输出功能

  c语言中输入输出的语句都是通过标准库的调用实现的,比如我们常用的scanf、printf之类的都是编写好的库函数

2.我们用到的是已经写好的标准的输入输出库

  如我们常用的#include  这种类型的就是我们所用的库函数

3.三组函数

  a.单个字符输入输出
    getchar  //

int grtchar(void);  //  void  表示空类型

功能

  在键盘上获得一个单个字符  他有一个整形型的返回值  成功读到是时会返回从键盘输入第一个字符的ASSCII码

       putchar  //

int putchar(void);  //

功能

  向终端输出一个字符,把参数char指定的字符(无符号)写入到c的库函数中

  b.格式化的输入输出  *
    printf  // 
格式化输出函数

printf("格式控制字符串",输出列表);

格式控制字符串:

  %开头的成为占位符  只要不是占位符其他都是普通字符(原样输出)

  占位符 与 输出列表从左到右逐个匹配(如果占位符个数多余输出列表,多的输出随机值)

占位符:

//整型

%d: 是以有符号的十进制形式输出

%u:是以无符号的十进制形式输出

%x:是以十六进制形式输出

%o:是以八进制形式输出

//浮点数
%f:是以小数的形式输出 单数最多保留6位

%g:是以最简洁的形式输出 小数点后面的零位都会被省略

%e:是以科学计数法的形式输出

//字符

%c:是以字符的形式输出

%s:是以字符串的形式输出

辅助控制符

#:%[辅助控制符]x 输出十六进制的前缀

m(数字):输出宽度----默认右对齐;想要左对齐就在数字前加一个负号 如:%5d

.n(数字):控制输出小数的位数  在字符串里输出固定前多少位 如:%.3f

l  //  long型

ll  //long long型

h  // 短整型 指的是一半的意思  占两个字节  如%hc  只输出原来字符的一半  本来输出abcd 结果输出ab  在计算中本来要输出:

1111  0100  0010  0100  0000  结果输出:

         0100  0010  0100  0000  (刚好输出原来数据的低两位字节)

hh //  占一个字节

  注意:h和hh最后输出的结果也是有符号型 输出的结果的最高位为结果数值的符号

    scanf  //

格式:scanf(”格式控制字符串“,地址列表)

占位符:占了一个位置,将输入的数据,转换为 占位符指定的格式  放的地址指定的空间上 所使用的占用符同时也决定能识别字符的范围

//整型

%d: 将输入的数据转换为有符号的十进制形式

%u:将输入的数据转换为无符号的十进制形式

%x:将输入的数据转换为十六进制形式

%o:将输入的数据转换为八进制形式

//浮点数
%f:将读入的数据转换成小数的形式

%g:将读入的数据转换成简洁的形式 小数点后面的零位都会被省略

%e:将读入的数据转换成科学计数法的形式

//字符

%c:将读入的数据转换成字符的形式

%s:将读入的数据转换成字符串的形式

注意:

  1.参数一定要写取地址&

  2.多个数据输入时以空白符号作为分隔符(空格 回车 TAB)

  3.浮点数据输入时:

    dobule-------%lf

    int-------%d

    long------%ld

    long long------%lld

    (总结一句话就是类型要匹配)

  4.辅助控制符m(数字):输入m个字符操作结束 正常读入m个字符 超过m个字符 则值读满m字符

  5.scanf匹配结束条件:scanf ("%d%d%d",&a,&b,&c); 每个%d依次对应后面的字符 多一个字符的话 多余的不会读取 少一个字符的话 则%d会随机都除一个垃圾值

    a.空白符  b.指定宽度(%3d)  c.非法字符(特殊字符、字母)

  6.%c字符占位符:几乎可以识别键盘上的任何字符

注:一个空白符可以匹配任意多个空白符

    %*c:跳过一个字符项

作业:

学好嵌入式从每天做起加油!_第1张图片学好嵌入式从每天做起加油!_第2张图片

#include 
#include 

int main(void)
{
	double a,b,c,s,area;

	printf("输入三边长:\n");
	scanf("%lf %lf %lf",&a,&b,&c);

	if ((a+b)>c&&(a+c)>b&&(b+c)>a&&(a-b)

你可能感兴趣的:(算法,c语言)