1. c 语言的基本知识
1.C提供了三种主要的预处理功能,分别是__宏定义_______、___文件包含______、____条件编译____。
2.C语言中,数组元素下标下限为___0_____。
3.数组名作函数参数传递时是__数组首地址______传递。变量作函数参数时是_值_______传递,
4.一个编辑好的*.C源程序,必须经过编译、_连接_______、后才能运行。
5.在C语言中可以用__逐个引用______法和________法引用数组元素。
6.C语言的程序结构有_顺序___、_选择___、循环____三种。
7.在C中,Char类型变量值可以赋值给___int_____类型变量。
8.使指针P指向数组int a[ ]的首址,写作 __p=a______ ,*(P+1)是a[ _1__ ]的值
9.所谓指针是指_______;指针变量是用于存放___变量地址___的变量;字符串的指针是指__字符串的首地址________ ;函数的指针是指__函数首地址____________。
10.在函数调用中,一个函数无论直接还是间接地调用自身,该调用称为__递归_____调用。
2. 学习C语言需要掌握哪些基本知识
(这是别人回答我的问题,感觉很有帮助你可以了解了解)如何学好c语言 教了多年《C程序设计》课程,大多学生觉的这门课程难学。
其实,按照我们现在的教学大纲和教学要求,只要同学们掌握一些方法,克服心理上畏难、不轻言放弃,是完全可以学好的。 《C程序设计》的内容很丰富,按照我们现在的教学大纲,教学的主要内容是基础知识、四种结构的的程序设计、函数与数组的应用和一些简单的算法。
在学习时,同学们应该把主要精力放在这些部分,通过实践(练习和上机调试等熟练掌握。当然,在初学C语言时,可能会遇到有些问题理解不透,或者表达方式与以往数学学习中不同(如运算符等),这就要求不气馁,不明白的地方多问多想,鼓足勇气进行学习,待学完后面的章节知识,前面的问题也就迎刃而解了,这一方面我感觉是我们同学最欠缺,大多学不好的就是因为一开始遇到困难就放弃,曾经和好多同学谈他的问题,回答是听不懂、不想听、放弃这样三个过程,我反问,这节课你听过课吗?回答又是没有,根本就没听过课,怎么说自己听不懂呢?相应的根本就没学习,又谈何学的好? 学习C语言始终要记住“曙光在前头”和“千金难买回头看”,“千金难买回头看”是学习知识的重要方法,就是说,学习后面的知识,不要忘了回头弄清遗留下的问题和加深理解前面的知识,这是我们学生最不易做到的,然而却又是最重要的。
比如:在C语言中最典型的是关于结构化程序设计构思,不管是那种教材,一开始就强调这种方法,这时也许你不能充分体会,但是学到函数时,再回头来仔细体会,温故知新,理解它就没有那么难了。学习C语言就是要经过几个反复,才能前后贯穿,积累应该掌握的C知识。
那么,我们如何学好《C程序设计》呢? 一.学好C语言的运算符和运算顺序 这是学好《C程序设计》的基础,C语言的运算非常灵活,功能十分丰富,运算种类远多于其它程序设计语言。在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单,但初学者往往会觉的这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全。
当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则显得十分重要。在学习中,只要我们对此合理进行分类,找出它们与我们在数学中所学到运算之间的不同点之后,记住这些运算也就不困难了,有些运算符在理解后更会牢记心中,将来用起来得心应手,而有些可暂时放弃不记,等用到时再记不迟。
先要明确运算符按优先级不同分类,《C程序设计》运算符可分为15种优先级,从高到低,优先级为1 ~ 15,除第2、3级和第14级为从右至左结合外,其它都是从左至右结合,它决定同级运算符的运算顺序。下面我们通过几个例子来说明: (1) 5*8/4%10 这个表达式中出现3种运算符,是同级运算符,运算顺序按从左至右结合,因此先计算5 *8=40,然后被4除,结果为10,最后是%(求余数)运算,所以表达式的最终结果为10%10 = 0; (2)a = 3;b = 5;c =++ a* b ;d =a + +* b; 对于c=++a*b来说,按表中所列顺序,+ +先执行,*后执行,所以+ + a执行后,a的值为4,由于+ +为前置运算,所以a的值4参与运算,C的值计算式为4*5=20而不是3*5=15了;而对于d=a++*b来说,由于a + +为后置运算,所以a值为4参与运算,使得d的值仍为20,而a参与运算后其值加1,值为5。
这个例子执行后,a的值为5,b的值为5,c的值为20,d的值也是20; (3)(a = 3,b = 5,b+ = a,c = b* 5) 例子中的“,”是逗号结合运算,上式称为逗号表达式,自左向右结合,最后一个表达式的结果值就是逗号表达式的结果,所以上面的逗号表达式结果为40,a的值为3,b的值为8,c的值为40。 (4)a=5;b=6;c=a>b?a:b; 例中的a>b?a:b是一个三目运算,它的功能是先做关系运算a>b部分,若结果为真,则取问号后a的值,否则取冒号后b的值,因此c的值应该为6,这个运算可以用来代替if…else…语句的简单应用。
二.学好C语言的四种程序结构 (1)顺序结构 顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。 例如;a = 3,b = 5,现交换a,b的值,这个问题就好象交换两个杯子水,这当然要用到第三个杯子,假如第三个杯子是c,那么正确的程序为: c = a; a = b; b = c; 执行结果是a = 5,b = c = 3如果改变其顺序,写成:a = b; c = a; b = c; 则执行结果就变成a = b = c = 5,不能达到预期的目的,初学者最容易犯这种错误。
顺序结构可以独立使用构成一个简单的完整程序,常见的输入、计算,输出三步曲的程序就是顺序结构,例如计算圆的面积,其程序的语句顺序就是输入圆的半径r,计算s = 3.14159*r*r,输出圆的面积s。不过大多数情况下顺序结构都是作为程序的一部分,与其它结构一起构成一个复杂的程序,例如分支结构中的复合语句、循环结构中的循环体等。
(2) 分支结构 顺序结构的程序虽然能解决计算、输出等问题,但不能做判断再选择。对于要先做判断再选择的问题就要使用分支结构。
分支结构的执行是依据一定的条件选择。
3. C语言知识总结
c语言概要第一章、概述1、c语言的基本知识1.1、c语言的执行步骤编辑-程序代码的录入,生成源程序*.c编译-语法分析查错,翻译生成目标程序*.obj(语法或逻辑错误,从第一个开始改,变量定义,语句格式,表达式格式等)链接-与其他目标程序或库链接装配,生成可执行程序*.exe执行1.2、main函数的基本知识main()函数的位置c程序总是从main( )函数开始执行一个c程序可以包含一个主函数,即main()函数;也可以包含一个main()函数和若干其它函数1.3、c程序的结构函数与主函数程序由一个或多个函数组成必须有一个且只能有一个主函数main()程序执行从main开始,在main中结束,其他函数通过嵌套调用得以执行程序语句C程序由语句组成用“;”作为语句终止符注释//或/* */ 为注释,不能嵌套不产生编译代码1.4、c 程序书写的规则习惯用小写字母,大小写敏感不使用行号,无程序行概念:通常一个语句占一行可使用空行和空格常用锯齿形的书写格式;同一层次结构的语句上下对齐。
第二章、基本数据类型与运算2.1、c程序的数据类型注意类型和变量含义的不同(类型是固定好的名字,变量是自己起的名字)变量占用的存储空间数据类型基本类型:整型、字符型、浮点型(单精度型,双精度型)构造类型:数组类型、结构体类型指针类型空类型注意基本类型赋初值的方式基本数据类型的表示形式整形数据十进制:以非0数字开头,如:123,-9,0八进制;以0数字开头,如:0123,067十六进制:以0x开头,如:0x123,0xff实型数据十进制:必须带小数点,如:123.0,-9.0指数形式;如:1.23E3,0.9e-2,5e2字符型数据普通字符:如:'a','2','H','#'转义字符:如:'/n','/167','/xlf,'//'(实现几列的对齐:指定宽度。如%100/ '/t'制表位)(字符串长度。
“abc/n/t//” strlen 6; sizeof 7)基本数据类型的存储长度整型Int 字节数 2 位数 16 数的表示范围 -32768—32767Short 2 16 -32768—32767Long 4 32 -2147483648—2147483647实型Float 4 32 3.4e-38---3.4e38Double 8 64 1.7e-308---1.7e308字符型Char 1 8 -128----1272.2、标识符命名规则C语言标志符命名规则标识符有数字,字母,下划线组成标识符的首字符必须为字母和下划线标识符不能为c语言的保留字(关键字)如:auto extern sizeof float static case for struct char goto switch continue in typedef const if union default long unsigned do register void double return else short while enum signed算术运算符 + - * / %关系运算符 > < == >= <= !=逻辑运算符 ! && ||位运算符 << >> ~ | ^ &赋值运算符 = 及其扩展赋值运算符条件运算符 ? :逗号运算符 ,指针运算符 * &求字节数运算符 sizeof强制类型转换运算符 (类型)分量运算符 . ->下标运算符 [ ]其他 如函数调用运算符()运算符的优先级由高到低:单目运算符,算数运算符,关系运算符,赋值运算符说明:单目运算符:自增运算符,自减运算符,类型装换运算符。结合方向:自右至左如:++--I 先—i.。
算术运算 结合方向自左至右2.3基本运算和表达式关系表达式和逻辑表达式(a>b)&&(x>y) (a==b)||(x==y) !=a||(a>b)A&&b.a为0.不执行bA||b a为1.不执行b在 c 中逻辑运算结果:1代表“真”,0代表“假”;判断一个表达式是否真:0代表“假”,非0代表“真”条件表达式 逗号表达式如:k=5,k++逗号值为5;k为6.表达式1?表达式2 :表达式3K=5>6 ? 1 : 02.4、混合运算的数据类型转换2/3+0.5 双精度浮点型第三章、顺序结构程序设计3.1、c语句的分类简单语句表达式语句 表达式+分号空语句 只有分号的语句复合语句 用花括号将若干语句括起来流程控制语句选择语句 if ,switch循环语句 while, do while , for转移语句 break ,continue ,return goto3.2、格式输入函数scanf一般形式:scanf(“格式控制字符串“,地址列表);使用scanf函数时,需要注意:格式字符的个数必须与输入项的个数相同,数据类型必须一一对应,非格式字符串(说明性的)要原封不动的输入。输入实行数据时,可以不带小数点,即按整型数据输入数值型数据与字符或字符串混合输入时,需要注意输入方式。
3.3、格式输出函数printfPrintf(“格式控制字符串“,输出列表);指定输出格式,由格式字符串和非格式字符串两种组成,非格式字符串照原样输出。%[标志][输出最小宽度][.精度][长度]类型标志:- 左对齐;+ 右对齐;%f, %d, %c, %s3.4、其他输入输出函数Putchar getchar puts gets第四章、选择结构程序设计If选择结构 单分支If(表达式)语句双分支If(表达式)语句1Else语句2多分支If (表达式1)语句1Else if(表达式2)语句2。
Else if(表达式m)语句mElse语句nSwitch(表达式){Case 常量表达式1:语句1;break;Case 常量表达式2:语句2;break;。
Case 常量表达式m:语句m;break;Default:语句n;break;}注意break的使用第五章、循环结构程序设计循环三要素初始条件 ;终止条件 ;在初始条件和终止条件间反复做某件事情(循环体)While(表达式)语句Do语句While(表达式);For(循环体变量赋初值;循环条件;循环变量增量)( for( ) ; // ; 进行时间延迟。
4. 学习C之前要先学习什么基本知识
能用电脑打字
初中水平的初等代数
学完初中平面几何后所能达到的逻辑思维能力(但不要求几何知识本身)
以上我认为是必须的。
计算机的一点历史啊,常识啊,如知道计算机有磁盘、内存、CPU和输入输出设备
一点二进制的东西,不过可以在学C语言同时学
熟悉一般软件的使用
中学英语水平
高中数学知识
以上不是必须的,但多数学C语言的人都具备了。
学过一门更简单的高级计算机语言,如BASIC(不是VB)、Pascal、LOGO或某种脚本语言
高等数学及相当的逻辑思维能力
熟悉计算机构成、原理,操作系统的一点知识,硬件的一点知识
良好的英语能力
以上是很理想的学习状态,不过具备的人不多。
5. C语言的基本知识是什么
C语言功能丰富,表达能力强、使用灵活方便、应用面广、目标程序效率高、可移植性好,既具有高级语言的优点,又具有低级语言的许多特点,因此特别适合于编写系统软件.
简洁紧凑、灵活方便
运算符丰富
数据结构丰富
C是结构式语言
C语法限制不太严格,程序设计自由度大
C语言允许直接访问物理地址,对硬件进行操作
生成目标代码质量高,程序执行效率高
C语言适用范围大,可移植性好
想要学习它的话可以看看谭浩强的《C程序设计》
简单易懂。
6. 求c语言基本知识
教了多年《C程序设计》课程,大多学生觉的这门课程难学。
其实,按照我们现在的教学大纲和教学要求,只要同学们掌握一些方法,克服心理上畏难、不轻言放弃,是完全可以学好的。 《C程序设计》的内容很丰富,按照我们现在的教学大纲,教学的主要内容是基础知识、四种结构的的程序设计、函数与数组的应用和一些简单的算法。
在学习时,同学们应该把主要精力放在这些部分,通过实践(练习和上机调试等熟练掌握。当然,在初学C语言时,可能会遇到有些问题理解不透,或者表达方式与以往数学学习中不同(如运算符等),这就要求不气馁,不明白的地方多问多想,鼓足勇气进行学习,待学完后面的章节知识,前面的问题也就迎刃而解了,这一方面我感觉是我们同学最欠缺,大多学不好的就是因为一开始遇到困难就放弃,曾经和好多同学谈他的问题,回答是听不懂、不想听、放弃这样三个过程,我反问,这节课你听过课吗?回答又是没有,根本就没听过课,怎么说自己听不懂呢?相应的根本就没学习,又谈何学的好? 学习C语言始终要记住“曙光在前头”和“千金难买回头看”,“千金难买回头看”是学习知识的重要方法,就是说,学习后面的知识,不要忘了回头弄清遗留下的问题和加深理解前面的知识,这是我们学生最不易做到的,然而却又是最重要的。
比如:在C语言中最典型的是关于结构化程序设计构思,不管是那种教材,一开始就强调这种方法,这时也许你不能充分体会,但是学到函数时,再回头来仔细体会,温故知新,理解它就没有那么难了。学习C语言就是要经过几个反复,才能前后贯穿,积累应该掌握的C知识。
那么,我们如何学好《C程序设计》呢? 一.学好C语言的运算符和运算顺序 这是学好《C程序设计》的基础,C语言的运算非常灵活,功能十分丰富,运算种类远多于其它程序设计语言。在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单,但初学者往往会觉的这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全。
当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则显得十分重要。在学习中,只要我们对此合理进行分类,找出它们与我们在数学中所学到运算之间的不同点之后,记住这些运算也就不困难了,有些运算符在理解后更会牢记心中,将来用起来得心应手,而有些可暂时放弃不记,等用到时再记不迟。
先要明确运算符按优先级不同分类,《C程序设计》运算符可分为15种优先级,从高到低,优先级为1 ~ 15,除第2、3级和第14级为从右至左结合外,其它都是从左至右结合,它决定同级运算符的运算顺序。下面我们通过几个例子来说明: (1) 5*8/4%10 这个表达式中出现3种运算符,是同级运算符,运算顺序按从左至右结合,因此先计算5 *8=40,然后被4除,结果为10,最后是%(求余数)运算,所以表达式的最终结果为10%10 = 0; (2)a = 3;b = 5;c =++ a* b ;d =a + +* b; 对于c=++a*b来说,按表中所列顺序,+ +先执行,*后执行,所以+ + a执行后,a的值为4,由于+ +为前置运算,所以a的值4参与运算,C的值计算式为4*5=20而不是3*5=15了;而对于d=a++*b来说,由于a + +为后置运算,所以a值为4参与运算,使得d的值仍为20,而a参与运算后其值加1,值为5。
这个例子执行后,a的值为5,b的值为5,c的值为20,d的值也是20; (3)(a = 3,b = 5,b+ = a,c = b* 5) 例子中的“,”是逗号结合运算,上式称为逗号表达式,自左向右结合,最后一个表达式的结果值就是逗号表达式的结果,所以上面的逗号表达式结果为40,a的值为3,b的值为8,c的值为40。 (4)a=5;b=6;c=a>b?a:b; 例中的a>b?a:b是一个三目运算,它的功能是先做关系运算a>b部分,若结果为真,则取问号后a的值,否则取冒号后b的值,因此c的值应该为6,这个运算可以用来代替if…else…语句的简单应用。
二.学好C语言的四种程序结构 (1)顺序结构 顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。 例如;a = 3,b = 5,现交换a,b的值,这个问题就好象交换两个杯子水,这当然要用到第三个杯子,假如第三个杯子是c,那么正确的程序为: c = a; a = b; b = c; 执行结果是a = 5,b = c = 3如果改变其顺序,写成:a = b; c = a; b = c; 则执行结果就变成a = b = c = 5,不能达到预期的目的,初学者最容易犯这种错误。
顺序结构可以独立使用构成一个简单的完整程序,常见的输入、计算,输出三步曲的程序就是顺序结构,例如计算圆的面积,其程序的语句顺序就是输入圆的半径r,计算s = 3.14159*r*r,输出圆的面积s。不过大多数情况下顺序结构都是作为程序的一部分,与其它结构一起构成一个复杂的程序,例如分支结构中的复合语句、循环结构中的循环体等。
(2) 分支结构 顺序结构的程序虽然能解决计算、输出等问题,但不能做判断再选择。对于要先做判断再选择的问题就要使用分支结构。
分支结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。分支结构的程序设计方法的关。