文档库 最新最全的文档下载
当前位置:文档库 › 顺序结构程序设计练习题

顺序结构程序设计练习题

顺序结构程序设计练习题
顺序结构程序设计练习题

顺序结构程序设计练习

SANY标准化小组 #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#

C语言练习题总汇

一、单选题:

【顺序结构程序设计】

1.己知int k,m=1;执行语句k=-m++;后k的值是( A )。(提示:负号与自加运算符同级,结合方向从右向左)

A)-1 B) 0 C)1 D)2

2.若有定义int x=4;则执行语句 x + = x * = x + 1;后,x的值为( C )。

A)5 B)20 C)40 D)无答案

3.若有定义:float a=,b=,c=;则表达式1/2*(a+b+c)的值为( C )。

A) B)6 C) D)无答案

4.以下程序段的输出结果是( C )。(提示:a当约束过严时,约束失效。按自由格式输出。)

int a=1234;

printf("%2d\n",a);

A)12 B)34 C)1234 D)提示出错,无结果

5.下列程序段的输出结果是(C)。

int a=1234;

float b=;

double c=;

printf("%2d,%,%",a,b,c);

A)无输出 B)12, , C)1234,, D)1234,,

6.设x, y均为整型变量,且x=8, y=5,则以下语句的输出结果是(D)。

printf("%d,%d\n",x--,++y);

A)8,5 B)7,5 C) 7,6 D) 8,6

7.以下程序的输出结果是( A )。

int main()

{ int a=20,b=10;

printf("%d,%%d\n",a+b,a-b); }

A) 30,%d B)30,10 C)30,%10 D)以上答案均不正确(%%d中第一个%后面的表示字符)

8.下列程序的运行结果是(A)。

int main()

{ float x=;

int y;

y=(int)x;

printf("x=%f,y=%d",x,y);}

A) x=,y=2 B)x=,y=2 C)x=2,y=2 D) x=,y=

9.以下程序的输出结果是(A)。

int main()

{ char c=‘z’;

printf("%c",c-25);}

A)a B)z C)z-25 D)y (字母共有26个,而z是最后一个)

10.下面程序的输出结果是(C)。

int main( )

{ double d= ;

int x=, y ;

y=(x+/ ;

printf("%d\n",d*y);}

A) 3 B) C)0 D)

11.下面程序的输出结果是( C )。(提示:输出时无定界符)

int main()

{ int k=17;

printf("%d,%o,%x\n",k,k,k);}

A)17,17,17 B)17,021,0x11 C)17,21,11 D)17,0x11,021

12.下列程序执行后的输出结果是(C)。

int main()

{ char x =OxFFFF;

printf("%d\n",x--);}

A)-32767 B)FFFE C)-1 D)=-32768

("a\bre\'hi\'y\\\bou\n");的输出结果是(C)。

A)a\bre\'hi\'y\\\bou B)a\bre\'hi\'y\bou

C)re'hi'you D)abre'hi'y\bou

14.有定义语句:int x,y;若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中错误的是(A)。

A)11<空格>12<回车> B)11,<空格>12<回车> C)11,12<回车> D)11,<回车>12<回车> 15.有以下程序段:

int m=0,n=0;

char c=‘a';

scanf("%d%c%d",&m,&c,&n);

printf("%d,%c,%d\n",m,c,n);

若从键盘上输入:10A10 <回车>,则输出结果是(A)。

A)10,A,10 B)16,a,10 C)10,a,0 D)10,A,0

16.若变量已正确说明为int类型,要通过语句scanf("%d %d %d ",&a,&b,&c);给a赋值

1,b赋值2,c赋值3,不正确的输入形式是(B)。

A) 1<空格>2<空格>3<回车> B)1,2,3<回车> C)1<回车>2<空格>3<回车> D)1<空格>2<回车>3<回车>

, b,c被定义为int型变量,若从键盘给a, b,c输入数据,正确的输入语句是(D)

A)input a,b,c; B)read("%d%d%d",&a,&b,&c); C)scanf("%d%d%d",a,b,c);

D)scanf("%d%d%d",&a,&b,&c);

18.已知a,b,c为int型变量,若从键盘输入:1,2,3<回车>,使a的值为1,b的值为2,c的值为3,以下选项中正确的输入语句是(B)。

A)scanf("%2d,%2d,%2d",a,b,c); B)scanf("%d,%d,%d",&a,&b,&c);

C)scanf("%d %d %d",&a,&b,&c); D)scanf("i=%dj=%d,k=%d",&a,&b,&c);

19.执行下程序时输入:123<空格>456<空格>789<回车>,输出结果是( D )。

int main()

{char s;

int c,i;

scanf("%c",&c);

scanf("%d",&i);

scanf("%c",&s);

printf("%c,%d,%c\n",c,i,s);}

A)123,456,789 B)1,456,789 C)1,23,456,789 D) 1,23,

20.已定义c为字符型变量,则下列语句中正确的是( C )。

A)c='97 ' B)c=“97 “ C)c=97 D)c=“a”

21.以下程序的功能是:给r输入数据后计算半径为r的圆面积s。程序在编译时出错。#include <>

void main()

{

int r;

float s;

scanf("%d",&r);

s=p*r*r;

printf("s=%f\n",s);

}

出错的原因是()。

A)注释语句书写位置错误

B)存放圆半径的变量r不应该定义为整型

C)输出语句中格式描述符非法

D)计算圆面积的赋值语句中使用了非法变量

答案:D

22.有以下程序

#include <>

void main( )

{

int m=12,n=34;

printf("%d%d",m++,++n);

printf("%d%d\n",n++,++m);

}

程序运行后的输出结果是()。

A) B) C) D)

答案:A

23.数字字符0的ASCII值为48,若有以下程序

#include <>

void main( )

{

char a='1',b='2';

printf("%c,",b++);

printf("%d\n",b-a);

}

程序运行后的输出结果是______。

A)3,2 B)50,2 C)2,2 D)2,50

答案:C

24.有以下程序

#include <>

void main( )

{

char c1='1',c2='2';

c1=getchar( ); c2=getchar( ); putchar(c1); putchar(c2);

}

当运行时输入:a<回车> 后,以下叙述正确的是______。

A)变量c1被赋予字符a,c2被赋予回车符

B)程序将等待用户输入第2个字符

C)变量c1被赋予字符a,c2中仍是原有字符2

D)变量c1被赋予字符a,c2中将无确定值

答案:A

25.

【选择结构程序设计】

1.有变量说明语句int a,b ,c;,顺序执行下面语句:

a=b=c=1;

++a||++b&&++c;

那么,变量b的值应是( B )

A.2 B.1 C.0 D.3

2.有变量说明int a=3;,则表达式a<1&&--a>1的运算结果和a的值应该是( B )A.0和2 B.0和3 C.1和2 D.1和3

3.设int a=3,b=4,c=5;,下列表达式的值不为1的是( A )。

A)a+b>c&&b==c B)a||b+c&&b-c

C)!(a>b)&&!c||1 D)!(a+b)+c-1&&b+c/2

4.#include<>

int main( )

{

int a,b,c;

a=10;b=50;c=30;

if(a>b) a=b;b=c;c=a;

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

}

程序的输出结果是( C )。

