1、hello 解释
1 #include <stdio.h>//包含 头文件 2 // # 预处理符号 3 // main函数,主函数,程序入口函数 4 // int 返回值类型, 5 // main 函数名 6 // () 里面 是函数的形参列表 7 // void 代表着没有形参 ,可以不写 8 int main(void) 9 {
// {} 里面是函数体,要执行的内容 10 // printf(); 函数的调用 11 // 格式化打印输出函数 12 // \n 这是一个字符,换行符 13 printf("Hello World!\n"); 14 // return 返回值 ,程序运行成功 返回 0 15 // 如果函数没有返回值,返回值类型 写void ,必须写 16 // 每一行代码的最后都需要加一个分号; 17 return 0; 18 }
讯享网
2、C语言中的数据类型
数据类型: 基本类型,构造类型,指针类型,空类型;
3、基本类型
总共有6种;
short :短整型 占2字节
int :整型 占4字节
long :长整型 占4字节(在32位系统),占8字节(在64位系统)
char :字符型 占1字节
float :单精度浮点型 占4字节
double :双精度浮点型 占8字节
基本类型的实质:指在内存上开辟多大字节的空间;
验证: sizeof(); 关键字 :测占内存的字节
整型存储的是整数,字符型存储的是字符,就是键盘上输入的字符;
浮点型存储的是小数,单精度代表能够精确到小数点后6位,双精度能够精确到小数点后15位;
4、单位换算
内存的基本单位 :字节 byte
内存的最小单位 : 位 bit
数据在内存中,是以二进制的形式存储的;
单位换算;
1 byte = 8 bit
1KB = 1024 byte
1MB = 1024 KB
1GB = 1024 MB
5、变量和常量
程序运行中,值可以发生改变的量,就叫做变量,变量用来存储数据的;
变量的大小: 由变量的类型决定
变量的名字: 是一个标识符,要符合标识符的命名规范
定义变量的格式:
(存储类型auto) 数据类型 变量名;
讯享网1 #include <stdio.h> 2 int main(void) 3 {
4 //int a;//定义变量,给变量赋值 5 //a = 10; 6 //在定义变量的同时进行变量赋值,叫做初始化 7 //int b = 10; 8 //两个变量之间可以相互赋值 9 int a = 10; 10 int b = 20; 11 printf("a = %d\n",a); 12 printf("b = %d\n",b); 13 a = b;//单个的等于号,叫做赋值运算符,意思是将b 的值赋给 a; 14 //另外,允许在一行定义多个变量,变量之间用 逗号 隔开,末尾加分号 15 printf("a = %d\n",a); 16 //int c,d = 20,e,f; 17 return 0; 18 }
常量:与变量对应,在程序运行中,值不会发生改变的量,就是常量;
常量 一般是用来给变量赋值,或者是参与比较;
常量分类:
整型常量 用%d 打印
浮点型常量 float 用%f 打印,double %lf 打印
字符型常量 %c 打印 代码中,用单引号 引起来的内容都是字符
字符串型常量 %s 打印 代码中,用双引号 引引来的内容都是字符串
6、标识符的命名规范
1、标识符是由数字、字母、下划线组成; 2、不能够以数字开头; 3、不能够和关键字冲突,关键字和标识符都是严格区分大小写的; 4、注意:标识符:变量名,函数名,数组名,结构体名..
讯享网1 关键字 2 char short int long float double enum struct union void signed unsigned 12个数据类型 3 auto register static extern const volatile 6个存储类型 4 sizeof 5 typedef 6 if else switch case break default for while do goto return continue 12个基本结构相关
7、C语言中的运算符
运算符 是一个符号,作用:多个数值之间进行运算使用; 分类: 算术运算符: + - * / %(模除,就是取余数) ++ -- 关系运算符: > < >= <= != ==(l两个等于号才是关系运算符) 逻辑运算符: && || ! 赋值运算符: = += -= *= /=(复合) 条件运算符: C语言中唯一一个三目运算符 `? :` 位运算符[[ : & | ^ ~ << >> 逗号运算符: , sizeof运算符: 用来计算变量的大小; 注意事项: 算术运算符,%模除,左右操作数必须是整数; 自增自减运算符 ++ --
讯享网1 int a = 10; 2 a++; <==> a = a + 1; 3 a--; <==> a = a - 1; 4 ++a; <==> a = a + 1; 5 --a; <==> a = a - 1; 6 7 前++ 和 前-- 也就是 ++a;--a; 8 a 本身的值会 +1 或者 -1;表达式的结果也会 +1 或者 -1; 9 后++ 和 后-- 也就是 a++;a--; 10 a 本身的值会 +1 或者 -1;表达式的结果还是 a++ 或者 a-- 之前的值; 11 12 #include <stdio.h> 13 int main(void) 14 {
15 int a = 10; 16 int b = 10; 17 printf("a = %d a++ = %d\n",a,a++); 18 //逗号运算符,右边的表达式会影响左边的表达式 19 printf("a = %d ++a = %d\n",b,++b); 20 return 0; 21 }
1 & 按位与: 全1为1;有0为0; 2 | 按位或: 全0为0;有1为1; 3 ^ 按位异或:相同为0;不同为1; 4 ~ 按位取反:0变1;1变0; 5 << 左移:左边丢弃,右边补0; 6 >> 右移:正数左边补0;负数左边补1;右边丢弃; 7 8 1010 10 9 1111 15 10 & 1010 10 | 1111 ^ 0101
练习:
实现两个变量的值互换,至少用两种方法实现;
讯享网1 int main(void) 2 {
3 int a = 13; 4 int b = 24; 5 int temp = 0; 6 printf("a = %d b = %d\n",a,b); 7 /*//三杯水交换 8 temp = a; 9 a = b; 10 b = temp; 11 printf("a = %d b = %d\n",a,b); 12 */ 13 /*//做差法 14 a = b - a; 15 b = b - a; 16 a = a + b; 17 printf("a = %d b = %d\n",a,b); 18 *///异或法 19 a = a ^ b; 20 b = a ^ b; 21 a = a ^ b; 22 printf("a = %d b = %d\n",a,b); 23 return 0; 24 }
练习:
使用scanf 函数从键盘输入一个三位数,编写程序输出 个位 十位 百位 之和;
如: 123 ------->> 1 + 2 + 3 = 6;
1 scanf(输入格式,变量地址); 格式化输入函数 2 int a; 3 scanf("%d",&a);
讯享网1 #include <stdio.h> 2 int main(void) 3 {
4 int g,s,b,input_num,sum; 5 printf("please input sanweishu >> "); 6 scanf("%d",&input_num); 7 g = input_num % 10; 8 s = input_num / 10 % 10; 9 b = input_num / 100; 10 sum = g + s + b; 11 printf("g = %d s = %d b = %d sum = %d\n",g,s,b,sum); 12 return 0; 13 }
8、C语言中有三种基本结构
8.1、顺序结构
8.2、选择结构
1、if else 语句
1 if(表达式) 2 {
3 //代码块1 4 } 5 else 6 {
7 //代码块2 8 } 9 //当表达式为真,执行代码块1,表达式为假,执行代码块2;
C语言中,真假是怎么界定的呢?
非0 为 真;0 为假;
-1 -100 真;
0 为假;
1 100 真;
逻辑运算符: && || !
&&:有假即为假,全真才为真;
|| :有真即为真,全假才为假;
! : 真假转换;
讯享网1 int i = 10; 2 if(i > 1 && i < 20)//判定条件为真 3 if(i > 1 || i < 10)//判定条件为真
短路原则:
在逻辑与中,当第一个条件为假时,不判断第二个条件;
在逻辑或中,当第一个条件为真时,不判断第二个条件;
嵌套形式
1 int i = 10; 2 if(i > 1 && i < 20)//判定条件为真 3 if(i > 1 || i < 10)//判定条件为真 1 if(表达式1) 2 {
3 if(表达式2) 4 {
5 //代码块1 6 } 7 else 8 {
9 //代码块2 10 } 11 } 12 else 13 {
14 //代码块3 15 } 16 //当表达式1为真时,判断表达式2,如果表达式2为真,执行代码块1,如果表达式2为假,执行代码块2, 17 //当表达式1为假时,执行代码块3;
注意:如果代码块只有一条语句,可以不写花括号 {}
练习:
学生成绩管理系统,要求输入成绩,判断
[90,100] A
[80,90) B
[70,80) C
[0,70) D
其他成绩,输出错误;
讯享网1 #include <stdio.h> 2 int main(void) 3 {
4 int score; 5 while(1) 6 {
7 printf("please input score >> "); 8 scanf("%d",&score); 9 if(score > 90 && score <= 100) 10 printf("score is A\n"); 11 if(score > 80 && score <= 90) 12 printf("score is B\n"); 13 if(score > 70 && score <= 80) 14 printf("score is C\n"); 15 if(score >= 0 && score <= 70) 16 printf("score is D\n"); 17 if(score > 100 || score < 0) 18 printf("score is error\n"); 19 } 20 return 0; 21 }
练习:
排序,输入三个数,按照从小到大的顺序进行排序,并且输出
a = 10;b = 40; c = 30;
输出: a = 10 b = 30 c = 40
1 #include <stdio.h> 2 int main(void) 3 {
4 int a,b,c,temp; 5 scanf("%d%d%d",&a,&b,&c); 6 if(a >= b) 7 {
8 temp = a; 9 a = b; 10 b = temp; 11 }//a 中存储的是 a b 中较小的值 12 if(a >= c) 13 {
14 temp = a; 15 a = c; 16 c = temp; 17 }//a 中存储的是a c 中较小的值 18 //a 现在就是最小的值 19 if(b >= c) 20 {
21 temp = b; 22 b = c; 23 c = temp; 24 }//b 中存储的是b c 中较小的值 25 printf("a = %d b = %d c = %d\n",a,b,c); 26 return 0; 27 }
2、switch case语句
讯享网1 switch(算数表达式) 2 {
3 case 结果1: 4 //代码块1 5 break; 6 case 结果2: 7 //代码块2 8 break; 9 default:// 其他结果 10 //代码块3 11 break; 12 } 13 //算数表达式,一般为变量,或者是一个能够算出结果的表达式,也可以是单个字符; 14 //如果算数表达式的结果为结果1,执行代码块1,以此类推; 15 //如果不满足所有列出的结果,会执行default 后的代码块; //注意:每一个结果后面,都要加上break;如果没写break,代码会向下执行,知道遇到break 跳出分支, 或者执行到代码末尾; 16 17 //case 后面的结果,不能为小数;
练习:用switch case 语句实现学生成绩管理系统
1 #include <stdio.h> 2 int main(void) 3 {
4 int score; 5 while(1) 6 {
7 printf("please input score >> "); 8 scanf("%d",&score); 9 if(score < 0 || score > 100) 10 printf("score is error\n"); 11 else 12 {
13 switch(score/10) 14 {
15 case 10:printf("score is A\n");break; 16 case 9:printf("score is A\n");break; 17 case 8:printf("score is B\n");break; 18 case 7:printf("score is C\n");break; 19 default:printf("score is D\n");break; 20 } 21 } 22 } 23 return 0; 24 }
讯享网1 while(表达式) 2 {
3 //循环体 4 } 5 //当表达式成立的时候,执行循环体 6 //循环体,就是要执行的代码 7 //while(1) 死循环
1 #include <stdio.h> 2 int main(void) 3 {
4 int i = 100,sum = 0;//定义变量记得初始化,补初始化的话,变量里面的值可能不对 5 while(i) 6 {
7 sum += i--; 8 //sum += i; 9 //i--; 10 } 11 printf("sum = %d i = %d\n",sum,i); 12 return 0; 13 }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/52569.html