1、(1)理解常用运行符的功能、优先级和结合性。(2)熟练掌握算术表达式的求值规则。(3)熟练使用赋值表达式。(4)理解自加、自减运算符和逗号运算符(5)掌握关系表达式和逻辑表达式的求值2实验内容(1)整数相除#include int a=5,b=7,c=100,d,e,f; d=a/b*c; e=a*c/b; f=c/b*a; printf(d=%d , e=%d ,f=%dn,d,e,f); return 0;(2)自加、自减运算 int a=5,b=8;a+=%dn,a+);a=%dn,a);+b=%dn,+b);b=%dn,b);(3)关系运算和逻辑运算 int a=5,b=8,c=8;%
2、d,%d,%d,%dn,a=b&a=c,a!=b&a!=c,aa=c,aa=c);%d,%dn,a=c,a=b|b=c);,!(a=b),!(a=b),!=c),!(a long int a,b,c=0;%da); if(aint main ( ) double a,b,c,delta,x1,x2,p,q;%d,%d,%da,&b,& if(a=0) printf(不是一元二次方程n else delta=b*b-4*a*c; if(delta=0) printf(有两个相等的实数根n x1=-b/(2*a); x2=x1;%.2lf , %.2lfn,x1,x2); else if(delt
3、a0)两个不等的实数根n x1=-b/(2*a)+sqrt(delta)/(2*a); x2=-b/(2*a)-sqrt(delta)/(2*a); printf(两个不等的复数根n p=-b/(2*a); q=sqrt(-delta)/(2*a);%.2lf + %.2lfn,p,q);%.2lf - %.2lfn return 0;(3)输入下面程序,分析运行结果int func (int ,int ); int k=4,m=1,p1,p2; p1=func(k,m) ; p2=func(k,m) ;,p1,p2) ;int func (int a,int b) static int m=
4、0,i=2; i+=m+1; m=i+a+b; return (m);(1)针对以上实验内容写出相应的参数传递过程并分析结果。(2)函数在定义时要注意什么?(3)讨论静态局部变量的继承性?C语言是由函数组成的,所以学好函数对C语言非常重要。1.掌握了函数的声明和定义规范。2.掌握了函数的形式参数和实际参数的定义和用法。3.掌握了函数的返回值的大小和类型。4.掌握了函数的调用方法和参数传递。5.了解了函数的嵌套调用。6.掌握了函数的递归调用及其程序规范。7.了解变量储存类型的基本概念。8.掌握了局部变量与全局变量的概念。实验七 数组及其应用大气科学专业 实验日期 5月 30日 姓名:(1)掌握数
5、组定义的规则。(2)掌握C语言数组的基本用法。(3)掌握数组名作为函数参数传递的方法(1)运行下面的C程序,根据运行结果,可以说明什么?#include int main( )int num5=1,2,3,4,5;inti i;for(i=0;i=5;i+)%d ,numi);(2)为一个冒泡排序程序设计测试用例,并测试之。(题设答案)#includemain() int a10,i,j,k; for(i=0;10; scanf(ai); for(j=0;jai+1) k=ai;ai=ai+1;ai+1=k; for(i=0; printf(,ai); return 0;(3)操作符&用以求一
6、个变量的地址,这在函数scanf中已经使用过了。现在要你设计一个程序,返回一个3 5 的二维数组各元素的地址,并由此说明二维数组中各元素是按什么顺序存储的。(1)通过实验,分析定义与引用数组的区别。(2)数组的作用是什么?(3)数组名作为参数有什么特点? 数组是C语言最常用也最为重要的数据结构。1.掌握了数组的声明和存放,初始化和数组元素的引用方法。2.掌握了数组下标的使用方法。3.了解了多维数组声明和操作。4.掌握了字符串定义及使用方法。5.初步理解了排序和查找等基本方法。实验八 指针及其应用大气科学专业 实验日期6 月 6日 姓名:(1)掌握变量的指针及其基本用法。(2)掌握一维数组的指针
7、及其基本用法。(3)掌握指针变量作为函数的参数时,参数的传递过程及其用法。(1)对以下程序进行运行,并从中了解变量的指针和指针变量的概念。 # include int main() int a=5,b=5,*p; p=&a;%d ,%udn,a,p);*p=8;p=&b;b=10;(2)运行以下程序,观察&a0,&ai)和p的变化,然后回答以下问题:1)序的功能是什么?2)在开始进入循环体之前,p指向谁?3)循环每增加一次,p的值(地址)增加多少?它指向谁?4)退出循环后,p指向谁?5)你是否初步掌握了通过指针变搔引用数组元素的方法?# include int i,*p,s=0,a5=5,6,
8、7,8,9; p=a;5;i+,p+) s+=*p;s=%dn,s);(3)先分析以下程序的运行结果,然后上机验证,并通过此例掌握通过指针变量引用数组元素的各种方法。 #include int i,s1=0, s2=0, s3=0, s4=0,*p,a5=1,2,3,4,5;i+) s1+=pi;s2+=*(p+i); for(p=a;pa+5;p+) s3+=*p;s4+=*p+;n s1=%d, s2=%d, s3=%d, s4=%d,s1,s2,s3,s4);(4)编写函数,将n个数按原来的顺序的逆序排列(要求用指针实现),然后编写主函数完成:1)输入10个数;2)调用此函数进行重排;3
9、)输出重排后的结果。(1)指针的定义方法,指针和变量的关系。 int *a;(2)数组和指针的关系。数组时连续分配一串单元,数目开始定义的时候就必须固定下来,看起来整洁,但是写的程序是死程序,容易浪费内存指针存放一个地址值,表示指向某一个单元,可以用指针来索引单元。数组可以完成栈,堆,树等等的操作,它在编程时候的好处是非常的灵活,在构建思路的时候有很大的灵活性。 指针是重要的部分。1.掌握了指针的声明和存放,初始化和指针变量的引用方法。2.掌握了指针做为函数的参数。3.了解了指向数组的指针。4.掌握了指向字符串的指针。5.能在程序运行时应用动态分配预留新的储存空间。学习指针利于我们更好地利用C语言这门工具,更好地利用这门工具。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1