C语言程序设计实验与习题(学生用)_第1页
C语言程序设计实验与习题(学生用)_第2页
C语言程序设计实验与习题(学生用)_第3页
C语言程序设计实验与习题(学生用)_第4页
C语言程序设计实验与习题(学生用)_第5页
已阅读5页,还剩107页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

广东药学院

《C语言程序设计》

实验指导与习题

班级:______________________

学号:______________________

姓名:______________________

组号:______________________

成员号:______________________

教师:刘军

医药信息工程学院讨算中心

2010.9

目录

实脸1C程序运行环境及简单程序的运行..........................1

习题一.........................................................2

实脸2JO结构程序设计........................................5

习题二.........................................................8

实脸3选择结构程序设计(上)....................................13

习题三........................................................17

实脸4选择结构程序设计(下)....................................21

习题四........................................................24

实脸5楣环结构程序设计(上)....................................30

习题五........................................................34

实脸6循环结构程序设计(下)....................................40

实脸7数组(上)................................................43

习题了........................................................47

实验8数组(下)................................................50

实脸9函数....................................................53

习题七........................................................57

实脸10指针的应用............................................61

习题八........................................................68

实脸11结构体................................................76

习题九........................................................80

实脸12链表的应用............................................83

实验13文件操作..............................................86

习题十........................................................91

模拟试题一....................................................93

模拟试题二....................................................95

模拟试题三....................................................99

模拟试题四...................................................102

模拟试题五...................................................106

实验一C程序运行环境及简单程序的运行

实验目的

1.了解VisualC++6.0集成编译环境的启动与退出以及VisualC++6.0主屏幕的组成与功能。

2.熟悉和掌握VisualC++6.0集成环境下C程序的编辑、编译、连接与运行的全过程。

3.理解最简单的C程序设计方法和程序的基本结构。

实验内容

1.编辑、运行简单的C程序(教师演示,学生操作)

⑴开机,并在C盘上以自己的学号为名建立一文件夹,然后启动MicrosoftVisualC++6.0。

(2)建立工程文件:在“文件”菜单中选择“新建”命令项,在弹出的“新建”对话框的“工程”

选项卡中选择"Win32ConsoleApplication^^选项,在“工程”框中输入工程文件名syl,在wc:

位置”下拉框中输入或选择文件夹(自己建立的文件夹),单击“确定”;在以下弹出的两个对话框中

分别单击命令按钮“完成”和“确定”。

(3)建立C++源文件:在“工程”菜单中选择“添加到工程”一“新建”命令项,在弹出的“新

建”对话框的“文件”选项卡中选择“C++SourceFile”,在右边的“文件”框中输入文件名syl」

后单击“确定”。

(4)输入源程序:在弹出的文件编辑窗口中输入下面的源程序:

ttinclude<stdio.h>

voidmain()

{printf("Hello,World!\n");

printf("WelcometotheClanguageworld!\n");

printf("Everyonehasbeenwaitingfor.\n");

)

⑸编译:用“编译”菜单的“编译”命令项对源文件sylj.cpp进行编译,如果程序有语法或

语义错误,在屏幕下面的窗口会出现错误信息;这时候要修改源程序、保存后重新编译。直到修改了

全部错误,屏幕下面的窗口会出现下面的信息:

Compiling...

SY1_1.CPP

SY1_1.OBJ-0error(s),0warning(s)

表示已通过编译,生成了目标程序syl」.obj。

(6)构件(或连接)调试:用“编译”菜单的“构件syl.exe”命令项生成可执行文件syl.exe,

也可以使用其中的“开始调试”下的“G0”命令项进行调试并生成syl.exe。

⑺运行:最后用“编译”菜单的“!执行syl.exe”命令项运行可执行程序文件sy.exe。运行

结果如下:

2.程序改错并调试改正后的程序

⑴下列程序的功能为:计算x*y的值并将结果输出,程序中有8处错误,尝试改正并上机调试

之(程序以文件名sy]_2.cpp存盘)o

ttinclude<stdio.h>

voidmain

intx=2;y=3;a

