专升本C语言教案习题.docx

上传人:b****7 文档编号:23866141 上传时间:2023-05-21 格式:DOCX 页数:84 大小:64.32KB
下载 相关 举报
专升本C语言教案习题.docx_第1页
第1页 / 共84页
专升本C语言教案习题.docx_第2页
第2页 / 共84页
专升本C语言教案习题.docx_第3页
第3页 / 共84页
专升本C语言教案习题.docx_第4页
第4页 / 共84页
专升本C语言教案习题.docx_第5页
第5页 / 共84页
点击查看更多>>
下载资源
资源描述

专升本C语言教案习题.docx

《专升本C语言教案习题.docx》由会员分享,可在线阅读,更多相关《专升本C语言教案习题.docx(84页珍藏版)》请在冰豆网上搜索。

专升本C语言教案习题.docx

专升本C语言教案习题

第一章与第三章练习题

1.一个C程序的执行是从_____。

A)本程序的main函数开始,到main函数结束

B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C)本程序的main函数开始,到本程序文件的最后一个函数结束

D)本程序文件的第一个函数开始,到本程序main函数结束

2.以下叙述正确的是:

A)在C程序中,main函数必须位于程序的最前面

B)C程序的每行中只能写一条语句

C)C语言本身没有输入输出语句

D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误

3.以下叙述不正确的是。

A)一个C源程序可由一个或多个函数组成

B)一个C源程序必须包含一个main函数

C)C程序的基本组成单位是函数

D)在C程序中,注释说明只能位于一条语句的后面

4.C语言规定:

在一个源程序中,main函数的位置。

A)必须在最开始

B)必须在系统调用的库函数的后面

C)可以任意

D)必须在最后

5.一个C语言程序是由

A)一个主程序和若干子程序组成B)函数组成

C)若干过程组成D)若干子程序组成

6.若x,i,j和k都是int型变量,则执行下面表达式后x的值为

x=(i=4,j=16,k=32)

A)4B)16C)32D)52

7.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是:

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

8.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符

A)必须为字母B)必须为下划线

C)必须为字母或下划线D)可以是字母,数字和下划线中任一种字符

9.若有代数式3ae/bc,则不正确的C语言表达式是:

A)a/b/c*e*3B)3*a*e/b/c

C)3*a*e/b*cD)a*e/c/b*3

10.以下不正确的叙述是

A)在C程序中,逗号运算符的优先级最低

B)在C程序中,APH和aph是两个不同的变量

C)若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。

D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。

11.以下正确的叙述是:

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

B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数

C)在C程序中,无论是整数还是实数,都能被准确无误地表示

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

12.以下符合C语言语法的赋值表达式是

A)d=9+e+f=d+9B)d=9+e,f=d+9

C)d=9+e=e++,d+9D)d=9+e++=d+7

13.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'十'6'一'3';后,c2中的值为

A)DB)68C)不确定的值D)C

14.在C语言中,要求运算数必须是整型的运算符是。

A)/B)++c)!

=D)%

15.若以下变量均是整型,且num=sum=7;则执行表达式sUM=num++,sUM++,++num后sum的值为

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

16.在C语言中,int、char和short种类型数据在内存中所占用的字节数

A)由用户自己定义B)均为2个字节

C)是任意的D)由所用机器的机器字长决定

17.若有说明语句:

charc='\72'则变量c

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

C)包含3个字符D)说明不合法,c的值不确定

18.若有定义:

inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是

A)2.500000B)2.7500OOc)3.500000D)0.000000。

19.sizeof(float)是:

A)一个双精度型表达式B)一个整型表达式

C)一种函数调用D)一个不合法的表达式

20.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为

A)intB)floatC)doubleD)不确定

21.在C语言中,char型数据在内存中的存储形式是:

A)补码B)反码C)原码D)ASCII码

22.表达式18/4*sqrt(4.0)/8值的数据类型为:

A)intB)floatC)doubleD)不确定

23.设C语言中,一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围为:

A)0~255B)0~32767C)0~65535D)0~2147483647

24.设有说明:

charw;intx;f1oaty;doublez;则表达式w*x+z一y值的数据类型为:

