C语言开发_基本数据类型、语句
1. 大小写转换。 从键盘上输入’A’ --->输出’a’ 4
任务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. 十进制转二进制。
- 点赞
- 收藏
- 关注作者
评论(0)