文档库 最新最全的文档下载
当前位置:文档库 › C语言第三、四章作业题答案讲解

C语言第三、四章作业题答案讲解

C语言第三、四章作业题答案讲解
C语言第三、四章作业题答案讲解

东华理工大学:C语言第三章作业题

C程序设计第三章闭/开卷课程类别:考试/考查

第三章顺序结构程序设计

一、选择题

1.C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。如果格式说明的个数小于输出项的个数,多余的输出项将 A ;如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0)。

A)不予输出B)输出空格

C)照样输出D)输出不定值或0

2.在scanf函数的格式控制中,格式说明的类型与输入的类型应该一一对应匹配。如果类型不匹配,系统 B 。

A)不予接收

B)并不给出出错信息,但不可能得出正确信息数据

C)能接受正确输入

D)给出出错信息,不予接收输入

3.下列说法正确的是 D 。

A)输入项可以是一个实型常量,如scanf("%f",4.8);

B)只有格式控制,没有输入项也能进行正确输入,如scanf("a=%d,b=%d");

C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%5.3f",&f);

D)当输入数据时,必须指明变量的地址,如scanf("%f",&f);

4.根据题目中已给出的数据的输入和输出形式,程序中输入/输出语句的正确是B 。

main()

{int a;float x;printf("input a,x:");

输入语句

输出语句

}

输入形式input a,x:3 2.1

输出形式a+x=5.10

A)scanf("%d,%f",&a,&x);

printf("\na+x=%4.2f",a+x);

B)scanf("%d %f",&a.&x);

printf("\na+x=%4.2f",a+x);

C)scanf("%d %f",&a,&x);

printf("\na+x=%6.1f",a+x);

D)scanf("%d %3.1f",&a,&x);

printf("\na+x=%4.2f",a+x);

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

main()

{

int i=010,j=10,k=0x10;

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

A)8,10,16 B)8,10,10 C)10,10,10 D)10,10,16

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

main()

{

int i=011,j=11,k=0x11;

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

}

A)9,11,17 B)9,11,11 C)11,11,11 D)11,11,16

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

#include

main()

{printf("%d\n",NULL);}

A)不确定的值(因变量无定义)B)0

C)-1 D)1

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

main()

{

char c1='6',c2='0';

printf("%c,%c,%d,%d\n",c1,c2,c1-c2,c1+c2);

}

A)因输出格式不合法,输出出错信息B)6,0,6,102

C)6,0,7,6 D)6,0,5,7

9.设有如下定义

int x=10,y=3,z;

则语句

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

的输出结果是 A 。

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

10.设有如下定义

int x=10,y=5,z;

则语句

printf("%d\n",z=(x+=y,x/y));

的输出结果是 D 。

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

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

main()

{int x=10,y=10;

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

}

A)10 10 B)9 9 C)9 10 D)10 9

12.写出下面程序的输出结果 A 。

main()

{int x;

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

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)11 1 0 1 B)11 -3 2 1 C)12 -3 2 1 D)11 1 2 1

13.写出下面程序的输出结果 A 。

main()

{

int x,y,z;

x=y=1;

z=x++-1;printf("%d,%d\t",x,z);

z+=-x++ +(++y);printf("%d,%d",x,z);

}

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

14.写出下面程序的输出结果 C 。

main()

{

int i,j;

i=20;j=(++i)+i;printf("%d",j);

i=13;printf("%d %d),i++,i);

}

A)42 14,13 B)41 14,14 C)42 13 13 D)42 13 14

15.若有定义:int x,y;char a,b,c;并有以下输入数据(此处,代表换行符)

1 2

A B C

则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是 C 。

A)scanf("x=%dy=%d",&x,&y);a=getchar();b=getchar();c=getchar();

B)scanf("%dy%d",&x,&y);a=getchar();b=getchar();c=getchar();

C)scanf("%d%d%c%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c);

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

16.若已知a=10,b=20,则表达式!a

A)10 B)20 C)1 D)0

17.printf函数中用到格式符"%4s",其中数字4表示输出的字符串站用4列。如果字符串长度大于4,则按原字符长从左向右全部输出;如果字符串长度小于4,则输出方式为 C 。

A)从左起输出该字符串,右补空格B)按原字符长从左向右全部输出

C)右对齐输出该字符,左补空格D)输出错误信息

18.以下C程序,正确的运行结果是 C 。

main()

{

long y=-34567;

printf("y=%-8ld\n",y);

printf("y=%-08ld\n",y);

printf("y=%08ld\n",y);

printf("y=%+8ld\n",y);

}

A)y= -34567 B)y=-34567

y=- 34567 y=-34567

y=-0034567 y=-0034567

y=-34567 y=+ -34567

C)y=-34567 D)y= -34567

y=-34567 y=-0034567

y=-0034567 y=00034567

y=-34567 y=+34567

19. C程序的基本编译单位是 B 。(01~02第二学期试题)

A)函数B)文件C)源文件D)子程序

20.设有如下定义和执行语句,其输出结果为:A 。(03试题)

int a=3,b=3;

a = - -

b + 1; printf(“%d %d”,a,b);

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

21.根据定义和数据的输入方式,输入语句的正确形式为: A 。(往届试题)已有定义:float a1, a2;

数据的输入方式: 4.523

3.52

A)scanf(“%f %f ”, &a1,&a2);

B)scanf(“%f ,%f ”, a1, a2);

C)scanf(“%4.3f ,%3.2f ”, &a1,&a2);

D)scanf(“%4.3f %3.2f ”, a1,a2);

22.以下程序的输出结果是: A 。(往届试题)

main( )

{ int I=012, j=12, k=0x12;

printf(“%d,%d,%d\n”,I, j, k );

A)10, 12, 18 B)12, 12, 12

C)10, 12, 12 D)12, 12, 18

23. 以下程序的输出结果是:(注:▂表示空格) D 。(往届试题)

main( )

{ printf(“\n*s1=%8s*”, “china”);

printf(“\n*s2=%-5s*”, “chi”) ; }

A)*s1=china▂▂▂* B)*s1=china▂▂▂*

*s2=chi* *s2=chi▂▂*

C)*s1=▂▂▂china* D)*s1=▂▂▂china*

*s2=▂▂chi * *s2=chi▂▂*

二.填空题

1.C语言中的语句可分为5类,即控制语句空语句复合语句函数调用语句表达式语句。

2.由一次函数调用加一个分号构成一个函数调用语句语句。

3.putchar函数的作用是向终端输出一个字符。

4.printf是C语言提供的标准输出函数,它的作用是在终端设备上(或系统隐含的输出设备上)按照指定的格式进行输出。

