C基础第一天、

目录:

简单的操作指令:
(printf,scanf, \t, \n, getchar, putchar, ASLLCA码)
简单的运算符:
(+,-,*,/, %,++,--,)
简单的位运算符:
(|,$,~,^,<<,>>)
赋值运算符:
(=、+=、-=、/=、%=、|=)
关系运算符:
(>, <, =, !=, ==)
逻辑运算符
(&&,||,!)
简单的流程控制,初试 if 断语句,

正文

简单计算常识。
include <stdio.h>
int main()
/*
1.常量:不变的量
整数常量:1,2,3,4,5
字符常量:'a','h'
小数常量:1.2,1.0
字符串常量:"c" 它代表是两个字符,还有一个字符是'\0'
地址常量:0xffff ,每一个字节(存储单元)所对应的编号

 计算机内存组成的最小单位是字节,1Byte=8bit
 
 常量特性:
 1>不变
 2>常量不可以作为左值(左值:赋值运算符左边的值)

 2.标识符的命名规范
 1>硬性规范
 (1)只能由字母,下划线,数字构成
 (2)不能由数字开头
 (3)不能与C语言关键字相同
 
 2>建议规范
 (1)不能用拼音,多查字典
 (2)使用驼峰命名法,如numOfStudent
 (3)见名知义

 3.变量:可以改变的量
 整型变量:(整数变量)
 字符变量:
 实型变量:(小数变量)

 4.数据类型
 int:(interger)整数类型
 char:(character)字符类类型
 float:单精度浮点类型
 double:双精度浮点类型

 5.变量定义
 数据类型  变量名;
 
 注意点:
 1>变量在同一个代码块不能重名
 2>代码块是指:在同一个{}的区域内部
 3>变量定义出来可以不赋初值

 变量的定义
 int a;//代表将来这个a是一个存储整数常量的变量
 /变量的初始化
int b=4.8;
char ch;
char ch1='c';
float f1;
double f2=8.9;
printf:

%d:输出整数类型的数据
%f:输出浮点数
%c:字符类型
%p:输出变量在内存中所占的地址
%md:m是数字时表示空出几个符号位。
%mc:
%ld : ld 表示长整型。

float和double

如果是float 类型的数据,精确到7位,有些机器7~8位
如果是double类型的精确到16位,有些机器15~16位

转义字符:
\n:换行字符
\t:相当于一个tab键
char ch=‘c’ ;//字符类型实际上就是一个整数类型,

小端法:低位上的数存储在地址小的端口
大端法:低位上的数存储在地址大的端口
0x01:小端存储
系统机器的字节区------》网络上的字节序-------》系统机器的字节序

float a=123456789.0;
printf("a=%f\n",a);

double b=123456789012345678.0;
printf("b=%f\n",b);
//float 和 double 类型的有效小数位只有6位,float整数位可以保存8位,double整数位可以保存17位。

printf("%%%d\n",78);//打印的结果显示%78

char ch1=‘\0’ ;//空字符
char ch2='   ' ;
char ch3='0' ;
char ch4=‘A’ ;
cahr ch5='5' ;
//很重要需要熟记!
printf("ch1=%d\n ch2=%d\n ch3=%d\n ch4=%d\n ch5=%d\n",ch1,ch2,ch3,ch4,ch5);

ASIICA码表:
‘\0’ : 0
' 空格' :  32
' 0 ' :48
' A ' :65
' a ' :97
char ch=‘c’ ;//字符类型实际上就是一个整数类型

定义多个变量:
char ch1='c' ,cha2='  ' ,ch3=,ch4=等等。
scanf的基本用法:

scanf("%d",&a);//&a:是取某个变量的地址,scanf的用法就是将输入的值,通过地址找到地址所对应的存储单元,然后将值扔到存储单元里
可以同时输入多个变量
int a,b ;
scanf("%d%d",&a,&b)

注意点:
1>不要再scanf后面加\n
2>不要在scanf里面做太多的动作
3>scanf ""里面的类型,必须要跟后面变量的类型一致

int a;
scanf("%d",&a);//&a:是取某个变量的地址,scanf的用法就是将输入的值,通过地址找到地址所对应的存储单元,然后将值扔到存储单元里
printf(“a=%d\n”,a);

getchar:

getchar():从输入缓存流里面取出一个字符
//可以用来分割字符串前面的部分

putchar:

putchar(): c从输出缓存流里面拿一个字符输出到控制台

putchar 里面可以放置:字符变量,字符常量,整行变量

怎么拿出输入缓存流里面的换行符?(吸收回车残留)

1>getchar();
2>
char ch;
scanf ("%c",&ch);
3>getchar(stdion);//从输入缓存流里面拿出一个字符,stdin:标准输入流
//写的不完全,以后有待补全。

运算符:

计算机是以二进制存储数据,以数据的补码形式存储,以数据的原码形式输出。
在有符号当中(char): 字符变量-128的二进制就是1000 0000
最小值~最大值: -128~127
在无符号当中(unsigned char):字符变量
最小值最大值:0255
计算机会进行相同类型的计算,如果类型不同,计算机内部会进行一个隐形的转换。char ------》int ------》float -------》

强制类型的转换:(数据类型)变量或常量

注意点:强制类型转换不会改变 变量原本的数据类型

算术运算符:+ - * / % ++ --
int a=1,b=3;
int c=a/b;//+ - * / % 都可以使用
float c=a/b;
printf ("c=%f\n",c);

%:左右两边的数据类型必须是整数类型
++:前缀++ //等号左边数先自加 再赋给等号左边 后缀++//等号左边的数先赋给等号左边 自加
原码 反码

原码 :没什么好说的 //
反码:整数的反码与原码相同 负数的反码最高位符号位不变,后面依次取反,0变1,1变0.//
补码:在反码的基础上 加1.//

位运算符:

位或运算符 |: (只要有1就加1)

案例:
int a=7;
int b=8;
int c=a|b;
printf ("%d\n",c);

$ : 相同位的两个数字都为1,则为1;若有一个不为1,则为0。
~:按位取反
^ : 只要是不同就为1,
<< : 左移二进制数 以0补全

,>> : 有移二进制数 以符号位补全

3赋值运算符:

=、+=、-=、*=、/=、%=、|=、

4>逗号
5> ( )
6> (type)强制类型转换

案例:float f=5.75;
printf ("(int)f=%d,f=%f\n",(int)f,f);
//结果显示(int)f=5,f=5.75
(int)(x+y) 把x+y的结果强制转化为整型。

7> sizeof (数据类型/变量名)

用法:sizeof

8 >关系运算符

< >= <= == !=
关系运算符,所得的结果是一个逻辑值,在计算机当中,逻辑值分为0和1,如果这事实是真的,那么逻辑结果就是1,否则为0.

9>逻辑运算符

&&:并且 事件1并且事件2成立,逻辑才为1
||:或 事件1或事件2一个成立,逻辑就成立为1
 !:非 事件不成立的时候,整个运算结果为1
注意点:事件1&&事件2,当事件1不成立时,就不执行事件2,因为逻辑结果总为0
注意点:事件1||事件2,当事件1成立时,就没有必要执行事件2,因为逻辑成立结果总为1.

10>取变量地址运算符&:
int a;
scanf("%d",&a);
11.三部运算符:条件?语句1:语句2;

功能分析:如果条件成立,就执行语句1否则就执行语句2。
案例一:输入两个整数变量,求其最大值,并输出。
案例二:
案例三:输入三个整数,求其最大值,用三部运算符。
案例四:判断输入的字符,是否是大写字母?如果是大写字母转换成小写字母,并输出。

11>三大流程控制:

1 ) 顺序流程控制
2)选择流程控制
,,在计算机当中,如果指定逻辑值,如果为0,才会为假 其他都为真,非0即1
语法例子:
···if(条件)

,,,语句1;
}
else if(条件)
{
,,,语句2;
}
else{
,,,语句3;
}

,,条件成立 就执行{ }里面的语句
有if 就有else 否则 、和else if
注意点:
(1)else可有可无,如果有就必须在最下面。
(2)if 语句只能执行一条

练习:输入两个整数变量,交换两个变量的值,并打印出来。
自己试一试!

   输入两个整数变量,交换俩个变量的值,并打印出来
   int a,b;
   printf("输入两个数:");
   scanf("%d%d",&a,&b);
   printf("交换之前a=%d,b=%d\n",a,b);
   int temp=a;
   a=b;
   b=temp;
   printf("交换之后a=%d,b=%d\n",a,b);
   
   2>输入两个整数变量,求其最大值,并输出
   
   3>发钱了,自己输入工资,如果发的钱<=1000,拿到的实际的钱就是所发的钱;如果发的钱>1000,拿到的钱超过1000的部分交%5的税钱,问实际工资拿多少?用三目运算符完成
   
   printf("💰:");
   float money;
   scanf("%f",&money);
   float salary;
   salary=money<=1000?money:(money-(money-1000)*0.05);
   printf("salary=%f\n",salary);
   
   4>求输入的三个整数的最大值,用三目运算符
   printf("请输入三个数:");
   int a,b,c;
   scanf("%d%d%d",&a,&b,&c);
   int max=a>b?(a>c?a:c):(b>c?b:c);
   printf("max=%d\n",max);
   
   
   5>判断输入的字符,是否是大写字母,如果是大写字母转换成小写字母,并输出
   printf("请输入一个字母:");
   char ch;
   ch=getchar();
   if(ch>=65&&ch<=65+25)//if(ch>='A'&&ch<='Z')
   {
       printf("%c\n",ch+32); //ch+'a'-'A'
   }
   
   6>选优秀演员,满分100,自己打一个评分,等级要求:0<xx<60不及格,60<=xx<85 及格 ;85<=xx<90 良好,90<=xx<=100 优秀演员,输出最后的等级
   printf("score:");
   int score;
   scanf("%d",&score);
   if(score>=90&&score<=100)
   {
       printf("优\n");
   }
   else if (score>=85)
   {
       printf("良\n");
   }
   else if (score>=60)
   {
       printf("及格\n");
   }
   else if (score>=0)
   {
       printf("不及格\n");
   }
   ```



(*)最近开始整理,一遍整理一遍补足。有错误,不对的希望可以指出来。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,491评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,856评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,745评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,196评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,073评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,112评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,531评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,215评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,485评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,578评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,356评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,215评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,583评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,898评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,497评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,697评论 2 335

推荐阅读更多精彩内容

  • 第1章 第一个C程序第2章 C语言基础第3章 变量和数据类型第4章 顺序结构程序设计第5章 条件结构程序设计第6章...
    小狮子365阅读 10,439评论 3 71
  • 这个是初始版本,还会进行改正和补充,请大家认真熟悉这些基础知识!如有错误,请在评论区留言@作者 总体上必须清楚的:...
    亦一银河阅读 2,481评论 3 40
  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 3,419评论 3 44
  • 孤独是空气,无孔不入
    def924f1e9f2阅读 69评论 0 0
  • 喧嚣的都市里 街道上车水马龙 霓虹灯下的人们 各自为命运而奔波 看不见星夜里的光辉 喧嚣的都市啊 何时才能沉入梦乡
    榕墟阅读 143评论 0 0