A=x*y

print(Ha=%d",a);

printf('\n');

⑵下列程序的功能为:输入圆的半径,计算圆面积并将结果输出;程序中有9处错误,尝试改

正并上机调试之(程序以文件名syl_3.cpp存盘)。-------------------------------------------

/includestdio.h;

intmian();

floatr;area;

printf(Minputr:\n");

scanf(n%f\r);

area=3.14159r*r;

printf("r=%f,area=%f\nH,area);

3.编写程序并上机调试—

⑴输入三个整数a、b、c,显示出其中的最大值。

4.分析与总结

⑴总结C程序的结构和书写规则。

⑵阅读:附件1-C语言程序的跟踪调试。

特别提示:当程序在编译时发现很多错误,此时应从上到下逐一改正,或改一个错误,就重新再

编译,因为有时•个错误会引起很多错误信息。

成绩等级评阅人

2

习题一

一、选择题

1.C语言规定,必须用作为主函数名。(0级)

A)FunctionB)includeC)mainD)stdio

2.一个C程序可以包含任意多个不同名的函数,但有且仅有一个,一个C程序总是从

开始执行。(0级)

A)过程B)主函数C)函数D)include

3.是C程序的基本构成单位。(0级)

A)函数B)函数和过程C)超文本过程D)子程序

4.下列说法正确的是。(0级)

A)•个函数的函数体必须要有变量定义和执行部分,二者缺一不可

B)一个函数的函数体必须要有执行部分,可以没有变量定义

C)一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数

D)以上都不对

5.下列说法正确的是。(0级)

A.main函数必须放在C程序的开头

B.main函数必须放在C程序的最后

C.main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的

D.main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的

6.下列说法正确的是o(0级)

A)在执行C程序时不是从mian函数开始的

B)C程序书写格式严格限制,•行内必须写一个语句

C)C程序书写格式自由,-个语句可以分写在多行上

D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号

7.在C语言中,每个语句和数据定义是用结束。(0级)

A)句号B)逗号C)分号D)括号

8.下列字符串是标识符的是o(0级)

A)_HJB)9_studentC)longD)LINE1

9.以下说法正确的是。(0级)

A)C语言程序总是从第一个定义的函数开始执行

B)在C语言程序中,要调用的函数必须在main()函数中定义

C)C语言程序总是从main()函数开始执行

D)C语言程序中的main()函数必须放在程序的开始部分

10.不是C语言提供的合法关键字。(0级)

A)switchB)printC)caseD)default

11.C语言提供的合法关键字是。(0级)

A)breackB)printC)funitonD)end

12.C语言提供的合法关键字是o(0级)

A)continueB)procedureC)beginD)append

13.C语言规定:在一个源程序中,main函数的位置____。(02~03第一学期试题)

A)必须在最开始B)必须在系统调用的库函数的后面

C)可以在任意位置D)必须在源文件的最后

3

14.一个C语言程序是由。(02-03M•学期试题)

A)一个主程序和若干个子程序组成;

B)函数组成,并且每一个C程序必须且只能由一个主函数;

C)若干过程组成;

D)若干子程序组成.

二、综合题

绘制NS算法流程图。

(1)输入10个数,求其中的最大值。(2)输入3个数,将它们升序排列输出。

(3)输入2个数,求它们的最大公约数。(4)输入一元二次方程的系数a、b、c,判断其根。

成绩等级评阅人

4

实检二顺序结构程序设计

实验目的

1.掌握C语言算术运算符以及包含这些运算符的表达式,特别是自加(++)和自减(-)运算符

的使用,熟悉C语言中赋值语句的使用

2.掌握C语言中各种数据的输入/输出方法,能正确使用各种格式转换符。

3.理解C语言程序的顺序结构。

实验内容

1.阅读程序,尝试写出程序的运行结果,然后输入并调试程序,对照其实际输出与分析的结果是

否一致,若不一致,请找出原因。

⑴以下程序用于测试C中不同类型数据所占内存字节数,运行并体会sizeof运算符的使用方法。