5.printf函数的“格式控制”包括两部分,他们是格式说明和普通字符。

6.对不同类型的语句有不同的格式字符。例如:d 格式字符是用来输出十进制整数,

c 格式字符是用来输出一个字符,s 格式字符是用来输出一个字符串。

7.%-ms表示如果串长小于m,则在m列范围内,字符串向左靠,右补空格。

8.如果要输出字符“&”,则应该在“格式控制”字符串中用%c 表示。

9.getchar函数的作用是从终端输入一个字符。

10.符号“&”是地址运算符,&a是指a内存中的地址。

11.scanf函数中的“格式控制”后面应当是变量地址,而不是变量名。

12.C语言中的空语句就是一个分号空操作。

13.复合语句是由一对大括号括起来的若干语句组成。

14.分析下面程序:

#include

main()

{

int x=2,y,z;

x*=3+2;printf("%d\n",x);

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

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

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

程序的输出结果为。

15.编制程序对实数a与b进行加,减,乘,除计算,要求显示如下结果。

jia=70.000000

jian=30.000000

cheng=1000.000000

chu=2.5000000

程序:

#include

void main(void)

{ float a=50.0;b=20.0;

printf("jia=%f\n", a+b );

printf("jian=%f\n" a-b );

printf("cheng=%f\n", a*b );

printf("chu=%f\n", a/b );

}

将缺少的部分填在空白处。

16.下列程序的输出结果是65A 。

#include

main()

{char a;

a='A';

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

}

17.分析下面程序

main

{

int x=2,y,z;

x*=3+2;printf("%d\n",x);

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

x=y=1;

z=x++-1;printf("%d,%d\n",x,z);

z+=-x++ +(++y);printf("%d,%d",x,z);

}

程序的输出结果是。

18.分析下面程序

main()

{

int x,y;

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

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

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

x=13;printf("%d,%d",x++,x);

}

程序的输出结果是。

19.以下程序的输出结果为:__3.140000,3.142__________。(03试题)

main( )

{ float a=3.14, b=3.14159;

printf(“%f, %5.3f\n”,a,b); }

20.以下程序的输出结果为:___a回车_________。(04~05第二学期试题)

#include

main( )

{ char c1,c2;

c1=…a?;

c2=…\n?;

printf(“%c%c”,c1,c2); }

东华理工大学:C语言第四章作业题

C程序设计第四章闭/开卷课程类别:考试/考查

第四章选择结构程序设计

一、选择题

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

A)> B)+ C)&& D)!=

2.以下关于运算符优先级的描述中,正确的是 A 。()

A)!(逻辑非)>算术运算>关系运算>&&(逻辑与)>||(逻辑或)>赋值运算

B)&&(逻辑与)>算术运算>关系运算>赋值运算

C)关系运算>算术运算>&&(逻辑与)>||(逻辑或)>赋值运算

D)赋值运算>算术运算>关系运算>&&(逻辑与)>||(逻辑或)

3.逻辑运算符的运算对象的数据类型 D 。()

A)只能是0或1 B)只能是.T.或.F.

C)只能是整型或字符型D)任何类型的数据4.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是 B 。() A)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)

B)(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)

C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)

D)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)

5.以下程序的运行结果是 B 。()

main( )

{

int c,x,y;

x=1;

y=1;

c=0;

c=x++||y++;

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

}

A)110 B)211 C)011 D)001

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

main( )

{

int c,x,y;

x=0;

y=0;

c=0;

c=x++&&y++;

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

}

A)100 B)211 C)011 D)001

7.判断字符型变量ch为大写字母的表达式是 C 。() A)?A?<=ch<=?Z? B)(ch>=?A?)&(ch<=?Z?)

C)(ch>=?A?)&&(ch<=?Z?)D)(ch>=?A?)AND(ch<=?Z?)8.判断字符型变量ch为小写字母的表达式是 D 。() A)?a?<=ch<=?z? B)(ch>=a)&&(ch<=z)

C)(ch>=?a?)||(ch<=?z?)D)(ch>=?a?)&&(ch<=?z?)9.以下if语句书写正确的是 B 。()

A)if(x=0;)B)if(x>0)

printf(”%f”,x); {x=x+1; printf(”%f”,x);}

else printf(”%f”,-x); else printf(”%f”,-x);

C)if(x>0);D)if(x>0)

{x=x+1; printf(”%f”,x);} {x=x+1; printf(”%f”,x) }

else printf(”%f”,-x); else printf(”%f”,-x);

10.分析以下程序:

main( )

{ int x=5,a=0,b=0;

if(x=a+b) printf(“** **\n”);

else printf(“## ##\n”);

以上程序 D 。()

A)有语法错,不能通过编译B)通过编译,但不能连接

C)输出** ** D)输出## ##

11.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 A 。()

main( )

{ int x;

scanf(“%d”,&x);

if(x++>5) printf(“%d”,x);

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

}

A)7和5 B)6和3 C)7和4 D)6和4

12.写出下面程序的执行结果 D 。()

main( )

{int x,y=1;

if(y!=0) x=5;

printf(“%d\t”,x);

if(y= =0) x=3;

else x=5;

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

}

A)1 3 B)1 5 C)5 3 D)5 5 13.写出下面程序的执行结果 A 。()

main()

{int x=1,y=1,z=0;

if(z<0)

if(y>0) x=3;

else x=5;

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

if(z=y<0) x=3;

else if(y= =0 ) x=5;

else x=7;

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

printf("%d\t",z);

}

A)1 7 0 B)3 7 0 C)5 5 0 D)1 5 1

14.假定所有变量均已正确说明,下列程序段运行后x的值是 B 。()

a=b=c=0;x=35;

if(!a) x= -1;

else if(b);

if(c) x=3;

else x=4;

A)34 B)4 C)35 D)3 15.写出下面程序的运行结果是。()

main()

{int x,y=1,z;

if(y!=0) x=5;

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

if(y= =0) x=3;

else x=5;

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

x=1;

if(z<0)

if(y>0)x=3;

else x=5;

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

if(z=y<0)x=5;

else x=7;

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

printf("%d\t\n",z);

if(x=y=z)x=3;

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

printf("z=%d\t\n",z);

}

A)x=5 x=5 B)x=5 x=5 x=1 x=1

x=7 z=0 x=5 z=0

x=3 z=1 x=3 z=0 C)x=5 x=5 D)x=5 x=5 x=5 x=1

x=7 z=0 x=7 z=0

x=3 z=1 x=3 z=0 16.若有以下函数关系

x<0 →y=2x

