版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章 C语言基础知识第一节C语言的基本格式一、C语言源程序或C程序 .c例:求两数和程序命令行,编译预处理命令行#include stdio.h主函数main()变量定义语句int a,b,sum; 函数体赋值语句a=10;b=20;sum=a+b;printf(sum=%d,sum);说明:1 主函数:一个C源程序有且仅有一个main函数,程序总是从main函数开始,从main函数结束。Main必须小写,且其后紧跟一对小括号,中间无空格。2 函数体:告诉计算机要做什么事情。3 int 是C中的关键字(表示特殊含义的一些符号)必须小写;变量 变量名(规则)变量类型 变量名,变量名; ;是C中
2、语句结束的标志。 4 开头:#开头,无分号 printf include是预定义标识符5 注释:可放在程序的任意位置,以/*和*/来界定。但要注意: #include stdio.hmain()int a=0,b=0;a=10; sum=a+b;printf(a+b=%d,a+b); #include stdio.hmain()int a=0,b=0;a=10; /*给a赋值b=20; 给b赋值*/sum=a+b;printf(a+b=%d,a+b);变量先定义后使用,定义变量放在程序的定义部分语句后加;程序可以从任一列开始书写,一行内可写多个语句main()定义部分;(前) 执行部分;(后)
3、总结:二、标识符:用于标识名字的有效字符序列 命名规则:字母、数字、下划线 第一个字母必须是字母或下划线 大小写字母有区别 标识符分为三类: 关键字:具有特定含义,专门用为说明C语言特定成分的一类标识符;必须小写 如:int,float double等 预定义标识符:库函数名 编译预处理命令名(define、include)预定义标识符可作为用户标识符使用,此时预定义标识符就失去原来的意思;但用户标识符不可作预定义标识符 用户标 识符:一般给变量、函数、数组或指针等命名,由用户根据需要定义的标识符a. 不与关键字相同b. 遵循起名规则c. 见名知义例12 可在C语言中用作用户标识符的一组标识符
4、是:()A) and B) Void C) Hi D) int_2007 y-m-d Dr.Tom Big1例13 以下不合法的用户标识符是:()A)j2_KEY B) Double C) 4d D) _8三、常量:程序运行过程中,值不改变的量数值型:值的形式出现字符串常量实型字符常量整型 符号常量:用标识符命名 遵循命名规则 见名知义例:计算圆面积的C语言程序宏定义命令行,符号常量大写#define PI 3.14159大写形式main()float r,area;r=12.5;area=PI*r*r;printf(area=%fn,area);定义了符号常量后,不可以再通过赋值语句改变该符
5、号常量的值。四、变量:在程序运行过程中,其值可以改变的量。遵循规则#include stdio.hmain()int a=10,b=20,c;c=a+b; printf(%dn,c);a=30;b=10;c=a+b;printf(area=%fn,c);变量中的值以最后一次赋值为准。第二节 整型数据一、 数值转换:计算机内部以二进制来存储数据数字的四种表示形式:十进制、二进制、八进制、十六进制表 十进制、二进制、八进制、十六进制对照表十进制0123456789101112131415二进制01101110010111011110001001101010111100110111101111八进制
6、012345671011121314151617十六进制0123456789ABCDEF除2取余1十 二、八、十六例:(38)10=( )2每位乘以2的n-1次幂,再求和2二、八、十六 十例:(1101)2= ( )10(1)2=21-1(11)2=22-1(111)2=23-1当二进制所有位数上的数字均为1时,可用2的n次幂减1求出其相应的十进制数。3二 八、十六观察表可得出每个八进制数的单个数字都可用3位二进制数来表示 每个十六进制数的单个数字都可用4位二进制数来表示 例:(13)8=(001011)2 (E3)16=(11100011)2十进制整型常量:09八进制和十六进制之间无直接转换
7、C中无二进制的整型常量八进制整型常量:(前导0)+(07)二、 整型常量:十六进制整型常量:(前导0x或0X)+(09 短整型长整型无符号型常量加lu/LU无符号整型(加后缀U/u)长整型(加后缀L/l)基本整型例1.6 以下选项是可作为C语言合法的整数的是:(C )A)10110B B)0386 C)0fXffa D)x2a2例1.7 以下程序运行后的输出结果是( )main()int x=0210;printf(%Xn,x);程序运行结果为:88基本整型:(short int) 2个字节无符号整型(加后缀U/u)三、 整型变量:短整型:(int)长整型(加后缀L/l):(long int)
8、 4个字节0000000000000110int i=6;int i; i=6;例: 定义变量的同时可给变量赋值,称为变量的初始化。变量的字节个数反映变量存储值的范围整型数据的取值范围:-3276832767(215-1)无符型数据的取值范围:065535(216-1)四、 整数在内存中的存储形式:位、字节、最低位、最高位、符号位(0正;1负)1有符号正整数:有符号正整数的存储形式称为源码。如:(10)10=(0000000000001010)2两个字节存放的最小的有符号正整数:0000000000000001两个字节存放的最大的有符号正整数:0111111111111111=215-1=32
9、7672负整数:“补码”形式存放(反码加1)两个字节存放的最小负整数为:1000000000000000 -32768327673无符号正整数:1111111111111111=216-1=65535例1.9 #include stdio.hmain()unsigned int a;int b=-1;a=b;printf(%u,a);程序运行后的输出结果是: (B)A) -1 B)65535 C)32767 D)-32768第三节 实型数据一、 实型常量:有2种形式:小数形式和指数形式1 小数形式:包含1个小数点的十进制数字串,小数点前(后)可无数字,但不可以同时没有数字。如:3 . .14
10、0.15 .2 指数形式:小数部分+指数部分e/E+整数(可带符号的整数)阶码 小数部分+指数部分二者缺一不可例:以下合法的一组C数值常量是:D)ox8A 10.000 3.e5C).177 4e1.5 0abcB)12. 0Xa23 4.5e0A)028 .5e-3 -0xA单精度:7位有效数字,计算机中给出6位小数位 -二、 实型变量:双精度:15-16位有效数字,计算机中给出6位小数位 -C中,为单精度分配4个字节的存储单元,其数值范围在-10381038之间C中,为双精度分配8个字节的存储单元,其数值范围在-1030810308之间第四节 表达式一、 算术运算符:+、-、*、/、%前后
11、只能为整型,当运算对象为负数时,C中运算结果的符号与被除数的符号相同。根据运算符的运算对象的个数,运算符可分为:单目、双目、三目 运算符两边的运算对象类型必须一致,结果的类型与运算对象类型一致 运算符两边的运算对象类型不一致时,运算对象从低类型向高类型转换。如:5/2.0=2 .5 C中,所有实型数的运算都是以双精度方式进行,单精度尾部补0表 算术运算符与圆括号的优先级次序高 低()+、-(正、负号)*、/、%+、-(加减号)同级同级同级单目双目二、 算术表达式: 用算术运算符和圆括号将运算对象连接起来的式子称为算术表达式三、 强制类型转换:(类型名)表达式;例:(int)(3.927*10+
12、0.5)/100.0第五节 赋值表达式一、 赋值运算符和赋值表达式:赋值运算符:=赋值表达式:变量名=表达式 如:sum=a+b; 赋值运算符=左边必须是变量 赋值运算符=左边的值被右边的表达式的值代替,而右边的值不变。如:b=3;c=2; a=b+c; 赋值表达式的值是赋值号左边变量被赋值后的值。如:x=y=25 25赋给y,再将y=25这个表达式的值赋给x,则x=25 给合方向:自右向左 赋值运算符=是单方向的操作,将右边表达式的值赋给左边的变量 赋值运算符=两边的运算对象类型不一致,自动转换:右边表达式的值的类型转化成左边变量的类型例1.13 有以下语句:double a,b;int w
13、;long c;若各变量已正确赋值,则下列选项中正确的表达式是:( C )A) a=a+b=b+ B) w%(int)a+b) C) (c+w)%(int) a D)w=a%b;二、复合赋值表达式:算术运算符和赋值运算符组合成复合赋值运算符:+=、-=、*=、/=如:n+=100; 相当于 n=n+100;例:n=8; n+=n*=n-2; 运算方向:自右向左 6 48 96三、自加、自减运算符:+、- 属于赋值运算符 +i:+称为前缀增量运算符 i+:+称为后缀增量运算符 增量运算符的运算对象只能为变量,有有为常量或表达式 如:3+ +(i+1) +/-不论放在变量的前或后,变量本身都会增加
14、(或减少)1 结合方向:自右向左 i+:表达式的值为变量i没有增加1之前的值(即变量i 的初始值) +i: 表达式的值为变量i增加1之后的值(即变量i增1之后的值)如:i=3;j=i+; j=i; i=i+1; j=3k=+i; i=i+1;k=i; k=4例1.15 有以下程序:#include stdio.hmain()int m=12,n=34;printf(%d%d,m+,+n);printf(%d%d,n+,m+);程序运行后的输出结果是:( A )A) 12353514 B)12353513 C)12343514 D)12343513四、 逗号运算符和逗号表达式:逗号运算符:,逗号
15、表达式:用逗号运算符将两个或两个以上的表达式连接起来,可构成一个新的表达式结合性:自左向右整个表达式的值为最后一个表达式的值如:x=5,y=6,z=7; 7 逗号运算符的优先级最低。例: a=3*5,a*4因为=的优先级比,优先级高,所以先求解a=3*5=15,然后求解a*4=60,所以整个逗号表达式的值是60例:#include stdio.hmain()int x,y,z;x=y=1;z=x+,y+,+y; /*先将x+的值赋给z,z为1;整个逗号表达式的值为3printf(%d,%d,%d,x,y,z);程序运行后的结果是:( C)A)2,3,3 B)2,3,2 C)2,3,1 D)2,
16、2,1第二章 顺序结构C语言的三种基本结构:顺序、选择、循环一、 表达式语句:在表达式之后加一个分号“;”,就构成了一个表达式相应的语句。特别地,当只有一个;时,也是一条语句,称为“空语句”。空语句表示程序执行时,不产生任何动作。二、复合语句:(多个语句)用括起来的多个语句组成一个复合语句,其形式如下: 语句1,语句2,语句3,.,语句n;一个复合语句在语法上等同于一个语句三、 顺序结构:一个程序中的语句按照它们在程序中出现的顺序逐条执行,由这样的一系列语句构所的程序结构称为顺序结构。第二节 数据输出程序运行过程中产生的数据需输出到显示器或打印机上,用户才能看到;一般情况下,计算机先将运行结果
17、存到变量中,然后将变量的值输出。C语言本身无输入/出关键字,输入/出操作由数据库函数提供的,因此程序第一行需引入库函数。#include ”stdio.h”一、 printf函数的一般形式:功能:按指定的格式将需要输出的数据在显示器上输出用于说明的信息:按原样输出格式:输出控制+输出数据列表带有%的格式转换说明:指定输出数据的格式 1输出控制由“”引起来的格式转换控制信息: 格式转换说明必须有;但只有格式说明信息时可以没有格式说明信息和后面的输出数据列表格式说明信息如:printf(”a=%d ,b=%d”, 2,3);2输出数据列表:包括需要输出的一些数据(可以是常量,变量或表达式),各数据
18、之间用,隔开。 输出数据的个数与输出控制中格式转换说明的个数要相等,且在顺序上要一一对应且类型匹配。(否则,系统不会报错,得不到正确的结果) 若输出数据个数与格式说明的个数不相等时: 输出数据个数格式说明的个数:多余的输出项不输出 输出数据个数实际宽度:右对齐,左边补空格 如:printf(“%4d”,254); 输出:空格(1)+254指定宽度指定的小数位数:截去多余的小数位(四舍五入) 实际小数的位数指定的小数位数:右边用0补齐 若想输出格式为:0mmm(8)或0xmmm(16),输出数据类型应为:%#o或%#x或%#X第三节 数据输入一、 scanf函数的格式:&变量名scanf(输入控
19、制,输入数据列表)二、scanf函数中的格式说明:格式说明对应的输入数据格式格式说明输入数据格式%d输入十进制整型数%i输入整型数,可是前导带0的八进制数和带前导0x的十六进制整数%c输入一个字符%o输入八进制整型数%x输入十六进制整型数%u输入无符号的十进制整型数%f以带小数点的形式或指数形式输入单精度或双精度数说明:从键盘输入多个数值数据时,数值数据之间用分隔符隔开 如:int x,y,z; scanf(“%d%d%d”,&x,&y,&z); 格式说明的类型与输入项的类型一一对应匹配 可指定输入数据的宽度,但不能指定小数的位数 格式说明的个数输入项的个数: 结束输入 如:#include
20、stdio.hmain()int x,y,z,w;scanf(%d%d,&x,&y,&z);scanf(%d,&w);printf(%d,%d,%d,%d,x,y,z,w);若输入:10 20 30(输入结束) 输出结果为:x=10,y=20,w=30 如:main()int x,y,z;scanf(%d%d%d,&x,&y); scanf(%d,&z);printf(%d,%d,%d,x,y,z); 若输入:10 20 30 40后就结束输入 x=10,y=20,z=40 跳过输入数据的方法:格式字符与%之间加一个*,使跳过输入的数据。 在输入控制中含有其他的字符,则在输不入时要求按一一对应
21、的位置原样输入这些字符:如:scanf(“x=%d,y=%d”,&x,&y)输入时需按如下格式输入数据:x=10,y=20 scanf赋值和使用赋值语句赋值,有什么区别:前者变量的值是不固定的,运行结果可不同;后者变量的值是固定的,运行结果是相同的。第三章 选择结构第一节 关系运算与逻辑运算C中的逻辑值:真(非0) 假(0)一、 关系运算符:、= 关系运算符赋值运算符二、关系表达式:用关系运算符将两个表达式连起来的表达式 运算结果有两种:真(1)、假(0)三、逻辑运算符:! & |高低 优先顺序:逻辑运算符两侧的运算对象可以是任意合法的表达式!(单目)算术运算符关系运算符&|赋值运算符逗号运算
22、符四、逻辑表达式:注意短路现象例:设有定义:int a=2,b=3,c=4;则以下选项中值为0的表达式是(A)A)(!a= =1)&(!b= =0) B) (a50) printf(%d,a); if(a40) printf(%d,a); if(a30) printf(%d,a);输入,输出结果将为:例:main()int a=4,b=3,c=4,t=0;if(ab) t=a;a=b;b=t;if-else语句的功能流程图表达式执行语句1执行语句1 if(ab) if(bc)printf(%d,d+1);else printf(%d,+d+1); printf(%dn,d);程序运行后的输出结
23、果是:(A)A) 2 B)3 C)43 D)44练习:编写程序:输入两个数,输出较大者三、ifelseif结构:if(表达式1) 语句1elseif(表达式2) 语句2可是一条语句或一个复合语句,后不加;elseif(表达式3) 语句3.else 语句n 表达式1不满足时,才会判断表达式2是否满足等等,但多个if语句并列时,逐条对if表达式进行判断 3种形式的if中的表达式一般为逻辑表达式或关系表达式1 x0分析: 0 x=0 y= 成绩等级问题四、嵌套的if条件语句:if语句的子句可是一复合语句,也可是一个if语句,即嵌套的if语句。基本形式如下: if (表达式1)if (表达式2) 语句
24、1else 语句2 elseif (表达式3) 语句3else 语句4例:if (表达式1) if (表达式1)if (表达式2) 语句1 if (表达式2) 语句1else 语句2 else 语句2例:main()int a=3,b=4,c=5,d=2;if(ab) if(bc)printf(%d,d+1);else printf(%d,+d+1); printf(%dn,d);程序运行后的输出结果是:(A)A) 2 B)3 C)43 D)44第三节 条件运算符和条件表达式条件运算符:?条件表达式:表达式1?表达式2:表达式3条件运算符的优先级:赋值运算符 c?a:c; ab?a:cd?c:
25、d第四节 switch语句其值为整型或字符型,不能为实型基本形式:求得的整型常量或字符型常量表达式,不含变量Switch(表达式)case 常量表达式1:语句块1;break;case 常量表达式1:语句块1;break;语句体case 常量表达式2:语句块2;break;case 常量表达式3:语句块3;break;case 常量表达式n:语句块n;break;default: 语句块n+1;break;可包含多条语句,不 加 若没有一个常量表达式的值与switch中的表达式值相等,执行default case和default的出现次序不影响运行结果,default有且仅有一个 “case
26、常量表达式:”只起语句标号的作用,并不是在该处进行条件判断;即:若执行完某一个case或default语句块后无break,则继续执行,直至break或switch语句体被执行完毕为止。例:按照学生的考试成绩,打印出相应的等级,90分以上的输出“A”等级,80分以上的输出“B”等级,依此类推,60分以下输出“E”等级。main() int score;scanf(“%d”,&score);switch(score/10) case 10:printf(“An”);break;case 9:printf(“An”);break;case 8:printf(“Bn”);break;case 7:p
27、rintf(“Cn”);break;case 6:printf(“Dn”);break;default:printf(“En”);break;例:以下程序的输出结果是:(A)main()int a=15,b=21,m=0;switch(a%3)case 0:m+;break;case 1:m+;case 2:switch(b%2) to default:m+; case 0:m+;break; printf(“%dn”,m);A)1 B)2 C)3 D)4第五节go to 语句go to语句:无条件转向与go to语句同在一个函数内的语句标号所在的位置语句标号:标识符后加一个冒号第四章 循环结
28、构例:s=1+2+3+100=(1+2)+3)+4)+)+100s0=0 s1=s0+1 s2=s1+2 . s100=s99+100i=1 s=0s=s+I;i+; (重复执行)一、 while语句的一般形式:while(表达式)任意合法的表达式 循环体语句; 若循环体语句只有一条,可不加;若循环体语句多于一条,则必须用括起来组成一复合语句;即如果不加,则while语句的范围只到while后面第一个分号处 ()内的表达式不能省略,循环体语句可由一个空语句组成,表示循环体部分不做任何操作。二、执行过程:表达式循环体语句0死循环:表达式的值始终为0若第一次表达式的值就为0,则循环一次也 不执行非
29、0例main()int i,sum=1;i=1;while(i=5)sum=sum*i;i+;printf(%d,sum);例:main()int i,sum;i=1;sum=0;while(i=100)sum=sum+i;i+;printf(%d,sum); 第二节dowhile语句一、一般形式:do 循环体语句while(表达式); dowhile配对使用 循环体语句只有一个,可以不加;若多于一条,则须用括起来组成复合语句 表达式不可省,循环体部分可是一条空语句 dowhile结构是由一个语句加一个while结构构成的,在语法上也是一条C语言语句,因此最后的分号不可少,它同样表示语句的结束
30、二、执行过程:表达式循环体语句非00dowhile和while 的区别: while先判断表达式的值,为真执行循环体;dowhile循环则是首先执行一次循环体,再判断表达式的值,为真执行循环体 dowhile()后加分号;dowhile至少执行一次循环体求和:main()int i,sum;i=1;sum=0;dosum=sum+i;i+; while(i=100)printf(%d,sum); 第三节 for语句一、 一般形式:for(表达式1;表达式2;表达式3) 循环体语句说明: for为关键字; 表达式1赋初值,表达式2控制循环,表达式3给循环变量赋值,表达式之间用;隔开 循环体只有一
31、个语句不加;若多于一个,则必须用括起来 3个表达式可缺省,但;不能缺省 循环体语句可由一个空语句组成,表示不做任何操作求和:main()int i,sum;sum=0;for(i=1;i=100;i+)sum=sum+i;printf(%d,sum); 表达式2循环体语句非00计算表达式1计算表达式3二、执行过程:表达式1一般是对与循环体有关的变量赋初值;表达式2类似于while()圆括号内的表达式,控制循环;表达式3是循环变量的自增、自减操作for的一般形式等价于:表达式1;while(表达式2)循环体语句;表达式3;表达式1可省略,此时应在for语句之前给变量赋初值,但是省略表达式1时,其
32、后的分号不能省略表达式2可省略,此时相当于表达式2的值永远为真,循环将变为死循环表达式3可移到for循环体的尾部,成为循环体的一部分,表达式3缺省表达式1和表达式3可省,只有表达式2,即只给循环条件如:for(;i=2;i-) f*=i;B) f=1;for(i=4;i1;i+) f*=i;C) f=1;for(i=1;i4;i+) f*=i;D) f=0;for(i=1;i=4;i+) f*=i;例:main()int i;for(i=0;i3;i+)switch(i)case 0:printf(%d,i);case 2:printf(%d,i);default:printf(%d,i)程序
33、运行后的输出结果是:(C)A)022111 B)021021 C)000122 D)012第四节 循环结构的嵌套例:有以下程序:main()int i,j,sum;for(i=1;i5;i+)for(j=1;j10&x10&x0;x-)if(x%3) printf(%d,x-);continue;printf(%dn,-x);输出结果:8542 main()int a=1,b;for(b=1;b=8) break;if(a%2=1) a+=5;continue;a-=3;printf(%dn,b);输出结果:4例:三、break和continue的异同:break结束整个循环,continue
34、结束本次循环两者起作用的仅仅是最内层循环break可跳出switch,可结束循环continue只能跳出本次循环第五章 字符型数据 位运算第一节 字符编码一、字符常量: 一对单引号括起来的一个字符一个字符常量的值是该字符相对应的ASCII码值字符常量占1个字节,存放的是其相对应的ASCII编码控制字符:如回车,无法直接输入,在屏幕上不能显示,在程序中也无法用一个一般形式的字符表示,只能采用特殊形式来表示,需将某些可以输入的字符经过适当的处理得到,C中规定,控制字符必须用转义字符序列。转义字符是将某些特定的普通字符前加构成的以一对单引号括起来的字符序列。转义字符在语法上仍然是单个字符,表示后面的
35、字符失去原来的意义。表 C语言中常用的转义字符字符形式意义字符形式意义n换行一个反斜杠字符t横向跳格一个单引号v竖向跳格”一个双引号”b退格符ooo13位八进制数代表的字符r回车符xhh12位十六进制数代表的字符f换页符0空值(1)一般转义字符:+普通字符;(1个)反斜杠、单引号、双引号不能直接输入。因为在C中,表示转义并不是反斜杠本身;单引号表示字符常量;一对双引号表示字符串。若直接输入会出现语法错误。要使他们失去原有的语法功能,只作为一个普通字符而存在,必须要进行转义。如: ”(2) 八进制转义字符:ooo:+13位8进制数字构成字符序列,表示ASCII码等值于该八进制数的字符。如:101
36、 A(3)十六进制转义字符:x+12位十六进制数字构成一字符序列,表示ASCII码等值于该十六进制数的字符 字符常量的标点是一对单引号 字符常量在语法上是单个字符。所以字符常量要么是一对单引号括起来的一个普通字符,要么是一对单引号括起来的转义字符。如:a12 非法例:以下不合法的字符常量是:(A)A) 018 B)” C) D) xcc二、字符变量形式:char 变量名;功能:存放字符常量,它只能存放1个字符,不可在字符变量中存放一个字符串(若干字符)将一个字符常量放到一个字符变量中,实际上并不是把字符本身放到内存单元中,而是将字符相应的ASCII码放到存储单元中。所以内存中,字符数据的存储形
37、式和整数的存储形式类似,字符型数据和整数型数据可以通用。一个字符数据既可以以字符形式输出,也可以以整数形式输出。97如:c1 char c1=a 或 char c1=97 01100001c1 例:已定义c为字符型变量,则下列语句中正确的是:(C)A) c=97 B) c=”97” C) c=97 D) c=”a” 三、对字符型数据的运算:字符型数据都是以整型量来进行处理的。所以字符型数据可以参与任何整数运算。运算过程中,将字符替换为相应的ASCII码再进行运算。如: DC=1第三节 字符型数据的输入输出一、使用printf输出字符数据:格式输出类型为%c如:char a=A;printf(“
38、a=%c,%d”,a,A); a=A,A二、使用scanf输入字符数据:格式说明符为%c如:char a,b,c;scanf(“%c%c%c”,&a,&b,&c);scanf输入数据,输入的各个数据之间可以用3种间隔符来分隔:空格、回车、TAB;但用scanf输入字符时,空格、回车、TAB都将作为合法有效的字符读入。三、使用getchar输入数据:格式:变量名=getchar();如:char a ,b,ca=getchar();b=getchar();c=getchar(); getchar()中的()不可缺,里面无参数。 使用getchar输入字符时,空格、回车都是合法有效的字符,都将被读
39、入且赋予变量。如:输入A B C 用scanf: a=A b=B c=C 用getchar:a=A b=空格 c=B若改为: scanf(“%c %c %c”,&a,&b,&c); 此时可输入:ABC 或 A B C或A回车B回车C回车例:main() int a,b; char x,y; scanf(“%d%c%d%c”,&a,&x,&b,&y);输入形式可以为:10A20B 计算机读到10后碰到非数值A就认为a的赋值结束了 10A 20B 10 A 20 B (非法)四、使用putchar输出字符型数据:格式:putchar(变量名);用putchar函数可以输出能在屏幕上显示的字符,也可
40、输出控制字符。如:putchar(n);例:char c;while(c=getchar()!=?) putchar(-c);输入:Y?N? 输出结果:X第四节 位运算一、 位运算符:(按位取反):单目运算符,结合性自右向左 :ai 将a的二进制位右移i位,右边溢出的部分舍弃,左端补0 :ai 将a的二进制位左移i位,左边溢出的部分舍弃,右端补0三、& | :满足交换律例:unsigned char a=1,b=2,c,d,e;C=a(b2);D=73;E=4&3;执行后,c,d,e的值分别为:(D)A) 6 7 0 B)7 4 0 C)8 7 3 D)9 4 3(1)b: 00000010
41、b2: 00001000a(b2): 00000001 00001001=9 (2 ) 73: 00000111 00000011 00000100=4 (3 ) 4: 00000100 11111011 4&3: &00000011 00000011=3例:若变量已正确定义,则以下语句的输出结果是:(B)s=32;s=32;printf(“%d”,s);A) -1 B) 0 C) 1 D)32第六章 函数函数:在C 中的程序设计中,需要将一个较大的程序分解为若干个较小的,功能单一的且特定的程序模块,这些模块称为函数。函数是C语言的基本组成单位,一个特定的函数具有独立功能的C语言代码块,用于完成特定的任务并根据需要可返回一个确定的值。每一个函数都有一个独有的函数名,即是与其他函数加以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 漳州市平和县2025-2026学年第二学期三年级语文第七单元测试卷(部编版含答案)
- 石家庄市井陉矿区2025-2026学年第二学期五年级语文期末考试卷(部编版含答案)
- 常德市汉寿县2025-2026学年第二学期五年级语文期末考试卷(部编版含答案)
- 水土保持监测工道德能力考核试卷含答案
- 缝制机械装配工安全培训效果竞赛考核试卷含答案
- 地勘钻探工安全宣教水平考核试卷含答案
- 摩托车发动机装调工操作规范模拟考核试卷含答案
- 2026年流程工业智能控制系统升级与优化
- 吕梁市孝义市2025-2026学年第二学期五年级语文第七单元测试卷(部编版含答案)
- 六安市舒城县2025-2026学年第二学期五年级语文第八单元测试卷(部编版含答案)
- 2025-2030年中国炭煤行业市场现状分析及竞争格局与投资发展研究报告
- DBJ51T193-2022四川省金属与石材幕墙工程技术标准
- 第十四章 整式的乘法与因式分解(压轴题专练)(原卷版)
- 2025年春季地理七年级期中素养评估(第七、八章)
- 2025年青海青江实业集团有限公司招聘笔试参考题库含答案解析
- 无人机航测基础培训
- k歌沐足合同协议书范文范本
- 光伏发电监理表式(NB32042版-2018)
- 等差数列的通项与求和公式
- 布局经营 绘画构图基础 课件-2022-2023学年高二美术人美版(2019)选择性必修绘画
- 整合营销传播-品牌传播的策划、创意与管理(第3版)课件 第11章 整合视觉传达策略
评论
0/150
提交评论