//sizeof运算的结果为一个int型的整数,表示其求解对象的存储所占的内存字节数。

ttinclude<stdio.h>

voidmain()

{inta=l;

printf(^Sizeofcharis%d\n,z,sizeof(char));

printf(Z/Sizeofshortis%d\n〃,sizeof(short));

printf(Z/Sizeofintis%d\n〃,sizeof(int));

printf(Z/Sizeoflongis%d\n〃,sizeof(long));

printf("Sizeoffloatis%d\n,z,sizeof(float));

printf(Z/Sizeofdoubleis%d\n〃,sizeof(double));

printf("Sizeofboolis%d\n,/,sizeof(bool));

printf(,zSizeofais%d\n〃,sizeof(a));〃变量的类型所占内存字节数

printf("Sizeof2.0*10is%d\nz,,sizeof(2.0*10));〃表达式运算结果的类型所占字节数

printf(,?sizeofLiuDehuais%d\nz,,sizeof("LiuDehua"));〃字符串所占内存字节数

)

⑵阅读并分析以下程序的输出结果,上机调试,对比实际的输出与分析的结果是否一致。

#definePI3.14159------------------------------

ttinclude<stdio.h>

voidmain()

(

intal=65,a2,a3;

charchl=,A',ch2;

floatfl;

doubledl;

printfCXIOl\x42C\n〃);

printf(,ZIsay:\〃Howareyou?\〃\n〃);

printf(〃\\*CProgram*\\\n〃);

printfCAtWWDisplayHello!IamTom\b!\n");

printf(〃--------------------------------------------\n〃);

5

printf(z,65/10=%d\nz,,al/10);

printf(〃65%10=%d\n〃,al%10);

printfCzal=%d,CharofASCII%dis\*%c\)\nz/,al,al,al);

ch2=chl+32;

printf(/,ch2=\,%c\*,ASCIIof\'%c\'is%d\n,z,ch2,ch2,ch2)

printf(〃-----------------------------------------------\n〃);

al=65;

a2=(al++)+(al++);

printf("al==%d,a2=%d\n〃,al,a2);

al=65;

a2=(al++)+(++al);

printf(,zal=%d,a2=%d\n”,al,a2);

al=65;

a2=(++al)+(al++);

printf("al=%d,a2=%d\n〃,al,a2);

al=65;

a2=(++al)+(++al);

printf(,zal=%d,a2=%d\n〃,al,a2);

printf(z/-----------------------------------------------\n〃);

a2=2,a3=(al=3,a2+=al,al*a2);

printf(〃al=%d,a2=%d,a3=%d\n”,al,a2,a3);

printf("-----------------------------------------------\n〃);

a3=a2=al=2;

printf(,z%d,%d,%d\n〃,(al,a2+l),a3+2,al+a2+a3);

printf(,z-----------------------------------------------\n〃);

al=12;

al十=al-=al*al;

printf(,zal=%d\n,z,al);

printf(z,-----------------------------------------------\n〃);

chi='O',al=l,fl=2.f,dl=PI*(chl/5+al/fl);

,,,,

printf(chl=%d,al=%d,fl=%f,dl=%lf\n,chi,al,fl,dl);

printf("-----------------------------------------------\n〃);

al=10;

a2=-al-;

printf(z/al=%d,a2=%d\n”,al,a2);

a3=-++al;

printf(z/al=%d,a3=%d\nz,,al,a3);

printf(〃-----------------------------------------------\n〃);

printf(〃%d,%d,%d\n〃,al++,++al,al=2);

printf(〃al=%d\n〃,al);

printf(〃%d,%d,%d\n,z,al=2,++al,al++);

printf(/zal=%d\n/z,al);

printf(〃%d,%d,%d\n〃,al++,al=2,++al);

6

printf("al=%d\n〃,al);

)

⑶阅读并分析以下程序的输出结果,上机调试,对比实际的输出与分析的结果是否一致。

ttinclude<stdio.h>

voidmainO

{charch=65;

inta=1234;

longg=12345678;

floatf=123.456789;

doubled=9.87654321E5;

printf(z/%d,%c,%5d,%3c\n/z,ch,ch,ch,ch);

printf("%08d,%0+8d,%8d,%o,%7x,%101d,%ld\n〃,a,a,a,a,g,g);

printf(,z%010.3f,%-10.3f,%10.3f,%f,%e,%g\n,z,f,f,f,f,f,f);

printfC%0+15.51f,%-15.51f,%15.51f,%lf,%le\nz,,d,d,d,d,d);

printf(z/%10s\n%20s\n%~10.3s\n%s\n〃,“Hello,world!","Hello,world!","Hello,world!","He

Ho,world!,z);

)

2.程序改错并调试改正后的程序

⑴下列程序的功能为:输入一个华氏温度,要求输出摄氏温度。公式为:C=|(F-32),输

出取2位小数。请纠正程序中存在的错误(程序中有3处错误),使程序实现其功能。

#include<stdio.h>

voidmain()

{floatc,f;

printf("请输入一个华氏温度:\nn);

scanff'%F,f);

c==(5/9)*(f-32);

printf(“摄氏温度为:%5.2f\n"c);

⑵下列程序的功能为:按下列公式计算并输出x的值。其中a和b的值由键盘输入。

x=2ab/(a+b)2

请纠正程序中存在的错误,使程序实现其功能。

#include<stdio.h>

voidmain()

{inta,b;

floatx;

scanf(H%d,%dH,a,b);

x=2ab/(a+b)(a+b);

printf(,,x=%d\n",x);

3.编写与调试程序

⑴写一个程序测试一下把带小数的float和double型数据用printf函数输出时,小数部分是截断还是

四舍五入?-------------------------

成绩等级评阅人

7

习题二

一、选择题

1.在C语言中,下列类型属于构造类型的是0(0级)

A)整型B)字符型C)实型D)数组类型

2.在C语言中,下列类型属于构造类型的是o(0级)

A)空类型B)字符型C)实型D)共用体类型

3.在C语言中,下列类型属于构造类型的是。(0级)

A)整型B)指针类型C)实型D)结构体类型

