C语言上机指导 指导教师:李辉李晓丽 东北电力大学 电气工程学院 2006年3月
C 语言上机指导 指导教师:李辉 李晓丽 东北电力大学 电气工程学院 2006 年 3 月
实验2数据类型、运算符和表达式 1.实验目的 ◆掌握c语言数据类型,熟悉如何定义一个整形、字符型和实型的变量, 以及对他们赋值的方法。 ◆掌握不同的类型数据之间赋值的规律 ◆学会使用c的有关算术运算符,以及包含这些运算符的表达式,特别是 目 加(++)和自减(-)运算符的使用 ◆进一步熟悉C程序的编辑、编译、连接和运行的过程 2.实验内容和步骤 输入并运行下面的程序 include <stdio. h> void maino char c1 c2: C1=a printf((“%c%cⅦn”,c1,c2); (1).运行此程序 2).在此基础上增加一个语句: printf("d%dn",c1, C2); 再运行并分析结果。 (3),再将第2行改为 int cl c2: 再使之运行并观察结果。 (4).再将第3、4行改为: c1=a; *不用单撤号 c2=b 再使之运行分析其运行结果
实验 2 数据类型、运算符和表达式 1. 实验目的 掌握 C 语言数据类型,熟悉如何定义一个整形、字符型和实型的变量, 以及对他们赋值的方法。 掌握不同的类型数据之间赋值的规律。 学会使用 C 的有关算术运算符,以及包含这些运算符的表达式,特别是 自加(++)和自减(--)运算符的使用。 进一步熟悉 C 程序的编辑、编译、连接和运行的过程。 2. 实验内容和步骤 输入并运行下面的程序 #include <stdio.h> void main() { char c1, c2; c1 = 'a'; c2 = ‘b’; printf (“%c %c\n”, c1, c2); } (1). 运行此程序。 (2). 在此基础上增加一个语句: printf(“%d%d\n”,c1,c2); 再运行,并分析结果。 (3). 再将第 2 行改为: int c1,c2; 再使之运行,并观察结果。 (4). 再将第 3、4 行改为: c1 = a; /* 不用单撇号 */ c2 = b; 再使之运行,分析其运行结果
(5).再将第3、4行改为: 用双撒号 c2="b”; 再使之运行分析其运行结果。 (6)再将第3、4行改为: c1=300 /*用大于255的整数 再使之运行分析其运行结果 ◆输入并运行教材第3章习题36给出的程序 include <stdio.h> void maino char c1=a’,c2=“b’,c3=c,c4=101,c5=1116’; printf(“a%cb%cltc% cItabc\n”,c1,c2,c3) printf("tIb%c%c",c4, c5); 在上机前先用人工分析程序,写出应得结果,上机后将二者对照 ◆输入并运行下面的程序 include <stdio.h> void main( t a b unsigned c, d long e, f a=100 e=50000 f=32767; c= a d= b: printf("%d, %dIn", a, b); f(“%u%uin",a,b); printf(%u,%uln”,c,b) c=a=e d= b= f printf("%d, %dIn", a, b); printf("%u, uIn",, d); 请对照程序和运行结果分析 (1).将一个负整数赋给一个无符号的变量,会得到什麽结果。画出它们在内存中 的表示形式。 (2),将一个大于32765的长整数赋给整形变量,会得到什麽结果。画出它们在 内存中的表示形式 (3)将一个长整数赋给无符号的变量,会得到什麼结果(分别考虑该长整数的值 大于或等于65535以及小于65535的情况)。画出它们在内存中的表示形式。 同学们可以改变程序中各变量的值以便比较例如:a=65580,b=40000 e=65535,f=65580 输入习题310
(5). 再将第 3、4 行改为: c1 = ”a”; /* 用双撇号 */ c2 = ”b”; 再使之运行,分析其运行结果。 (6). 再将第 3、4 行改为: c1 = 300; /* 用大于 255 的整数 */ c2 = 400; 再使之运行,分析其运行结果。 输入并运行教材第 3 章习题 3.6 给出的程序 #include <stdio.h> void main() { char c1 = ‘a’, c2 = ‘b’, c3 = ‘c’, c4 = ‘\101’, c5 = ‘\116’; printf (“a%c b%c\tc%c\tabc\n”,c1, c2, c3); printf(“\t\b%c%c”, c4, c5); } 在上机前先用人工分析程序,写出应得结果,上机后将二者对照。 输入并运行下面的程序 #include <stdio.h> void main() { int a,b; unsigned c,d; long e,f; a = 100; b = -100; e = 50000; f = 32767; c = a; d = b; printf(“%d,%d\n”, a, b); printf(“%u,%u\n”, a, b); printf(“%u,%u\n”, c, b); c = a = e; d = b = f; printf(“%d,%d\n”, a, b); printf(“%u,%u\n”, c, d); } 请对照程序和运行结果分析: (1). 将一个负整数赋给一个无符号的变量,会得到什麽结果。画出它们在内存中 的表示形式。 (2). 将一个大于 32765 的长整数赋给整形变量,会得到什麽结果。画出它们在 内存中的表示形式。 (3). 将一个长整数赋给无符号的变量,会得到什麽结果(分别考虑该长整数的值 大于或等于 65535 以及小于 65535 的情况)。画出它们在内存中的表示形式。 同学们可以改变程序中各变量的值,以便比较。例如:a = 65580, b = -40000, e = 65535, f = 65580。 输入习题 3.10
include <stdio.h> void maino int i,j,m, n printf("%d, %d, % d, %d",i,, m, n) ).运行程序,注意i、j、m、n各变量的值,分别作以下改动并运行 2).将第4、5行改为: m=++ 再运行。 3).将程序改为: include <stdio.h> void maino int i,j: =8 printf((“%d,%d”,i+t,j+); 4).在(3)的基础上,将 printf.语句改为 printf((“%d,%d”,++i,+; (5)再将 printf语句改为: printf(“%d,%d,%d%d”,i,ji++,j++) (6),将程序改为 include <stdio.h> void main( int i, j, m=0, n=0; =8; j=10 m+=++;n-=-]; printf("j=%d j=%d, m=%d, n=%d'", i, j, m, n); 按习题37的要求编程序并上机运行 该题的要求是 要将 China译成密码,译码规律是:用原来字母后面的第4个字母代替原 来的字母。例如,字母A后面第4个字母是”E,用”E代替”A”。因此,” China 应译为 GImme”。请编一程序,用赋初值的方法使c1、c2、c3、c4、c5五个变 量的值分别为C、"h、'、'n'、'a,经过运算,使c1、c2、c3、c4、c5分别 变为G'、T、m'、r、'e、,并输出。 ①输入事先已编好的程序,并运行该程序。分析是否符合要求 ②改变c1、c2、c3、c、c5、的初值为:T、o、'd、'a'、y,对译码规 律作如下补充:W用A代替,X用B代替,”Y用℃代替,z用D代替。修
#include <stdio.h> void main() { int i,j,m,n; i = 8; j = 10; m = ++i; n = j++; printf(“%d,%d,%d,%d”, i, j, m, n); } (1). 运行程序,注意 i、j、m、n 各变量的值,分别作以下改动并运行。 (2). 将第 4、5 行改为: m = i++; n = ++j; 再运行。 (3). 将程序改为: #include <stdio.h> void main() { int i,j; i = 8; j = 10; printf(“%d,%d”, i++, j++); } (4). 在(3)的基础上,将 printf 语句改为: printf(“%d,%d”, ++i, ++j); (5). 再将 printf 语句改为: printf(“%d,%d,%d,%d”, i, j, i++, j++); (6). 将程序改为: #include <stdio.h> void 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); } 按习题 3.7 的要求编程序并上机运行 该题的要求是: 要将”China”译成密码,译码规律是:用原来字母后面的第 4 个字母代替原 来的字母。例如,字母”A”后面第 4 个字母是”E”,用”E”代替”A”。因此,”China” 应译为”Glmre”。请编一程序,用赋初值的方法使 c1、c2、c3、c4、c5 五个变 量的值分别为’C’、’h’、’i’、’n’、’a’,经过运算,使 c1、c2、c3、c4、c5 分别 变为’G’、’l’、’m’、’r’、’e’、,并输出。 ①输入事先已编好的程序,并运行该程序。分析是否符合要求。 ②改变 c1、c2、c3、c4、c5、的初值为:’T’、’o’、’d’、’a’、’y’,对译码规 律作如下补充:’W’用’A’ 代替,’X’用’B’代替,’Y’用’C’代替,’Z’用’D’代替。修
改程序并运行 ③将译码规律修改为:将字母用它前面的第4个字母代替,例如:E用A代 替,2z用U代替,D用z代替,C用Y代替,B用X代替,'A用V代替。修 改程序并运行。 实验3最简单的C程序设计 1.实验目的 掌握c语言中使用最多的一种语句—赋值语句的使用方法 掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。 2.实验内容和步骤 ◆掌握各种格式转换符的正确使用方法 (1).输入程序 #include <stdio. h> void maino int a, b: float d, e; charal. c2 double f, g: long m, n; unsigned int p, g; a=61;b=62 c1='a’;c2=b’; d=3.56;e=-687; f=3157890121;g=0123456789; m=50000;n=-60000; p=32768;q=40000 c? printf("a=%d, b=%dInc1=%c, c2=%clnd=%6.2f, e=%6.2fin" a, b, c1 d,e); n, printf(f=%156f, g=%1512f\nm=%ld, n=%ldInp=%u, q=%uln", f, g, m, p,q); (2),运行此程序并分析结果。 (3).在此基础上,修改程序的第8-13行: a=61;b=62 c1='a;c2=b f=3157890121:g=0.123456789; d= f. p=a=m=50000;q=b=n=-60000; 运行程序分析结果 (4)改用 scanf函数输入数据而不用赋值语句, scanf i函数如下: o, scanf("%d,%,%,%%;%‰%,%,‰u,%u”,&a,&b,&c1&c2, e,&f,&g,&m,& 输入的数据如下
改程序并运行。 ③将译码规律修改为:将字母用它前面的第 4 个字母代替,例如:’E’用’A’ 代 替,’Z’用’U’代替,’D’用’Z’代替,’C’用’Y’代替,’B’用’X’代替,’A’用’V’代替。修 改程序并运行。 实验 3 最简单的 C 程序设计 1. 实验目的 掌握 C 语言中使用最多的一种语句——赋值语句的使用方法。 掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。 2. 实验内容和步骤 掌握各种格式转换符的正确使用方法 (1). 输入程序 #include <stdio.h> void main() { int a, b; float d, e; char c1, c2; double f, g; long m, n; unsigned int p, q; a = 61; b = 62; c1 = ’a’; c2 = ’b’; d = 3.56; e = -6.87; f = 3157.890121; g = 0.123456789; m = 50000; n = -60000; p = 32768; q = 40000; printf(“a=%d, b=%d\nc1=%c, c2=%c\nd=%6.2f, e=%6.2f\n”, a, b, c1, c2, d, e); printf(“f=%15.6f, g=%15.12f\nm=%ld, n=%ld\np=%u, q=%u\n”, f, g, m, n, p, q); } (2). 运行此程序并分析结果。 (3). 在此基础上,修改程序的第 8-13 行: a = 61; b = 62; c1 = ’a’; c2 = ’b’; f = 3157.890121; g = 0.123456789; d = f; e = g; p = a = m = 50000; q = b = n = -60000; 运行程序,分析结果。 (4). 改用 scanf 函数输入数据而不用赋值语句,scanf 函数如下: scanf(“%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u”,&a,&b,&c1,&c2, &d,&e,&f,&g,&m,&n,&p,&q); 输入的数据如下: