资源描述:
《c语言宏定义与指针》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第11讲宏定义与指针上周平台编程训练情况练习完成情况:75个同学基本完成练习?7个同学存在折扣或者错误。平台发帖区:27个问题贴,其中我转帖qq问题的聊天记录11个帖子,希望大家去浏览帖子。完成标准1、提交过2、错了订正3、反复练习,达到会做4、举一反三温故知新期末考试还有1个月,期中考试覆盖内容是重点和基础。11月12日课堂练习疑似替做一人身兼三人?课堂练习问题上周平台训练问题12生肖问题:字符串输出爱因斯坦问题:穷举法数的交换问题1、最大/最小值2、两两交换12生肖问题:字符串输出书144页:字符串输出/输入有两种方法逐字符:需要用到循环,不建议用
2、整个字符串一次性输出/输入:简单,建议用书136页:二维数组floata[3][4];则a[0]、a[1]、a[2]则视作一维数组名chara[12][10]={"A","B"};printf("%s",a[0]);printf("%c",a[0][0]);区别爱因斯坦问题穷举法:基本掌握思路:for(i=1;;i++)//穷举所有可能,没有设置循环结束条件,因为不知i最大能到多少{if(列出题目中的条件)输出答案并break//找到答案就输出,并退出循环}书119页,表达式2可省略通过break退出循环if需要控制两条语句,因此要{}构成复合语句数的
3、交换问题10.7的问题贴很多:没思路?找不到错误何在?程序阅读1—结果?#includeintmain(){inta=3,b=4;a=a+b;b=a-b;a=a-b;printf("%d,%d",a,b);}不用中间变量的两两交换方法程序阅读2-结果?#includeintmain(){inta=3,b=4,t;t=a;a=b;b=t;printf("%d,%d",a,b);}运用中间变量的两两交换方法,经典程序阅读3:max与min作用?#includevoidmain(){inta[10
4、0],i,min,max,n;scanf("%d",&n);for(i=0;imax)max=a[i];}printf("min=%d,max=%d",min,max);}max与min记录最大值与最小值平台的6.3题平台6.7题,max与min记录最大值与最小值的位置(下标)平台11.5题,max与min记录最大值与最小值的位置(指针)10.7
5、程序挑错1#includevoidmain(){ inta[10],max,min,i,t,n; for(i=0;i<=9;i=i+1) scanf("%d",&a[i]); max=0;min=0;for(i=0;i<=9;i=i+1) { if(a[i]>max) max=i; if(a[i]6、tf("%d,",a[i]); printf("");}max与min记录最大值与最小值的位置(下标)10.7程序挑错2#includevoidmain(){inta[10],i,max,min,k,j;for(k=0;k<10;k++)scanf("%d",&a[k]);a[max]=a[0];a[min]=a[0];for(j=1;j<10;j++){if(a[j]a[max])a[max]=a[j];}a[0]=a[min];a[9]=a[max]
7、;for(i=0;i<10;i++)printf("%d,",a[i]);printf("");}max与min值不确定,a[max]、a[min]表示?两两交换?本讲新内容指针与变量指针作函数参数指针与数组宏定义14地址概念与如何表示?内存区的每一个字节有一个编号,这就是“地址”。C规定:变量的地址:可以用取地址运算符‘&’来获取数组的地址:可以用数组名表示函数的地址:可以用函数名表示15inti,j,k;printf("%d",i);scanf("%d",&i);k=i+j;指针是一种特殊变量,它存放地址。地址2000是变量i的指针变量与
8、指针10.2.1定义一个指针变量定义指针变量的一般形式为:数据类型*指针变量名;例:int*p