4.在C语言中,下列类型属于基本类型的是。(0级)

A)整型、实型、字符型B)空类型、枚举型

C)结构体类型、实型D)数组类型、实型

5.下列类型属于基本类型的是。(0级)

A)结构体类型和整型B)结构体类型、数组、指针、空类型

C)实型D)空类型和枚举类型

6.下列字符串属于标识符的是。(0级)

A)INTB)5_studentC)2ongD)!DF

7.下列字符串属于标识符的是。(0级)

A)_WLB)3_3333C)intD)LINE3

8.下列手符串不属于标阚的是。(0级)

A)sumB)averageC).day_nightD)M.D.JOHN

9.下列字符串不属于标识符的是。(0坂j

A)totalB)lutos_l_2_3C)_nightD)$123

10.下列字符串不属于标识容的感。"(0级)

A)_aboveB)allC)_endD)#dfg

11.C雷言中不能用来表示整常数的进制是_二(0级)

A)十进制B)十六进制C)八进制D)二进制

12.C语言中能用来表示整常数的进制是。(0级)

A)十进制、八进制、十六进制B)十二进制、十进制

C)六进制、八进制D)二进制、十进制

13.在C语言中,回车换行符是o(0级)

A)\nB)\tC)\vD)\b

14.在C语言中,退格符是o(0级)

A)\nB)\tC)\vD)\b

15.在C语言中,反斜杠符是o(0级)

A)\nB)\tC)\vD)\\

16.ASCII码表中可以看到每个小写字母的ASCH码比它相应的大写字母的ASCII码—。(0级)

A)大32B)大64C)小32D)小64

17.设d为字符变量,下列表达式不正确的是o(0级)

A)d=97B)d='a'C)d=''a"D)d='g'

18.设d为字符变量,下列表达式正确的是。(0级)

A)d=678B)d='a'C)d="d"D)d='gjkl'

19.10+'a'+1.5-567.345/'b'的结果是型数据。(0级)

A)longB)doubleC)intD)unsignedfloat

