当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

《C语言程序设计》课程教材讲义(C语言程序设计上机指导与同步训练)实验十三 预处理命令和指针(1/2)

资源类别:文库,文档格式:PDF,文档页数:6,文件大小:114.23KB,团购合买
1. 学会使用宏定义和文件包含。 2. 重点掌握指针变量的定义和赋值。 3. 掌握指针变量的引用。 4. 初步掌握指向数组的指针的定义和使用。
点击下载完整版文档(PDF)

实验十三预处理命令和指针(1) 班级 姓名 指导老师 成绩 第 机房 号机器时间: 实验目的:1.学会使用宏定义和文件包含 2.重点掌握指针变量的定义和赋值 3.掌握指针变量的引用 4.初步掌握指向数组的指针的定义和使用。 实验要求:每次实验前,学生要先预习实验内容,写出分析结果或程序,经实验指导 老师检查后,上机运行、调试程序,得出最终正确结果 实验内容 、读程序 要求:读懂程序,写出分析结果;上机运行程序,得到运行结果,比较之。 #include #define ADD(x)x+x main() int m=l,n=2, k=3 int sum ADD(m+n)*k printf("sum=旨d\n”,sum); 分析结果 #include #define ArEA(r)(r )*(r) #define PI 3.14159 main( int x=l, y=2 ,s printf("s=暑dn”,s);

实验十三 预处理命令和指针(1) 班级______________姓名___________指导老师_____________成绩___________ 第_____________机房___________号机器 时间:________________________ 实验目的:1. 学会使用宏定义和文件包含。 2. 重点掌握指针变量的定义和赋值。 3. 掌握指针变量的引用。 4. 初步掌握指向数组的指针的定义和使用。 实验要求:每次实验前,学生要先预习实验内容,写出分析结果或程序,经实验指导 老师检查后,上机运行、调试程序,得出最终正确结果。 实 验 内 容 一、读程序 要求:读懂程序,写出分析结果;上机运行程序,得到运行结果,比较之。 1. #include #define ADD(x) x+x main() { int m=1 ,n =2 , k=3; int sum = ADD(m+n)* k ; printf(“sum = %d\n” ,sum ); } 分析结果 运行结果 2. #include #define AREA(r) ( r ) * ( r ) #define PI 3.14159 main( ) { int x=1, y=2 ,s; s= AREA(x+y)* PI; printf(“s = %d\n”,s); }