x>0 →y=x

x=0 →y=x+1

下面程序段能正确表示以上关系的是改正后C 。()

A)y=2*x; B)y=2*x;

if(x!=0) if(x<=0)

if(x>0)y=x; if(x= =0) y=x+1;

else y=x+1; else y=x;

C)if(x>=0) (D)y=x+1;

if(x>0) y=x; if(x<=0)

else y=x+1; if(x<0) y=2*x;

else y=2*x; else y=x;

17.若有以下变量定义:

float x; int a,b;

则正确的switch语句是 D 。()

A)switch(x)

{ case 1.0:printf("*\n");

case 2.0:printf("* *\n");

}

B)switch(x)

{ case 1,2:printf("*\n");

case 3:printf("* *\n");

}

C)switch(a+b)

{ case 1:printf("*\n");

case 2*a:printf("* *\n");

}

D)switch(a+b)

{ case 1:printf("*\n");

case 1+2:printf("* *\n");

}

18. 以下关于运算符优先顺序的描述正确的是 C 。(02~03第一学期试题)

A)关系运算符<算术运算符<赋值运算符<逻辑运算符

B)逻辑运算符<关系运算符<算术运算符<赋值运算符

C)赋值运算符<逻辑运算符<关系运算符<算术运算符

D)算术运算符<关系运算符<赋值运算符<逻辑运算符

19. 能正确表示a>=10或a<=0的关系表达式是 D 。(02~03第一学期试题)

A)a>=10 or a<=0 B)a>=10 | a<=0

C)a>=10 && a<=0 D)a>=10 | | a<=0

20. 以下不正确的if 语句形式是 C 。(02~03第一学期试题)

A)if ( x > y && x != y ) ;

B)if ( x = = y ) x + = y ;

C)if ( x != y ) scanf ( “%d”, &x) else scanf ( “%d”, &y);

D)if ( x < y ) { x++; y++;}

21. 当a = 1, b = 3 , c = 5, d = 4 时, 执行完下面程序段后x 的值为 B 。(02~03第一学期试题)

if ( a < b )

if ( c < d ) x = 1 ;

else

if ( a < c )

if ( b < d ) x =2 ;

else x = 3 ;

else x = 6 ;

else x = 7 ;

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

22. 以下if语句中语法错误的是 C 。(01~02第二学期试题)

A)if (a>b)printf(“%f”,a); B)if(a>b)printf(“%f”,a);

else printf(“%f”,b);

C)if(a>b)printf(“%f”,a) D)if(a>b)printf(“%f”,b);

else printf(“%f”,b); else printf(“%f”,a);

23. 能表示整数x符合下面两个条件的语句是A 。(01~02第二学期试题)

(1)“能被4整除,但不能被100整除”.(2)能被4整除,又能被400整除.

A)(x%4==0&&x%100!=0)||x%400==0

B)(x%4==0||x%100!=0)&&x%400==0

C)(x%4==0&&x%400!=0)||x%100==0

D)(x%100==0||x%4!=0)&&x%400==0

24.设有如下定义:char ch=?z?,则执行下面语句

后变量ch是值为: D 。(03试题)

ch=(…A?<=ch&&ch<=…Z?)?(ch+32):ch

A)A B)a C)Z D)z

25.若I为整型变量,则下列程序段的运行结果为 D 。(03试题)

I=322;

if(I%2==0) printf(“#####”)

else printf(“*****”);

A)##### B)#####*****

C)***** D)有语法错误,无法输出结果

26.已知int x=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为:A 。(03

试题)

if (x>y||xz)

z=x; x=y; y=z;

A)x=50, y=80, z=80 B)x=50, y=30, z=30

C)x=30, y=50, z=80 D)x=80, y=30, z=50

27. C语言中,要求运算对象必须是整型的运算符是: C 。(往届试题)

A)> B)++ C)% D)!=

28.已知int x=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为: C 。

(往届试题)

if (x>y||xz)

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

A)x=50, y=80, z=80 B)x=50, y=30, z=30

C)x=30, y=50, z=80 D)x=80, y=30, z=50

29. 以下程序的输出结果是 A 。(04~05第二学期试题)

main( ) {int x=2,y=-1,z=2;

if (x

printf(“%d\n”,z); }

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

30.设a、b和c是int型变量,且a=2,b=4,c=6,则下面表达式中值为0的是:

D 。(往届试题)

A)‘a’+ …b? B)a<=b

C)a||b+c&&b-c D)!( (a

31. 在C的if语句中,可用作判断的表达式是: D 。(往届试题)

A)关系表达式B)逻辑表达式

C)算术表达式D)任意表达式

32.下面能正确表示变量a在区间[0,5]或(6,10)内的表达式为: B 。(往届试题)

A)0<=a || a<=5 ||6

B)0<=a&&a<=5 || 6

C)(0<=a||a<=5)&&(6

D)0<=a&&a<=5&&6

33.在C语言中,多分支选择结构语句为:

switch(c)

{ case 常量表达式1:语句1;

……

case 常量表达式n-1:语句n-1;

default 语句n;}

其中括号内表达式c的类型: C 。(往届试题)

A)可以是任意类型B)只能为整型

C)可以是整型或字符型D)可以为整型或实型

34.以下if 语句语法正确的是: B 。(往届试题)

A)if ( x > 0 )

printf(“ %f ”, x )

else printf(“%f”, - x );

B)if ( x > 0 )

{ x = x + y ; printf (“%f ”, x ) ; }

else printf ( “%f ”, - x ) ;

C)if ( x > 0 )

{ x = x + y ; printf (“%f ”, x ) ; } ;

el se printf ( “%f ”, - x ) ;

D)if ( x > 0 )

{ x = x + y ; printf (“%f ”, x ) }

else printf ( “%f ”, - x ) ;

35.为了表示关系x>=y>=z,应使用C语言表达式 A 。

A)(x>=y)&&(y>=z) B)(x>=y)AND(y>=z)

C)(x>=y>=z) D)(x>=y)&(y>=z)

36.若欲表示在if后a不等于0的关系,则能够正确表示这一关系的表达式为D 。

A)a<>0 B)!a C)a=0 D)a

37.下面程序的输出结果是 B 。

main()

{int x,y,z;

x=y=1;

z=x++-1;

printf(“%d,%d\t”,x,z);

z+=-x+++(++y||++z);

printf(%d,%d”,x,z);

}

A)2,0 3,-1 B)2,1 3,0

C)2,0 2,1 D)2,1 0,1

38.下面程序的输出结果是 D 。

main()