20.语句inti=3;k=(i++)+(i++)+(i++);执行过后k的值为,i的值为—。(0级)

A)9,6B)12,5C)18,6D)15,5

21.如果i=3,则k=(i++)+(++i)+(i++)执行过后k的值为,i的值为«(1级)

A)12,6B)12,5C)18,6D)15,5

22.如果i=3,则k=(++i)+(++i)+(i++)执行过后k的值为,i的值为。(1级)

A)15,6B)12,5C)18,6D)15,5

23.如果i=3,则k=(+•+i)+(++i)+(++i)执行过后k的值为,i的值为。(1级)

8

A)9,6B)12,5C)18,6D)15,5

24.如果inti=3,贝I」printfT%d”,・i++)的结果为,i的值为。(1级)

A)-3,4B)-4,4C)-4,3D)-3,3

25.如果inti=3,intj=4,贝k=i+++j执行之后k,i和j的值分另U为。(1级)

A)7,3,4B)8,3,5C)7,4,4D)8,4,5

26.已知在ASCH字符集中,数字0的序号为48,卜面程序的输出结果为o(1级)

main()

{charx,y;

x=,0,;y=,9,;

printf^%d,%d\n,\x,y);

}

'A)因输出格式不合法,输出错误信息

B)48,57

C)0,9D)48,58

27.已知在ASCH字符集中,字母A的序号为65,下面程序的输出结果为o(1级)

main()

{charc=,A,;inti=10;

c=c+10;

i=c%i;

printR"%c,%d\n”,c,i);

)

A)75,7B)75,5

C)K,5D)因存在非图形字符,无法直接显示出来

28.已知在ASCII集中,字母A的序号为65,下面程序的输出结果为。(1级)

main()

{charcl='B',c2='Y';

printf("%d,%d\n",~H~c1c2);

A)输出格式不合法,输出错误信息B)67,88

C)66,89D)C.X

29.C语言中最简单的数据类型包括_____。(1级)

A)整型,实型,逻辑型B)整型,实型,字符型

C)整型,字符型,逻辑型D)整型,实型,逻辑型,字符型

30.C语言中,运算对象必须是整型数的运算符是______»(1级)

A)%B)\C)%和\D)**

31..下列常数中,合法的C常量是______。(1级)

A)-0.B)'1O5'C)'AB,D)3+5

32.下列常数中,合法的C常量是______。(1级)

A)"x・y"B)'1O5'C)'Be'D)7ff

33.下列常数中,合法的C常量是______。(1级)

A)B)e-310C)'DEFD)'1234'

34.下列常数中,不合法的C常量是______o(1级)

A)-0x2alB)lg3C)D『CHINA"

35.下列常数中,不合法的C常量是______。(1级)

A)-Ox3blB)123e+2.3C)'}'D)6e+7

36.下列符号中,可以作为变量名的是_____。(1级)

A)+aB)12345eC)a3BD)5e+0

37.下列符号中,可以作为变量名的是______。(1级)

A)+cB)*XC)DAYD)nextday

38.下面程序的输出结果是______。(1级)

main()

{intx;

x=・3+4*5-6;printf("%d”,x);

9

x=3+4%5-6;printf("%d”,x);

X=-3*4%-6/5;printf("%d”,x);

x=(7+6)%5/2;printf("%d”,x);

A)11101B)11-321

C)12-321D)11121

39.下面程序的输出结果是o(1级)

mian()

{intx=2,y=0,z;

x*=3+2;printfC<%d,,,x);

x*=y=z=4;printf("%d”,x);

)

A)840B)1040

C)10,4D)8,4

40.下面程序的输出结果是o(1级)

main()

{intx=2,y=0,z;

x+=3+2;printfft%d,,,x);

x*=y=z=4;printf("%d”,x);

}

A)728B)无法计算C)7,4D)8,4

41.下面程序的输出结果是o(1级)

main()

{intx=4,y=0,z;

x*=3+2;printfC4%d,,,x);

x*=y==(z=4);printf(“%d”,x);

}