C语言程序设计上机指导与同步训练 分析结果 运行结果 main() int *p,a=10,b=l p=&a; printf("a=kd, p=d \n",a,*p) 析结果 运行结果 b=(-*p1)/(*p2)+7 printf("a=器d\n”,a); printf("b=暑dln",b) 运行结果 int sub (int*p) for(i=0;i<4;i++) int sub(int *p) static int t=O 分析结果 运行结果

·70· C 语言程序设计上机指导与同步训练 ·70· 分析结果 运行结果 3. main() { int *p,a =10,b =1 p=&a; a=*p+b; printf(“a=%d,p=%d \n”,a , *p); } 分析结果 运行结果 4. main() { int a , b ,k =5,m=4 ; int * p1 =&k , * p2=&m; a =p1==&m; b=(-*p1)/(*p2)+7; printf(“a = %d\n”, a); printf(“b = %d\n”, b); } 分析结果 运行结果 5. int sub (int*p) main() { int i ,k; for( i=0;i<4;i++) { k= sub(&i); printf(“k= %d\n”,k); } } int sub(int *p) { static int t=0; t=*p +t ; } 分析结果 运行结果

第一部分c语言程序设计上机指导 6. #include main() inta[]={1,2,3,4,5,6} int *p, i i printf("n1=d,n2=旨d\n”,*p,*(p+3) 行结果 #include mian( inta[]={1,3,5,7,9}; int*p=a printf(“器d\n”,(*p++)) printf("d\n”,(*++p) printf("gd\n",(* ++p)+ 分析结果 运行结果 二、完成程序 要求:根据要求,分析给出的上下语句,填写程序。 设有以下程序,为使之正确运行,请在 上填写正确内容。 #include main() I int x=2,y=4 (x,y) printf(Mz=号d",z); char s1[20]=“2008 char s2[ ]=" Beijing"; strcat( s1, s2) printf(”暑s/n”,s1) 2.用带参数的宏实现变量值的输入与输出,请在 上填写正确内容

第一部分 C 语言程序设计上机指导 ·71· ·71· 6. #include main() { int a[ ]={1,2,3,4,5,6}; int *p ,i ; p=a; *(p+3)+=2; printf(“n1=%d ,n2=%d \n”,*p , *(p+3)); } 分析结果 运行结果 7. #include mian() { int a[ ]={1,3,5,7,9}; int *p=a; printf(“%d\n”,(*p++)); printf(“%d\n”,(* ++p)); printf(“%d\n”,(* ++p)++); } 分析结果 运行结果 二、完成程序 要求:根据要求,分析给出的上下语句,填写程序。 1. 设有以下程序,为使之正确运行,请在_______上填写正确内容。 __________________________ __________________________ #include main() { int x =2 , y=4 , z; z = pow(x,y) ; printf(“z=%d” ,z); char s1[20]= “2008”; char s2[ ]= “ Beijing”; strcat( s1,s2); printf(” %s/n” ,s1); } 2. 用带参数的宏实现变量值的输入与输出,请在_______上填写正确内容

C语言程序设计上机指导与同步训练 #include #define sc(a) //scanf("ac", &a) #define PR(b) sc(ch) if(ch>='a′&&ch main( inta[6]={1,2,3,4,5,6}; for(i=0;i<6;i++) *(p+1); printf("s=器d\n”,s); 、调试程序 要求:分析下列程序是否正确,如有错,错在哪儿?应如何改正?如正确,运行结果 何?上机调试之

·72· C 语言程序设计上机指导与同步训练 ·72· #include #define SC(a) ___________________ //scanf(“%c”, &a) #define PR(b) ___________________ main( ) { char ch ; SC(ch); if (ch>=‘a’ && ch *pb ) ________________; if ( num > *pc ) _________________; printf( “Min= %d\n”, num); } 4. 以下程序通过指针实现求数组 a 中各元素的积,请在____________填写正确内容。 #include main() { int a[6]={1,2,3,4,5,6}; int s, i,*p ; s=1; p=a; for (i=0;i<6;i++) _____________________;// s *= *(p+i); printf(“s=%d\n”,s); } 三、调试程序 要求:分析下列程序是否正确,如有错,错在哪儿?应如何改正?如正确,运行结果 如何?上机调试之

第一部分c语言程序设计上机指导 #include int a b scanf(“a,各d”,p,q) printf("器d,器dn”,a,b) p 运行结果 错误 错误所在 应改为: 2. #include i int *p,*q i int a b scanf(“d,告d”,*p,*q) (”d,暑a\n", printf(“暑d,d\n”,*p,*p) 正确 运行结果 错误 3.以下程序实现求数组中的元素的和。 #include

第一部分 C 语言程序设计上机指导 ·73· ·73· 1. #include main() { int *p ,*q ; int a , b ; printf(“Input a ,b”); scanf(“%d,%d”, p ,q); printf(“%d,%d\n”,a ,b); printf(“%d,%d\n”,*p ,*b); } 正确 运行结果: 错误 错误所在: 应改为: 2. #include main() { int *p ,*q ; int a , b ; p = &a; q =&b scanf(“%d,%d”, *p ,*q); printf(“%d,%d\n”,a ,b); printf(“%d,%d\n”,*p ,*p); } 正确 运行结果: 错误 错误所在: 应改为: 3. 以下程序实现求数组中的元素的和。 #include main() { int a[10]={1,2,3,4,5,6,7,8,9,0}; int sum ,*p ; sum=0; p=&a; while( p < p+10) s + = *p; printf(“sum=%d\n”,sum); }

74· C语言程序设计上机指导与同步训练 错误 错误所在 4.以下程序通过调用子函数实现两个整数的交换。 I int swap( int prl, int *ptr2) y=7,*p1,p pl=&x i p printf("x=8d,y=器dn”,x,y); printf(”*p1=告d,*p2=号dn”,*p1,*p2) p ptrliptrl-ptr2 iptr2=p i 正确 亍结果 错误 写程序 1.输入3个数a、b、c,要求按由大到小的顺序输出,用带参宏来实现,编程序。 2.输入30个学生C语言的成绩,然后按由高到低的顺序排序,通过指针实现 3一个已经按升序排列好的数组,其数组元素有15个,输入一个数,编程查找是否 有该数,有,则显示其所在的位置,没有,则显示“ No Found”,通过指针实现

·74· C 语言程序设计上机指导与同步训练 ·74· 正确 运行结果: 错误 错误所在: 应改为: 4. 以下程序通过调用子函数实现两个整数的交换。 main() { int swap( int * ptr1,int *ptr2); int x=5 ,y=7 ,*p1 ,p2 ; p1=&x ; p2=&y swap(p1,p2); printf(“x=%d ,y=%d\n” ,x, y); printf(“*p1=%d ,*p2=%d\n” ,*p1, *p2); } int swap( int * ptr1,int *ptr2) { int * p ; p = ptr1;ptr1=ptr2 ;ptr2=p ; } 正确 运行结果: 错误 错误所在: 应改为: 四、写程序 1. 输入 3 个数 a、b、c,要求按由大到小的顺序输出,用带参宏来实现,编程序。 2. 输入 30 个学生 C 语言的成绩,然后按由高到低的顺序排序,通过指针实现。 3. 一个已经按升序排列好的数组,其数组元素有 15 个,输入一个数,编程查找是否 有该数,有,则显示其所在的位置,没有,则显示“No Found”,通过指针实现

点击下载完整版文档(PDF)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
已到末页,全文结束
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有