{int x=40,y=4,z=4;

x=y= =z;

printf(“%d”,x);

x=x= =(y-z);

printf(%d”,x);

}

A)4 0 B)4 1 C)1 1 D)1 0

39.若x=3,y=z=4,则下列表达式的值分别为 A 。

(1)(z>=y>=x)?1:0

(2)z>=y&& y>=x

A)0 1 B)1 1 C)0 0 D)1 0

40.若x=3,y=z=4,则下列表达式的值分别为 A 。

(1)(z>=y>=x)?1:0

(2)y+=z,x*=y

A)0 24 B)1 8 C)0 8 D)1 12

41.在以下一组运算符中,优先级最高的运算符是 C 。

A)<= B)= C)% D)&&

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

main()

{

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

k=(++a<=0)&&!(b--<=0);

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

}

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

43.若已定义int a=25,b=14,c=19;以下三项运算符(?:)所构成的语句的执行结果是

D 。

a++<=25&&b--<=2&&c++?printf("***a=%d,b=%d,c=%d\n",a,b,c):printf("###a=%d,b= %d,c=%d\n",a,b,c)

A)(***a=25,b=14,c=19) B)(***a=26,b=13,c=19)

C)(###a=25,b=14,c=19) D)(###a=26,b=13,c=19)

二、填空题

1.在C语言中,对于if语句,else子句与if子句的配对约定是。(0级) .else与它前面最近的一个if配对

2.阅读下面程序,写出它的功能。(1级)

#include

main()

{int label;

char c;

printf("\nPlease enter 1 number:");

c=getchar();

while(c!='\n')

{if(c= ='.') label=1;

c=getchar();

}

if(label= =1)

printf("\nfloat");

else printf("\nint");

}

由键盘输入一个数,打印出它的类型标识符

3.以下两条if语句可合并成一条if语句为。(1级)

if(a<=b) x=1;

else y=2;

if(a>b) printf("* * * * y=%d\n",y);

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

答案:if(a<=b) {x=1; printf(“ * * * * y=%d\n”,y); }

else { y=2; printf(“ # # # # x=%d\n”,x); }

4.以下程序的功能是计算一元二次方程ax2+bx+c=0的根,补足程序中空缺的语句。(2级)

#include

main( )

{

float a,b,c,_abs,_derta,_doublea,part1,part2;

printf("enter a,b,c:");

scanf("%f%f%f",&a,&b,&c);

if( (1)) a = = 0

if( (2)) printf("no answer due to input error\n"); b = = 0

else printf("the single root is %f\n",-c/b);

else

{_derta=b*b-4*a*c;

_doublea=2*a;

part1=-b/(2*a);

_abs=abs(_derta);

part2=sqrt(_abs)/_doublea;

if( (3)) _derta<0

printf("complex root \nreal part=%f image part=%f\n",part1,part2);

else

printf("real roots\n root1=%f root2=%f\n",part1+part2,part1-part2);

}

}

5.设有程序片段如下:

switch(class)

{case 'A':printf("GREAT!\n");

case 'B':printf("GOOD!\n");

case 'C':printf("OK! \n");

case 'D':printf("NO!\n");

default:printf("ERROR!\n");

}

若class的值为'C',则输出结果是。(1级)

OK!

NO!

ERROR!

6.以下程序段的运行结果是。(1级)

int x=1,y=0;

switch(x)

{case 1:

switch(y)

{

case 0:printf("x=1 y=0\n");break;

case 1:printf("y=1\n");break;

}

case 2:printf("x=2\n");

}

x=1 y=0

x=2

7.根据以下if语句写出与其功能相同的switch语句(x的值在0~100之间)。(1级) if语句:

if(x<60) m=1;

else if(x<70) m=2;

else if(x<80) m=3;

else if(x<90) m=4;

else if(x<100) m=5;

switch语句:

switch((1))x/10

{

(2)m=1;break;

case 0: case 1: case 2: case 3: case 4: case 5: case 6:m=2;break;

case 7:m=3;break;

case 8:m=4;break;

(3)m=5; case 9:

}

8. 输入3个实数a, b, c要求按从大到小的顺序输出三数。(01~02第二学期试题) main( )

{ float a,b,c,t;

scanf(“%f,%f,%f”,&a,&b,&c);

if (a

{t=a; __(1)__ b=t;} a=b

if(__(2)__) a

{t=a; a=c; c=t;}

if(b

{__(3)__ b=c; c=t;} t=b

printf(“%f,%f,%f”,a,b,c);

}

9.输入一个字符,如果是大写字母,则把其变成小写字母;如果是小写字母,则变成大写字母;其它字符不变。请在()内填入缺省的内容。(03试题)

main( )

{ char ch;

scanf(“%c”,&ch);

if (___(1)____) ch=ch+32; ch>=?A&&ch<=…Z?

else if(ch>=?a?&&ch<=…z?) (__(2)___); ch=ch-2

printf(”%c\n”,ch); }

10.以下程序的运行结果是:_________。(03试题)

main( )

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

c = a ;

if ( a>b ) c = 1 ;

else if ( a == b ) c = 0 ;

else c = -1 ;

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

}

-1

11. 以下程序的运行结果是:_________。(04~05第二学期试题)

main( )

{ int x;

x=5;

if (++x>5) printf(“x=%d”,x);

else printf(“x=%d”,x--); }

x=6

12.在C语言中提供的条件运算符"?:"的功能是.(1级)

根据条件判定值,从两种选择对象中,选取一个作为整个运算的结果

13.条件表达式a?b:c,其中a,b,c是三个运算分量.当运算分量a的值为真,则,否则.(1级)

整个条件表达式的结果就取自运算分量b的结果,整个条件表达式的结果就取自运算分量c的结果

14.在C语言中的逻辑运算符的优先级是! 高于&& 高于|| .(1级)15.main()

{int a,b,c;

a=b=c=1;

a+=b;

b+=c;

c+=a;

printf("(1)%d\n",a>b?a:b);

printf("(2)%d\n",a>c?a--:c++);

(a>=b>=c)?printf("AA");printf("CC");

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

}

运行结果为

(1)2

(2)3

CC

a=2,b=2,c=4

(1级)

16.用C语言描述下列命题(1级)

(1)a小于b或小于c a

(2)a和b都大于c a>b&&a>c

(3)a或b中有一个小于c a

(4)a是奇数a%2==1 。

17.main()

{int x=1,y=1,z=1;

y=y+z;x=x+y;

printf("%d",x

printf("%d",x

printf("%d",x);

printf("%d",y);

}

运行结果为。(1级)3,2,3,3

18.main()

{int x,y,z;

x=3; y=z=4;

printf("%d",(y=.=x)?1:0);

printf("%d",z>=y&&y>x);

}

运行结果为。(1级)0 1

19.若x=3,y=2,z=1,求下列表达式的值

(1)x

(2)x

(3)z+=x

表达式的值分别是(1) 3 ;(2) 2 ;(3) 3 。(1级)

20.表示条件:10<100或x<0的C语言表达式是x>10&&x<100||x<0 。(1级)

21.分析下列程序

main()

{

printf("%d",1<4&&4<7);

printf("%d",1<4&&7<4);

printf("%d",(2<5));

printf("%d",!(1<3)||(2<5));

printf("%d",!(4<=6)&&(3<=7));

}

程序的输出结果是10110 。(1级)

{ char c1,c2;

c1=‘a’;

c2=‘\n’;

printf(“%c%c”,c1,c2); }

C语言练习题(带答案)-绝对经典题目不看后悔

1单选题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从C开始执行。 A) 程序中第一条可执行语句B) 程序中第一个函数 C) 程序中的main函数D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是(B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A)%x B)a+b C)a123 D)123 选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键

