c语言的难点在哪里

Python010

c语言的难点在哪里,第1张

1、c语言的主要难点在于指针,链表,函数,数组,结构体,文件等等方面的知识,这些知识点因为其复杂的特性,学习起来稍微有点难度,但是只要多加学习,在编写程序的过程中加以学习,也是能很好的掌握这些知识点的。2、C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

c学起来也不是很难,主要是指针和其他的知识点入数组、函数等组合起来难理解一些

要想学习,主要有几点需要注意

一、记忆部分

1、保留字,如if,int,for等

2、常规的结构,如条件,循环,switch、数组的结构,指针定义,结构体的定义等

3、语法的构成,如printf,scanf等一些语句的构成

4、一些系统带的函数,常用的要记住,如strlen,printf等

5、一些经典的算法,如素数的计算,排序的写法等

二、算法,语法等

这个就是解决问题的方法,没有好的捷径,只要慢慢的积累,数学方面的算法要加深

其实,c基础也就是那么一些基础点

1、保留字

2、定义变量等,int,float等

3、条件语句if,选择语句switch,循环,do--while、for、while、goto

4、注意逗号语句,scanf和printf要熟练,知道格式(这个很基础,用错了很麻烦)

5、数组,这里注意二维数组和字符串的一些函数

6、指针,这个是难点,也就是说很难理解,特别是和数组函数结构体等结合使用的时候

7、结构体共用体,这个不难,就是繁琐而已。这里涉及到链表,其实不难理解,可以想象成一串珠子,next指针就是串珠子的线,结构体就是珠子

8、文件操作,这个就是套用格式,没难度

9、宏定义,这个没难度,就是最简单的直接替换。注意一点就是在定义宏的时候多用几个括号增加优先级没坏处

10、函数。这个难度不大,主要是要理解,参数是在调用的时候另外开辟内存空间。除了数组和用&定义的参数。要不然子函数改变了参数变量,调用它的地方的变量时不会改变的

其实就是这些基本的知识点

一、整型数据的范围

不同类型的数据在内存中占用的存储单元长度不同,以VC++6.0的编译环境为例,基本整型(int)数据分配4个字节,短整型(short int)数据分配2个字节。我们以short int为例。1个字节为8个二进制位,每个短整型数据分配2个字节,即16位。对于有符号位的短整型(signed short int,默认的),最左面一位作为符号位,0表示正,1表示负。即能存储的最大数为0111111111111111,第一位是0,表示正数,后边15位都是1,转换为十进制为32767最小数为1000000000000000,转换为十进制为-32768。超出此范围,即为“溢出”。例如:

short int a,b,c,d a=32767b=a+1 c=-32768d=b-1

printf("b=%d\t",b) printf("d=%d\n",d)输出结果为b=-32768 d=32767

对于无符号的短整型(unsigned short int),最小为0000000000000000,最大为1111111111111111,范围0~65535。例如:

unsigned short int e=65535,f f=e+1

printf("f=%d\n",f) 输出结果为f=0

二、运算符

算术运算符有+,-,*,/,%,++,--。其中,*号在表达式中不可以省略,如b2-4ac,写成表达式为b*b-4*a*c。/和%要区分好,/为商,%为余。如a可以被b整除,表示为a%b==0。++,--的使用方法有两种:一种i++,i--,先使用i原值,再使i的值加或减1第二种++i,--i,先使i的值加或减1,再使用i的新值。例如:

int i=11printf("%d\n",i++ * 1/3) 输出结果为3。

int i=11printf("%d\n",++i * 1/3) 输出结果为4。

自加自减运算符在后边的学习中会经常用到,要好好理解。

逻辑运算符有&&,||,!。在逻辑表达式中,不是所有的逻辑运算符都执行,只在必须执行下一个逻辑运算符才能求出表达式的解的时候,才执行该运算符。a &&b只有a为真时,才判断b的值。换句话说,a如果为假,b就不执行。同理,a || b,a如果为真,b就不用执行。例如:

int m=1,n=1,a=1,b=1

printf(“表达式=%d\t”,(m=a>b)&&(n=a>b)) printf("m=%d,n=%d\n",m,n)

输出结果为 表达式=0 m=0,n=1

常用的运算符的优先级别从高到低排序为:!,算术运算符(++,--高于*,/,%高于+,-),关系运算符(>,>=,<,<=高于==,!=),&&,||,赋值运算符,逗号运算符。

三、比较数的大小

例如:编写程序,输出三个整数的最大值。刚接触C语言的学生,大部分学生上机实践都可以完成这个程序,但是思路不太好。调整算法思路,便于以后程序的编写。

main( )

{ int a,b,c,max max=a

if(b>max) max=b if(c>max) max=c printf("max=%d\n",max)}

同理,编写程序,输出10个整数的最大值。

main( )

{ int a[10],max,i for(i=0i<=9i++) scanf("%d",&a[i])

max=a[0] for(i=1i<=9i++) if(a[i]>max) max=a[i]

printf("max=%d",max) }

四、switch语句

处理选择结构有if语句和switch语句。switch语句用于处理多分支选择结构,在使用时有多个注意点,这里强调两点。

1.case后边的常量,不能写成表达式。

例如:编写程序,评判学生成绩score的等级grade,90~100为A,80~90为B,70~80为C,60~70为D,60以下为E。