一语法.ppt
《一语法.ppt》由会员分享,可在线阅读,更多相关《一语法.ppt(35页珍藏版)》请在三一文库上搜索。
1、一、语法,标识符: 由字母、数字和下划线三种字符组成,且必须以字母或下划线开头。 关键字不能作为用户定义的标识符。 用户定义标识符: 合法: char2 _abc a3 P1 max 等 不合法: int p.i break 3a a+b等 常量: 合法: n 102 0 t 2L 72等 不合法: ABC 1.2e0.5 M 等 基本数据类型 :整型、实型、字符型,(一)运算符和表达式: 1. 结合性及优先级 (p16) 例: a+=a*=2 a+=(a=a*2) a=a+(a=a*2) 若初始情况下a=3,则执行上述运算后a=?,12,2. 对操作数的要求 (1) (i+j)+, 3+ (
2、) +,- - 只能对变量操作 (2) a%b %两边的操作数必须为整型 (3) a,b若为整型,则a/b为整除 1/5 结果为0 1.0/5 结果为0.2 (4) 赋值号的左边只能是变量名或数组元素名 x+y=3 () sqrt(4)=2 () s=s+i ( ) (5)数值型和字符型在一定范围内可通用 char c=a; printf(“%c %dn”,c+1 ,c+1); (b 98),3. 用逻辑表达式表达某个命题 如: ch=0&ch=a&x=100&x1000 x是一个3位整数 x是一个3位整数,其十位数为:x/10%10 或 x%100/10,有定义:int a=1,b=3;fl
3、oat x=2.5; 则以下那些是合法的表达式? a+1=a+1 () + (a*b) () sqrt(16)=4 () a+=1 a=a+b a= =a+b a=x%b () x=(int)x%b; x=10/3%5 x=x/2 a=b+ a=+b,已知 a=b =1; 则执行语句 a- 后a、b的值? (0,1),4. 初始化与赋值 错误: int a=b=c=0; int a,b,c=0; 应为: int a=0,b=0,c=0; 或: int a,b,c; a=b=c=0; 5. 数据输入和输出 (函数scanf ,printf,getchar(),putchar() ) (1)数据如
4、何输入 设:int a,b; char c,d; scanf(“ %d%d“,(2)数据输出 printf(“a=%d , b= %d“,a,b); printf(“c=%c , d= %c“,c,d); putchar(c); putchar(d); c为字符型变量,哪个是正确的语句 ? c=abc; c= n ; () c=“abc“; c= 0; () c=“101”; c= 101; (),how do you do,6. 语句: (1) if语句的几种形式 if( )语句; if( )语句1;else 语句2; if( ) 语句1; else if ( ) 语句2; else (2)
5、 switch语句中适当的地方加break退出 switch(a%5) case 0: printf(“%d ”,a+); case 1: printf(“%d ”,+a); case 2: printf(“%d ”,a-); case 3: printf(“%d ”,-a); 若a=2,则输出: (直接输出2 0,在哪里加break都不行啊),2 0,int a=3; if(a)a=5; if(a!=0) a=5 if(!a)a=5; if(!(a!=0)a=5 if (a3) x=1; else x=0;,(3) 循环: do _while 先执行后判断,至少执行一次 for ,while
6、 先判断后执行,可能一次也不执行 main() int i,s=0; for(i=1;i0;i-=2)s+=i; printf(“%dn”,s); ,8,9,main() int i,s=0; for(i=1;i=10;i+) if(i%3=0)break; s=s+i; printf(“%dn”,s); ,main() int i,s=0; for(i=1;i=10;i+) if(i%3=0)s=s+i; printf(“%dn”,s); ,3,18,以下程序段中循环执行的次数是( ) int k=1; while(k=2) k+;(D) int i,k=0; for(i=0;i!=k;i-
7、)k+; (D) A.无限次 B.有语法错,不能执行 C. 1次 D. 0 次,int k=3; while(k=0) k+; (D),注意:运算符“=”与“=”,break语句用于退出本层循环及退出switch语句,7. 数组 数值型 a. 定义、初始化 int a10=1,2,3,4; int a=1,2,3,4; int n=5,an; () b. 输入、输出 int a10; 输入: for(i=0;i10;i+) scanf(“%d”, ,注意:与 gets(c)函数的区别,字符型 a. 定义、初始化 char a20= “ abcdefg “; char a=“ abcdefg “
8、; 输入、输出 char a20; 输入: scanf(“%s”,a); 若输入how do you do 则c的值? gets(a); 输出: printf(“%s”,a); how do you do printf(“%s”,a+3); do you do puts(a); how do you do,二维数组: int a33=1,2,3,4,5,6;则元素a10的值?(4),8. 指针 (1) 指针和变量 int a=5,*p=的结果为( )。 4 p-p1的值?2,(3) 字符指针 有定义char s =“abcdefgh“,*p=s; 则执行printf(“%s”, p+3); 后
9、输出结果? 执行printf(“%c”,*( p+3); 后输出结果?,defgh,d,char s8; s= “Hello“; () char *s; s=“Hello“; () char *s; s=“Hello“;,以下定义语句,错误的是( ) char a10=1,5,9,*p=a; char a10,*p=a; int n,an=10; () char a=”1234567”,*p= (),9. 函数 定义形式: 返回值类型,形式参数说明位置,返回语句 调用: 函数名(实在参数表); 以语句或表达式的形式调用 说明:位置,形式 函数类型 函数名( ); 或: 函数类型 函数名(参数类
10、型表); 参数传递:原则 值传递-单向 (p119 程序2) 地址传递(数组名或指针变量)-参数本身单向传递,但指针变量所指内容或数组元素的改变是双向的 P109 例6.4 p112 对例6.4的调用,函数定义: int f(int x, int *y) 调用: k=fun(1, ,void f(int x, int *y) 调用: fun(1,int f(int x, int *y) 调用: int x10; k=fun(x,例:,void swap(int x,int y) int temp; temp=x; x=y; y=temp; main() int a,b; scanf(“%d%d
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语法
链接地址:https://www.31doc.com/p-2840695.html