=10, b=50, c=10 B. a=10, b=50, c=30

=10, b=30, c=10 D. a=50, b=30, c=50

5.若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式a

(A)1 (B)2 (C)3 (D)4

6.若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是( C )。A)abs(x-y)<10 B)x-y>-10&&x-y<10 C)!(x-y)<-10||!(y-x)>10 D)(x-y)*(x-y)<100

7.若有定义:int a=7;f1oat x=,y=;则表达式x+a%3*(int)(x+y)%2/4的值是( A )。

A) B) C) D)

8.若有定义和语句:

int s,p;

s=p=5; p=s++,++p,p+2,p++;则执行语句后 p的值是( C )

A)9 B)8 C)7 D)6

9.若有定义:int a,b;则表达式 a=4,b=3,a+b+2,a++,a+b+2的值为( C )。

A) 12 B)11 C)10 D)无答案

10.己知int k=10 , m=3,n;则下列语句的输出结果是( B )。

printf("%d\n",n=(k%m,k/m));

A) 2 B)3 C)4 D)5

11.设x和y均为int型变量,则以下语句:x+=y; y=x-y; x-=y; 的功能是()。

A) 把x和y按从大到小排列 B) 把x和y按从小到大排列

C) 无确定结果 D) 交换x和y中的值

答案:D

12.设int i=2,j=3,k=4,a=4,b=5,c=3;,则执行表达式(a=ik)&&(c=i,j,k)后,c值是()。

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

答案:D

13.若x、a、b、c均为int型变量,则执行表达式x= (a = 4, b = 8, c = 12)后,x的值为_______。

A)4 B)8 C)12 D)24

答案:C

14.以下程序的输出结果是_______。

#include <>

void main()

{

int a=-1, b=4, k;

k = ( ++a < 0) && ( b += 5);

printf ("%d%d%d \n", k, a, b );

}

A)104 B)103 C)003 D)004

答案:D

15.下列运算符中,结合方向为自左向右的是()。

(A):(B),(C)+ = (D)+ +

答案:(B)

16.下列运算符中优先级最高的是()

A)! B)% C)- = D)&&

答案:(A)

17.有以下程序

#include <>

void main( )

{

int m=3,n=4,x;

x=-m++;

x=x+8/++n;

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

}

程序运行后的输出结果是()。

A)3 B)5 C)-1 D)-2

答案:D

18.

【循环结构练习题】

1.下面有关for循环的正确描述是( )

A.for循环只能用于循环次数已经确定的情况

B.for循环是先执行循环体语句,后判定表达式

C.在for循环中,不能用break语句跳出循环体

D.for循环体语句中,可以包含多条语句,但要用花括号括起来答案:D

2.对于for(表达式1;;表达式3)可理解为()

A.for(表达式1:1;表达式3)

B.for(表达式1;1;表达式3)

C.for(表达式1;表达式1;表达式3)

D.for(表达式1;表达式3;表达式3)

答案:B

3.以下正确的描述是( )。

A.continue语句的作用是结束整个循环的执行

B.只能在循环体内和switch语句体内使用break语句

C.在循环体内使用break语句或continue语句的作用相同

D.从多层循环嵌套中退出时,只能使用goto语句

答案:B

4.下面程序段不是死循环的是( )。

A.int I=100; B.for ( ; ; );

while(1)

{ I=I%100+1;

if(I>100) break;}

C.int k=0; D.int s=36;

do{- -k; } while(s);

while(k>=0); --s;

答案:C

5.以下能正确计算1*2*3*……*10的程序是( )。

A.do{i=1;s=1; B.do{i=1;s=0;

s=s*i; s=s*i;

i++; i++;

}while(i<=10); }while(i<=10); C.i=1;s=1; D.i=1;s=0;

do{ s=s*i; do{ s=s*i;

i++; i++;

}while(i<=10); }while(i<=10); 答案:C

6.下面程序的运行结果是( )。

#include <>

int main( )

{ int y=10;

do{y--;}

while(--y);

printf("%d\n",y--);}

A.-1 B.1 C.8 D.0

答案:D

7.下面程序的运行结果是( )。

#include<>

int main()

{ int num=0;

while(num<=2)

{num++;

printf("%d\n",num);

}

}

A.1 B.1 2 C.1 2 3 D.1 2 3 4

答案:C

8.若运行以下程序时,从键盘输入 表示回车),则下面程序的运行结果是( )。

#include<>

#include<>

void main( )

{ float x,y,z;

scanf(“%f%f”,&x,&y);

z=x/y;

while(1)

{ if(fabs(z)>

{ x=y;y=z;z=x/y;}

else

break;

}

printf(“%f\n”,y);

}

A. B. C. D.

答案:B

9.有以下程序:

#include <>

void main( )

{

int i=0,s=0;

for(; ;)

{

if(i==3||i==5)continue;

if(i==6) break;

i++;

s+=i;

};

printf("%d\n",s);

}

程序运行后的输出结果是()。

A)10 B)13 C)21 D)程序进入死循环答案:D

10.若有程序段:

for (m=1;m<=100;m++)

{

scanf("%d",&y);

if(y<0) continue;

printf("%3d",m);

}

正确的描述是()。

A)当y<0时整个循环结束 B)y>=0时什么也不输出

C)printf函数永远也不执行 D)最多允许输出100个非负整数

答案:D

11.下列程序的运行结果是()。

# include “”

void main( )

{ int i=23;

do{++i;}

while(i);

printf(“%d”,i);

}

A)23 B)24 C)死循环 D)无任何结果

答案:C

12.

二、填空题

【顺序结构程序设计】

1.有以下程序:

int main()

{ int m,n,p;

scanf("m=%dn=%dp=%d",&m,&n,&p);

printf("%d%d%d\n",m,n,p);}

若想从键盘上输入数据,使变量m中的值为123, n中的值为456, p中的值为789,则正确的输入是

m=123n=456p=789。

2.以下程序段的输出结果是 28 。

int main()

{ int a=2,b=3,c=4;

a*=16 +(b++)-(++c);

printf("%d",a);}

3.以下程序段的输出结果是 5 。

int x=17,y=26;

printf("%d",y/=(x%=6));

4.下列程序的输出结果为 12 。

int main()

{ int x=3,y=5;

printf("%d",x= (x--)*(--y));}

5.若有以下程序:

int main()

{ char a;

a=‘H’-‘A’+‘0’; (‘0’,’o’)

printf("%c, %d\n",a,a);}

执行后的输出结果是 7,55 。

6.以下程序段的输出结果是 261 。

void main()

{ int a=177;

printf("%o\n",a); }

7.以下程序的输出结果是 0 (-32767~32767int) 。void main( )

{ unsigned short a=65536; int b;

printf("%d\n",b=a); }

提示:当unsigned short和int 均占2个字节时。

8.输入“12345,xyz”,下列程序输出的结果是。

int main( )

{ int x;char y;

scanf (“%3d%3c”,&x,&y);

printf (“%d,%c”,x,y);}

答案:123,4

9.以下程序的运行结果是。

#include <>

void main( )

{

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

m=++i;

n=j++;

printf("%d,%d,%d,%d\n",i,j,m,n);

}

答案:9,10,9,9

10.下列程序的输出结果是。

