C语言程序设计基础知识要点精选文档.docx
- 文档编号:30337210
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:38
- 大小:30.67KB
C语言程序设计基础知识要点精选文档.docx
《C语言程序设计基础知识要点精选文档.docx》由会员分享,可在线阅读,更多相关《C语言程序设计基础知识要点精选文档.docx(38页珍藏版)》请在冰豆网上搜索。
C语言程序设计基础知识要点精选文档
01.C程序基本结构
一、C语言的特点:
1、C语言源程序的基本组成单位是函数;一个C程序可由若干个函数组成,其中必须有且仅有一个以main命名的主函数,其余的函数名称可由编程者自行设定.,
2、C程序的执行总是由main()函数的第一个可执行语句开始,到main()函数的最后一个可执行的语句结束;而其他函数都是在main()函数开始执行以后,通过其他函数的调用才得以运行。
3、C语言系统提供了丰富的库函数,用户在程序中需要调用某个库函数时,必须用#include编译预处理命令将描述该库函数的头文件包含进去。
二、C程序的书写格式:
1、语句可从分开放在任意多行内;
如:
printf(“ToC,”);
printf(“ornottoC:
”);
与printf(“ToC,ornottoC:
”);是等价的
2、一行中可以有若干个语句;
如:
a=123;b=345;
3、每个语句和数据定义的最后必须有一个分号;
三、C语言程序的运行:
1、编译(Compile):
将C源程序文件翻译成能被计算机识别的二进制形式的“目标"文件;编译时,编译器将检查源程序每一条语句的语法错误。
2、建造(Bulid):
C语言程序示例:
显示“Hello"
#include
intmain(void)
{
printf(“Hello.\n”);
return0;
}
说明:
#include printf函数来自"标准输入输出库”,可以产生格式化输出; \n告诉printf函数执行完信息显示后要进行换行操作; return0表明程序终止时会向操作系统返回值0; {}来标出main()函数的起始和结束。 02.数据类型 一、C语言的特点: 1、C语言源程序的基本组成单位是函数;一个C程序可由若干个函数组成,其中必须有且仅有一个以main命名的主函数,其余的函数名称可由编程者自行设定。 2、C程序的执行总是由main()函数的第一个可执行语句开始,到main()函数的最后一个可执行的语句结束;而其他函数都是在main()函数开始执行以后,通过其他函数的调用才得以运行。 3、C语言系统提供了丰富的库函数,用户在程序中需要调用某个库函数时,必须用#include编译预处理命令将描述该库函数的头文件包含进去。 二、C程序的书写格式: 1、语句可从分开放在任意多行内; 如: printf(“ToC,”); printf(“ornottoC: ”); 与printf(“ToC,ornottoC: ”);是等价的 2、一行中可以有若干个语句; 如: a=123;b=345; 3、每个语句和数据定义的最后必须有一个分号; 三、C语言程序的运行: 1、编译(Compile): 将C源程序文件翻译成能被计算机识别的二进制形式的“目标"文件;编译时,编译器将检查源程序每一条语句的语法错误。 2、建造(Bulid): C语言程序示例: 显示“Hello” #include h〉 intmain(void) { printf(“Hello.\n"); return0; } 说明: #include printf函数来自"标准输入输出库”,可以产生格式化输出; \n告诉printf函数执行完信息显示后要进行换行操作; return0表明程序终止时会向操作系统返回值0; {}来标出main()函数的起始和结束。 03,运算符和表达式 1、算术运算符和表达式 +: 加法运算符,如3+5; -: 减法运算符,如5-3; *: 乘法运算符,如5*8; /: 除法运算符,如3/6;参与运算量均为整型时,结果也为整型,舍去小数;若运算量中有一个是实型,则结果为双精度实型。 %: 模运算符,也称“取余运算符”,用于计算两数相除后的余数,如5%3=2; 2、赋值运算符和赋值表达式 赋值运算符: "=”,其作用是将一个表达式的值赋给一个变量; 其一般形式为: 变量=表达式 如: x=a+b; 赋值表达式的功能是计算表达式的值再赋予左边的变量。 赋值运算符具有右结合性.因此a=b=c=5可理解为a=(b=(c=5)); 复合赋值运算符: +=、-=、*=、/=、%=、〉〉=、<<=、&=、^=、|= 构成复合赋值表达式的一般形式为: 变量双目运算符=表达式 它等价于: 变量=变量运算符表达式 如: a+=5等价于a=a+5 x*=y+7等价于x=x*(y+7) r%=p等价于r=r%p 3、类型转换 如果赋值运算符两边的数据类型不相同,系统将自动进行类型转换,即把赋值号右边的类型换成左边的类型。 具体规定如下: 1)实型赋予整型,舍去小数部分。 前面的例子已经说明了这种情况. 2)整型赋予实型,数值不变,但将以浮点形式存放,即增加小数部分(小数部分的值为0)。 3)字符型赋予整型,由于字符型为一个字节,而整型为二个字节,故将字符的ASCII码值放到整型量的低八位中,高八位为0.整型赋予字符型,只把低八位赋予字符量. 4、自增、自减运算符: 自增运算符: “++”,功能是将变量的值加1; 自减运算符: “-—",功能是将变量的值减1; 可有以下几种形式: ++ii自增1后再参与其它运算. --ii自减1后再参与其它运算. i++i参与运算后,i的值再自增1。 i-—i参与运算后,i的值再自减1。 注: (1)”++”、”-—“的操作对象只能是变量; (2)”++"、”-—“运算优先级相同,且结合方向自右向左;—i++应理解为-(i++), 【例】自增、自减运算、 #include h> main() { inti=8; printf(”%d\n",++i);/*i先加1,再输出i,输出结果为9*/ printf("%d\n",--i);/*i先减1,再输出i,结果为8*/ printf(”%d\n",i++);/*先输出i,输出结果为8,i再加1,*/ printf(”%d\n”,i——);/*先输出i,输出结果为9,i再减1,*/ printf(”%d\n”,-i++);/*先加输出—i,输出结果为—8,i再加1*/ printf("%d\n",—i-—);/*先输出—i,输出结果为-9,i再减1*/ } 5、求字节运算符 计算表达式的结果所占字节数或某种数据类型的定义字节数. 一般格式: sizeof(数据类型标识符)或sizeof(表达式) 如: sizeof(float)的值为4,占4个字节; sizeof(2*3)的值为2,占2个字节; 6、关系运算符和关系表达式 关系运算符: “〈”(小于)、“<=”(小于等于)、">”(大于)、”〉=”(大于等于)、"=="(等于)、“! =”(不等于) 关系表达式: 若关系表达式成立,其值为“真",否则为“假”;在C语言中,用0代表“假”,用1代表“真”; 7、逻辑运算符和逻辑表达式: 逻辑运算符: “! ”(非)、“&&”(与)、“||”(或);运算优先级: ! >&&〉|| 逻辑表达式: 用逻辑运算符将表达式连接起来的式子;逻辑表达式的结果仍然是逻辑量(“真"或“假") 8、条件运算符: 一般格式: 〈表达式1〉? 〈表达式2>: <表达式3〉 先计算表达式1,若表达式1的值为真,则计算表达式2的值,且表达式2的值为整个条件表达式的值;否则,计算表达式3的值,且表达式3的值即为整个条件表达式的值. 9、逗号运算符和逗号表达式 逗号运算符: ”,"作为运算符,其功能是将多个表达式组成一个表达式; 一般形式: 表达式1,表达式2,…,表达式n 求解过程: 先计算表达式1,再计算表达式2,依此计算表达式n,最终,表达式n的值即为整个表达式的值。 04。 顺序结构 一、概述: 顺序语句按照语法形式分为: 表达式语句、函数调用语句、复合语句、流程控制语句和空语句. 1、表达式语句: 语法格式: 表达式; 如: a+4; 其中赋值语句为最典型的表达式语句,如: a=5; a=b+3; 特别提示: 分号(;)是表达式语句中不可缺少的一部分。 2、函数调用语句: 如: printf(”Iamastudent! ”); 其中: printf()为系统提供的函数,用于显示信息。 3、复合语句: 所谓“复合语句”即由一对“{}”括起来的一组语句,也称“块语句”或“分程序”。 一般形式为: { 语句1 语句2 。 。 . 语句n } 如: { i++; j=a+3; printf(”%d,j=”,i,j); } 特别提示: 复合语句中的最后一条语句的分号不得缺少;复合语句的“}”之后不得有分号。 4、空语句: “空语句”即为一个独立的分号. 如: main() { .。 。 ; 。 。 . } 二、数据的输入输出 C语言提供了一些输入输出函数,如printf()和scanf(),在程序中调用这些输入输出函数时,必须将标准输入输出头文件“stdio.h”包含到用户所编写的源程序中. 如: #include h〉 其中: #include命令一般写在程序的开头位置. 1、格式输入输出 1、格式输出函数printf() (1)一般格式: printf(格式字符串,输出列表) 其中: “格式字符串"包括“输出字符”和“格式控制字符”(由%和格式字符组成,指定输出项的输出格式)。 •d格式符: 用于输出十进制整数; %d: 以十进制形式显示输出变量的值; %5d: 以十进制形式显示变量的值,且至少占用5个字符的空间,若不够5位数字,则左侧补空格; %-5d: 以十进制形式显示变量的值,且至少占用5个字符的空间,左对齐; %5.3d: 以十进制形式显示变量的值,且至少占用5个字符的空间并至少有3位数字,若不够3位数字,则左侧补0; 如: #include main() { inti; i=40; printf(“%d\n”,i); printf(“%5d\n”,i); printf(“%-5d\n",i); printf(“%5。 3d\n”,i); } •f格式符: 用于以小数形式输出实数; %10.3f: 以定点十进制形式显示变量的值,且总共用10个字符,其中,整数位6位,小数位3位,小数点1位; 如: #include〈stdio.h〉 main() { floatx; x=839。 21f; printf(“%10.3f\n”,x); } •c格式符: 用于输出一个字符; 如: x=”a”,y=”b”, 则printf(%c%c”,x,y)的输出结果为: ab 若变量的值为整数,则输出该整数值为ASCII码的字符: 如x=65,y=98,则printf(“%c,%c”,x,y)的输出结果为: A,b; 同理,一个字符的数据也可以以整数的形式输出; 如x=’a',y=’B’,则printf(“%d,%d”,x,y)的输出结果为: 97,66 •s格式符: 用于输出一个字符串。 如: printf(“%s”,”Iamastudent! ”) •e,E格式符: 用于以指数形式输出实数。 如: printf(“%e”,123.456),则输出结果为: 1.234560e+002; •g,G格式符: 用于输出实数,根据数值的大小自动选择f格式或e格式。 2、格式输入函数scanf() (1)一般格式: scanf(格式字符串,变量地址表) 其中: 格式字符串使用双引号括起来的字符串,包括“普通字符”(按原样输入)、“格式控制字符”(由%和格式字符组成,用来标定输入数据的格式). 变量地址表是由若干个变量地址组成的表列,可以是变量的地址,也可以使字符串的首地址. •d格式: 用于输入十进制整数; 如: scanf(“%d,%d",&x,&y);则输入格式为: 123,3456 •u格式: 用于输入十进制无符号整数; •f格式: 用于输入以小数形式的实数; 如: scanf(“%f,%f”,&x,&y);则输入格式为: 123.23,23。 456 •c格式: 用于输入一个字符; 如: scanf(“%c,%c”,&x,&y);则输入格式为: a,b •s格式: 用于输入一个字符串; 如: scanf(“%s”,a);假定a为字符数组,则输入格式为: abcdef 注: 输入的字符串中间不能包含空格。 特别说明: •对于变量,"&”加变量名即为该变量的地址;如: &a、&b等分别表示变量a和变量b的地址; •对于字符串数组或字符指针型变量,数组名和指针变量名本身即为其地址; •可以在%和格式字符之间加表示位数的数字;如: scanf(“%5s”,p);表示只能输入5个字符给字符串指针p; 3、字符数据的输入输出: (1)putchar()函数: 是向标准输入输出设备输出一个字符; 其调用格式为: putchar(ch);其中: ch为一个字符变量或常量; putchar()函数作用等同于printf(“%c”,ch); (2)getch()getche()和getchar()函数: •getch(): 从键盘上读入一个字符,但不显示在屏幕上; •getche(): 从键盘上读入一个字符,显示在屏幕上; •getchar(): 从键盘上读入一个字符,并显示在屏幕上,但直到输入回车键时才结束输入,第一个字符为其函数的返回值。 05.选择结构 一、if语句: 一般格式: if(表达式)语句; 表示: 当“表达式”成立时,则执行“语句”;否则跳过“语句”; 如: if(a>b)printf(“a〉b! ”); 例: 若用户输入的数为3的倍数,则显示”OK” #include〈stdio。 h〉 main() { inta; scanf(“%d”,&a); if(a%3==0)printf(“OK”); } 二、if—else语句: 一般格式: if(表达式) 语句1; else 语句2; 例: 给出用户输入的两个整数的较大者 #include〈stdio.h〉 main() { inta,b; scanf(“%d,%d",&a,&b); if(a〉b) printf(“themax=%d”,a); else printf(“themax=%d”,b); } 三、if语句的嵌套 1、if子句中嵌套: •if(表达式1) if(表达式2)语句1; else语句2; else语句3; •if(表达式1) {if(表达式2)语句1;} else语句2; 2、else子句中嵌套 •if(表达式1)语句1; else if(表达式2)语句2; else语句3; •if(表达式1)语句1; else if(表达式2)语句2; 3、嵌套一般格式: if(表达式1)语句1; elseif(表达式2)语句2; elseif(表达式3)语句3; … elseif(表达式n)语句n; else语句n+1; 例: 将用户输入的成绩按以下规则转换成等级成绩: 分数: 90~100等级: 优 分数: 80~89等级: 良 分数: 70~79等级: 中 分数: 60~69等级: 及格 分数: 60以下等级: 不及格 #include〈stdio。 h〉 main() { intd; printf(“输入分数: "); scanf(“%d”,&d); if(d〉=90)printf(“优”); elseif(d>=80)printf(“良”); elseif(d>=70)printf(“中”); elseif(d>=60)printf(“及格”); elseprintf(“不及格”); } 四、条件语句: 表达式1? 表达式2: 表达式3 执行的过程: 若表达式1的值为非0时,该条件语句的职位表达式2,否则为表达式3; 例: 求一个整数的绝对值 #include h〉 main() { inti,absi; scanf(“%d”,&i); absi=i〉0? i: -i; printf(“%d绝对值是%d\n”,i,absi); } 五、switch语句 switch(表达式) { case常量表达式1: 语句1; break; case常量表达式2: 语句2; break; … case常量表达式n: 语句n; break; default: 语句n+1; } 例: 商店卖货物,每一件3.5元,按购买的数量给与优惠: 购买100件,优惠5%; 购买200件以上,优惠6%; 购买300件以上,优惠8%; 购买400件以上,优惠10%; 购买500件以上,优惠15%; #include〈stdio。 h> main() { intn; floatp,price; scanf(”%d”,&n); switch(n/100) { case1: p=0.05; break; case2: p=0.06; break; case3: p=0。 08; break; case4: p=0。 10; break; case5: p=0。 15; break; } price=3。 5*n*(1-p); printf(”%应付款=%7.2f\n”,price); } 06。 循环结构 一、for语句: 一般格式: for(表达式1;表达式2;表达式3)语句; 表示: 先计算表达式1的值,再计算表达式2的值,若表达式2的值为0,则跳出循环体,转去执行循环体后面的程序命令;若表达式2的值非0,则执行循环体中的语句,接着计算表达式3的值;而后,再从计算表达式2的值开始重复上诉操作,直到表达式2的值为0时结束。 例: 计算sum=1+2+3+…+100的值" #include main() { inti,sum; sum=0; for(i=1;i〈=100;i++) sum=sum+i; printf(“sum=%d”,sum); } 二、while语句: 一般格式: while<表达式〉 语句; 表示: 先计算表达式的值,若为非0,则执行循环体语句,然后再计算表达式的值,重复上述过程,直到计算表达式的值为0时结束循环。 例: 计算sum=1+2+3…+100的值 #include〈stdio.h> main() { inti,sum; i=1; sum=0; while(i<=100) { sum=sum+i; i++; } printf(“sum=%d",sum); } 三、do-while语句 1、一般格式: Do 语句; While〈表达式〉; 表示: 先执行一次循环语句,然后计算表达式的值,若表达式的值非0,则再执行循环语句,然后从计算表达式的值开始重复上述过程,直到计算表达式的值为0,循环结束. 例: 计算sum=1+2+3…+100的值 #include〈stdio.h> main() { inti,sum; i=1; sum=0; do { sum=sum+i; i++; }while(i〈=100); printf(“sum=%d”,sum); } 四、break和continue语句: 1、break语句: 使用break语句可以提前结束由while、for、do—while语句构成的循环,而去执行循环下面的语句. 例: 判定用户输入的一个数是否为素数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 基础知识 要点 精选 文档