A)1440B)200C)204D)144

42.下面程序的输出结果是o(1级)

main()

{intij;

i=16;j=(i++)+i;printfT%d”,j);

i=15;printfC%d%d”,++i,i);

}

A)321615B)331515

C)341516D)341615

43.在C语言中,以下合法的字符常量是o(1级)

A)''084'B)'\x43'C)'01D)"\0M

44.若已定义X和Y为double类型,则表达式:x=l,y=x+3/2的值为。(1级)

A)1B)2C)2.0D)2.5

45.下列程序的执行结果是。(1级)

#include<stdio.h>

#definesum10+20

main()

{intb=0,c=0;

b=5;

c=sum*b;

printf(”%d”,c);

)

A)100B)110C)70D)150

46..下列程序的执行结果是o(1级)

#include<stdio.h>

10

#definesum(l0+20)

mian()

inta=0,b=0,c=0;

a=sum;

b=5;

c=sum*b;

printf(u%dn,c);

}

A)100B)110C)70D)150

47.表达式(int)2.1416的值为0(1级)

A)2B)2.1C)0D)3

48.表达式(double)(20/3)的值为。(1级)

A)6B)6.0C)2D)3

49.在下面几组数据类型中,全是基本数据类型是哪一组。(02-03第一学期试题)

A)整型实型字符型B)整型数组指针

C)数组结构体共用体D)指针逻辑型空类型

50.以下说法正确的是。(02~03第一学期试题)

A)在C程序中,每行只能写一条语句.

B)在C程序中,无论是整数还是实数,其存放形式都一致.

C)在C程序中,%是只能用于整数运算的运算符.

D)在C程序中,变量可以不必先定义就可使用.

51.假设所有变量均为整型,则表达式(a=5,b=2,a++,a+b)的值是。(02〜03试题)

A)8B)7

C)6D)5

52.若有以下定义,则正确的赋值语句为。(02-03第一学期试题)

inta,b;

floatx;

A)a=l,b=2,B)b++;

C)a=b=5D)b=int(x);

53..C语言规定标识符由等字符组成.(01~02第:学期试题)

A)字母数字下划线B)中划线字母数字

C)字母数字逗号D)字母下划线中划线

54.若有如下定义:inta=2,b=3;floatx=3.5,y=2.5;贝ij表达式:(float)(a+b)/2+(int)x%(int)y的值

是—。(01〜02第二学期试题)

A)2.500000B)3.500000C)4.500000D)5.000000

55.以下表达式:2+,a,+i*f,其中i为整型变量,f为float型变量,则表达式的最终数据类型为

A)intB)floatC)charD)double

56.若有:inta,b=2;则a=(b*100+1.5,100)贝ija的值是。(01〜02第二学期试题)

A)100B)100.5C)200.5D)300.5

57.有如下语句:

printf(''%s,%5.3s\n”,"COMPUTER”,"COMPUTER");

执行语句后的最终结果为—。(017)2第二学期试题)

A)COMPUTER,CMP.B)COMPUTER,CMP.

C)COMPU,CMP.D)COMPU,CMP

58.已知ch是字符型变量,下面不正确的赋值语句是:o(03试题)

A)ch=''0'B)ch='a+b'

C)ch=7+,9'D)ch=7+9

59.若x和y都为float型变量,且x=3.6,y=5.8执行下列语句后输出结果为:。(03试题)

printf("%f',(x,y));

A)3.600000B)5.800000

C)3.600000,5.800000D)输出符号不够,输出不正确值

11

60.设变量a是整型,变量f是实型,变量I是双精度型,则表达式10+3+1*f值的数据类

型:o(往届试题)

A)intB)floatC)doubleD)不确定

61.已知字母,A,的ASCII码为卜进制65,下面程序段的运行结果为:。(往届试题)

charchl,ch2;

chl='A'+5-3;ch2='A'+6-3;

printf("%d,%c\n^^,chl,ch2);

A)67,DB)B,CC)C,DD)不确定值

62.以下不正确的C语言标识符是。(04-05第二学期试题)