#include <>

void main( )

{

int a = 3 , b = 14 , c = 5 ;

c = c + a *a + b % 5 * 10 ;

printf("%o\n" , c );

}

答案:66

11.阅读程序,并按给定的输出格式将程序运行结果写在“运行结果:”之后

#include <>

void main( )

{

int a, b, c;

a = (

b = (

c = 3) * 5)*5;

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

}

运行结果是:

答案:运行结果是:a = 75, b = 15, c = 3

12.

【选择结构程序设计】

1.以下程序运行的结果是。

#include <>

void main( )

{

int a,b,c;

a=1;b=2;c=3;a=b--<=a||a+b!=c;

printf("%d,%d",a,b);

}

答案:1,1

2.以下程序的运行结果是。

#include <>

void main( )

{

int a,b,c;

a=b=c=1;

if (a++||++b) c++;

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

}

答案:2,1,2

3.以下程序的输出结果是。

#include <>

void main( )

{

int k, i=0, j=2;

k = i++&&j++;

printf ("%d,%d,%d\n", i, j, k);

}

答案:1,2,0

4.

【循环结构程序设计】

1.若运行以下程序时,从键盘输入ADescriptor↙,则下面程序的运行结果是v0=12,v1=4,v2=12 。

#include <>

void main( )

{char c;

int v0=0,v1=0,v2=0;

do{

switch(c=getchar())

{case ’a’:case ’A’:

case ’e’:case ’E’:

case ’i’:case ’I’:

case ’o’:case ’O’:

case ’u’:case ’U’:v1+=1;

default:v0+=1;v2+=1;}

}while(c!=’\n’);

printf(“v0=%d,v1=%d,v2=%d\n”,v0,v1,v2);

}

2.下面程序的运行结果是 8,-2 。

#include<>

void main( )

{ int i,b,k=0;

for(i=1;i<=5;i++)

{ b=i%2;

while(b- ->=0) k++;

}

printf(“%d,%d”,k,b);

}

3.下面程序的运行结果是 8,22 。

#include<>

void main( )

{ int a,b;

for (a=1,b=1;a<=100;a++)

{ if(b>=20) break;

if(b%3==1) {b+=3; continue;}

b-=5;

}

printf(“%d,%d\n”,a,b);

}

4.下面程序的运行结果是 x=8 。

#include<>

void main( )

{ int i,j,x=0;

for (i=0;i<2;i++)

{ x++;

for(j=0;j<=3;j++)

{ if(j%2) continue;

x++;

}

x++;

}

printf(“x=%d\n”,x);

}

5.下面程序的运行结果是 *#*#*#$ 。

#include<>

void main( )