C语言作业题整理

1. 第一次 1.1.编写一程序,通过键盘输入一华氏温度,将其转换为摄氏温度后输岀。公式为c=5/9(f —32) #include "stdio.h" main() { float f=O,h=O; printf(”请输入华氏温度:"); scanf("%f",&f); printf("转化为摄氏温度为:"); h=(float)5/9*(f-32); printf("%.2f\n",h); } 1.2.通过键盘输入一小写字母,将其转换为大写字母输岀,并输岀该大写字母的后一位字母和前一位字 母(如果输入该大写字母为A,则其前一位字母为Z;如果输入该大写字母为Z,则其后一位字母为 A)。 #include "stdio.h" main() { char ch1,ch2,ch3,ch; printf("请输入一个小写字母:\n"); while(scanf("%c",&ch),ch<97 || ch>122) { printf("您输入的符号不是小写字母,请重新输入一个小写字母:\n"); } printf("其对应的大写字母和前后的大写字母分别为:\n"); if(ch=='a'){ch2=ch-32;ch仁ch2+25;ch3=ch2+1;} else if(ch=='z'){ch2=ch-32;ch1=ch2-1;ch3=ch2-25;} else {ch2=ch-32;ch1=ch2-1;ch3=ch2+1;} printf("%c,%c,%c\n",ch1,ch2,ch3); } 1.3.通过键盘输入一个两位的整数,试编写程序将其个位与十位分别以字符的方式输岀。输岀形式为: “ thenput number is 你输入的整数,the tens is 十位数字,the units is 个位数字。"如果输入的整 数不正确,则输出“ wrong input ” #include "stdio.h" main() { int a,b1,b2; printf("请输入一个两位正整数:\n"); scanf("%d", &a); if(a<10||a>=100) {

C语言题库及答案

C语言题库及答案

姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

c语言第1章练习题答案

第一章 C语言概述练习题 一、选择题 1.C语言是一种( )。 A) 机器语言B) 汇编语言C) 高级语言 D) 低级语言 2.下列各项中,不是C语言的特点是( )。 A) 语言简洁、紧凑,使用方便B) 数据类型丰富,可移植性好 C) 能实现汇编语言的大部分功能D) 有较强的网络操作功能 3.下列叙述正确的是( )。 A) C语言源程序可以直接在DOS环境中运行 B) 编译C语言源程序得到的目标程序可以直接在DOS环境中运行 C) C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行 D) Turbo C系统不提供编译和连接C程序的功能 4.下列叙述错误的是()。 A) C程序中的每条语句都用一个分号作为结束符 B) C程序中的每条命令都用一个分号作为结束符 C) C程序中的变量必须先定义,后使用 D) C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写 5.一个C程序的执行是从()。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 6.以下叙述不正确的是()。 A) 一个C源程序必须包含一个main函数 B) 一个C源程序可由一个或多个函数组成 C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面 7.C语言规定:在一个源程序中,main函数的位置( )。 A)必须在程序的开头B)必须在系统调用的库函数的后面 C)可以在程序的任意位置D)必须在程序的最后 8.一个C语言程序是由( )。 A)一个主程序和若干个子程序组成B) 函数组成 C) 若干过程组成D) 若干子程序组成 9.以下有4组用户标识符,其中合法的一组是()。 A) For B) 4d C) f2_G3 D) WORD -sub DO IF void Case Size abc define 10. 一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是 ()。

C语言考试题库及答案复习整理

C 语言理论上机考试选择题部分(共200题) 1、下面程序的输出是___D______ #include void main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是__D______. A) ++t; B) n1=(n2=(n3=0)); C) k=i=j; D) a=b+c=1; 3、下面合法的C 语言字符常量是______A____. A) '\t' B) "A" C) 65 D) A 4、表达式: 10!=9的值是 ________D____. A) true B) 非零值 C) 0 D) 1 5、C 语言提供的合法的数据类型关键字是_____B____. A) Double B) short C) integer D) Char 6、字符(char)型数据在微机内存中的存储形式是__D__. A) 反码 B) 补码 C) EBCDIC 码 D) ASCII 码 7、C 语言程序的基本单位是_____C______. A) 程序行 B) 语句 C) 函数 D) 字符 8、设 int a=12,则执行完语句

a+=a-=a*a 后,a 的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 10、下面程序的输出是____B______. #include void main() {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11、下面程序的输出的是_____C____. #include void main() {int x=10,y=3; printf("%d\n",y=x/y); } A) 0 B) 1 C) 3 D) 不确定的值 12、已知字母A 的ASCII 码为十进制的65,下面程序的输出是______A_____. #include void main() {char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c\n",ch1,ch2); } A) 67,D B) B,C C) C,D D) 不确定的值 13、若要求在if 后一对圆括号中表示a 不等于0的关系,则能正确表示这一关系的表达式为____D__. A) a<>0 B) !a C) a=0 D) a

C语言函数习题及答案

