欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    一语法.ppt

    • 资源ID:2660594       资源大小:226.01KB        全文页数:35页
    • 资源格式: PPT        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    一语法.ppt

    一、语法,标识符: 由字母、数字和下划线三种字符组成,且必须以字母或下划线开头。 关键字不能作为用户定义的标识符。 用户定义标识符: 合法: 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) 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;float 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)数据如何输入 设: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) 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 先判断后执行,可能一次也不执行 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-)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 “; 输入、输出 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); 后输出结果? 执行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. 函数 定义形式: 返回值类型,形式参数说明位置,返回语句 调用: 函数名(实在参数表); 以语句或表达式的形式调用 说明:位置,形式 函数类型 函数名( ); 或: 函数类型 函数名(参数类型表); 参数传递:原则 值传递-单向 (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“, ,void fun(char *a) *a=*a+1; main() char c1='A', *p1; p1= B ,10. 变量的作用域和存储类别 (1) 静态变量和动态变量: 静态变量只初始化一次, 缺省值为0或0 。 而动态变量每调用一次函数,便初始化一次。缺省值为随机值。 test() int i=1;static int j=1; i+;j+; printf(“i=%d,j=%dn“,i,j); main() test(); test(); ,i=2,j=2 i=2,j=3,(2) 全局变量和局部变量 当全局变量和局部变量同名时,局部变量起作用。 int m=10; void a(int n) n=15/n;m=m/2; main() int n=3; a(n); printf(“n=%d,m=%dn“,n,m); ,n=3,m=5,三、结构体 结构类型的定义、初始化、成员的引用。 如: struct student long no; char name20; float score; s=123456L,”zhang san”,88,*t= 错误,四、文件 文件的打开、字符读写与块读写。 (1)文件的打开方式 如:“ r“ 、“ rb“ 、 “ w“ “ wb“ (2)文件指针指向一打开的文件 #include “ stdio.h “ FILE *fp; fp=fopen(“ c:a.dat “, “ wb “) (3)字符读写与块读写函数的用法 fgetc函数、 fputc函数 fread函数、fwrite函数,例:从键盘输入一字符串,将小写字母转换成大写字母, 然后保存在test.dat文件中。 #include “stdio.h“ main() FILE *fp; char str100; int i=0; if(fp=fopen(“test.dat“,“w“)=NULL) printf(“Can not open the filen“); exit(1); printf(“Input a string:n“); gets(str); while(stri!= 0) if(stri= a ,二、算法 计算分段函数 最大值、最小值 计数、求和、文本统计 级数求和 素数、最大公约数 穷举法 7. 排序 8. 统计字符串的长度、复制、连接、大小写转换 9. 数据的插入、删除、二分法查找,if (x1) y=1; else if(x=0) y=0; else y=-1;,部分算法举例分析:,main() int i,n,max,min,a100; scanf(“%d“, ,2.,int findmax(int a,int n) int i,max; max=a0; for(i=1;imax)max=ai; return max; ,3. 计数、求和、文本统计,统计整型数组中偶数的个数。 main() int a10,i,count=0; for(i=0;i10; i+) scanf(“%d”, ,统计小写字母的个数。 #include “stdio.h “ main() char ch,sum=0; while(ch=getchar()!= 'n') if(ch='a' ,4. 级数求和 计算:s= 1+1/2!+1/3!+1/n! main() int i,n; float t=1,s=0; scanf(“%d”, , float fun( int n) int i,n;float t=1,s=0; for(i=1; i=n; i+) t=t/i; s=s+t; return s; main() scanf(“%d”, ,最大公约数、最小公倍数 int gcd(int m,int n) int h; while(h=m%n) m=n;n=h; return (n); main() int x,y,g1,g2; scanf(“%d%d”, ,5. 素数 int isprime(int m) int i; for(i=2;m%i!=0;i+); return(i= =m); main() int k,s=0; for(k=100; k200;k+) if(isprime(k) s=s+1; printf(“%d”,s); ,6. 穷举法,鸡兔同笼,共有30个头,90只脚,求鸡兔各有多少? main() int m; for(m=1;m30;m+) if(m*2+4*(30-m)=90) printf(“%d chickens and %d hares“,m,30-m); 编一个程序,求出方程x2+2x=y3 (其中1=x=100; 1=y=100)的所有整数解。 main() int x,y; for(x=1;x=100;x+) for(y=1;y=100;y+) if(x*x+2*x=y*y*y) printf(“x=%d,y=%dt“,x,y); ,void sort(int x,int n) int i,j,k,w; printf(“x=%pn“,x); for(i=0;ixj)k=j; if(i!=k) w=xi;xi=xk;xk=w; ,main() int n,a10,i; printf(“a=%pn“,a); scanf(“%d“, ,7. 排序,冒泡法排序 for(i=0;iaj+1) temp=aj;aj=aj+1;aj+1=temp;,8.字符串 (1) 求长度 strlen函数 long len(char s) long i=0; while(si!='0')i+; return i; (2) 复制 strcpy函数,#include “stdio.h“ main() char s180,s280; int i; gets(s1); for(i=0;s1i!='0'i+) s2i=s1i; s2i='0' puts(s2); ,连接 #include “stdio.h“ main() char s180,s280; int i,j; gets(s1); gets(s2); for(i=0;s1i!='0'i+); for(j=0;s2j!='0'j+) s1i+j=s2j; s1i+j='0' puts(s1); ,(4) 大小写转换 #include “stdio.h“ main() char s80; int i; gets(s); for(i=0;si!='0'i+) if(si='A' ,(5) 字符串逆序存放、回文,#include “stdio.h“ #include “string.h“ main() char s180,s280; gets(s1); strcpy(s2,s1); n=strlen(s2); for(i=0;in/2;i+) t=s2i; s2i=s2n-i-1; s2n-i-1=t; if(strcmp(s1,s2) printf(“yes“); else printf(“no“); ,9. 数据的插入、删除 for(i=0;i=i;j-) aj+1=aj; ai=key;,for(k=0;k10;k+) if(key=ak)break; for(j=k;j9;j+) aj=aj+1;,

    注意事项

    本文(一语法.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开