{ int i;

for (i=1;i<=5;i++)

{ if(i%2) printf(“*”);

else continue;

printf(“#”);

}

printf(“$\n”);

}

6.下面程序的运行结果是 4 。

#include<>

void main()

{

int i,j,a=0;

for(i=0;i<2;i++)

{ for (j=0; j<4; j++)

{ if (j%2) break;

a++;

}

a++;

}

printf(“%d\n”,a);

}

7.有以下程序, 若从键盘输入:247<回车>,则程序的输出结果是。#include <>

void main( )

{

int c;

while ((c=getchar())!='\n')

{

switch (c-'2')

{

case 0:

case 1: putchar(c+4);

case 2: putchar(c+4);break;

case 3: putchar(c+3);

default:putchar(c+2);break;

}

}

}

答案:6689

8.

三、程序填空题

1.下面程序的功能是将小写字母变成对应的大写字母后的第二个字母,其中y变成A,z变成B,请在空白处填入正确内容。

#include<>

void main( )

{

char c;

while((c=getchar())!=’\n’)

{ if(c>=’a’&&c<=’z’)

{ ;

if(c>’Z’&&c<=’Z’+2);

;

}

printf(“%c”,c);

}

}

答案:c-=30,c-=26。

2.下面程序的功能是将从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数 n,并输出m,n中的较大数,请在内填入正确内容。

#include<>

void main( )

{

int m=0,n=0;

char c;

while(( )!=’\n’)

{ if(c>=’A’&&c<=’Z’) m++;

if(c>=’a’&&c<=’z’) n++;

}

printf(“%d\n”,m

}

[解答]:c=getchar( ),n:m。

顺序结构选择结构和循环结构的程序设计典型例题分析与解答

顺序结构、选择结构和循环结构的程序设计典型例题分析与解答 1 在三种选择结构中,能用2个条件,控制从3个操作中选择一个操作执行的选择结构是______选择结构 【分析】能用1个条件,控制某个操作做或不做的选择结构是单分支结构;能用1个条件,控制从2个操作中选择一个操作执行的选择结构是双分支结构;能用n(n>l)个条件,控制从n+ l个操作中选择一个操作执行的选择结构是多分支结构。【答案】多分支 2 在三种循环结构中,先执行循环操作内容(即循环体),后判断控制循环条件的循环结构是______循环结构。 【分析】当型循环结构是先判断控制循环的条件,条件成立,执行循环体;条件不成立,则退出循环体。次数型循环结构也是先判断是否达到循环次数,没有达到循环次数,执行循环体;达到循环次数的,退出循环。只有直到型循环结构才是先执行循环体,然后再判断控制循环的条件,如果条件成立,进行循环;条件不成立,退出循环。 【答案】直到型 3 使用“getchar( )”函数时,程序的开头必须写一条包含命令为____________。 【分析】凡是使用系统函数的程序,都要在程序的开头写一条包含命令,包含命令中的“头函数.h”是一个文件,其中有关于该系统函数的定义。系统函数“getchar( )”是在名为“stdio.h(标准输入输出函数)”的头函数文件中定义的。【答案】#include"stdio.h"或#include<stdio.h> 4 执行输入语句“scanf("x=%c,y=%d",&x,&y);”,要使字符型变量X的值为'A'、整型变量y的值为12,则从键盘上正确的输入是( ) ①'A'/②A/③x=A/ ④x=A,y=12/ 12/ 12/ y=12/ 说明:备选答案中的"/"表示回车换行键 【分析】输入语句的格式控制符串中的“x=”、“,”、“y=”都是非格式控制符, 在输入时必须原样位置输人,所以只有备选答案④才符合这个要求。【答案】④ 5 设有下列程序段,则执行该程序段后的输出是( ) int i=012; float f=1.234E-2; printf("i=%-5df=%5.3f",i,f); ... ①i=__012f=1.234 ②i=10___f=0.012 ③10___O.012 ④___100.012 注:答案中的_代表一个空格。 【分析】输出语句的格式控制符串中的“i=”、“f=”都是非格式控制符,在输出时必须原样,原位置输出,所以只有备选答案①和②才符合这个要求;格式控制符“%-5d”的格式控制是数据左对齐、宽度为5的整型数据,备选答案①中的数据是右对齐的;此外,该答案中的实数“1.234E-2”应该代表“0.01234”,而不是“1.234”。只有备选答案②符合题意。【答案】② 6 在Turbo C的主屏幕中,将当前编辑的源程序以原名存盘,可以选用___________菜单项,也可以直热键________。 【分析】如果选用“File/Save”菜单项,或者使用热键(f12),当前编辑的源程序将以原来的文件名存盘;如果选用“File /Write to”,当前编辑的源程序将以新的文件名存盘。 【答案】File/Save F2 7 下列各种选择结构的问题中,最适合用if-else语句来解决的是( ) ①控制单个操作做或不做的问题 ②控制两个操作中选取一个操作执行的问题 ③控制三个操作中选取一个操作执行的问题 ④控制10个操作中选取一个操作执行的问题 【分析】if-else语句是专门解决“双分支结构”的,而“双分支结构”的问题就是用单个条件控制从两个操作中选取一个操作来执行的问题。 【答案】② 8 下列程序是输入一个小写字母,转换成对应大写字母的后一个字母输出。例如:'a'将转换成’B’、…、‘y’将转换成’Z’,其中的’Z’将转换成’A’。请填写程序中所缺少的语句。 main() {char ch ; scanf(”%c”,&ch〕; ch=ch- 32+1; ___________________; printf("%c\n",ch); } 【分析】分析程序库中的“ch=ch- 32+ 1;”语句,可知是将字符型变量 ch中的小写字母转换成对应的大写字母(- 32)的后一个字母(+ l)。如果ch中的字母是' a'、' b'、··,'y',转换结果都不会出错,但是,如果 ch中的字母是'Z',则-32后是大写字母'Z',再+l后将不是大写字母了。为了使其转换成'A',需要用一个单分支结构来实现:如果ch的值等于'Z'+ l,则硬性将 ch的值改成'A'。完成这个任务的语句是一条单分支语句,正是所缺少的语句。 【答案】 if (ch=='Z'+l) h='A'; 9不能正确计算下列分段函数的程序段是_________ |-1 x<0 y=|0 x=0 x>0 ① switch(x< 0)② if(x> 0) {case1:y=-1;break; y=1; case 0:switch(x==0)else {casel:y=0;break;if(x==0) case 0: y= l;y=0 } else } &ny=-l ③ y= l;④ y= l; if(x==0)if(x<0) y=0; y =-l; else else y=- l; if(x== 0) y=0; 【分析】先来分析备选答案①:表达式“x<0”的值只有两种可能性,成立值为1、不成立值为on如果“x<0”的值为 1(即 x< 0),则执行“easel:”后的语句“y=-l”后,退出 switch语句,符合分段函数要求。如果“x<0”的值为0(即x>=0),则执行“case 0:”后的switch语句。该switch语句的表达式是“x==0”,结果也有两种:成立为1、不成立为0.如果“x==0”的值为1(即x=0),则执行“case l:”后的语句“y=0”后,退出 switch语句,符合分段函数要求。如果“x==0”的值为0(即x>0),则执行“case 0:”后的语句“y=1”,也符合分段函数要求。再分析备选答案②:这是标准的用嵌套双分支结构来实现三分支的分段函数,结果显然是能求解分段函数的。分析备选答案③:双分支语句的条件是“x==0”,条件成立时,y值为0,符合分段函数的要求,条件不成立时(包含x>0和x<0两种情况),结果y值为-l,显然不符合分段函数的要求,所以本题要选该答案。至于备选答案④,是能正确计算分段函数的,首先置y为1;接着用双分支结构处理“x<0”和“x>=0”的两种情况:前者使得y值为一l;后者再执行一个单分支结构,如果“x==0”则使y值为0,否则不改变y值,保持y的原值1,符合分段函数的要求。 【答案】③ 10 三种循环语句都能解决循环次数已经确定的次数型循环,其中__________循环语句最适合。 【分析】当“for(表达式 1;表达式 2;表达式 3)语句;”中的表达式1为:整型变量 k=l;表达式 2为:整型变量 k<= n;表达式 3为:整型变量 k++;则这个 for循环就是次数为n次的标准次数型循环结构。 【答案】for 11执行下列程序段后的输出是() x=l; while(x<=3) x++,y=x+++x; printf("%d,%d",x,y); ① 6,10 ②5,8 ③4,6 ④3,4 【分析】我们可以使用逐步记录运行结果的方法来获得输出结果,记录如下: x=1; 进入循环,条件满足执行循环体:计算x+十得x为2,计算y=x+++x,得y为4、x为3; 继续循环,条件满足执行循环体:计算x+十得x为4,计算y=x+++x,得y为8、x为5; 继续循环,条件不满足退出循环; 输出x和y的值为5,8。 【答案】② 12 执行下列程序段,其中的do-while循环一共执行_次。 static int x; do x+=x*x; while (x); 【分析】对静态型变量,不赋初值也有值,对整型变量,其值为 0。执行循环语句 do-while 的循环体,x+=x* x是x=x+(x*

实验-4顺序结构

实验4:顺序结构程序设计 实验名称:顺序结构程序设计成绩: 实验日期:年月日实验报告日期:年月日 一、实验目的 1、掌握:使用标准输入/输出函数进行常见数据类型的数据的输入/输出方法。 2、初步培养编制程序框图和源程序、准备测试数据以及实际调试程序的独立编程能力。 二、实验内容 在Turbo C下完成程序题: (1)根据商品原价和折扣率,计算商品的实际售价(结果精确到小数点后2位) (2)根据圆柱体的半径和高,计算圆周长、圆面积、圆柱体表面积、圆柱体体积(结果精确到小数点后3位) 注:变量名可以自由选择,以易于理解为原则;数据由键盘输入。 三、实验要求 1、实验前编制程序框图、编写源程序、准备测试数据。 2、实验测试数据要求从键盘输入。应尽力追求程序的完美。比如要求输入数据,应当显示提示 字符串,提示用户输入;输出时要求有文字说明。 3、在Turbo C下完成程序的编辑、编译、运行,获得程序结果。如果结果有误,应找出原因, 并设法更正之。 4、编制的程序必须保存在D:\用户目录中。注:用户目录可以用学号或姓名拼音简写。 四、实验步骤、过程 1、启动操作系统,进入DOS窗口;切换到用户磁盘,创建、进入用户目录。(方法、命令与 实验1相同) 2、启动Turbo C集成开发环境。(方法与实验1相同) 3、完成2个程序题。(编辑、保存、编译连接、运行程序,步骤与实验1相同) 4、退出Turbo C集成开发环境,关机。

五、源程序清单、测试数据、结果。 1、根据商品原价和折扣率,计算商品的实际售价 程序框图: 程序 main() { float price,discount,fee; printf("Input Price,Discount:"); fee=price*(1-discount/100); } 运行: Input Price,Discount: Fee= 注:下划线表示程序运行后用户输入的数据,表示回车,以后不再解释。 2、根据圆柱体的半径和高,计算圆周长、圆面积、圆柱体表面积、圆柱体体积程序 void main() { float r,h,pi=3.1415926; float c0,s0,s,v; printf("Input r,h(m):"); scanf("%f,%f",&r,&h);

第3章顺序结构程序设计练习题及答案

第3章顺序 一、单选题: 1.己知int k,m=1;执行语句k=-m++;后k的值是( A)。(提示:负号与自加运算符同级,结合方向从右向左) A)-1 B) 0 C)1 D)2 2.若变量a, b已正确定义,且a,b均已正确赋值,下列选项中合法的语句是( B) A) a=b B)++a; C) a+=b++=1; D)a=int(b); (提示:a=b 只是表达式非语句; b++是个表达式)3.若有定义int x=4;则执行语句 x + = x * = x + 1;后,x的值为( C )。 A)5 B)20 C)40 D)无答案 4.若有定义和语句: int s,p; s=p=5; p=s++,++p,p+2,p++;则执行语句后 p的值是( C) A)9 B)8 C)7 D)6 5.若有定义:int a,b;则表达式 a=4,b=3,a+b+2,a++,a+b+2的值为( C)。 A) 12 B)11 C)10 D)无答案 6.若有定义:float a=3.0,b=4.0,c=5.0;则表达式 1/2*(a+b+c)的值为( C )。 A)6.0 B)6 C)0.0 D)无答案 7.以下程序段的输出结果是( C )。(提示:a当约束过严时,约束失效。按自由格式输出。) int a=1234; printf("%2d\n",a); A)12 B)34 C)1234 D)提示出错,无结果 8.下列程序段的输出结果是(C)。 int a=1234; float b=123.456; double c=12345.54321; printf("%2d,%3.2f,%4.1f",a,b,c); A)无输出 B)12, 123.46, 12345.5 C)1234,123.46,12345.5 D)1234,123.45, 1234.5 9.设x, y均为整型变量,且x=8, y=5,则以下语句的输出结果是(D)。 printf("%d,%d\n",x--,++y); A)8,5 B)7,5 C) 7,6 D) 8,6 10.以下程序的输出结果是( A )。 void main() { int a=20,b=10; printf("%d,%%d\n",a+b,a-b); } A) 30,%d B)30,10 C)30,%10 D)以上答案均不正确(%%d中第一个%后面的表示字符)11.下列程序的运行结果是(A)。 void main() { float x=2.5; int y; y=(int)x; printf("x=%f,y=%d",x,y);} A) x=2.500000,y=2 B)x=2.5,y=2 C)x=2,y=2 D) x=2.500000,y=2.000000 12.己知int k=10 , m=3,n;则下列语句的输出结果是(B)。 printf("%d\n",n=(k%m,k/m));