第6章函数习题 一、选择题 1. 一个完整的C源程序是【】。 A)要由一个主函数或一个以上的非主函数构成 B)由一个且仅由一个主函数和零个以上的非主函数构成 C)要由一个主函数和一个以上的非主函数构成 D)由一个且只有一个主函数或多个非主函数构成 2. 以下关于函数的叙述中正确的是【】。 A)C语言程序将从源程序中第一个函数开始执行 B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束 D)main可作为用户标识符,用以定义任意一个函数 3. 以下关于函数的叙述中不正确的是【】。 A)C程序是函数的集合,包括标准库函数和用户自定义函数 B)在C语言程序中,被调用的函数必须在main函数中定义 C)在C语言程序中,函数的定义不能嵌套 D)在C语言程序中,函数的调用可以嵌套 4. 在一个C程序中,【】。 A)main函数必须出现在所有函数之前 B)main函数可以在任何地方出现 C)main函数必须出现在所有函数之后 D)main函数必须出现在固定位置 5. 若在C语言中未说明函数的类型,则系统默认该函数的数据类型是【】 A)float B)long C)int D)double 6. 以下关于函数叙述中,错误的是【】。 A)函数未被调用时,系统将不为形参分配内存单元 B)实参与形参的个数应相等,且实参与形参的类型必须对应一致 C)当形参是变量时,实参可以是常量、变量或表达式 D)形参可以是常量、变量或表达式 7. C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是 【】。 A)参数的形实(哑实)结合 B)函数返回值 C)全局变量 D)同名的局部变量 8. 若函数调用时参数为基本数据类型的变量,以下叙述正确的是【】。 A)实参与其对应的形参共占存储单元 B)只有当实参与其对应的形参同名时才共占存储单元 C)实参与对应的形参分别占用不同的存储单元

C语言练习题集(带答案解析)

精品文档 1. ( A )是构成C 语言程序的基本单位。 A 、函数 B 、过程 C 、子程序 D 、子例程 2. C 语言程序从 ____ C ________ 开始执行。 A ) 程序中第一条可执行语句 B )程序中第一个函数 C )程序中的main 函数 D )包含文件中的第一个函数 3、以下说法中正确的是( C )。 A 、 C 语言程序总是从第一个定义的函数开始执行 B 、 在 C 语言程序中,要调用的函数必须在 main ()函数中定义 C 、 C 语言程序总是从 main ()函数开始执行 D 、 C 语言程序中的 main ()函数必须放在程序的开始部分 4. 下列关于C 语言 的说法错误的是( B ) 。 A ) C 程序的工作过程是编辑、编译、连接、运行 B ) C 语言不区分大小写。 C ) C 程序的三种基本结构是顺序、选择、循环 D ) C 程序从main 函数开始执行 5. 下列正确的标识符是(C )。 A. -a1 B.a[i] C.a2_i 6. 下列C 语言用户标识符中合法的是( B )。 A) 3ax B)x C)case D)-e2 E)u nion 7. 下列四组选项中,正确的 C 语言标识符是 (C )。 A ) %x B ) a+b C ) a123 D ) 8、 下列四组字符串中都可以用作 A 、print _3d db8 aBc B C 、str_1 Cpp pow while D 9. C 语言中的简单数据类型包括( A 、整型、实型、逻辑型 C 、整型、字符型、逻辑型 C 语言程序中的标识符的是( A ) 、I\am one_half start$it 3pai 、Pxq My->book line# His.age D )。 B 、整型、实型、逻辑型、字符型 D 、整型、实型、字符型 10. 在C 语言程序中,表达式 5%2的结果是—C_ A)2.5 B)2 C)1 D)3 11. 如果int a=3,b=4 ;则条件表达式"a

C语言程序设计程序填空题库及答案

程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); }

【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

C语言上机作业题及答案

实验一: 1、已知华氏温度,根据转换公式计算相应的摄氏温度。 摄氏温度= 5*(华氏温度-32)/9 2.任意输入一个有五位数字的正整数,逆序输出每一数位上的数字。 如: 输入 12345 输出 5 4 3 2 1 #include"stdio.h" main() { double t,T; printf ("已知华氏温度,根据转换公式计算相应的摄氏温度"); scanf ("%lf",&t); T=(5*(t-32)/9); printf ("摄氏温度=%lf",T); } #include"stdio.h" main() { int value,a,b,c,d,e,m,n,h; printf ("任意输入一个有五位数字的正整数,逆序输出每一数位上的数字"); scanf ("%d",&value); a=value/10000; m=value%10000; b=m/1000; n=m%1000; c=n/100; h=n%100; d=h/10; e=h%10; printf ("%d%d%d%d%d",e,d,c,b,a); } 实验二: 1.一个成年人的身高与其父母的身高密切相关,根据以下人体标准身高预测公式计算自己或某个同学的身高,并跟实际身高比较,给出结论是否符合该公式(误

差在3厘米范围内即视为相符)。 男性身高=(父亲身高+母亲身高)×1.08÷2(厘米) 女性身高=(父亲身高×0.923+母亲身高)÷2(厘米) 2.从键盘上输入税前收入,根据以下公式及规则,计算个人所得税税额并输出。应纳个人所得税税额=(税前收入—起征点额度)*适用税率—速算扣除数 其中,起征点额度是3500元,其他如下: 应纳税所得额税率速算扣除数 不超过1500元的部分 3% 0 超过1500元至4500元的部分 10% 105 超过4500元至9000元的部分 20% 555 超过9000元至35000元的部分 25% 1005 超过35000元至55000元的部分 30% 2755 超过55000元至80000元的部分 35% 5505 超过80000的部分 45% 13505 如:某人月收入5000元,则应纳个人所得税税额为(5000-3500)* 10% - 105 = 45元。 #include #include main() { float A,a,H,h,b; printf("父亲身高(厘米)\n"); scanf("%f",&A); printf("母亲身高(厘米)\n"); scanf("%f",&a); printf("孩子实际身高(厘米)\n"); scanf("%f",&H); printf("请选择孩子性别:女=0,男=1\n"); scanf("%f",&b); if(b) h=(A+a)*1.08/2; else h=(A*0.923+a)/2; if(fabs(H-h)<=3) printf("实际身高符合该公式\n"); else

C语言作业题

1.第一次 1.1.编写一程序,通过键盘输入一华氏温度,将其转换为摄氏温度后输出。公式为c=5/9(f -32) #include "stdio.h" main() { fl oat f=0,h=0; printf("请输入华氏温度:"); scanf("%f",&f); printf("转化为摄氏温度为:"); h=(fl oat)5/9*(f-32); printf("%.2f\n",h); } 1.2.通过键盘输入一小写字母,将其转换为大写字母输出,并输出该大写字母的后一位字母和前一位字 母(如果输入该大写字母为A,则其前一位字母为Z;如果输入该大写字母为Z,则其后一位字母为A)。 #include "stdio.h" main() { char ch1,ch2,ch3,ch; printf("请输入一个小写字母:\n"); whil e(scanf("%c",&ch),ch<97 || ch>122) { printf("您输入的符号不是小写字母,请重新输入一个小写字母:\n"); } printf("其对应的大写字母和前后的大写字母分别为:\n"); if(ch=='a'){ch2=ch-32;ch1=ch2+25;ch3=ch2+1;} else if(ch=='z'){ch2=ch-32;ch1=ch2-1;ch3=ch2-25;} else {ch2=ch-32;ch1=ch2-1;ch3=ch2+1;} printf("%c,%c,%c\n",ch1,ch2,ch3); } 1.3.通过键盘输入一个两位的整数,试编写程序将其个位与十位分别以字符的方式输出。输出形式为: “the input number is 你输入的整数,the tens is 十位数字,the units is 个位数字。”如果输入的整数不正确,则输出“wrong input” #include "stdio.h" main() { int a,b1,b2; printf("请输入一个两位正整数:\n"); scanf("%d",&a); if(a<10||a>=100) { printf("输入不符合要求");