A)floatB)charC)intD)double

25.若有以下定义,则能使值为3的表达式是:

intk=7,x=12;

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

C)x%=k-k%5D)(x%=k)一(k%=5)

26.设以下变量均为int类型,则值不等于7的表达式是

A)(x=y=6,x+y,x+1)B)(x=y=6,x+y,y+1)

C)(x=6,x+1,y=6,x+y)D)(y=6,y+l,x=y,x+1)

第四、五章复习题

27.putchar函数可以向终端输出一个:

A)整型变量表达式值

B)实型变量值

C)字符串

D)字符或字符型变量值

28.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。

如果字符串长度大于5,则输出按:

A)从左起输出该字串,右补空格

B)按原字符长从左向右全部输出

C)右对齐输出该字串,左补空格

D)输出错误信息

29.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。

如果字符串长度小于5,则输出按方式。

A)从左起输出该字串,右补空格

B)按原字符长从左向右全部输出

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

30.若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是:

P83

A)scanf("%d%lx,%le",&x,&y,&z);

B)scanf("%2d*%d%lf"&x,&y,&z);

C)scanf("%x%*d%o",&x,&y);

D)scanf("%x%o%6.2f",&x,&y,&z);【scanf无精度】

31.已有如下定义和输入语句,若要求a1,a2,c1,c2值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是

inta1,a2;charc1,c2;

scanf("%d%c%d%c",&a1,&c1,&a2,&c2);

A)10A20B(空格有没有都行,10和A之间不能有空格,否则c1为空格)

B)10A20B

C)10A20

D)10A20B

32.已有定义intx;f1oaty;且执行scanf("%3d%f",&x,&y);语句,若从第一列开始输入数据12345678(回车),则x的值为

A)12345B)123C)45D)345

33.已有定义intx;f1oaty;且执行scanf("%3d%f",&x,&y);语句,若从第一列开始输入数据12345678(回车),则y的值为:

A)无定值B)45.0000C)678.000000D)123.00000

34.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A,B,当从第一列开始输入数据时,正确的数据输入方式是:

inta1,a2;charc1,c2;

scanf("%d%d",&a1,&a2);

scanf("%c%c",&c1,&c2);

A)1020ABB)1020AB

C)1020ABD)1020AB

35.已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为

main()

{inta;floatf;

printf("\nInputnumber:

");

输入语句

printf("\nf=%f,a=%d\n,f,a);

}

Inputnumber:

4.52

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

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

36.根据定义和数据的输入方式,输入语句的正确形式为:

已有定义:

floatfl,f2;

数据的输入方式:

4.52

3.5

A)scanf("%f,%f",&f1,&f2);B)scanf("%f%f",&f1,&f2);

C)scanf("%3.2f%2.1f",&f1,&f);D)scanf("%3.2f%2.1f",&f1,&f2);

37.阅读以下程序,当输入数据的形式为25,13,10正确的输出结果为:

main()

{intx,y,z;

scanf("%d%d%d",&x,&y,&z);

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

}

A)x+y+z=48B)x+y+z=35

C)x+z=35D)不确定值

38.阅读以下程序,若运行结果为如下形式,输入输出语句的正确内容是:

main()

{intx;floaty;printf("enterx,y:

")

输入语句;

输出语句;

}

输入形式enterx,y:

23.4

输出形式x+y=5.40

A)scanf("%d,%f",&x,&y);printf("\nx+y=%4.2f",x+y);

B)scanf("%d%f",&x,&y);printf("\nx+y=%4.2f",x+y);

C)scanf("%d%f",&x,&y);printf("\nx+y=%6.lf",x+y);

D)scanf("%d%3.1f",&x,&y);printf("\nx十y=%4.2f",x+y);

39以下说法正确的是:

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

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

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

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

40.根据下面的程序及数据的输入方式和输出形式,程序中输入语句的正确形式应该为:

main()

{charch1,ch2,ch3;

输入语句

printf("%c%c%c",ch1,ch2,ch3);}

输入形式:

ABC

输出形式:

A

B(空格)