实验四-分支结构程序设计实验-张鹏

实验四分支结构程序设计实验_张鹏 一、实验目的 1.掌握分支结构程序设计的基本设计方法; 2.掌握条件转移指令和无条件转移指令的使用方法; 3.掌握指令对标志寄存器中各标志位的影响情况; 4.掌握多分支结构程序设计的三种方法:树型结构法、地址常数表法和指令常数表法。 二、实验要求 1.学会使用DEBUG的T命令,跟踪检查指令对标志位的影响情况; 2.学会使用DEBUG中的P命令,对INT指令的跟踪方法; 3.学会利用设置断点调试程序的方法; 4.了解大写、小写字母及数字在计算机内的表示方法及转换方法。 三、实验内容 1.编写程序,已知在DATA开始的内存单元中,连续存放着三个一位十六进制数,找出其中最大数及最小数,存放在指定的内存单元中。 2.编写程序,已知在DATA开始的内存单元中,连续存放着三个带符号数据,判断三个数是否同号,若同时为正,则在屏幕上显示“+”号,若同时为负,则在屏幕上显示“-”号,否则显示“*”号。 3.编写程序,从键盘接收字符,判断该字符是否为字母、数字或非字母也非数字类字符。若为字母,则在屏幕上显示“L”;若为数字,则在屏幕上显示“D”;若为非字母也非数字,则在屏幕上显示“O”。 4.编写程序,已知DATAX和DATAY单元各存放一个带符号字节数据,从键盘上接收加(+)、减(-)、乘(*)或除(/)号,完成相应运算,结果在屏幕上显示出来。 ⑴当输入“+”号时,计算X+Y,并以十六进制形式显示出来; ⑵当输入“-”号时,计算X-Y,并以十六进制形式显示出来; ⑶当输入“*”号时,计算X*Y,并以十六进制形式显示出来; ⑷当输入“/”号时,计算X/Y,并以十六进制形式显示出来; 5.编写程序,从键盘输入若干个任意字符,如果是小写字母a~z之间的字符,

第八讲:顺序结构程序设计举例

第八讲:顺序结构程序设计举例 所谓的顺序结构就是从头到尾一步步按部就班的执行下去,不会中途出现放弃或者跳转的情况。利用这样的思想实现的程序我们称之为顺序结构程序。在前面学习了许多知识点之后我们就可以开始最基本的顺序结构程序的设计了。 8.1 顺序结构 所谓的顺序结构可以用一个成语形容叫“按部就班”。任何事情都遵循着先做什么,再做什么的思想进行。这样的结构是我们日常生活中最常见的结构。在顺序结构中当一件事情开始后就再也不会停下,直到最后一步完成,整件事情做完为止,中途不会有放弃或者选择性放弃的过程。 8.2 经典算法—数据交换 很多语言的程序设计大多数都是从数据交换这个最经典的算法开始的,所谓的数据交换是将两个同等性质的物质进行对换,例如有两个整数a和b,a = 1,b = 2,在交换之后,使得a = 2,b = 1。 交换的算法是由于变量的性质所决定的,由于变量在同一时刻只能够存储一个数据,因此我们不能直接使用 a = b,b = a的方式对数据进行交换。此时我们就需要想出一些方法,帮助程序实现最正确的交换。 对于任何的数据我们都可以采用“第三变量法”进行交换。所谓的“第三变量法”即借助第三个变量实现对数据的交换,例如对a和b的数据交换,就有: 接下来我们将通过如下示意图对“第三变量法”进行简单的介绍: b

在程序未执行交换前,a = 1,b = 2。在执行交换算法的过程中,首先执行“t = a;”一句,将a中的值1转移到t中暂存,接下来执行“a = b;”一句,将b之中的值2存放到变量a中,a中原先的1被覆盖;最后执行“b = t;”一句,将t中所暂存的原先a的值1存放到变量b中,b中原有的2被覆盖。此时 a = 2,b = 1,t = 1。 当然,读者也可以使用先暂存b的方式对a和b之中的数据进行交换。下面给出该案例的完整代码: [例] 使用“第三变量法”交换a和b之中的数据。 当然对于一些数值型的数据(所谓的数值型数据是指单纯的数字或者ASCII 码),我们也可以直接采用“算数交换法”进行交换。所谓的算数交换法是指利用数值型数据可进行算术运算的特性进行交换。以上例a与b的值交换为例,则有: 假设a = 1,b = 2。首先执行“a = a + b;”,此时a = a + b = 1 +2 = 3,而b = 2;

第四课 简单的分支结构程序设计

