知识点
1、 局部变量:一般将定义在函数中的变量称为局部变量,其只能在函数内部使用。
全局变量:定义在全局作用域中的变量,即函数外的变量,称之为全局变量,全局变量的生命周期随程序启动而生,随程序结束而消亡,在任何函数中都可以使用。
注意:全局变量使用起来方便,但为了防止冲突和安全性,尽量避免定义全局变量。
2、不允许在同一个作用域中定义多个相同名称的变量。
3、允许在不同的作用域中定义多个相同名称的变量。
4、不同作用域中定义的变量、在访问时采用就近原则。
5、C语言的数据类型包括内置的数据类型和自定义的数据类型;内置的数据类型包括:char,short,int 等;自定义的数据类型包括:struct,enum等
6、EOF end of fire,文件的结束标志
7、strlen 计算字符串的大小,遇见'\0'才结束
8、\b 转义字符,退格
9、关键字不能自己定义,也不能作为变量,因为关键字有自己的特殊含义。
10、define不是关键字,#define中的define是预处理指令
11、两个函数的较大值,用函数,x>y return x,这种写法比用第三个变量来当中间值来写要简单;
用函数的话,也可以直接返回三目操作符。不用函数的话,if(x>y) max=x;三目操作符也可以。
12、当进行加减乘除的时候,类型不一样的话,记得要进行类型转换,以及自动舍弃小数点后的问题。
编程题
(1)从键盘输入5个学生的成绩(整数),求他们的平均成绩(浮点数,保留一位小数)。输入描述:一行,连续输入5个整数(范围0~100),用空格分隔。输出描述:一行,输出5个数的平均数(保留一位小数)
1. #include <stdio.h> 2. int main() 3. { 4. int a = 0; 5. int b = 0; 6. int c = 0; 7. int d = 0; 8. int e = 0; 9. double f = 0; 10. scanf("%d %d %d %d %d", &a, &b, &c, &d, &e); 11. f = (double)(a + b + c + d + e) / 5; 12. printf("%.1lf", f); 13. return 0; 14. }
1. #include <stdio.h> 2. 3. int main() 4. 5. { 6. 7. int i = 0; 8. 9. int sum = 0; 10. 11. int input = 0; 12. 13. for(i=0; i<5; i++) 14. 15. { 16. 17. scanf("%d", &input); 18. 19. sum += input; 20. 21. } 22. 23. printf("%.1f\n", sum/5.0); 24. 25. return 0; 26.
(2)反向输出四位数
1. #include <stdio.h> 2. int main() 3. { 4. int a = 0; 5. int b = 0; 6. int c = 0; 7. int d = 0; 8. int e = 0; 9. scanf("%d", &a); 10. b = a % 10; 11. c = (a / 10) % 10; 12. d = (a / 100) %10; 13. e = a / 1000; 14. printf("%d%d%d%d", b, c, d, e); 15. return 0; 16. }
反向输入常用思想,八进制、二进制数字,可以%2/2,%8/8
1. 2. 3. #include <stdio.h> 4. 5. int main() 6. 7. { 8. 9. int n = 0; 10. 11. scanf("%d", &n);//1234 12. 13. while(n) 14. 15. { 16. 17. printf("%d", n%10); 18. 19. n = n/10; 20. 21. } 22. 23. return 0; 24. 25. }