A)scanf("%c%c%c",&ch1,&ch2,&ch3);B)scanf("%c,%c,%c",&ch1,&ch2,&ch3);

C)scanf("%c%c%c",&ch1,&ch2,&ch3);

D)scanf("%c%c",&ch1,&ch2,&ch3);

41.有输入语句:

scanf("a=%d,b=%d,c=%d",&a,&b,&c);为使变量a的值为1,b为3,c为2,从键盘输入数据的正确形式应当是

A)132(回车)

B)1,3,2(回车)

C)a=1b=3c=2(回车)

D)a=1,b=3,c=2(回车)

42.以下能正确地定义整型变量a,b和c并为其赋初值5的语句是

A)inta=5,b=5,c=5;B)inta,b,c=5;

C)a=5,b=5,c=5;D)a=b=c=5;

43.已知ch是字符型变量,下面不正确的赋值语句是

A)ch='a+b';B)ch='\0';C)ch='7'+'9';D)ch=5+9;

44.若有以下定义,则正确的赋值语句是:

inta,b;floatx;

A)a=1,b=2,B)b++;C)a=b=5D)b=int(x);

45.设x、y均为f1oat型变量,则以下不合法的赋值语句是

A)++x;B)y=(x%2)/10;C)x*=y+8;D)x=y=0;

46.x,y,z均为int型变量,则执行语句x=(y=(z=10)+5)-5;后,x、y和z的值是:

A)x=10B)x=10C)x=10D)x=10

y=15y=10y=10y=5

z=10z=10z=15z=10

47.逻辑运算符两侧运算对象的数据类型。

A)只能是0或1

B)只能是0或非0正数

C)只能是整型或字符型数据

D)可以是任何类型的数据

48.以下关于运算符优先顺序的描述中正确的是:

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

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

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

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

49.下列运算符中优先级最高的是:

A)

=

50.能正确表示"当x的取值在[1,10]和[200,210]范围内为真,否则为假"的表达式是一一一。

A)(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)

B)(x>=1)||(x<=10)||(x>=200)||(x<=210)

c)(x>=1)&&(x<=10)||(x>=200)&&(x<=210)

D)(x>=1)||(x<=10)&&(x>=200)||(x<=210)

51.判断char型变量ch是否为大写字母的正确表达式是一一一。

A)'A'<=ch<='z'B)(ch>='A')&(ch<='z')

C)(ch>='A')&&(ch<='Z')D)('A'<=ch)AND('z'>=ch)

52.设x,y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是

A)'y'&&'y'

B)x<=y

C)x||y+z&&y-z

D)!

((x

z||1)

53.已知x=43,ch='A',y=0则表达式(x>=y&&ch<'B'&&!

Y)的值是

A)0B)语法错C)1D)"假"

54.若希望当A的值为奇数时,表达式的值为"真",A的值为偶数表达式的值

为"假"。

则以下不能满足要求的表达式是:

A)A%2==1B)!

(A%2==0)C)!

(A%2)D)A%2

55.设有inta=1,b=2,c=3,d=4,m=2,n=2;

执行(m=a>b)&&(n=c>d)后n的值为(执行m=a>b时,由于m=a>b且为与运算为假,所以不必执行n=c>d,所以m为0,而n为原值。

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

56.判断char型变量c1是否为小写字母正确表达式为:

A)'a'<=cl<='z'B)(cl>=a)&&(cl<=z)

C)('a'>=cl)||('z'<=cl)D)(c1>='a')&&(cl<='z')

57.以下程序的运行结果是:

#include"stdio.h"

main()

{inta,b,d=241;

a=d/100%9

b=(-1)&&(-1);

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

}

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

58.执行以下语句后a的值为:

inta,b,c;

a=b=c=1;

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

A)错误B)0C)2D)1

59.执行以下语句后b的值为:

inta=5,b=6,w=1,x=2,y=3,z=4;

(a=w>x)&&(b=y>z);

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

60.以下不正确的if语句形式是:

A)if(x>y&&x!

=y);

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

C)if(x!

=y)scanf("%d",&x)elsescanf("%d",&y);

D)if(X

61.下列运算符中优先级最低的是:

A)?