第四课简单的分支结构程序设计 在现实生活中,我们每天都要进行根据实际情况进行选择。例如,原打算明天去公园,但如果明天天气不好,将留在家里看电视。所以人也会根据条件进行行为的选择。计算机也会根据不同情况作出各种逻辑判断,进行一定的选择。在这课与下一课中,我们将会发现,我们是通过选择结构语句来实现程序的逻辑判断功能。 一、PASCAL中的布尔(逻辑)类型 在前面,我们学习了整型(integer)与实型(real)。其中integer型数据取值范围为-32768到32767之间所有整数。而real型数据取值范围为其绝对值在10-38到1038之间的所有实数。它们都是数值型的(即值都为数)。布尔型(Boolean)是一种数据的类型,这种类型只有两种值,即"真"与"假"。 1、布尔常量 在Pascal语言中"真"用ture表示,"假"用False表示。所以布尔类型只有TRUE 与FALSE两个常量。 2、布尔变量(BOOLEAN) 如果我们将某些变量说明成布尔型,那么这些变量就是布尔变量,它们只能用于存放布尔值(ture或false)。 例如,VAR A,B:BOOLEAN; 3、布尔类型是顺序类型 由于这种类型只有两个常量,Pascal语言中规定ture的序号为1,false的序号为0。若某种类型的常量是有限的,那么这种类型的常量通常都有一个序号,我们称这种类型为顺序类型。如前面我们学过的整型(integer),以及后面要学到的字符型(char)都是顺序类型。 4、布尔类型的输入与输出 a)输出 VAR A,B:BOOLEAN; BEGIN A:=TRUE;B:=FALSE; WRITELN(A,B);

实验一 顺序结构程序设计

实验一顺序结构程序设计 一、实验目的 1. 掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。2 2. 学会使用有关算术运算符,以及包含这些运算符的表达式。 3. 掌握数据的输入输出方法,能正确使用各种格式转换符。 二、实验学时数 4学时 三、实验内容和步骤 1..启动TC 2.0编译系统,进入编辑界面,建立一个新文件。文件名自定。(要求每个学生建立一个自己的文件夹,每个同学的练习和作业的源程序命名形成系列,便于检查、查找和考核)。 利用一个小程序验证常量、变量的使用方法与特点,验证数据类型和表达式值的计算规则及其输出格式。 参考程序: main( ) { char c1,c2; c1=97;c2=98; printf(″%c,%c\n″,c1,c2); } (1)在此基础上加入以下printf语句,并运行。 printf(″%d,%d\n″,c1,c2); (2)将第二行改为以下语句,并运行。 int c1,c2; (3)将第三行改为以下语句,并运行。 c1=300;c2=400; 分别写出三次运行结果。 2.编程并调试运行 (1)编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf 函数输出这两个字符。上机运行此程序,比较putchar和printf函数输出字符的特点。 (2)试编写程序,从键盘输入一个大写字母,要求改用小写字母输出。 3.写出下面程序的运行结果: 1)main() { int x=1,y=1,z=1; y=y+x; x=x+y; printf(″%d\n″,x); printf(″%d\n″,y); } 2) main()

顺序结构程序设计练习题3

C语言练习题总汇 一、单选题: 【顺序结构程序设计】 1.己知int k,m=1;执行语句k=-m++;后k的值是(A )。(提示:负号与自加运算符同级,结合方向从右向左) A)-1 B) 0 C)1 D)2 2.若有定义int x=4;则执行语句x + = x * = x + 1;后,x的值为(C )。 A)5 B)20 C)40 D)无答案 3.若有定义:float a=3.0,b=4.0,c=5.0;则表达式1/2*(a+b+c)的值为( C )。 A)6.0 B)6 C)0.0 D)无答案 4.以下程序段的输出结果是( C )。(提示:a当约束过严时,约束失效。按自由格式输出。)int a=1234; printf("%2d\n",a); A)12 B)34 C)1234 D)提示出错,无结果 5.下列程序段的输出结果是(C)。 int a=1234; float b=123.456; double c=12345.54321; printf("%2d,%3.2f,%4.1f",a,b,c); A)无输出 B)12, 123.46, 12345.5 C)1234,123.46,12345.5 D)1234,123.45, 1234.5 6.设x, y均为整型变量,且x=8, y=5,则以下语句的输出结果是(D)。 printf("%d,%d\n",x--,++y); A)8,5 B)7,5 C) 7,6 D) 8,6 7.以下程序的输出结果是( A )。 int main() { int a=20,b=10; printf("%d,%%d\n",a+b,a-b); } A) 30,%d B)30,10 C)30,%10 D)以上答案均不正确(%%d中第一个%后面的表示字符) 8.下列程序的运行结果是(A)。 int main() { float x=2.5; int y; y=(int)x; printf("x=%f,y=%d",x,y);} A) x=2.500000,y=2 B)x=2.5,y=2 C)x=2,y=2 D) x=2.500000,y=2.000000 9.以下程序的输出结果是(A)。 int main() { char c=‘z’; printf("%c",c-25);} A)a B)z C)z-25 D)y (字母共有26个,而z是最后一个)

c语言程序设计实验报告1--顺序结构

福建农林大学金山学院实验报告 系(教研室):专业:年级: 实验课程: C语言程序设计姓名:学号:实验室号:_ 计算机号:实验时间:指导教师签字:成绩: 实验1:顺序结构程序设计 一、实验目的和要求 1.了解Visual C++ DEV_C++的基本操作方法 2.掌握C程序设计的基本步骤:编辑、编译、连接和运行 3.掌握各种类型数据的输入输出方法 4.能够编写一个简单的程序 二、实验内容和原理 1. 输入并运行一个简单、正确的程序。 # include <> int main( ) { printf ("This is a c program!\n"); return 0; } 2. 要使下面程序的输出语句在屏幕上显示:A,B,34,则从键盘输入的数据格式应为AB34__________ 。 #include<> int main() { char a, b; int c;

scanf("%c%c%d",&a,&b,&c); printf("%c,%c,%d\n",a,b,c); return0; 问题1:要使上面程序的键盘输入数据格式为a=A,b=B,34,输出语句在屏幕上显示的结果也为A,B,34,则应修改程序中的哪条语句怎样修改 scanf( “a=%c,b=%c,%d”,&a,&b,&c ); 问题 2:要使上面程序的键盘输入数据格式为A,B,34,而输出语句在屏幕上显示的结果为“A”,“B”,34,则应修改程序中的哪两条语句怎样修改 scanf( “%c,%c,%d”,&a,&b,&c); printf(“\”%c\”,\”%c\”,%d\n”,a,b,c); 3、编程求一个圆的周长和面积。用scanf输入圆半径,输出保留两位小数。 4、输入一个华氏温度F,要求输出摄氏温度C。公式为 c=5/9(F-32),取两位小数。 5、编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf 函数输出这两个字符。 6. 计算定期存款本利之和。 设银行定期存款的年利率rate为%,并已知存款期为n年,存款本金为capital元,试编程计算n年后的本利之和deposit。要求定期存款的年利率rate、存款期n和存款本金capital 均由键盘输入。(提示:pow为幂函数:pow(2,3)表示23)。 #include <> #include <> int main() { } 三、实验环境

C语言(顺序结构程序设计)习题与答案

1、一个C程序的执行是从( )。 A.本程序的main函数开始,到main函数结束。 B.本程序的main函数开始,到本程序文件的最后一个函数结束。 C.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 D.本程序文件的第一个函数开始,到本程序main函数结束。 正确答案:A 2、C语言规定:在一个源程序中,main函数的位置( )。 A.必须在系统调用的库函数的后面 B.必须在最开始 C.可以任意 D.必须在最后 正确答案:C 3、下面四个选项中,均是不合法的浮点数的选项是( )。 A.160. 0.12 e3 B.123 2e4.2 .e5 C.-e3 .234 1e3 D..18 123e4 0.

