C语言复习整理版 联系客服

发布时间 : 星期五 文章C语言复习整理版更新完毕开始阅读8a480f09ba1aa8114431d9a6

上机实验一 C程序的运行环境和运行C程序的方法

一. 目的要求

1. 了解在计算机系统上编辑、编译、连接和运行C程序的步骤。 2. 在运行和调试程序中观察系统提示,改正编译错误或连接错误。 3. 了解C源程序结构及书写格式,了解C程序的各个组成成分术语。 4. 记录运行结果,分析结果。

二. 实验内容

思考问题:什么是源程序?什么是编译程序?C语言源程序结构是怎样的?C语言源程序的书写格式怎样?指出课本程序中哪些是注释、预处理命令、语句、声明语句、可执行语句、函数定义、函数调用、操作符、关键词、标识符、main()函数等。

1. 熟悉VC语言编程界面。

2. 输入下列源程序,进行修改、编译、连接和运行。应了解是用什么命令进行编译、连接和运行的。运行的结果是什么?

程序:main ( )

{

printf(\}

运行结果是:

3. 输入下列源程序,进行修改、编译、连接和运行。运行的结果是什么?

程序:main ( )

{

printf(\ \\n\ printf(\ }

运行结果是:

可知\\n的作用是:

4. 输入下列源程序,进行修改、编译、连接和运行。运行的结果是什么?

程序:#include

main ( ) { float x;

x=sin(0.45456); printf(\ \\n\ }

运行结果是:

可知语句float x; 的作用是:

可知sin的作用是:

5. 启动VC,在其集成环境中,输入下面的程序,以文件名Csy1_1.c保存在你的工作

目录中,然后进行编辑和运行调试程序(注意代码书写风格)。 #include void main()

{

int a, b, sum;

a=10; //如果用scanf函数输入a,b变量的值应该怎么写? b=15; sum=a+b;

printf(\}

调试要求:

(1)将第3行最后的\;\去掉,运行程序,查看出错信息。 (2)在sum=a+b前插入一行:a=a+b;运行程序查看输出结果。

6. 编写一个求两数之差的程序。编辑、编译、连接和运行。运行结果是什么?程序和

结果写在下面:

上机实验二 数据类型、运算符与表达式

一.目的要求

1. 掌握C基本数据类型的基本概念、基本属性。

2. 学会如何书写一个整型、字符型、实型常量。如何定义一个整型、字符型、实型变量。

3. 掌握C算术运算符的基本概念、基本属性、运算规则。 4. 掌握表达式的求值规则。 5. 记录运行结果,回答问题。

二.实验内容

思考问题:数据类型、运算符、表达式等在C语句中充当什么成分?什么是标识符?整型、实型、字符型常量的书写法是怎样的?整型、实型、字符型变量怎样创建?字符串怎样表示?如何求表达式的值?混合表达式的求值规则是怎样的?

1.输入下列源程序,进行修改、编译、连接和运行。

程序:main ( )

{ char c1,c2; c1=97;//1 c2=98;//2

printf(\printf(\}

运行结果是:

两行结果的不同是由什么引起的

把注释1和注释2(即//1和//2)两行的赋值语句中,c1和c2分别赋值为400、500会产生什么结果,分析为什么。

2. 输入下列源程序,进行修改、编译、连接和运行。分析++运算符。

程序:main ( )

{ int i,j,m,n; i=8;

j=10; m=++i; n=j++;

printf(\

}

运行结果是: 分析前++和后++的不同

3. 输入下列源程序,进行修改、编译、连接和运行。分析++和--运算符。

程序:main ( )

{ int i,j; i=8; j=10;

printf(\printf(\printf(\

printf(\}

运行结果是: 分析运行结果:

4. 求下列表达式的值,并编写程序,上机进行验证。 ①x+a%3*(int)(x+y)%2/4 设x=2.5,a=7,y=4.7 程序:

②(float)(a+b)/2+(int)x%(int)y 设a=7,b=3,x=3.5,y=2.5 程序:

5. 求下列表达式的值,并编写程序,上机进行验证。 设a=12,n=5。

①a+=a ②a-=2 ③a*=2+3 ④a/=a+a 程序:

6. 输入并运行下段程序:

main() {

int x,y;

printf(\ scanf(\ x+=y; y=x-y; x-=y ;

printf(\}

在运行时向程序变量输入任意两个整数。查看输出结果,分析程序的功能。 7. 编一个程序,输入一个三位数据,在窗体打印输出其个位数,十位数和百数。

参考答案: main() {

int g,s,b,n;

printf(\输入一个三位整数:\ scanf(\ g=n; s=n/10; b=n/100;

printf(\个位=%d\\n十位=%d\\n百位=%d\\n\ }

8. 编写程序,从键盘输入梯形的上下底边长度和高,计算梯形的面积。

调试要求:输入不同的数值,查看程序运行结果是否正确。例如,输入3,4,5 或输入4.5,5.5,6。

参考答案: int main() {

float a,b,h,s;

printf(\请输入梯形的上底,下底和高,用逗号分隔\\n\ scanf(\ s=(a+b)*h/2;

printf(\梯形的面积=%.2f\ }

上机实验三 顺序结构程序设计

一.目的要求

1. 掌握顺序结构程序的组成部分——表达式语句和函数调用语句。

2. 掌握格式输入输出scanf()函数、printf()函数的调用语法;整型、实型、字符型数

据的输入输出格式。

3. 掌握字符输入输出函数getchar()、putchar()函数的调用语法。 4. 能够编写简单顺序结构的程序。

二.实验内容

思考问题: scanf()与printf()的格式控制串在用法上有什么区别?scanf()与printf()中不同数据类型对应的格式说明符是怎样的?

第1题 运行下面的程序,写出输出结果。

main()

{ int a=5,b=7;

float x=67.8564,y=-789.124;