:

B)&&c)+D)!

=

62.以下if语句语法正确的是一一一。

A)if(x>0)

printf("%f",x)

elseprintf("%f",--x);

B)if(x>0)

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

elseprintf("%f",-x);

C)if(x>0)

{x=x+y;prinrf("%f",x);};

elseprintf("%f",-x);

D)if(x>0)

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

elseprintf("%f",-x);

63.请阅读以下程序:

main()

{inta=5,b=0,c=0;

if(a=b+c)printf("***\n");

elseprintf("$$$\n");

以上程序:

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

C)输出***D)输出$$$

64.以下程序的运行结果是:

main()

{intm=5;

if(m++>5)printf("%d\n",m);==printf(“%d\n”,m++)

e1seprintf("%d\n",m--);

}m++=6,printf输出时先输出m的值,然后对m进行自加或自减运算。

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

65.当a=1,b=3,c=5,d=4,执行完下面一段程序后x的值是:

if(a

if(c

elseif(a

if(b

elsex=3;

elsex=6;

elsex=7;

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

66.以下程序的输出结果是:

main()

{inta=100,x=10,y=20,okl=5,ok2=0;

if(x

if(y!

=10)

if(!

okl)a=1;

elseif(ok2)a=10;

a=-1:

printf("%d\n",a)

}

A)1B)0C)一1D)值不确定

67.以下程序的输出结果是:

main()

{intx=2,y=一1,z=2;

if(x

elsez+=1;

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

}

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

68.为了避免在嵌套的条件语句If一else中产生二义性,C语言规定else子句

总是与()配对。

A)缩排位置相同的ifB)其之前最近的if

C)之后最近的ifD)同一行上的if

69.以下不正确的语句为:

A)if(x>y);

B)if(x=y)&&(x!

=0)x+=y;

C)if(x!

=y)scanf("%d",&x);elsescanf("%d",&y);

D)if(x

70.请阅读以下程序:

#include

main()

{floata,b

scanf("%f",&a);

if(a<10.0)b=1.0/x;

elseif((a<0.5)&&(a!

=2.0))b=1.0/(a十2.0);

elseif(a<10.0)b=1.0/x;

elseb=10.0;

printf("%f\n",y);

}

若运行时输入2.0(回车),则上面程序的输出结果是:

A)0.000000B)0.500000C)1.000000D)0.250000

71.若有条件表达式(exp)?

a++:

b--,则以下表达式中能完全等价于表

达式(exp)的是:

A)(exp==0)B)(exp!

=0)

C)(exp==1)D)(exp!

=1)

条件表达式究竟执行那一个,取决于exp的值。

exp的值有两种结果true(非0)或false(0)

exp为true,exp!

=0同样为true;

exp为false,exp!

=0也为false。

所以选B。

C有一定的迷惑性,exp为true,可能是2,3等等,不一定是1的

72.若运行时给变量x输入12,则以下程序的运行结果是:

main()

{intx,y;

scanf("%d",&x);

y=x>12?

x+10:

x一12;

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

}

A)0B)22C)120)10

73.以下程序的运行结果是:

main()

{intk=4,a=3,b=2,c=1;

printf("\n%d\n",k

k:

c

c:

a);

}

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

74.执行以下程序段后、变量a,b,c的值分别是一。

intx=10,y=9;

inta,b,c;

a=(--x(9)==y++(9))?

--x(8):

++y(未执行);

b=x++(8);

c=y(10);

A)a=9,b=9,c=9B)a=8,b=8,c=10

C)a=9,b=10,c=90)a=1,b=11,c=10

75.若w,x,y,z,m均为int型变量,则执行下面语句后的m值是:

w=1;x=2;y=3;z=4;

m=(w

w:

x;

m=(m

m:

y;

m=(m

m:

Z;

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

76.若w=1,x=2,y=3,z=4,则条件表达式w

w:

y

y:

z的值是:

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

第六章练习题

77.设有程序段

intk=10;

while(k=0)k=k—1;

则下面描述中正确的是

A)while循环执行10次B)循环是无限循环

C)循环体语句一次也不执行

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1