4、下面四个选项中,均是合法浮点数的选项是( )。 A.+le+1 5e-9.4 03e2 B.123e 1.2e-.4 +2e-1 C.-.60 12e-4 -8e5 D.-e3 .8e4 5.e-0 正确答案:C 5、下面正确的字符常量是( )。 A.'' B.'W' C."a" D.'\\'' 正确答案:B 6、下面四个选项中,均是不正确的八进制数或十六进制数的选项是( )。 A. 016 0x8f 018 B. 010 -0x11 0x16

7ff -123 D.oabc 017 0x8 正确答案:C 7、下面不正确的字符串常量是( )。 A."12\12" B."0" C."" D.'abc' 正确答案:D 8、在C语言中,要求运算数必须是整型的运算符是( )。 A./ B.= C.++ D.% 正确答案:D 9、若以下变量均是整型,且num=sum=7;则执行表达式 sum=num++,sum++,++num后sum的值为( )。 A.7 B.9 C.10 D.8 正确答案:D 10、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( )。

分支结构的程序设计教学设计

分支结构的程序设计》教学设计 一、概述 分支结构的程序设计》是信息技术佛山版九年级第二单元第4 课的内容,它主要包括:程序的结构,IF 语句的基本格式(常用的一种)。 它的重点与难点:1、用户登录程序2 、IF 语句的格式3 、IF 语句的拓展形式。 二、教学目标分析 1)知识与技能 1.了解程序3 种基本的结构(顺利结构、分支结构和循环结构), 2.掌握IF 语句的基本格式: IF 条件THEN 语句组1 ELSE 语句组2 ENDIF 3.掌握用户登录程序的编写,能够应用IF 语句来设计及编写 书中的用户登录程序 2)过程与方法 通过任务驱动,屏幕演示、实例练习、小组、协作学习等方法, 使学生设计界面,编写代码,让学生在课堂中掌握用户登录程序的编写,使学生初步形成结合实际进行思考的方法。 3)情感态度与价值观 通过本课的学习,让学生建立一种团队精神。培养学生保护知识 产权,让学生懂得保护软件版权,引导学生践行社会主义价值观。 三、学习者特征分析

九年级学生,已了解VB的程序界面,能够用VB设计图2-15的界面,以及各控件的使用,同时,他们的思维也比以前有了进一步的提高,会析问题,询求解决问题的方法,但由于我校的学生生整体素质一般,所以一节课的内容不能太多。 四、教学策略选择 运用主导策略,在教师指导下,学生小组协作进行学习。 五、教学环境及资源 1 .多媒体网络教室 2 .教学资源:(1 、课件2 、学习资源)六、教学过程 1.导入:我们上QQ或上网购物时,要输入用户名和密码才能 进入,那么这个程序,我们也可以用VB设计一个类似的登录窗口。 设计意图:激发学生的学习兴趣。 教师:运行一个已经写好的用户登录程序。 设计意图:把神秘的编程化做我们平时的生活,使编程这个问题,简单化,同时告诉学生;谁学了VB语言,都可以编写的。 2.编登录程序之前,教师让学生说出程序的答案然后讲解、分析 程序的结构 1 )顺序结构:程序一般是从上到下一句一句地顺序执行,即 如: X=4

03实验三 顺序结构程序设计_答案

