C语言在学习中的重难点:
1)运算符:自增,自减。
2)进制:各种进制转换、原码、反码、补码。
3)数组:一维数组,二维数组,多维数组。
4)循环:多重循环嵌套、查找、排序。
5)函数:普通函数调用、递归函数的调用。
6)指针:一级指针、多级指针、数组指针,指针和数组、函数、结构体、之间的关系、
7)内存管理:C语言的内存管理问题、内存泄露、野指针。
8)有参宏及条件编译。
9)多文件开发

前期学习C语言的关键输入输出函数:printf()和scanf()
C语言变量的作用域:
1)局部变量:
在函数内部定义,作用域仅在大括号之内,程序执行到大括号结束,变量生命周期结束。
1 include<stdio.h>
2 int main ()
3 {
4 int a;
5 return 0;
6 }
2)全局变量:
全局变量在函数外部定义,作用于程序开始到程序结束。
1 #include<stdio.h>
2 int a ;
3
4 int main ()
5 {
6 printf("%d" , a ) ;
7 return 0;
8 }
9
10 void test ()
11 {
12 printf("%d" , a) ;
13 }
a++与++a的区别:
运算的顺序就是看“++”在什么位置。如果++在前,就是先加1再计算,
如果是“++”在后则是先计算,再加1。
练习:
1 int b; int a = 5;
2 b = (++a) + (a++);
3 printf("b=%d, a=%d\n", b, a);
答案:
1 /*
2 答案:
3 本题考的是“++a”和“a++”的区别
4 ++a是先加算 然后再参与计算 此处:(++a)= 6
5 a++先计算后加算,由于刚才刚执行了“++a”所以此时 a = 6,(a++)=6
6 所以 b = (++a)+(a++)
7 b = 6 + 6 b等于12
8 a经过2次++运算此时的值是7
9 */
switch case穿透问题:
case一般要配合break关键字使用、如果不加case则进入case后其下面所有的case都会被计算机运行。
穿透案例:
1 switch(2){
2 case 1:
3 printf(“1”);
4 case 2:
5 printf(“2”);
6 case 3:
7 printf(“3”);
8 case 4:
9 printf(“4”);
10 case 5:
11 printf(“5”);
12 default:
13 return 0;
14 }
输出结果:
//printf("2");
//printf("3");
//printf("4");
//printf("5");
//以上代码都会执行!
结果:2345
不穿透:
1 switch(2){
2 case 1:
3 printf(“1”);
4 break;
5 case 2:
6 printf(“2”);
7 break;
8 case 3:
9 printf(“3”);
10 break;
11 case 4:
12 printf(“4”);
13 break;
14 case 5:
15 printf(“5”);
16 break;
17 default:
18 return 0;
19 }
输出结果:
1 //printf("2"); 2 结果:2
C语言各中循环的循环条件:
1 for(;true;){}
2 while(true)
3 do ....while(true) //无论如何也会循环一次。
只有当括号内为“true”时才会进入循环。所有语言都一样。
for循环应用之冒泡排序:
有两种排序方式:1、大大数下沉 2、小数上浮 区别只仅仅是for循环里的“<” “>”的不同。
代码实现:
1 #include<stdio.h>
2 void maopao(int arr[],int len){
3 int temp;
4 for(int j = 0;j<len - 1 - i;j++){
5 if (arr[i]>arr[j+1]) {
6 temp = arr[i];
7 arr[j] = arr[j+1];
8 arr[j+1] = temp;
9 }
10 }
11 }
for循环应用之选择排序:
代码实现:
1 #include<stdio.h>
2 void selectSor(int arr[],int len){
3 int temp;
4 for(int i =0;i<len - 1;i++){
5 for(int j = i + 1;j<len;j++){
6 if(arr[i] > arr[j]){
7 temp = arr[i];
8 arr[i] = arr[j];
9 arr[j] = temp;
10 }
11 }
12 }
13 }
本文深入讲解C语言学习的重难点,包括运算符、进制转换、数组操作、循环与排序、函数调用、指针使用、内存管理等关键概念。同时,介绍了变量作用域、输入输出函数以及常见代码练习,如a++与++a的区别、switch case穿透问题和循环应用实例。
1033

被折叠的 条评论
为什么被折叠?



