C语言开发_基本数据类型、语句

举报
DS小龙哥 发表于 2022/05/25 23:48:31 2022/05/25
【摘要】 介绍C语言基本数据类型、运算符、位运算知识点。

任务1:数据类型(开辟空间的大小) 1

任务2:标准输入和标准输出 1

1. 标准输出 1

2. 标准输入 1

任务3:运算符 2

1. 基本运算符 2

2. 关系运算符 (结合if语句) 都是双目 2

3. 逻辑运算符 2

4. 位运算符 3

任务4:基本语句(if、for) 3

1. if语句 3

2. for循环语句 4

任务5:基本练习 4

1. 大小写转换。 从键盘上输入’A’ --->输出’a’ 4

2. 数字与字符的转换。输入字符8 ---输出数字的8 5

3. 交换两个变量的值。 5

4. 数据的存储(练习大家对数据类型的深入理解) 6

5. 十进制转二进制。 6


任务1:数据类型(开辟空间的大小)

int :整型

char: 字符类型

float: 单精度浮点类型

​ C语言结构:顺序结构语言。

​ C语言怎么组成的:函数、变量。

​ C语言的入口(函数):main() :编写的位置没有规定。


#include <stdio.h>

int main() //程序的入口

{

/*

while(1)

{

//

}

*/

return 0; //程序的结束语句

}

任务2:标准输入和标准输出

printf(); //打印数据到屏幕上显示。

scanf(); //从键盘上获取数据。

1.​ 标准输出

printf("<任何数据>\n"); // ""之间的所有数据都会原样显示。

printf(“<格式>”,data);

//怎么输出的? 将data与<格式>进行替换。


<格式>可以填的参数:

%d :打印整数

%c :打印字符

%s :打印字符串

%x:打印十六进制

2.​ 标准输入

用法:

#include <stdio.h>

int main() //程序的入口

{

int data;

scanf("%d",&data); //注意:变量的前面需要加&取地址符号。

return 0; //程序的结束语句

}


scanf(“<格式>”,&<变量名称>);

常用<格式>可以填的参数:

%d :打印整数

%c :打印字符(最容易错误)

%s :打印字符串

任务3:运算符

单目运算符:只需要一个数据参与运算。

双目:需要两个或者以上的数据参与运算。

三目:需要三个数据参与运算。

1.​ 基本运算符

+

加法

-

减法

*

乘法

/

除法

=

赋值(将右边的数据赋值给左边) data=123;

++

自增运算符。 data++; 相当于data=data+1;

--

自减运算符。

(type)

强制转换类型运算符。 int data; float data_f=(float)data; //123 ,123.000000

注意:强制转换只是欺骗编译器而已。

逗号运算符。分隔数据。

;

运算符。 结束符。

()

小括号。

[]

中括号。---数组

.

点号运算符。用在结构体中

->

结构体指针运算符。

*

指针运算符。

&

取地址运算符。比如: a=&data (单目运算符)

2.​ 关系运算符 (结合if语句) 都是双目

>

打于

<

小于

>=

打于等于

<=

小于等于

==

表示数据是否相等

3. 逻辑运算符

&&

逻辑与

||

逻辑或

!

逻辑非(单目运算符)

4. 位运算符

按位:数据进行运算之前,都得转为二进制才能进行运算。

一个字节=8个位。

十六进制: 0xff

十进制 : 255

二进制 : 1111 1111 等于一个char类型的大小。

二进制左边是高位,右边是低位。

|

按位或。 口诀:有1得1,全0为0

比如: 3 | 2结果为多少? 结果等于: 3

0000 0011

0000 0010

0000 0011

&

按位与。 口诀:有0得0,全1为1

比如:3 &2结果为多少? 结果为2

0000 0011

0000 0010

00000010 ---结果为2

^

按位异或。 口诀:相同为0,不同为1

比如:3 ^ 2结果为多少? 结果为1

0000 0011

0000 0010

0000 0001

~

按位取反(单目运算符)。口诀:0为1, 1为0

比如:~3

0000 0011

1111 1100

>>

按位右移。口诀:低位溢出,高位补0

比如:数据为7,向右移两位

7 >> 2 结果为:000000 01 ==1

0000 0111

000000 0111

<<

按位左移。口诀:高位溢出,低位补0

比如:数据为7,向左移两位

7 >> 2 结果为:00 011100

0000 0111

0000 011100

任务4:基本语句(if、for)

1. if语句


if(<表达式>)

{

<语句>;

}

2. for循环语句

for(初始化语句;<判断表达式>;<自增/自减表达式>)

{

<语句>;

}

例如:

for(i=0;i<5;i++)

{

printf("%d\n",i); //循环执行5次

}

任务5:基本练习

编程的习惯:

(1)​ 花括号{} 要成对敲。

(2)​ 写函数要先写分号,再写实际参数。

(3)​ C语言所有的逻辑代码都是放在函数体内。意思就是必须是{}括号扩起来。

1.​ 大小写转换。 从键盘上输入’A’ --->输出’a’

解题步骤:

‘x’ :单引号括起来的数据代表是字符。

“ x” :双引号括起来的数据代表是字符串。

字符再计算机怎么存储的?字符在计算机中都是以整数的形式进行存放

解题思路:

找出大写字符和小写字符在计算机中存放差值。

printf(“%c”,’A’); //以字符形式

printf(“%d”,’A’); //以整数的形式进行打印

#include <stdio.h>

int main()

{

printf("%d\n",'A'); // 'A'= 65

printf("%d\n",'a'); // 'a'= 97

//差:32

return 0;

}

示例:

#include <stdio.h>

int main()

{

char d;

printf("输入大写字母:");

scanf("%c",&d); //从键盘上获取一个字符,赋值给变量d

printf("%c\n",d+32); //打印结果

return 0;

}


2.​ 数字与字符的转换。输入字符8 ---输出数字的8

示例:

#include <stdio.h>

int main()

{

char data;

printf("输入字符(0~9):");

scanf("%c",&data);

printf("%d\n",data-'0'); //字符转整数-48

return 0;

}

3. 交换两个变量的值。

比如:int data=123; int buff=456; 结果:buff=123 data=456;

条件:整个程序只能定义两个变量。

思路:使用位运算

数据加密的过程:

0000 0011 //将要加密的数据

0000 0010 //加密的密码

----------

0000 0001 //加密后密文

示例:

#include <stdio.h>

int main()

{

unsigned int a=123;

unsigned int b=456;


a=a^b; // a=0001

b=a^b; //b=0011 ---->3

a=a^b; //a=0010 ---->2


printf("a=%d\n",a);

printf("b=%d\n",b);

return 0;

}

#include <stdio.h>

int main()

{

unsigned int a=123;

unsigned int b=456;

unsigned int tmp;


tmp=a;

a=b;

b=tmp;


printf("a=%d\n",a);

printf("b=%d\n",b);

return 0;

}

4. 数据的存储(练习大家对数据类型的深入理解)

比如:(1) 将4个字符(任何数据)存放在一个int类型的变量中。

(2) 将4个字符(任何数据)再从变量中取出来。

一个int为4个字节。

一个char为1个字节。

4个字符:’A’ ‘B’ ‘C’ ‘D’

​ 思路:

data=’A’<<’24’;

data=data|(‘B’<<’16’);

5. 十进制转二进制。



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。