湖北工业大学实验报告 课程名称:C语言程序设计实验内容实验三顺序结构程序设计 学院:工程技术学院专业班级: 姓名:学号:教师:成绩: 一、实验目的 1、掌握赋值语句、表达式语句、函数调用语句、复合语句、空语句的使用方法。 2、掌握输入、输出函数的格式及格式符的使用。掌握文件包含预处理命令的使用方法。 3、掌握数据的输入、存储、输出之间的关系。 4、掌握顺序程序设计的逻辑结构,掌握数据结构的功能。 二、预习作业 1、程序填空题:试在括号中填入正确的答案,并上机验证程序的正确性。(1) 输入大写字符A,则输出为( )。(文件名:ex3_1.c) (#include ) main( ) { ( char ch,chr; ) chr=(ch= getchar( )) main( ) { ( long int) a =80000 , b = 60000, c, d; ( c) = ( a - b ,a + b ); ( d) = (a + b,a - b); printf(“%ld ,%ld\n”, c, d); }

2、程序改错并上机调试运行 (1)更改下列程序中的位运算符和逻辑运算符,能使变量d、e输出的结果为零。 (文件名:ex3_3.c) #include main( ) { int a = 8, b = 2,c = 3,d,e; /********** found **********/ d = (a % c & ^ a % c); e = a / c - b || && c + + ; printf (“%d, %d\n”, d, e); } (2) 查找改程序中的错误,并修改正确。(文件名:ex3_4.c) #include main( ) { int a = 4, b = 6, c= 3; /********** found **********/ a = a + b = b + c ; b = a < b ?a :b < c ?b :c printf(“%d,%d\n”, a, b); } 3、读程序写结果并上机验证其正确性 (1) 变量 a,b,c,d如下,将变量a以各种格式输出并输出表达式c+a,d – 32的值。(文件名:ex3_5.c) #include main( ) 结果为:(-1,4294967295,37777777777,ffffffff ) { int a = - 1 , b = 2 ; C,B char c = …D?,d = …b?; b = b + c;//??? printf (“%d, %u,%o,%x \n ”,a,a,a,a ); printf (“%c,%c \n ”,c + a, d - 32); } (2) 运行程序后输入”a空格b空格c回车”后,输出结果是(a ,b )。(文件

实验三 顺序结构程序设计

实验三顺序结构程序设计 一、实验目的 学习数据传送指令和算术运算指令的用法;掌握数据定义伪指令的格式,会用DEBUG 中的D命令观察DB、DW、DD存储数据的格式;熟悉汇编语言的基本框架,掌握编写汇编语言程序的基本方法。 二、示例 试问如下程序执行到exit时,字单元A、B、C、C+1、C+2中的内容各是什么? 源程序如下: data segment a d b 0 b db 0 c db 30,40,50 data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov al,c+1 add al,c mov a,al mov al,c+1 add al,c+2 mov b,al add c,10 add c+1,20 add c+2,30 exit: mov ah,4ch int 21h code ends

end start 注:c db 30,40,50为c=30,c+1=40,c+2=40. 阅读以上程序,分析出结果,并上机验证。 (1)输入以上源程序,以TX4_1.ASM命名。 (2)用MASM 汇编TX3_1.ASM,生成TX4_1.OBJ文件。 (3)用LINK 连接TX3_1.OBJ,生成TX4_1.EXE文件。 (4)用DEBUG调试TX3_1.EXE文件,观测运行结果。 三、实验题 1、求表达式Y=A*X2+B*X+C的值,已知A、B、C分别存放在DATAA、DATAB、DATAC字节单元,X存放在TABL字节单元,结果Y放入RESULT字单元。 要求:①在DEBUG下多次修改X的值,观察执行结果Y; data segment DATAA db 1 DATAB db 2 DATAC db 3 TABL db 0 RESULT db ? data ends

VB程序设计 习题及答案第3章 顺序结构程序设计

第3章顺序结构程序设计 3.1 下列语句是否有错?若有,请改正。 (1) Let = 17 (2) T1$ = XYZ (3) L*2 = K + E (4) 1A = 34 , 2A = 66 【答案】 (1) Let x = 17 或 x = 17 (2) T1$ = “XYZ” (3) L = (K + E)/2 (4) A1 = 34 : A2 = 66 3.2 编一个对三种商品零售计价程序,商品数量由键盘输入。 A商品:每件1.25元 B商品:每件3.12元 C商品:每件11.27元 总计金额 SUM。 【参考答案】 (1)用户界面设计 图3-1 程序运行结果 (2)控件属性设置(略) (3)程序代码设计 Private Sub Command1_Click() Sum = 1.25 * Text1.Text + 3.12 * Text2.Text + 11.27 * Text3.Text Text4.Text = Sum End Sub 程序运行结果如图3-1所示 3.3 小王有存款A元,年利率P,存储时间T年,试编程求本利合计。 【参考答案】 (1)用户界面设计 (2)控件属性设置(略) (3)程序代码设计 (说明:存款按单利计算) Private Sub Command1_Click() a = Text1.Text p = Text2.Text t = Text3.Text a = a + a * p * t

Text4.Text = a End Sub 程序运行结果如图3-2所示: 图3-2 程序运行结果 3.4 试编写打印下面三角形图案的源程序。 * * * * * * * * * * * * * * * * * * * * * * * * * 【参考答案】 程序代码设计 Private Sub Form_Click() Form1.Print Tab(15); "*" Form1.Print Tab(14); "***" Form1.Print Tab(13); "*****" Form1.Print Tab(12); "*******" Form1.Print Tab(11); "*********" End Sub Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "显示星号三角形,单击窗体开始" End Sub 程序运行结果如图3-3所示:

c语言顺序结构程序设计练习题10道

c语言顺序结构程序设计练习题 1、编写程序:输入一矩形的长和宽,计算该矩形的面积。 2、编程:输入求的半径R,计算并输出球的体积。 3、编程:输入三个数,求出这三个数的和以及平均值,并在屏幕上输出。 4、编程:输入一个三位整数x(999=>x>=100),将其分解出百位、十位、各位,并求出各位之和以及各位之积 5、编程:已知三角形的三边a=3,b=4,c=5,求其面积s。(提示:假设有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:S=sqrt(p(p-a)(p-b)(p-c)),而公式里的p为半周长:p=(a+b+c)/2。 6、编写一个C程序,输出以下信息: ************************** Very Good! ************************** 7、编写一个程序,输入a、b、c三个值,输出其中最大值. 8、写出程序运行的结果: main() { int i,j,m,n;

i=8; j=10; m=++i; n=j++; printf(“%d,%d,%d,%d”,i,j,m,n); } 9、写出程序运行的结果: main() { char a ,b, c1,c2; float x ,y; a = 3; b =7; x = 8.5; y = 71.82; c1 = ' A' ; c2 = 'a '; printf("a= %d b = %d/n",a,b); printf("x = %f y = %f",x,y); printf("c1= %c,c2 =%c",c1,c2); } 10、求ax2+bx+c=0方程的根,a,b,c由键盘输入,假设b2-4ac>0。

2.2程序的顺序结构

程序的顺序结构 一、教学目标 1、知识与技能 理解程序顺序结构的执行流程,掌握赋值语句和输入输出语句,能够编写简单的顺序结构的程序,以解决生活中的一些计算问题。 2、方法与过程 本节从简单的问题入手,如求圆的面积,让学生初步掌握赋值语句和输入输出语句的使用方法及其功能。进而转入较为复杂的问题,如编写程序使从键盘上输入一个三位数,然后反方向输出,并且运用到上一章所学的运算符、表达式等,对知识进行巩固,课程安排形成循序渐进的梯度,充分挖掘学生潜力,让有余力的学生可以有更大空间。 3、情感态度和价值观 程序设计选取的题目与高一所学的数学、物理中学到的新知识有密切的联系,从而激发学生对程序设计的追求和向往。 二、重点难点 1、教学重点 (1)赋值语句和输入输出语句的使用 (2)程序顺序结构的执行流程 (3)能编写程序解决简单的应用题 2、教学难点 根据题目写出正确的程序

三、教学环境 1、教材处理 教材选自《广东省普通高中信息技术选修一:算法与程序设计》第二章第二节,原教材的第一个程序例子有关居民生活消费支出的计算,题目很简单,学生也能理解,但是涉及到的条件较多,写程序时多次使用同样的语句和函数,整个程序看起来长,而且是简单的重复。 所以上课时,把教材的内容作了的简单的处理,以求圆的面积这个程序作为导入,学生更易理解和掌握。而且这个例子也符合一般程序包括数据类型说明、数据输入、数据处理和数据输出四个部分,让刚入门的学生有规可依,进而觉得程序也不是太难学,从易到难进行过渡,提高学生的学习兴趣。 2、预备知识 学生已掌握算法的概念及描述方法,定义常量与变量的方法,程序设计的四个步骤——分析问题、建立模型、设计算法和编写程序。 3、硬件要求 建议本节课在多媒体电脑教室中完成,有广播教学系统或投影仪。 4、所需软件 学生机要安装VB6.0或以上版本。 5、所需课时 2课时(100分钟) 四、教学过程 导入:

第4章顺序结构程序设计习题与答案

第4章顺序结构程序设计 4-1 C 语言的控制语句有哪些? 答:C 语言有九条控制语句: (1)条件语句:if -else语句。 (2)开关语句:switch 语句。 (3)当循环语句:while 语句。 (4)直到循环语句:do-while 语句。 (5)计数循环语句:for 语句。 (6)中止本次循环语句:continue语句。 (7)中止整个循环语句:break语句。 (8)函数返回语句:return语句。 (9)无条件转移语句:goto 语句。 4-2 程序中使用注释语句有何作用?如何给程序加注释? 答:注释语句的作用:注释程序、函数及语句块的功能以及注释变量的作用,增强程序可读性。 给程序加注释通常遵循以下原则: (1)一个程序至少应该有一条注释语句,对整个程序功能进行说明; (2)对程序中主要的变量应该加必要的注释,以说明变量的作用; (3)对程序中重要的语句块应该加必要的注释,以说明语句块的作用。 (4)给程序加注释的方法: // 注释内容(仅对当前行起作用) /* 注释内容*/ 思考:你在写程序时,是否养成了添加必要注释的习惯? 4-3 结构化程序设计方法的基本思想是什么? 答:结构化程序设计方法的基本思想是:自顶向下、逐步求精。 思考:你是如何理解:“自顶向下、逐步求精”的? 4-4 简述程序设计的基本过程。 答:程序设计的基本过程是:(1)分析问题;(2)设计算法;(3)编写程序。思考:这几步中,你认为最难的是哪一步? 4-5 运行下面的程序时,数据如何输入? #include main() { int a,b; float x,y; char c1,c2; scanf("a=%d b=%d",&a,&b); scanf("x=%f y=%e",&x,&y); scanf("c1=%c c2=%c",&c1,&c2); } 假定a=3,b=7,x=8.5,y=71.82,c1='A',c2='a'。

相关文档
相关文档 最新文档