c语言第1、2章练习题答案

第1、2章练习题 1.以下叙述正确的是()。B A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如fun(fun(x)) C)C语言函数不可以单独编译D)C语言除了main函数外,其他函数不可以作为单独文件形式存在 2.以下叙述正确的是()。C A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句 C)简单的C语句必须以分号结束D)C语句必须在一行内写完 3.以下叙述中正确的是()。C A)C程序中的注释只能出现在程序的开始位置和语句的后面 B)C程序书写格式严格,要求一行内只能写一条语句 C)C程序书写格式自由,一条语句可以写在多行上 D)用C语言编写的程序只能放在一个程序文件中 4.下列叙述中错误的是()。A A)一个C语言程序只能实现一种算法B)C语言程序可以由多个程序文件组成 C)C语言程序可以由一个或多个函数组成D)一个C函数可以单独作为一个C程序文件存在5.以下叙述中正确的是()。C 页脚内容1

A)C语言程序将从源程序中的第一个函数开始执行 B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序从此开始执行,在此结束 D)main可作为用户标识符,用以命名任意一个函数作为主函数 6.对于一个正常运行的C程序,以下叙述正确的是()。A A)程序的执行总是从main函数开始,在main函数中结束 B)程序的执行总是从程序的第一个函数开始,在main函数结束 C)程序的执行总是从main函数开始,在程序的最后一个函数中结束 D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束7.下列叙述正确的是()。D A)每个C语言程序文件中都必须有一个main( )函数 B)在C语言程序中main( )函数的位置是固定的 C)C语言程序中所有函数之间都可以相互调用,与函数所在的位置无关 D)在C语言程序的函数中不能定义另一个函数 8.下列叙述中错误的是()。B A)C程序在运行过程中所有计算机都以二进制方式进行 B)C程序在运行过程中所有计算机都以十进制方式进行 页脚内容2

c语言练习题带详解答案

一、编程题 1.输入2个整数,求两数的平方和并输出。 #include int main(void) { intt a ,b,s; printf("please input a,b:\n"); scanf("%d%d”,&a,&b); s=a*a+b*b; printf("the result is %d\n",s); return 0; } 2. 输入一个圆半径r,当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。 #include #define PI 3.14 int main(void)

{ double r ,area , girth; printf("please input r:\n"); scanf("%lf",&r); if (r>=0) { area =PI*r*r; girth =2*PI*r ; printf("the area is %.2f\n", area); printf("the girth is %.2f\n", girth);} else printf("Input error!\n"); return 0; } 3、已知函数y=f(x),编程实现输入一个x值,输出y值。 2x+1 (x<0) y= 0 (x=0)

2x-1 (x>0) #include void main() { int x,y; scanf(“%d”,&x); if(x<0) y=2*x+1; else if(x>0) y=2*x-1; else y=0; printf(“%d”,y); } 4.从键盘上输入一个百分制成绩score,按下列原则输出其等级:score≥90,等级为A;80≤score<90,等级为B;70≤score<80,等级为C;60≤score<70,等级为D;score<60,等级为E。 #include void main(){ int data;

大学C语言考试题库及答案

精选考试类应用文档,如果您需要使用本文档,请点击下载,另外祝您生活愉快,工作顺利,万事如意! 大学C语言考试题库及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题库吧。加油! 一单项选择题库 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是(B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是(C )。 A)%x B)a+b C)a123 D)123 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

C语言练习作业和答案

习题一 1、C语言源程序最多可能由____ABCD____________部分组成? A) 预处理部分B)变量说明部分 C) 函数原型声明部分D)函数定义部分 2、一个完整的C语言源程序最少必须有___C____。 A)若干个主函数B)若干个函数 C)且只能有一个主函数D)一个函数 3、C语言以函数为源程序的基本单位最主要有利于__B_____。 A)程序设计结构化B)程序设计模块化 C)程序设计简单化D提高程序设计有效性 4、要使得C语言编写的程序能够在计算机上运行并得出正确结果,必须要先经过______________B_______________________。 A)编辑和链接B)编译和链接 C)修改和运行D运行并输入数据 5、一个C程序的执行是从______A______。 A)本程序的main函数开始,到main函数结束。 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 6、以下叙述正确的是__A______。 A)在C程序中,main函数必须位于程序的最前面 B)C程序的每行中只能写一条语句 C)C语言本身没有输入输出语句 D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误 7、以下叙述不正确的是___D_____。 A)一个C源程序可由一个或多个函数组成 B)一个C源程序必须包含一个main函数 C)C程序的基本组成单位是函数 D)在C程序中,注释说明只能位于一条语句的后面 8、C语言规定:在一个源程序中,main函数的位置是___A_____。 A)必须在最开始 B)必须在系统调用的库函数的后面 C)可以任意 D)必须在最后 习题二 一、程序题 1、阅读程序写运行结果 (1)#include int main()

C语言作业题

能将高级语言编写的源程序转换成目标程序的是______。 A) 编辑程序B) 编译程序C) 解释程序D) 链接程序 [A] [B] [C] [D] 以下选项中合法的用户标识符是______。 A) long B) _2Test C) 3Dmax D) A.dat [A] [B] [C] [D] 以下叙述正确的是 A) 可以把define和if定义为用户标识符 B) 可以把define定义为用户标识符,但不能把if定义为用户标识符 C) 可以把if定义为用户标识符,但不能把define定义为用户标识符 D) define和if都不能定义为用户标识符 [A] [B] [C] [D] 以下叙述正确的是 A) C语言比其他语言高级 B) C语言可以不用编译就能被计算机识别执行 C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D) C语言出现的最晚、具有其他语言的一切优点 [A] [B] [C] [D] 在一个C语言程序中 A) main函数必须出现在所有函数之前 B) main函数必须出现在所有函数之后 C) main函数可以在任何地方出现 D) main函数必须出现在固定位置 [A] [B] [C] [D] 一个C语言程序是由_______组成的。 A) 一个主程序和若干子程序 B) 若干子程序 C) 函数 D) 若干过程 [A] [B] [C] [D] 以下叙述中正确的是() A) C语言的源程序不必通过编译就可以直接运行 B) C语言中的每条可执行语句最终都将被转换成二进制的机器指令

