资源描述
《C语言程序设计》自学指导书
自学学时:64学时
推荐教材:《C语言程序设计》 宝明等主编,人民邮电,2009年1月第1版
参考资料:
1、《C程序设计》(第三版) 谭浩强主编,清华大学
2、《C语言程序设计教程》 明主编,交通大学
3、《C语言程序设计教程》 基温主编,高等教育
4、《C语言程序设计》 何钦铭等主编,科技
考核方式:平时作业×30%+笔试(闭卷)×70%
第一章 C语言概述
一、本章自学容与要求:
1、了解C语言的发展与特点。
2、理解和掌握C语言源程序书写规则。
3、掌握C语言源程序在Turbo C、Visual C++或者C-Free环境中的上机步骤。
二、重点与难点:
本章重点在于了解并掌握C语言程序的上机操作步骤,难点在于把握C语言源程序的结构和书写规则。
三、学习方法指导:
选择并熟悉一个C语言程序运行环境,掌握C语言程序的编辑、编译、连接和运行等步骤。
四、典型例题介绍:
1、C语言的程序由 一 个主函数和 若干 个子函数组成。程序的执行总是从 主 函数开始,不管它放在哪个位置。
2、简述C语言程序的开发和运行步骤。
答:C语言程序的开发和运行步骤包括编辑、编译、连接和运行等几个步骤,如下图所示。
编辑
start
f.c
编译
语法错?
f.obj
连接、运行
逻辑错?
f.exe
end
Source
Object
Executable
有
有
无
无
五、复习思考题:
教材C语言概述章节习题。
第二章 C语言程序设计基础
一、本章自学容与要求:
1、熟悉C语言的3种基本数据类型(整型、实型、字符型)常量的表示和变量的定义与使用。
2、掌握标准格式输入输出函数和字符输入输出函数的使用。
3、了解各种常用运算符与表达式,掌握各类数据的混合运算规则。
4、掌握赋值运算特点和复合赋值表达式等。
(1)数据类型
了解C语言的数据类型分类,掌握常用的3种基本数据类型——整型、实型和字符型。
(2)常量与变量
a、常量与变量的概念
b、3种基本数据类型常量的表示
c、3种基本数据类型变量的定义与输入输出
(3)运算符与表达式
a、了解各种常用的运算符与运算特点,注意与数学中的运算区别
b、掌握表达式的概念与其表达式的求值
(4)数据运算
注意数据在运算过程中类型的转换。
二、重点与难点:
重点:3种基本数据类型常量和变量的使用,各种类型数据混合运算规则和常用运算符的运算特点。
难点:各种类型数据的混合运算以与根据要求进行格式输入和输出。
三、学习方法指导:
通过上机实验,掌握C语言基本数据类型与运算以与格式输入输出函数的使用。
四、典型例题介绍:
1、若有以下类型说明语句:
int a; char ch1; float b;
则表达式 a+ch1-b的结果的类型是( D )。
A. char B. int C. float D. double
2、 下面正确的字符常量是( B )。
A. “x” B. ‘y’ C. ‘/\” D. ‘’
3、 在C语言中,要求运算对象或运算量必须是整型的运算符是( D )。
A. / B. * C. != D. %
4、 设a,b都是整型变量,为了使a=4,b=8。函数scanf(“a=%d,b=%d”,&a,&b)执行时,正确的数据输入是( C )。
A. a=4 b=8 B. a=4,8 C. a=4,b=8 D. a=b=4,8
5、设a,b都是整型变量,且a=5,b=10,则函数printf(“%d,%d\n”,a++,++b)的输出结果是( B )。
A. 5,10 B. 5,11 C. 6,10 D. 6,11
6、字符串常量是用一对 双引号 括起来的字符序列。
7、设x是int型变量,且x=10,则表达式x*=3+4的值是 70 ,表达式x/=x+x的值是 0 。
8、下面程序的输出结果是什么?
#include <stdio.h>
main()
{int i, j, m=0, n=0;
i = 8;
j = 10;
m+= i++;
n-=--j;
printf(“i=%d,j=%d,m=%d,n=%d”, i, j, m, n);
}
答:程序的输出结果是:
i=9,j=9,m=8,n=-9
五、复习思考题:
教材程序设计基础章节习题。
第三章 C语言程序控制结构
一、本章自学容与要求:
1、了解利用一些基本要素(常量,变量,运算符,表达式等)构成程序的基本成份。
2、掌握关系运算和逻辑运算的特点。
3、利用if语句和switch语句进行选择结构程序的设计。
4、掌握循环结构的基本概念,利用3种循环语句进行循环结构程序设计。
(1)算法与程序
a、了解算法的概念
b、掌握算法的流程图表示
(2)三种基本结构
a、了解结构化程序设计的特点
b、掌握正确的逻辑表达方式
c、熟练掌握if语句和switch语句的使用
d、了解三种循环语句的特点,掌握用循环实现一些常用算法
二、重点与难点:
重点:逻辑表达式的组织;条件语句的格式和功能;循环语句的格式、功能以与特点。
难点:算法的概念;建立正确逻辑思维能力,合理进行选择结构和循环结构程序设计。
三、学习方法指导:
复习相关的数学知识,通过习题和上机实验初步掌握C语言程序设计。
四、典型例题介绍
1、程序填空。编程计算1到100之间的奇数之和与偶数之和。
#include <stdio.h>
main()
{ int even_sum,odd_sum,j,i;
even_sum = odd_sum =0;
for(i=0;i<=100;i+=2)
{ even_sum +=i;
_j=i+1___;
odd_sum +=j;
}
printf("sum of evens is %d\n", even_sum);
printf("sum of odds is %d\n", odd_sum -101);
}
2、程序填空。从键盘上输入两个正整数x,y,求它们的最大公约数。例如:如果从键盘上输入24,36,程序的输出应为:最大公约数是 : 12。
#include <stdio.h>
main()
{ int x,y,t,i;
printf("Please enter two numbers:");
scanf("%d,%d",&x,&y);
if(x < y)
{t = x; x = y; y = t;}
t = x % y;
while( t!=0 )
{
x = y;
y = t ;
t = x % y;
}
printf("最大公约数是: %d",____y___);
}
3、编程,统计1~500之间能被2和3整除的数的个数。
#include <stdio.h>
main()
{int count=0,i;
for(i=1;i<=500;i++)
if(i%2==0&&i%3==0)
count++;
printf(" 符合要求的数有%d个。\n",count);
}
4、输入三角形的三条边a、b、c,如果能构成一个三角形,则计算并输出三角形的周长和面积(结果保留两位小数);否则输出“无效的边长!”。
三角形面积计算公式为:area=,其中s=(a+b+c)/2。
#include <stdio.h>
#include <math.h>
main()
{ float a,b,c,s,area;
printf(“Input a,b,c:”);
scanf(“%f%f%f”,&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a)
{
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf(“area=%.2f\n”,area);
}
else
printf(“无效的边长!”);
}
5、编写程序,输入一个整数,求它的各位数字之和与位数。例如,34的各位数字之和是7,位数是2;-123的各位数字之和是6,位数是3。
#include <stdio.h>
main()
{
int x,m,n=0,s=0;
printf(" x= ");
scanf("%d",&x);
if(x<0)x=-x;
do
{
m=x%10; /* 求出该数的个位数 */
s=s+m;
n++;
x=x/10;
}
while(x!=0);
printf(" 位数是:%d\n",n);
printf(" 各位数字之和是:%d\n",s);
}
6、使用格里高利公式求π的近似值,精确到最后一项的绝对值小于10-6。
……
#include <stdio.h>
#include <math.h>
main( )
{ int s;
float n, t, pi;
t=1; pi=0; n=1.0; s=1;
while((fabs(t)) > = 1e-6)
{ pi = pi+t;
n = n+2;
s = -s;
t = s/n;
}
pi=pi*4;
printf(“pi=%10.6f\ n”, pi );
}
7、中国古代数学史上著名的“百鸡问题”:鸡翁一,值钱五;鸡母一,值钱三,鸡雏三,值钱一。百钱买百鸡,问翁、母、雏各几何?
#include <stdio.h>
main()
{
int cock,hen,chicken;
for(cock =0; cock <=20; cock ++)
for(hen =0; hen <=33; hen ++)
{chicken =100- cock - hen;
if((5* cock +3* hen + chicken /3)==100&&( chicken %3==0))
printf("%5d%5d%5d\n", cock, hen, chicken);
}
}
8、编程,求S=1!+3!+5!+…+11!。
#include <stdio.h>
main()
{ double p,s=0;
int i,j;
for(i=1;i<=11;i=i+2)
{ p=1;
for(j=1;j<=i;j++) /* 求i! */
p=p*j;
s=s+p;
}
printf(“ s=%.2f”,s);
}
*
***
*****
*******
*****
***
*
9、编程,打印输出以下图形:
#include <stdio.h>
main()
{ int i,j,k;
for(i=1;i<=4;i++) /* 控制输出前4行*号 */
{
for(j=1;j>=4-i;j++) /* 输出第一个*号前的空格 */
printf(" ");
for(j=1;j<=2*i-1;j++); /* 输出*号 */
printf("*");
printf("\n");
}
for(i=3;i>=1;i--) /* 控制输出后3行*号 */
{
for(j=1;j>=4-i;j++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("*");
printf("\n");
}
}
10、按如下形式打印九九乘法表的一部分。
1 * 1 = 1
2 * 1 = 2 2 * 2 = 4
3 * 1 = 3 3 * 2 = 6 3 * 3 = 9
4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16
#include <stdio.h>
main()
{ int i,j,k;
clrscr();
for(i=1;i<=4;i++)
{ for(j=1;j<=i;j++)
printf("%3d *%3d =%3d",i,j,i*j);
printf("\n");
}
}
五、复习思考题:
教材程序结构章节习题。
第四章 数组
一、本章自学容与要求:
1、掌握数组的概念,了解数组的特点。
2、掌握一维数组的定义和引用,理解一些常用的算法,如排序、查找等。
3、了解二维数组的定义和应用。
4、理解字符型数组的意义和引用,熟悉常用的字符串函数。
(1)数组的概念
a、了解数组在程序设计中的作用
b、理解数组的概念,把握其特点
(2)一维数组
a、了解一维数组的定义与初始化
b、理解常用的排序、求最大(小)值等算法
c、掌握利用循环语句访问一维数组元素的方法
(3)二维数组
a、了解二维数组的定义与初始化
b、理解二维数组表示矩阵进行的相关计算
c、掌握利用二重循环语句访问二维数组元素的方法
(4)字符数组
a、了解字符、字符串和字符数组的联系与区别
b、掌握字符数组的定义与初始化
c、掌握常用的字符串处理函数的用法
(5)数组应用举例
a、熟悉数组应用的特点
b、理解常用的算法,如排序、查找、求最大(小)值与统计等
二、重点与难点:
重点:数组的定义,赋初值以与数组与循环语句相结合进行的程序设计。
难点:数组的存储形式,数组名的使用,尤其是字符数组的引用。
三、学习方法指导:
复习第三章容,通过习题和上机实验,掌握数组与循环结构紧密结合的程序设计特点。
四、典型例题介绍:
1、编程,用冒泡排序对10个整数进行降序排列。
#include <stdio.h>
main( )
{ int a[10]; int i, j , t;
/*输入10个整数到数组a中*/
printf ("Input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf ("\n");
/*用冒泡排序法对数组a中的10个数进行降序排序*/
for(i=1; i<10; i++)
for(j=0; j<=9-i; j++) /* a[0]到a[9-i]围的数进行一趟冒泡排序 */
if(a[j]<a[j+1]) {
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
/*依次输出排序后的10个整数*/
printf ( "The sorted numbers are:\n");
for(i=0;i<10;i++)
printf("%d _ _",a[i]);
}
2、编程,用选择排序对10个整数进行升序排列。
#include <stdio.h>
main( )
{ int a[10]; int i, j , p, temp;
/*输入10个整数到数组a中*/
printf ("Input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d", &a[i]);
for(i=0; i<9; i++){
p=i; /* 从a[i]到a[9]围求最小元素的位置 */
for(j=i+1; j<10; j++)
if(a[j]<a[p])p=j;
if(p!=i){ /* 若最小元素不是a[i],则将其与a[i]交换 */
temp=a[p];a[p]=a[i];a[i]=temp;
}
}
printf ("The sorted numbers are:\n");
for(i=0; i<10; i++)
printf("%d _ _”,a[i]);
}
3、已知10个学生的英语成绩,从键盘输入1个成绩,查找是否有此成绩。如果找到,则输出找到的位置,否则输出“not found”。
#include <stdio.h>
main( )
{
int a[10], x;
int i;
/*输入10个学生成绩到数组a中*/
printf ("Input 10scores:\n");
for(i=0; i<10; i++)
scanf("%d", &a[i]);
/*输入待查找的成绩到变量x中*/
printf ("Input x:\n");
scanf("%d", &x);
/*在查找表中顺序查找x*/
for(i=0; i<10; i++)
if(a[i]= = x) break;
/*输出查找结果*/
if(i<10)
printf("%d is in %d\n",x,i);
else
printf("not found\n");
}
4、已知10个学生的高考总成绩,输出最高分。
#include <stdio.h>
main( )
{
float score[10], maxscore;
int i;
/*输入10个学生的高考总成绩到数组score中*/
printf ("Input 10scores:\n");
for(i=0; i<10; i++)
scanf("%f", &score[i]);
/*变量maxscore赋值为第一个学生的成绩*/
maxscore=score[0];
/*求最高分*/
for(i=1; i<10; i++)
if( score[i]>maxscore) maxscore=score[i];
/*输出最高分*/
printf("maxscore=%6.1f\n",maxscore);
}
5、输入20个学生的成绩,要求统计并输出优秀(大于等于85)、与格(60~84)和不与格(小于60)的学生人数。
#include <stdio.h>
main( )
{
int mark[20], g, p, f,i;
g=p=f=0;
printf("Enter scores:\n");
for(i=0; i<20; i++)
scanf ("%d", &mark[i]);
/*统计优秀、与格和不与格的学生人数*/
for(i=0; i<20; i++)
if(mark[i] >= 85) g++;
else if (mark[i] >= 60) p++;
else f++;
/*输出统计结果*/
printf("优秀人数:%d\n", g);
printf("与格人数:%d\n", p);
printf("不与格人数:%d\n", f);
}
6、从键盘任意输入一行字符(不超过80个),统计其中的英文字母、数字、空格以与其它字符的个数。
#include <stdio.h>
main( )
{
char string[80];
int letter, digit, blank, other, i;
letter=digit=blank=other=0;
/*输入一行字符*/
printf("Enter string:\n");
gets(string);
/*按要求统计各类字符的个数*/
for(i=0; string[i]!= '\0'; i++)
if('a'<=string[i]&& string[i]<= 'z'||'A'<=string[i]&& string[i]<= 'Z')
letter++;
else if('0'<=string[i]&& string[i]<= '9')
digit++;
else if(string[i]== '') /*当前字符为空格*/
blank++;
else
other++;
/*输出统计结果*/
printf("英文字母个数:%d\n", letter);
printf("数字个数:%d\n", digit);
printf("空格个数:%d\n", blank);
printf("其它字符个数:%d\n", other);
}
7、求一个5*5矩阵主对角线和副对角线元素总和。
#include <stdio.h>
main( )
{
int i,j;
int a[5][5],sum=0;
/*输入5*5矩阵*/
printf("Input 25 numbers:\n ");
for(i=0; i<5; i++)
for(j=0; j<5; j++)
scanf("%d", &a[i][j]);
/*求主对角线和副对角线元素总和*/
for(i=0; i<5; i++)
sum+=a[i][i]+ a[i][4-i];
/*输出求和结果*/
printf("The sum is: ");
printf("%d\n",sum-a[2][2]);
}
8、输入一个以回车键结束的字符串(少于80个字符),删除其中除英文字母和数字字符以外的其它字符。
#include <stdio.h>
main()
{
char str[80];
int i,k=0;
printf("Input a string:\n");
gets(str);
/*删除字符串中除英文字母和数字字符以外的字符*/
for(i=0; str[i]!='\0'; i++)
if(str[i]>='a'&&str[i]<='z'||str[i]>='A'&&str[i]<='Z'
||str[i]>='0'&&str[i]<='9'){
str[k]=str[i]; /* 保留字符串中的英文字母和数字字符 */
k++;
}
str[k]='\0';
printf("Output new string:\n");
puts(str);
}
9、有3× 4矩阵,求出其中最大元素所在的行号和列号。
#include <stdio.h>
main( )
{ int i, j, r=0,c=0, max;
int a[3][4] = { {1,2,3,4}, {9,8,4,6}, {-10,10,-5,2} };
max=a[0][0];
for(i=0;i<=2;i++)
for(j=0;j<=3;j++)
if(a[i][j]>max) {
max=a[i][j];
r=i;
c=j;
}
printf(“max=%d,row=%d, col=%d\n”,max,r,c);
}
10、打印以下的辉三角形(要求打印出10行)。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
………………………………
#include <stdio.h>
main()
{
int a[10][10],i,j;
/*第0列与主对角线上的元素值均赋为1*/
for(i=0; i<10; i++)
a[i][0]=a[i][i]=1;
/*计算下三角阵中除第0列与主对角线上元素以外的其他元素的值*/
for(i=2; i<10; i++)
for(j=1; j<i; j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
/*输出辉三角形*/
for(i=0; i<10; i++){
for(j=0; j<=i; j++)
printf("%4d",a[i][j]);
printf("\n");
}
}
五、复习思考题:
教材数组章节习题。
第五章 函数
一、本章自学容与要求:
1、理解函数的概念,了解模块化程序设计的特点。
2、掌握函数定义的一般形式以与函数的调用。
3、理解函数调用过程中参数传递的实质。
4、明确变量的作用域与存储属性。
(1)函数概述
a、了解模块化程序设计的特点
b、理解函数的概念
(2)函数定义的一般形式
a、掌握函数定义的一般形式
b、了解函数的声明方式
(3)函数的参数传递方式
a、理解形式参数和实际参数的概念
b、了解普通变量作实参时值传递的方式
c、了解数组元素作实参与数组名作实参的本质区别
(4)函数的调用
a、掌握函数调用的方式
b、了解函数调用的过程
(5)函数的嵌套调用与递归调用
a、掌握函数的嵌套调用特点
b、理解递归的特点
c、了解函数的递归调用
(6)变量的作用域与存储类别
a、了解变量的作用域
b、掌握局部变量与全局变量的特点
c、了解变量的生存期
d、掌握静态局部变量的特点
二、重点与难点:
重点:函数的定义和调用,变量的作用域与存储属性。
难点:在函数调用过程中参数单向传值概念以与变量的作用域与存储属性。
三、学习方法指导:
通过一定数量的习题和上机实验,掌握函数的定义和调用,学习进行模块化程序设计。通过运行程序与程序验证,掌握局部变量与全局变量的使用,并了解静态局部变量的存储属性。
四、典型例题介绍:
1、编写一个求圆面积的函数Area,该函数有一个形式参数r,类型为float,返回值类型也为float。在主函数中输入一个圆的半径,调用Area函数求出该圆的面积并输出。
#include <stdio.h>
float Area(float r)
{
float s;
s=3.14*r*r;
return s;
}
main()
{
float a,b;
printf("请输入一个圆的半径:");
scanf("%f",&a);
b=Area(a);
printf("该圆的面积=%.2f\n",b); /*保留2位小数*/
}
2、输入x,计算并输出下列分段函数f(x)的值。可以调用数学库函数:平方根函数sqrt(),绝对值函数fabs()和幂函数pow()。
| 2x+5| x<0
f(x)= (x+1)1/2 0<=x<2
(x+2)3 x>= 2
#include <stdio.h>
#include <math.h>
float f(float x);
main()
{
float x;
printf("请输入一个数:");
scanf("%f",&x);
printf("y=%.2f\n",f(x));
}
float f(float x)
{
float y;
if (x<0)
y=fabs(2*x+5);
else if (x<2)
y=sqrt(x+1);
else
y=pow(x+2,3) ;
return y;
}
3、编写一个函数power(x,n),求x的n次方,其中,x是实数,n为正整数。
#include <stdio.h>
double power(double x,int n);
void main(void)
{
int x,n;
printf("请输入2个数:");
scanf("%f%d",&x,&n);
printf("%f的%d次方=%f\n",x,n,power(x,n));
}
double power(double x,int n)
{
int i;
double s=1;
for(i=1;i<=n;i++)
s=s*x;
return s;
}
4、编写一个函数prime(int n),判断一个整数是否是素数,若是素数,函数值返回1,否则返回0。利用该函数找出100-200之间的所有素数。素数是只能被1和自身整除的正整数,2是最小的素数。
#include <stdio.h>
#include <math.h>
int prime(int n);
main()
{
int i;
for(i=100;i<=200;i++)
if (prime(i))
printf("%d ",i);
}
int prime(int n)
{
int i;
for(i=2;i<=sqrt(n);i++)
if(n%i==0) break;
if(i>sqrt(n))
return 1;
else
return 0;
}
5、用递归法编写一个函数long fact(int n),求n!的值。
#include <stdio.h>
long fact(int n);
main()
{
int x;
printf("请输入一个整形数:");
scanf("%d",&x);
printf("%d的阶乘为%ld\n",x,fac(x));
}
long fact(int n)
{
long t;
if(n==0||n==1)
t=1;
else
t=n*fac(n-1);
return t;
}
6、分别利用递归法和数组法求Fibonacci数列的前40项,比较两种方法的运行效率。其中Fibonacci数列F(n)的定义为: F(0)=1,F(1)=1,F(n)=F(n-1)+F(n-2)。
(1)用递归法求Fibonacci数列的前40项源程序如下:
#include <stdio.h>
long fib(int n);
main()
{
int i;
for(i=1;i<=40;i++)
{
printf ("%12ld",fib(i));
if(i%5==0) printf ("\n");
}
}
long fib(int n)
{
long f;
if(n==1||n==2)
f=1;
else
f=fib(n-1)+fib(n-2);
return f;
}
(2)用数组法求Fibonacci数列的前40项源程序如下:
#include <stdio.h>
main()
{
int i,f[40]={1,1};
for(i=2;i<40;i++)
f[i]=f[i-2]+f[i-1];
for(i=0;i<40;i++)
{
printf ("%12d",f[i]);
if((i+1)%5==0) printf ("\n");
}
}
从运行结果来看,两种方法的结果是一样的,但是用递归的运行效率要慢的多。
五、复习思考题:
教材函数章节习题。
第六章 指针
一、本章自学容与要求:
1、理解指针与指针变量的基本概念。
2、掌握各种数据类型指针的定义和引用。
3、熟悉地址运算和指针运算的特点。
(1)指针的概念
a、掌握指针与指针变量的概念
b、了解指针变量的特点
(2)指针变量与变量
a、掌握指针变量的定义
b、了解指针变量的引用
c、理解指针变量作函数参数的数据传递方式
d、掌握用指针变量间接引用其所指向的变量
(3)指针与数组
a、了解指向数组的指针变量
b、掌握用指针变量访问数组元素的方法
c、进一步了解数组名作实参时函数调用的数据传递方式
(4)指针与字符串
a、了解指向字符串的指针变量的定义与引用
b、明确字符型指针变量处理字符串与字符数组的区别
(5)指针数组与指向指针的指针
a、了解字符型指针数组的定义和引用
b、了解指向指针的指针变量的定义和引用
二、重点与难点:
重点:各类指针变量的定义和引用。
难点:指向数组的指针和指针数组的引用。
三、学习方法指导:
结合第五章,通过上机实验,掌握指针变量的定义和引用;通过程序运行结果的比较,理解普通变量作实参与指针变量作实参的区别。
四、典型例题介绍:
1、输入3个整数,按从小到大的顺序输出。
#include<stdio.h>
main()
{
int a,b,c,temp;
int *p1,*p2,*p3;
p1=&a;
p2=&b;
p3=&c;
printf(“input a,b,c:”);
scanf(“%d%d%d”,p1,p2,p3);
if(*p1>*p2){
temp=*p1;
*p1=*p2;
*p2=temp;
}
if(*p1>*p3){
temp=*p1;
*p1=*p3;
*p3=temp;
}
if(*p2>*p3){
temp=*p2;
*p2=*p3;
*p3=temp;
}
printf(“a=%d,b=%d,c=%d\n”,*p1,*p2,*p3);
}
2、将具有10个元素的一维数组中的数据倒置。
#include<stdio.h>
main()
{
int a[10],
展开阅读全文