A)ABCB)abcC)abeD)ab.c

63.设x、y均为float型变量,则以下不合法的赋值语句是。(04-05第二学期试题)

A)++x;B)y=(x%2)/10;

C)x♦=y+8;D)x=y=0;

64.若有说明语句:charc=l\64);则变量C包含:。(往届试题)

A)1个字符B)2个字符

C)3个字符D)说明不合法,C值不确定。

65.表达式18/4*sqrt(4.0)/8值的数据类型为。(往届试题)

A)intB)floatC)doubleD)不确定

66.设整型变量a值为9,则下列表达式中使b的值不为4的表达式:。(往届试题)

A)b=a/2B)b=a%2

C)b=8-(3,a-5)D)b=a>5?4:2

67.设有以下定义,则能使值为3的表达式是:o(往届试题)

intk=7,x=12;

A)x%=(k%=5)B)x%=(k-k%5)

C)x%=kD)(x%=k)-(k%=5)

12

成绩等级评阅人

实验三选择结构程序设计(上)

实验目的

1.熟练掌握c语言的格式输入方式的使用,能正确使用getcharO和IputcharO函数输入字符。

2.掌握关系运算符和关系表达式的使用方法,以及逻辑运算符和逻辑表达式的使用方法。

3.掌握if语句、switch语句、条件运算符(?:)的使用方法。

4.掌握选择结构程序的设计技巧,特别是if及switch语句的嵌套使用。

实验内容

1.体验数据的格式输入的效果。分析以下程序,假设依据给定的内容输入,其输出会怎样?实际

运行并按照要求输入,比较其输出结果与分析的结果是否一致。

〃程序⑴

4include"stdio.h〃

voidmainO

inta,b,c,d;

scanf(〃%d,%x,%o,%c〃,&a,&b,&c,&d);

printf(〃a=%d,b=%d,c=%d,d=%c\n〃,a,b,c,d);

)

输入:10,10,10,10J输出:____________________________

输入:10101010J输出:正确否

〃程序⑵

/include〃stdio.h〃

voidmain()

(

inta,b,c,d;

scanf(〃%d%x%o%c〃,&a,&b,&c,&d);

printf(,za=%d,b=%d,c=%d,d=%c\n”,a,b,c,d);

)

输入:10,10,10,10」输出:正确否

输入:10101010」输出:

〃程序⑶

^include"stdio.h〃

voidmain()

(

inta,d;

floatb;

charc;

scanf(〃%2d%*2d%2f%2c%d〃,&a,&b,&c,&d);

printf(〃a=%d,b=%f,c=%c,d=%d\n,z,a,b,c,d);

)

输入:12345678900」输出:

13

输入:123456789m。」输出:

输入:12345678900输出:

输入:1,23,456,7890输出:_______________________________正确否

〃程序⑷

ttinclude〃stdio.h〃

voidmain()

(

longa;

doubleb;

scanf(,za=%ld%,b=%lf〃,&a,&b);/*思考:如果去掉1,会有什么影响*/

printf(〃a=%ld,b=%lf\nzz,a,b);/*思考:如果去掉1,会有什么影响*/

)

输入:a=123456789,b=123456789.123456789J输出:

输入:123456789,123456789.123456789」输出:_______________________________正确否

〃程序⑸

#include<stdio.h>

voidmain()

{charcl,c2;/*思考:此处能否为int型*/

cl=getchar();

c2=getchar();

putchar(cl);

putchar(c2);

putchar('\n);

printf(,zcl=%d,c2=%d\n”,cl,c2);

printf(,zcl=%c,c2=%c\n/z,cl,c2);

}

输入:B1J输出:输入:BJ输出:

2.改错题(请纠正程序中存在错误,使程序实现其功能)

⑴下列程序的功能为:输入1个字母后,输出该字母的前序字母、该字母、该字母的后序字母,

例如:输入g,则输出龟h;输入a,,ij输出zab;输入M,则输出LMN;输入Z,则输中YZA。

#include<stdio.h>

voidmain()

{charch,cl,c2;

printfifTnteracharacter:n);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论