C) C源程序经编译形成的二进制代码可以直接运行 D) C语言中的函数不可以单独进行编译 [A] [B] [C] [D] 下列关于C语言用户标识符的叙述中正确的是 A) 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头 B) 用户标识符中可以出现下划线,但不可以放在用户标识符的开头 C) 用户标识符中不可以出现中划线,但可以出现下划线 D) 用户标识符中可以出现下划线和中划线(减号) [A] [B] [C] [D] 以下说法中正确的是 A)C语言程序总是从第一个定义的函数开始执行 B)C语言程序中,要调用的函数必须在main()函数中定义 C)C语言程序总是从main()函数开始执行 D)C语言程序中的main()函数必须放在程序的开始部分 [A] [B] [C] [D] 默认情况下,一个C程序的执行是从 A)本程序的main函数开始,到main函数结束 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 [A] [B] [C] [D] C语言编程整个操作的过程是 A)编辑、编译、链接、执行 B)编译、编辑、链接、执行 C)链接、编译、编辑、执行 D)编辑、链接、编译、执行 [A] [B] [C] [D] 下列说法不正确的是 A)链接操作将生成扩展名为.lnk的文件 B)编辑过程将生成扩展名为.cpp或.c的文件 C)编译过程将生成扩展名为.obj的文件 C)C编程最终要生成扩展名为.exe的文件

C语言函数题库及答案

C语言函数题库及答案 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

第六部分函数 一、单项选择题 1.C语言中的函数返回值的类型是由(D)决定 A.return语句中的表达式B.调用函数的主调函数 C.调用函数时临时D.定义函数时所指定的函数类型 2.下面不正确的描述是(B)。 A.调用函数时,实参可以是表达式 B.调用函数时,实参和形参可以共用内存单元 C.调用函数时,将形参分配内存单元 D.调用函数时,实参与形参的类型必须一致 3.在C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是 (D) A.地址传递B.值传递 C.由实参传递给形参,并由形参传回给实参D.由用户指定传递方式 4.下面的函数调用语句中含有(A)个实参 inta,b,c; intsum(intx1,intx2); …… total=sum((a,b),c); A.2B.3C.4 D.5 5.在C语言中(C) A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义和调用均不可以嵌套 C.函数的定义不可以嵌套,但是函数的调用可以嵌套 D.函数的定义和调用均可以嵌套 6.关于C语言中的return语句正确的是(C) A.只能在主函数中出现 B.在每个函数中都必须出现 C.可以在一个函数中出现多次 D.只能在除主函数之外的函数中出现 7.两个形参中,第一个形参为指针类型、第二个形参为整型,则对函数形参的说明有错误的是(D) (floatx[],intn) (float*x,intn) (floatx[10],intn) (floatx,intn) 8.在C语言中,函数的数据类型是指(A) A.函数返回值的数据类型 B.函数形参的数据类型 C.调用该函数时的实参的数据类型 D.任意指定的数据类型 9.已知如下定义的函数: fun1(a) {printf("\n%d",a); } 则该函数的数据类型是(C)

C语言经典作业题

1若定义如下变量和数组: int i;*p static int a[10] ={1,2,3,4,5,6,7,8,9,10}; p=a; 则执行下面的语句输出结果是【】。 for(i=3;i<6;i++) printf(“%d”,*(p+i)); A) 3 4 5 6 B) 1 2 3 C) 4 5 6 D)3 6 9 2若定义如下变量和数组: int i; static int x[3][3]={1,2,3,4,5,6,7,8,9}; 则执行下面的语句输出结果是是【】。 for(i=0;i<3;i++)(printf(“%d”,x[i][i]); A) 3 5 7 B) 1 4 7 C) 1 5 9 D)3 6 9 3若有以下说明: int a[10]={1,2,3,4,5,6,7,8,9,10} 则取元素值6的表达式是【】。 A) *p+6 B) *(p+6) C) *p+=5 D)p+5 4下列选项中,不正确的赋值语句是【】 A)++j; B) n1=(n2=(n3=0)); C) k=i==j; D)a=b+c=1 5下面程序运行时的输出结果是【】 main(){int a=5; printf("\na=%d", ++a+2);} A) a=6 B) 8 C) a=5 D) a= 8 6下面程序的循环结束后i的值是【】 main(){int i; for(i=0;i<10;i++) ; printf("\n%d", i);} ; A) 11 B) 9 C)10 D) 28 7C语句printf(“y=%d”,(9^2*8+3) % 3*4); 运行输出的结果是【】. A) y=0 B) y=3 C) 8 D)y=8 8判断字符型变量s1的值在…0?到…9?之间, 正确的表达式是【】 A)(s1>=?0?) & (s1<=?9?) B)(s1>=?0?) and (s1<=?9?) C)(…0?<=s1<=?9?)

历年C语言考试题库及答案

C语言理论上机考试选择题部分(共200题,仅针对11级定向专业) 1、下面程序的输出是___D______ #include<> void main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是__D______. A) ++t; B) n1=(n2=(n3=0)); C) k=i=j; D) a=b+c=1; 3、下面合法的C语言字符常量是______A____. A) '\t' B) "A" C) 65 D) A 4、表达式: 10!=9的值是________D____. A) true B) 非零值 C) 0 D) 1 5、C语言提供的合法的数据类型关键字是_____B____. A) Double B) short C) integer D) Char 6、字符(char)型数据在微机内存中的存储形式是__D__. A) 反码 B) 补码 C) EBCDIC码 D) ASCII码 7、C语言程序的基本单位是_____C______.A) 程序行 B) 语句 C) 函数 D) 字符 8、设 int a=12,则执行完语句a+=a-=a*a后,a的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include<> void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 10、下面程序的输出是____B______. #include<> void main() {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11、下面程序的输出的是_____C____. #include<> void main() {int x=10,y=3; printf("%d\n",y=x/y); }

C语言练习题 带答案

一、单项选择题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从C开始执行。 A) 程序中第一条可执行语句B) 程序中第一个函数 C) 程序中的main函数D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是(B)。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是(C)。 A)%x B)a+b C)a123 D)123 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D)。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是C。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

相关文档