c语言期末考试题库_第1页
c语言期末考试题库_第2页
c语言期末考试题库_第3页
c语言期末考试题库_第4页
c语言期末考试题库_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

习题一一、选择题1.C语言是一种(

C

)。A.初级语言

B.

汇编语言

C.

高级语言

D.

机器语言2.以下不是

C语言的特色的是(

D)。A.语言简短紧凑

B.

能够直接对硬件进行操作C.数据种类丰富

D.

是面向对象的程序设计语言3.一个

C程序的履行是从(

A)。A.本程序的

main

函数开始,到

main

函数结束本函数的第一个数开始,到本程序言件的最后一个函数结束本程序的main函数开始,到本程序言件的最后一个函数结束D.本函数的第一个数开始,到本程序main函数结束4.以下表达正确的选项是(C)。在C程序中,main函数一定位于程序的最前面C程序的每行只好写一条语句C语言的自己没有输入输出语句在对一个C程序进行编译的过程中,能够发现说明中的拼写错误5.以下表达不正确的选项是(D)。一个C源程序可由一个或多个函数构成一个C源程序一定包含一个main函数C程序的基本构成单位是函数在C程序中,说明说明只好位于一条语句的后边6.C语言规定:在一个源程序中,main函数的地点(C)。A.一定在最开始B.一定在系统调用的库函数的后边C.能够随意D.一定在最后7.一个C语言程序是由(B)。A.一个主程序和若干子程序构成B.函数构成C.若干过程构成D.若干子程序构成8.以下表达中正确的选项是(C)。A.C程序的基本构成单位是语句B.C程序中的每一行只好写一条语句C.C语句一定以分号结束D.C语言一定在一行内写完9.以下表达中正确的选项是(C)。A.C程序中的说明只好出此刻程序的开始地点和语句的后边B.C程序书写格式严格,要求一行内只好写一个语句C.C程序书写格式自由,一个语句能够写在多行上用C语言编写的程序只好放在一个程序言件中10.以下表达中正确的选项是(C)。A.C语言程序将从源程序中第一个函数开始履行能够在程序中由用户指定随意一个函数作为主函数,程序将此后开始履行C语言规定一定用main作为主函数名,程序此后开始履行,在此结束main可作为用户表记符,用以命名随意一个函数作为主函数11.以下表达中正确的选项是(A)。A.每个C程序言件中都一定要有一个main函数在C程序中main( )地点是固定的C程序中全部函数之间都能够互相调用,与函数所在地点没关在C程序的函数中不可以定义另一个函数12.C语言源程序的基本单位是(B)。A.过程

B.

函数

C.

子程序

D.

表记符13.以下对于算法的特色描绘中错误的选项是(

D)。A.有穷性

B.

确立性

C.

有零个或多个输入

D.有零个或多个输出14.以下选项中不属于算法特征的是(C)。A.有穷性B.确立性C.简短性D.有效性15.用C语言编写的代码程序(B)。A.可马上履行B.是一个源程序C.经过编译即可履行D.经过编译解说才能履行二、填空题1.C语言的源程序一定经过2.C语言源程序言件的后缀是成文件的后缀是.exe

.c

编译和连结后,才能被计算机履行。;经过编译后,生成文件的后缀是.obj;经过连结后,生。3.C语言从源程序的书写到上机运转输出结果要经过编写、

编译

、连结、履行四个步骤。4.构造化程序由次序构造、选择构造和循环构造三种基本构造构成。5.C语言源程序的基本单位是函数。6.一个

C语言源程序是由若干函数构成,此中最少应含有一个

主函数(或

main函数)

。7.在一个

C语言源程序中,说明部分双侧的分界符为

/*

*/

。8.

算法

是程序设计的灵魂。9.C语言程序只好从main函数开始履行。10.自然语言、流程图和伪代码都能够用来表示算法,此中

流程图

是算法的图形化表示方法。三、编程/思虑题1.简述C语言的主要特色。1.C语言的主要特色有:(1)C语言拥有构造化的高级编程语言应有的全部高级指令,使程序员不需要知道硬件细节。同时,C也拥有一些初级指令,同意程序员能够直接迅速地访问硬件。(2)C语言是构造式语言。(3)C语言是一种高效的语言。(4)C语言简短紧凑,使用方便灵巧。(5)C语言运算符丰富。(6)C语言是一种可移植性语言。2.要获得一个能够正常运转的C语言程序,一般经过哪几个过程?编写C语言程序源代码,编译源文件,连结程序,履行程序。3.算法拥有哪些特色?3.算法拥有以下特色:(1)有穷性;(2)确立性;(3)有零个或多个输入;(4)有一个或多个输出;(5)有效性。4.用流程图表示求解1×2×3×4×5的算法。5.参照本章例题,编写一个C程序,输出以下信息:*********************************ThisisasimpleCprogram!答.#include<>voidmain( ){printf("*********************************\n");printf("ThisisasimpleCprogram!\n");printf("*********************************\n");习题二一、选择题1.以下几个选项中,属于

C语言的基本数据种类的是(

B)。A.整型、实型、构造体种类

B.整型、实型、字符型C.整型、逻辑型、实型

D.

整型、字符型、数组种类语言规定,表记符的命名只好由字母、数字和下划线三种字符构成,且第一个字符

C

)。A.一定是字母

B.一定是下划线

C.一定是字母或下划线

D.一定是数字3.以下表记符中,合法的表记符为(

B)。1

C4.以下表记符中,不合法的表记符为(A)。A.intB._n55.以下不合法的字符常量是(D)。A.‘a’B.’”’C.’\n’D.”a”6.以下不合法的字符串常量是(A)。A.‘abc’B.”abc”C.”dfb345”D.””7.以下不合法的转义字符是(D)。A.‘\\’B.‘\t’C.‘\x6a’D.’\89’8.下边四个选项中,均是不合法的转义字符的选项是(B)。A.‘’’‘\t’‘’B.‘\1234’‘\018’‘\x3h’C.‘\n’‘\16’‘”‘D.‘\x8a’‘\&’‘\101’9.以下整型常量中,不合法的是(D)。B.-16C.0x4b10.下边四个选项中,均是不合法的整型常量的选项是(A)。A.-0f10182e5B.250xf3C.065-54-0a4D.0130xk5-06911.以下实型常量中,不合法的是(C)。A.0.0B..123C.123D.12.以下实型常量中,合法的是(D)。A.e3B.2e4.3C.–e4D.2e-413.下边四个选项中,均是不合法的实型常量的选项是(B)。A.2e5B.e5682e-4123e-5-e-3123e14.在C语言中,int、char和short三各样类数据在内存中所占用的字节数(D)。A.由用户自己定义B.均为2个字节C.是随意的D.由所使用的编译系统决定15.如有说明语句:charc=’\72’;则变量c(A)。A.包含1个字符B.包含2个字符C.包含3个字符D.说明不合法,c的值不确立16.设变量a是整型,f是实型,i是双精度型,则表达式10+’a’+i*f值的数据种类为(C)。A.intB.floatC.doubleD.不确立17.设有说明语句:charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为(D)。A.floatB.charC.intD.double18.在C语言中,负整数在内存中的储存形式是(A)。A.补码B.反码C.原码D.ASCII码19.在C语言中,字符型数据在内存中的储存形式是(D)。A.补码B.反码C.原码D.ASCII码20.在C语言中,实型数据在内存中的储存形式是(B)。A.小数形式B.指数形式C.十进制形式D.ASCII码21.在C语言中,设一个short型数据在内存中占用2个字节储存,则unsignedshort型数据的取值范围为(C)。A.0~255B.0~32767C.0~65535D.0~4722.在C语言中,设一个float型数据在内存中占用4个字节来储存,则一个float型数据的有效数字位数为(B)。A.5位B.6~7位~16位D.18~19位23.已知小写字母’a’的ASCII码为十进制数97,则履行语句c=’a’+2后,变量c中的字符为(B)。A.AB.cC.CD.b24.设有定义floatx=;则履行(int)x以后,x的值为(A)。A.B.3C.4D.25.若想确立所使用的编译系统中,int型数据所占用的储存宽度,可使用(B)进行测试。A.(int)(int)C.(int)xD.(sizeof)int二、填空题语言中的实型变量分为两各样类,它们是float和double。语言中的常量分为普平常量和符号常量两各样类3.C语言中的表记符只好由3种字符构成,他们是字母、数字、下划线、和。4.在C语言中,有一类特别字符以“”开头,称为转义字符。转义字符’\n’的功能是回车换行;转义字符’\r’的功能是,回车不换行。5.在C语言中,用要点字float定义单精度实型变量,用要点字DOUBLE定义双精度实型变量,用要点字char定义字符型变量。6.要定义双精度实型变量a和b,并使它们的初值都为,则定义语句为doubea=,b=;。7.设C语言中一个short型数据占用2个字节储存,一个int型数据占用4个字节储存,则要将数值32768正确无误的储存在变量x中,应使用的定义语句为intx=32768。8.如有定义charch;则履行ch=’A’+32后,变量ch中的字符为‘a’。9.以下程序运转后的输出结果是9,90。#include<>voidmain( ){intx=011,y=0x5a;printf("%d,%d\n",x,y);}10.以下程序的输出结果是BeijingChina。include<>voidmain( ){printf("Beijing\nChina\n",n);}三、思虑题1.C语言规定对所实用到的变量一定“先定义,后使用”,这样做有什么利处?1.解:C语言中,要求对所实用到的变量“先定义,后使用”,这样做的利处是:能够保证程序中变量名使用得正确;在编译时就能为变量分派相应的储存单元;便于在编译过程中检核对该变量进行的运算能否合法。2.字符常量和字符串常量有什么差别?2.解:字符常量是一个字符,在程序中是用单撇号括起来的;字符串常量由0个或若干个字符组合而成,在程序中是用双撇号括起来的,在储存时,系统自动在字符串最后加上一个字符串结束符’\0’。3.若想要将一个大写字母变换为对应的小写字母,能够如何操作?解:在内存中,字符型数据以ASCII码储存,ASCII码是一串二进制编码,每个字符的ASCII码对应一个整数值,大写字母与其对应小写字母的

ASCII

码对应整数值相差

32。所以,要将一个大写字母变换为小写字母,只要将该变量的值加上

32即可。4.常量’a’与”a”在内存中所占用的字节数能否同样?为何?4.解:常量’a’与”a”在内存中所占用的字节数不同样,由于’a’是字符常量,在内存中占用一个字节储存,而”a”是字符串常量,在内存中储存时,系统自动在以后加上一个字符串结束符’\0’,在内存中占用2个字节储存。5.如有定义inta;floatf,则表达式’c’+a+f的结果为何种数据种类?为何?5.如有定义inta;floatf,则表达式’c’+a+f的结果为double型。由于表达式中float型,在计算以前一定先变换为double型,依据数据种类的自动变换规则,表达式的结果为double型。

f为6.设

C语言中,一个

short

型数据占用

2个字节储存,如有定义

shortx=-12

,则变量

x的值-12

在内存中储存的二进制代码是如何表示的?6.解:整数在内存中以补码形式储存,负数的补码为反码

+1,所以,当

x=-12

时,其在内存中的储存形式为:

。7.设

C语言中,一个

short

型数据占用

2个字节储存,如有定义

shortx=32768

,则用输出语句

printf

(”%d\n”,x

);输出

x值为多?为何?7.解:输出结果为-32768,由于一个short型数据在内存中占用2个字节储存,所能表示的数值范围为-32768~32767,当x=32768时,高出了其能表示的范围,发生了溢出,数值32768的二进制编码的16位正好对应数值-32768。8.如有x为int型变量,则履行x=后,变量x的值为多少?为何?8.解:如有x为int型变量,则履行x=后,变量x的值为3,由于x为int型变量,不可以存储实型数据,当把一个实型数据赋给x时,发生了数据种类变换,系统自动把实型数据的小数部分舍去。9.分析下边两个程序运转结果能否同样?为何?程序A:#include<>程序B:#include<>voidmain( )voidmain( ){{}

charc1,c2;intc1,c2;c1=’a’;c1=97;c2=’b’;c2=98;printf(“%c,%c\n”,c1,c2);}

printf(

“%c,%c\n”,c1,c2);9.解:两个程序的运转结果同样。由于字符型数据以ASCII码储存,ASCII码是一串二进制编码,每个字符的ASCII码对应一个整数值。所以,在必定范围内,整型数据和字符型数据是能够通用的。字符’a’和’b’对应的ASCII编码值分别为97,98。10.分析下边程序的运转结果:#include<>voidmain( ){charc1='A',c2='B',c3='C',c4='\101',c5='\x42';printf("a%cb%c\tc%c\tabc\n",c1,c2,c3);printf("%c\t%c\bB\n",c4,c5);aAbB□□□□cC□□□□□□abcA□□□□□□□BB}习题三一、选择题1.如有代数式

3ae

,则不正确的

C语言表达式是(

C

)。bcA.a/b/c*e*3

B.3*a*e/b/c

C.3*a*e/b*c

D.a*e/c/b*32.在

C语言中,要求运算数一定是整型的运算符是(

D)。A./B.=C.++D.%3.如有定义语句:inta=7;floatx=,y=;

则表达式

x+a%3*(int)(x+y)%2/4

的值(

A

)。

C.

如有定义

intx=5,y=2

,则表达式

5/2

的结果为(

B

)。

B.2

C.

D.35.判断

char型变量

ch

能否为大写字母的正确表达式是(

C)。A.‘A’<=ch<=’Z’

B.(ch>=

’A’)&(ch<=

’Z’)C.(ch>=

’A’)&&(ch<=’Z’)

D.(ch>=

’A’)and(ch<=

’Z’)6.为表示关系

a≥b≥c,则正确的

C语言表达式为(

C)。A.a>=b>=c

B.(a>=b)&(b>=c)C.(a>=b)&&(b>=c)

D.(a>=b)||(b>=c)7.逻辑运算符双侧运算对象的数据种类(D)。A.只好是0或1B.只好是0或非0正数C.只好是整型或字符型D.能够是任何数据种类8.以下运算符中,优先级最高的是(B)。A.<B.+C.&&D.==9.设x、y、z是int型变量,且有x=3,y=4,z=5,则下边表达式中值为0的是(D)。A.‘x’&&’y’B.x<=yC.x||y+z&&y-zD.!((x<y)&&!z||1)10.已知x=43,ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值为(B)。A.0B.1C.“假”D.true11.以下表达式中,不满足条件“当x为奇数时价为真,当x为偶数时价为假”的是(C)。A.x%2==1B.!(x%2==0)C.!(x%2)D.x%212.设有inta=1,b=2,c=3,d=4,m=2,n=2;则履行表达式(m=a>b)&&(n=c>d)后,n的值为(C)。A.0B.1C.2D.313.判断char型变量c能否为0到9的数字的正确表达式为(C)。A.‘0’<=c<=’9’B.0<=c<=9C.c>=’0’&&c<=’9’>=0&&c<=914.设有intx=3,y=4,z=5,则履行表达式!(x+y)+z-1&&y+z/2的结果是(D)。A.6B.0C.2D.115.以下程序的运转结果是(B)。#include<>voidmain( ){inta,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d\n”,a,b);}A.6,1B.2,1C.6,0D.2,016.履行以下语句后x的值为intx=5,y=6,t=1,a=2,b=3,z=4;(x=t>a)&&(y=b>z)A.5,6B.5,0C.0,6D.0,0

,y的值为

C

)。17.以下表达式中,与表达式

!a

等价的是(

D)。A.a==0

B.a==1

C.!a==0

D.!a==118.以下符合C语语言法的赋值表达式是(D)。A.a=10+n+m=a+3B.a=10+m,b=a+5C.b=b*8=2D.a+=a-=(m=4)*(n=3)19.如有inta=7,b=12,则以下表达式中,值为3的是(D)。A.b%=(a%=5)B.b%=(a-a%5)C.b%=a-a%5D.(b%=a)-(a%=5)20.已知各变量的种类说明以下。inta=2,b;doublex=;则以下不符合C语语言法的表达式是(A)。A.x%(-3)B.a+=2C.a+=a-=(b=4)D.x/=(b=3)21.设以下变量均为int种类,则值不等于7的表达式是(C)。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+1,x=y,x+1)22.若x,i,j,k都是int型变量,则履行表达式x=(i=4,j=16,k=32)后,x的值为(C)。A.4B.16C.32D.5223.履行下边程序段后,输出结果为(C)。intx=13,y=5;printf(“%d”,x%=(y/2));A.3B.2C.1D.024.设x,y均为float型变量,则以下不合法的赋值语句是(B)。A.x=B.y=(x%2)/10;C.x*=y+8;D.x=y=0;25.设inta=10,则履行语句a+=a*=a/5+10;后,a的值是(A)。.120C26.设有定义语句intx=2;则以下表达式中,值不为6的是(D)。A.x*=x+1B.x=2,3*xC.x*=(1+x)D.2*x,x+=227.已知变量x、y、z都为int型,则履行z=2+(y=1,y+=1,x=y,x+8)后,x和z的值分别为(A)。=2,z=12B.x=2,z=10C.x=10,z=12D.x=10,z=1028.若w=1,x=2,y=3,z=4,则条件表达式w<x?w:y<z?y:z的值是(D)。A.4B.3C.2D.129.若w、x、y、z、m均为int型变量,则履行下边语句后,m的值为(A)。w=1;x=2,y=3;z=4m=(w<x)?w:x;m=(m<y)?m:ym=(m<z)?m:z;30.若运转时给变量

x输入12,则以下程序的运转结果是(

A)。#include<>voidmain( ){intx,y;scanf(“%d”,&x);y=x>12?x+10:x-12;printf(

“%d\n”,y);}A.031.若已知

num、sum均为int

D.10型变量,且num=sum=7;则计算表达式

sum=num++,sum++后,sum的值为(

B)。A.7

B.8

C.9

D.1032.如有

intx=11

,则表达式(

x++*1/3)的结果为(

B)。A.5

B.3

C.4

D.633.如有定义语句:

intx=3

;则以下表达式中,值为

5的是(

A

)。A.++x,x+1

B.x+=2,--x

C.x+=2,x+1

D.x++,x++34.若已知

m,n,x,y

int

型变量,则履行以下语句后,变量

y的值为(

D

)。m=10;n=5;x=(--m==n++)?--m:++n;y=n;A.5

B.10

C.6

D.735.履行以下程序段后,变量a,b,cintx=10,y=9;inta,b,c;a=(--x==y++)?--x:++y;b=x++;c=y;A.a=9,b=9,c=9B.a=8,b=8,c=10a=1,b=11,c=10

的值分别为(BC.a=9,b=10,c=9

)。D.36.以下程序的输出结果是(C)。#include<>voidmain( ){intw=3,z=7,x=10;printf(“%d\n”,x>10?x+100:x-10);printf(“%d\n”,w++||z++);printf(“%d\n”,!w>z);printf(“%d\n”,w&&z);}A.0B.1C.0D.011111100111037.以下对于运算符优先次序的描绘中正确的选项是(C)。关系运算符<算术运算符<赋值运算符<逻辑与运算符逻辑与运算符<关系运算符<算术运算符<赋值运算符赋值运算符<逻辑与运算符<关系运算符<算术运算符算术运算符<关系运算符<赋值运算符<逻辑与运算符38.以下运算符中,优先级最高的是(D)。A.<

B.%

C.&&

D.++39.设

x、y

z是int

型变量,且

x=3,y=4,z=5,

则下边表达式中值为

0的是(

C

)。A.‘x’&&’y’

B.x<=y<=zC.y+z&&y-z&&(x+1)%2

D.!x||x<y&&140.以下不可以将变量

c中的大写字母变换为对应小写字母的语句是(

D)。A.c+=32

B.c=c-

‘A’+’a’

C.c=c-65+97

D.c=c-32二、填空题1.若s是int型变量,且有s=6,则表达式s%2+(s+1)%2的值为1。2.若a是int型变量,则计算表达式a=25/3%3后,a的值为2。3.如有定义:intb=7;floata=,c=;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为。4.如有定义:inta=2,b=3;floatx=,y=;则表达式(float)(a+b)/2+(int)x%(int)y的值为。5.如有定义:intx=3,y=2;floata=,b=;则表达式(x+y)%2+(int)a/(int)b的值为。6.当a=3,b=2,c=1时,表达式f=a>b>c的值为0。7.当a=5,b=4,c=2时,表达式a>b&&!c的值为0。语言供给的三种逻辑运算符是&&、||、!。9.若a=2,b=4,则表达式!(x=a)||(y=b)&&0的值为0。10.若a=1,b=4,c=3,则表达式!(a<b)||!c&&1的值为0。11.若a=6,b=4,c=3,则表达式a&&b+c||b-c的值为1。12.若a=3,b=4,c=5,则表达式a||b+c&&b==c的值为1。条件“0≤x≤1或-1≤x≤0”的C语言表达式是x>=0&&x<=1||x>=-1&&x<=0。14.如有定义:intm=5,y=2;则计算表达式y+=y-=m*=y后,y的值为-16。15.若a是int型变量,且a的初值为6,则计算表达式a+=a-=a*a后,a的值为-60。16.若a是int型变量,则表达式(a=4*5,a*2),a+6的值为26。17.若x和n均为int型变量,且有x=n=5,则计算表达式x+=n++后,x的值为10,n的值为6。18.若n、i均为int型变量,则表达式n=i=2,++i,i++的值为3。19.如有定义:intx=1,y=0;则表达式x<(y+x)?’B’:’C’>y++?’A’:’Z’的值为。20.如有定义:intx=0,y=1;则表达式x++*x--!=’y’?8-4:y的值为4。三、思虑/编程题1.设有定义:inta=3,b=4;floatx=,y=;分析下边算术表达式的值1)x+a%2*(int)(x+y)%2/42)(float)(a+b)/2+(int)y%(int)x2.C语言中如何表示“真”和“假”?系统如何判断一个量的“真”“假”?2.假如一个表达式的值为“真”,则以1表示,假如值为“假”,则以0表示;当判断一个量的逻辑值时,系统将0判断为“假”,将非0判断为“真”。3.设有定义:inta=3,b=4,c=5,试分析以下表达式的值:a+b>c&&b==c0a||b+c&&b-c1(3)!(a>b)&&!c||11(4)!(x=a)&&(y=b)&&0(5)!(a+b)+c-1&&b+c/214.设有定义:

inta=15,n=7;

试分析以下表达式履行后

a的值为多少?(1)a+=a

(2)a-=5

(3)a*=5-2(4)a%=(n%3)

(5)a/=(a+a)

(6)a+=a-=a*a(7)a+=a-=a*=a4.(1)30;(2)10;(3)45;(4)0;(5)0;(6)-420;(7)05.设有定义:inta,b;试分析下边表达式履行后变量a、b和表达式的值各是多少?a=3,b=a+2,a++,(b++)+1.a=4,b=6,

表达式的值为

6;“%d,%d\n”,a,c);6.试分析下边程序的运转结果。#include<>voidmain( ){inti=10,j=10;intm,n;m=++i;n=j--;printf(“%d,%d,%d,%d\n”,i,j,m,n);6.11,9,11,107.试分析下边程序的运转结果。#include<>voidmain( ){inta,b,c;a=b=1;c=a++-1;printf(“%d,%d\n”,a,c);c+=-a+++(++b||++c);printf(}2,03,-18.若程序运转时从键盘输入345,试分析下边程序的运转结果:#include<>voidmain( ){intx,y,z,max;scanf(“%d%d%d”,&x,&y,&z);max=x>y&&x>z?x:y>x&&y>z?y:z;printf(“%d\n”,max);}59.编写程序,从键盘输入整型变量x的值,判断并输出x是奇数还是偶数。9.#include<>voidmain( ){intx;printf("

请输入

x的值:");scanf("%d",&x);x%2?printf("

奇数\n"):printf("

偶数\n");}10.编写程序,从键盘输入一个大写字母赋给字符型变量ch,并将其变换成对应小写字母后输出。]10.#include""voidmain( ){charch;printf("请输入一个大写字母:");scanf(“%c”,&ch);ch=ch+32;printf("%c\n",ch);}习题四一、选择题1.C语言程序的三种基本构造是(A)。A.次序构造、选择构造、循环构造B.递归构造、循环构造、转移构造C.嵌套构造、递归构造、次序构造D.循环构造、转移构造、次序构造2.以下能正确立义且赋初值的语句是(B)。n1=n2=10;c=32;f=f+;x=以下能正确立义整型变量a,b和c并为其赋初值5的语句是(A)。A.inta=b=c=5;B.inta,b,c=5;C.a=5,b=5,c=5;D.a=b=c=5;4.在以下选项中,不正确的赋值语句是(D)。A.++t;=(n2=(n3=0));=i==j;=b+c=15.有以下程序:main( ){inta=0,b=0;a=10;b=20;printf("a+b=%d\n",a+b);}程序运转后的输出结果是(B)。+b=10+b=30C.30

D.

犯错6.有以下程序段:charch='a';intk=12;printf("%c,%d,",ch,ch,k);

printf("k=%d\n",k);已知字符

a的

ASCII

十进制代码为

97,则履行上述程序段后输出结果是(

D)。因变量种类与格式描绘符的种类不般配输出无定值输出项与格式描绘符个数不符,输出为零值或不定值,97,12k=12,97,k=127.履行下边程序段后的输出结果是(D)。inta=15;printf("a=%d,a=%o,a=%x\n",a,a,a);=15,a=15,a=15=15,a=017,a=0xf=15,a=17,a=0xf=15,a=17,a=f8.以下程序的输出结果是(A)。main( ){inta=010,b=10,c=0x10;printf("%d,%d,%d",a,b,c);},10,16

,10,10

C.10,10,10

,10,169.以下程序的运转结果是(

A

)。(注:□代表空格

)#include<>main( ){intm=5,n=10;printf("%d,%d\n",m++,--n);}A.5,9B.6,9C.5,10D.6,1010.设有以下程序:#include<>main( ){inta=201,b=012;printf(“%2d,%2d\n”,a,b);}程序履行后的输出结果是(B)。,02

,10

C.01,10

,0111.有定义语句

inta,b;

,若要经过语句

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

使变量

a获得数值

6,变量

b获得数值

5,下边输入形式中错误的选项是(

C)。(注:□代表空格

)A.6,5<

回车>

B.6,

□□5<回车>C.65<.

回车>

D.6,<

回车>5<回车>12.已有以下定义和输入语句,若要求

a1,a2,c1,c2

的值分别为

10,20,A和

B,当从第一列开始输入数据时,正确的数据输入方式是(A)。(注:□表示空格)inta1,a2;charc1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);A.10A□20B<回车>B.10□A□20□B<回车>C.10A□20B<回车>D.10A20□B<回车>13.已有定义语句intx;floaty;且履行scanf("%3d%f",&x,&y);语句,若从第一列开始输入数据12345□678<回车>,则x的值为(B)。(注:□表示空格)B.123C.4514.有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2;从键盘输入数据的正确形式应该是(D)。(注:□表示空格)A.132<回车>B.1,3,2<回车>C.a=1□b=3□c=2<回车>D.a=1,b=3,c=2<回车>15.设有以下程序:include<>main( ){charch1='A',ch2='a';printf("%c\n",(ch1,ch2));}则以下表达中正确的选项是(B)。程序的输出结果为大写字母A程序的输出结果为小写字母a运转时产生错误信息D.格式说明符的个数少于输出项的个数,编译犯错16.履行下边程序段后的输出是(A)。(注:□表示空格)floatf1=;printf(“%%ff1=%8.3f\n”,f1);A.%ff1=

□B.%ff1===17.以下不符合

C语法的赋值语句是(

C)。A.m=(2+1,m=1);B.m=n=0;C.m=1,n=2D.n++;18.以下程序的输出结果是(D)。(注:□代表空格)main( ){printf("\n*s1=%15s*","chinabeijing");printf("\n*s2=%―5s*","chi");}A.*s1=chinabeijing□□□*B.*s1=chinabeijing*s2=**chi**s2=chi□□*C.*s1=*□□chinabeijing*D.*s1=□□□*s2=□□chi**s2=chi□□*

□□□chinabeijing*

*19.依据以下定义语句和数据输入方式,

scanf

语句的正确形式应为(

B)。已有定义:floatf1,f2;数据的输入方式:

<回车><

回车>A.scanf("%f,%f",&f1,&f2);B.scanf("%f%f",&f1,&f2);C.scanf("%3.2f%2.1f",&f1,&f2);D.scanf("%3.2f%,2.1f",&f1,&f2);20.阅读以下程序,当输入数据的形式为25,13,10<回车>,程序的输出结果为(

D)。main( ){intx,y,z;scanf("%d%d%d",&x,&y,&z);printf("x+y+z=%d\n",x+y+z);}A.x+y+z=48

B.x+y+z=35

C.x+z=35

D.

不确立值21.以下

scanf

函数的表达中,正确的选项是(

D)。A.输入一项能够为一实型常量,如

scanf("%f",;B.只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如

scanf("%4.2f

",&f);D.当输入数据时,一定指明变量地点,如

scanf("%f",&f);22.如有以下定义,则正确的赋值语句是(

B)。inta,b;floatx;A.a=1,b=2,

B.b++;

C.a=b=5

D.b=int(x);23.已知

ch

是字符型变量,下边不正确的赋值语句是(

A)。A.ch='a+b';

B.ch='\0';

C.ch='7'+'9';

D.ch=5+9;24.设A.++x;25.设

x,y均为float型变量,则以下不合法的赋值语句是(B.y=(x%2)/10;C.x*=y+8;D.x=y=0;inta=10,则履行语句a+=a*=a/5+10;后,a的值是(.120C

D)。A)。26.以下程序的运转结果是(

D)。include<>main( ){intx1=0xabc,x2=0xdef;x2-=x1;printf("%x\n",x2);}D.33327.有以下程序,此中%u表示按无符号整数输出:main( ){unsignedintx=0xFFFF;printf("%u\n",x);}程序运转后的输出结果是(B)。.65535C28.设有以下程序:include<>main( ){charc1,c2,c3,c4,c5,c6;scanf("%c%c%c%c",&c1,&c2,&c3,&c4);c5=getchar( );c6=getchar( );putchar(c1);putchar(c2);printf("%c%c\n",c5,c6);}若运转时从键盘输入数据:abc<回车>defg<回车>,则输出结果是(B)。A.abcdB.abdeC.abef29.以下程序的运转结果是(A)。(注:□表示空格)main( ){inty=23456;printf("y=%3x\n",y);printf("y=%8x\n",y);printf("y=%#8x|n",y);}=5ba0

=

□□□

5ba0y=y=

□□□□5ba0□□0x5ba0

y=y=

□□□□□□□□□0x5ba0

5ba0=5ba0y=5ba0y=0x5ba0

=5ba0y=y=####5ba0

□□□□

5ba030.若x,y均定义为

int

型,z定义为

double

型,以下不合法的

scanf

函数调用语句是(

D

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

("%2d

%*d%lf",&x,&y,&z);("%x%*d%o",&x,&y,&z);

("%x%o%6.2f",&x,&y,&z);二、填空题语句的最后用

;

结束。2.以下printf语句中的负号的作用是输出数据左对齐#include<>main( )

。{intx=12;doublea=;printf("%6d##\n",x);printf("%-6d##\n",x);}3.以下printf语句中*号的作用是能够使同一输出语句中的输出宽度得以改变。#include<>main( ){inti=1;printf("##%*d\n",i,i);}4.以下程序的输出结果是x=1y=2*sum*=3。main( ){intx=1,y=2;printf("x=%dy=%d*sum*=%d\n",x,y,x+y);}5.以下程序的输出结果是261。#include<>main( ){intm=177;printf("%o\n",m);}6.已有定义inta;floatb,x;charc1,c2;为使a=3,b=,x=,c1='a',c2='A',正确的scanf函数调用语句是scanf("%d%f%f%c%c",&a,&b,&c1,&c2);。7.若整型变量a和b中的值分别为7和9,要求按以下格式输出a和b的值:a=7b=9请达成输出语句:printf("_______a=%d\nb=%d\n_______",a,b);。8.以下程序运转后的输出结果是10,11。main( ){intm=011,n=11;printf("%d,%d\n",++m,n++);}9.以下程序的输出结果是20。#include<>main( ){intn=0;n+=(n=10);printf("%d\n",n);}10.履行以下程序时输入1234567<CR>,则输出结果是1234。#include<>main( ){inta=1,b;scanf("%2d%2d",&a,&b);printf("%d%d\n",a,b);}11.以下程序的输出结果是*,*。main( ){printf("*%f,%4.3f*\n",,;}12.以下程序的输出结果是2,48,,。#include<>main( ){intn=100;charc;floatf=;doublex;x=f*=n/=(c=48);printf("%d,%d,%3.1f,%3.1f\n",n,c,f,x);}13.若要求以下程序的输出结果为,则[]中应填入的是。include<>main( ){intk=2,m=5;floats,x=,y=[];s=2/3+k*y/x+m/2;printf("%4.2f\n",s);}14.已知字母A的ASCII码值为65。以下程序的输出结果是a=66,b=E。include<>main( ){chara,b;a='A'+'4'-'3';b='A'+'6'-'2';printf("a=%d,b=%c\n",a,b);}如有以下定义和语句,为使变量c1获得字符'A',变量c2获得字符'B',正确的输入形式是A□□□B□□□<回车>。charc1,c2;scanf("%4c%4c",&c1,&c2);三、编程题1.编写程序,用一个16进制数对整型变量a赋值,按十进制数输出a的值。1.#include<>main( ){inta;a=0x123;printf(“%d\n”,A.;}2.编写程序,把450分钟换算成用小时和分钟表示,而后进行输出。2.#include<>main( ){inth,m,t=450;h=t/24;m=t%24;printf("450分钟换算成小时和分钟表示:%d小时,%d分钟\n",h,m);}3.编写程序,从终端键盘输入圆的半径r,圆柱的高h,分别计算出圆周长c1,圆面积cs,和圆柱的体积cvz。输出计算结果时要求有文字说明,并取小数点后3.#include<>main( ){floatpi,r,h,c1,cs,cvz;printf("请输入圆的半径r和圆柱的高h:");scanf("%f,%f",&r,&h);

2为数字。pi=;c1=2*pi*r;cs=pi*r*r;cvz=pi*r*r*h;printf("圆的周长为:%6.2f\n",c1);printf("圆的面积为:%6.2f\n",cs);printf("圆柱的体积为:%6.2f\n",cvz);}4.编写程序,输入一个字母,输出与之对应的ASCII码,输入输出都要有相应的文字提示。4.#include<>main( ){charch;printf("请输入一个字母:");scanf("%c",&ch);printf("字母%c对应的ASCII码为%d\n",ch,ch);}5.编写程序,从键盘输入两个整数,分别计算出它们的商和余数。输出时,商要求保存2为小数,并对第三位进行四舍五入。5.#include<>main( ){intx,y;printf("请输入两个整数:");scanf("%d%d",&x,&y);printf("两数的商是%5.2f,两数的余数是%d\n",(double)x/y,x%y);}6.编写程序,从键盘输入一个华氏温度,要求输出摄氏温度。公式为c=5/9*(f-32),输出要有相应的文字说明。6.#include<>main( ){floatf,c;printf("请输入华氏温度:");scanf("%f",&f);c=*(f-32);printf("摄氏温度为:%f\n",C.;}7.编写程序,从键盘输入一个大写字母,要求输出对应的小写字母,输入输出都要有相应的文字提示。7.#include<>main( ){charch;printf("请输入一个大写字母:");scanf("%c",&ch);ch=ch+32;printf("小写字母为:%c\n",ch);}8.编写程序,从键盘输入三个整数,求它们的均匀值。输出计算结果时要求有文字说明,并取小数点后2为数字。8.#include<>main( ){intnum1,num2,num3;floataver;printf("请输入三个整数:");scanf("%d,%d,%d",&num1,&num2,&num3);aver=(num1+num2+num3)/;printf("三个整数分别为:%d,%d,%d\n",num1,num2,num3);printf("均匀值=%7.2f\n",aver);}9.编写程序,从键盘输入两个整数给变量x和y,互换x和y的值后输出。输入输出都要有相应的文字提示。9.#include<>main( ){intx,y,t;printf("请输入两个整数:");scanf("%d,%d",&x,&y);printf("互换前:x=%d,y=%d\n",x,y);t=x;x=y;y=t;printf("互换后:x=%d,y=%d\n",x,y);}10.编写程序,用gechar函数读入两个字符给ch1、ch2,而后分别用putchar函数和printf函数输出这两个字符。10.#include""main( ){charch1,ch2;printf("请输入两个字符:");ch1=getchar( );ch2=getchar( );printf("用putchar函数输出结果为:");putchar(ch1);putchar(ch2);putchar('\n');printf("用printf函数输出结果为:");printf("%c,%c\n",ch1,ch2);}习题一、选择题1.在C语言中,紧跟在要点字if后一对圆括号里的表达式(D)。A.只好用逻辑表达式B.只好用关系表达式C.只好用逻辑表达式或关系表达式D.能够是随意表达式2.在嵌套使用if语句时,C语言规定else老是(C)。A.和以前与其拥有同样缩进地点的if配对B.和以前与其近来的if配对C.和以前与其近来的且不带else的if配对D.和以前的第一个if配对3.如有条件表达式(exp)?a++:b--,则以下表达式中能完整等价于表达式(exp)的是(B)。A.(exp==0)B.(exp!=0)C.(exp==1)D.(exp!=1)4.以下程序的输出是(B)。main( ){intx=2,y=-1,z=2;if(x<y)if(y<0)z=0;elsez+=1;printf(“%d\n”,z);}A.3B.2C.1D.05.如有表达式(w)?(-x):(++y),此中与w等价的表达式是(D)。==1==0C.w!=1!=06.C语言中的switch语句形式以下所示,要点字switch后一对圆括号中表达式exp的种类是(A)。switch(exp){case常量表达式1:语句1;case常量表达式n:语句n;default:语句n+1;}A.只好是整型或字符型B.只好是int种类C.只好是字符型D.只好是整型或实型以下不正确的if语句形式是(D)。(x>y&&x!=y);(x==y)x+=y;(x!=y)scanf(“%d”,&x)elsescanf(“%d”,&y);D.if(x<y){x++;y++;}8.履行以下程序后的输出是(B)。inti=-1;if(i<=0)printf(“****\n”)elseprintf(“%%%%\n”);A.****B.有语法错误,不可以正确履行C.%%%%cD.%%%%9.以下表达正确的选项是(D)。语句只好用于switch语句B.在switch语句中一定使用default语句一定与switch语句中的case配对D.在switch语句中,不必定使用break语句10.已知intx=10,y=20,z=30;履行以下语句后x,y,z的值是(B)。if(x>y)z=x;x=y;y=z;A.x=10,y=20,z=30B.x=20,y=30,z=30C.x=20,y=30,z=10D.x=20,y=30,z=2011.已知a,b,c的值分别为1,2,3,则履行以下语句后a,b,c的值分别是(D)。if(a++<b){c=a;a=b;b=c;}elsea=b=c=0;,0,0,2,3C.1,2,1,2,2如有定义”intx,y;”并已正确给变量赋值,则以下选项与表达式”(x-y)?(x++):(y++)

”中的条件表达式”

(x-y)

”等价的是(

C

)。A.(x-y>0)

B.(x-y<0)

C.(x-y<0||x-y>0)

D.(x-y==0)13.以下程序(D)。main( ){inta=5,b=0,c=0;if(a=b+c)printf(“***\n”);elseprintf(“$$$\n”);}A.有语法错误不可以经过编译C.输出***D.

B.

能够经过编译但不可以经过连结输出$$$有以函数关系是:当x<0,y=x-1;当x=0,y=x,当x>0,y=x+1。以下能正确表示上边关系的程序段是(A.y=x+1;if(x>=0)if(x==0)y=x;

C)。B.y=xif(x!=0)if(x>0)y=x+1;

-1elsey=x

-1;

elsey=x;C.if(x<=0)

D.y=x;if(x<0)y=xelsey=x;elsey=x+1;

-1;

if(x<=0)if(x<0)y=xelsey=x+1;

-1;15.若运转时为变量

x输入

12,则以下程序的运转结果是(

A)。main( ){intx,y;scanf(“%d”,&x);y=x>12?x+10:x-12;printf(“%d\n”,y);}A.0B.22C.12D.10以下if语句中格式正确的选项是(B)。(a>b)b++elsea++;(a>b){b++;printf(else{a++;printf((a>b){b++;printf(“%d”,b)}(a>b)b++;printf(

“%d”,b);}“%d”,a);}“%d”,b);else{a++;printf(

“%d”,a);}

elseprintf(

“%d”,a);17.以下语法正确的

if

语句是(

B

)。(x>0)

(x>0)printf(“%f”,x)elseprintf(“%f”,

-x);

{x=x+y;printf(elseprintf(

“%f”,x);}“%f”,-x);(x>0)

(x>0){x=x+y;printf(elserintf(

“%f”,x);}“%f”,-x);

x=x+y;printf(elseprintf(

“%f”,x);“%f”,-x);18.有以下程序,从键盘上输入

3和

4,则程序输出是(

B)。#include<>main( ){inta,b,s;scanf(“%d%d”,&a,&b);s=a;if(a<b)s=b;s=s*sprintf(“%d”,s);}.16

C19.有以下程序,从键盘上输入#include<>main( ){intx,y;printf(“Enteraninteger(x):scanf(“%d”,&x);if(x++<0)y=-1;elseif(x==0)y=0;elsey=1;printf(“%d”,y);

-1,则程序输出是(”);

A

)。}.0

C

D.

不确立的值20.以下程序的输出是(C)。main( ){inta=100,x=10,y=20,ok1=5,ok2=0;if(x<y)if(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;printf(“%d\n”,a);}A.1B.0C.21.有以下程序,程序运转的结果是(#include<>main( ){intx=1,y=2,z=3;if(x>y)if(y<z)printf(“%d”,++z);elseprintf(“%d”,++y);printf(“%d\n”,x++);}311C.2

-1D

D.)。

值不确立若变量已正确立义,有以下程序段:inta=3,b=5,c=7;if(a>b)a=b;c=a;if(c!=a)c=b;printf(“%d,%d,%d\n”,a,b,c);其输出结果是(

B

)。A.程序段有语法错误,5,3C.3,5,523.以下程序的输出是(A)。#include””main( ){intx=1;if(x=2)printf(“OK”);elseif(x<2)printf(“%d\n”,x):elseprintf(“Quit”);A.OKB.QuitC.1D.

,5,7

无输出结果有以下程序:main( ){inta=0,b=0,c=0,d=0;if(a=1)b=1;c=2;elsed=3;printf(‘%d,%d,%d,%d\n”,a,b,c,d);}程序输出(D)。,1,2,0

,0,0,3

C.1,1,2,0

D.

编译有错25.以下程序所表示的分段函数是(#include””

D)。main( ){intx,y;printf(

“Enterx:

”);scanf(“%d”,&x);y=x>=0?2*x+1:0;printf(“x=%d:f(x)=%d”,x,y);}A.f(x)=0(x<=0)B.f(x)=0(x>=0)f(x)=2x+1)(x>0)f(x)=2x+1(x<0)C.f(x)=2x+1(x<0)D.f(x)=0(x<0)f(x)=0(x>=0)f(x)=2x+1(x>=0)26.若w=1,x=2,y=3,z=4,则条件表达式w<x?w:y<z?y:z.3C27.若w,x,y,z,m均为int型变量,则履行下边语句后的w=1;x=2;y=3;z=4;m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;.2C

的值是(m值是(A

D)。

)。若履行下边的程序时从键盘上输入10,则输出的是(B)。main( ){inta;scanf(“%d”,&a);if(a++>10)printf(“%d\n”,++a);elseprintf(“%d\n”,a--);}.11C29.有以下程序,输出的是(B)。main( ){intx=100,a=10,b=20,v1=5,v2=0;if(a<b)if(b!=15)if(!v1)x=1;elseif(v2)x=10;x=-1;printf(“%d\n”,x);}B.-1C.1有以下程序,(A)是正确的判断。main( ){intx,y;scanf(“%d,%d”,&x,&y);if(x>y)x=y;y=x;elsex++;y++;printf(“%d,%d\n”,x,y);}A.有语法错误B.若输入3和4,则输出4和5C.若输入4和3,则输出3和4D.若输入4和3,则输出4和431.设变量x和y均已正确立义并赋值,以下的if语句中,在编译时将产生错误信息的是(C)。(x++);(x>y&y!=0);(x>y)x--(y<0){;}elsey++;elsex++;32.若变量都已正确立义,则以下程序段的输出是(B)。a=10;b=50;c=30;if(a>b)a=b,b=c;c=a;printf(“a=%db=%dc=%d\n”,a,b,c);=10b=30c=10

=10b=50c=10

C.a=50b=30c=10

=50b=30c=5033.当a=1,b=3,c=5,d=4if(a<b)if(c<d)x=1;elseif(a<c)if(b<d)x=2;elsex=3;elsex=6;elsex=7;34.以下程序的输出是(#include””main( )

时,履行以下程序段后B)。

x的值是(

B

)。{inta=5,b=8,c=3,max;max=a;if(c>b)if(c>a)max=c;elseif(b>a)max=b;printf(“max=%d\n”,max);}A.max=8B.max=5C.max=3D.35.以下程序的运转结果是(D)。main( ){intk=4,a=3,b=2,c=1;printf(“\n%d\n”,k<a?k:c<b?c:a);}36.以下程序运转后的输出结果是(C)。#include<>main( ){intx=2,y=3;printf(x>y?"***x=%d":"###y=%d\n",x,y);}

无输出结果A.语法错误B.***x=2C.###y=237.有以下程序,运转后的输出结果是(main( ){inta=2,b=0,c=-1;if(a=b+c)if(a>0)b=c=a;elseif(a==0)a=b=c=0;elsea=b=c=1;elsea=b=c=-1;printf(“%d,%d,%d”,a,b,c);}

D.###y=3A)。,1,138.若u,w,x,y

,0,0C.-1,-1,-1均为正整型变量,则以下正确的switch

,2,2语句是(A

)。(x+y)

x{case10:u=x+y;break;

{default:u=x+y;case11:w=x

-y;break;

case10:w=x

-y;break;}

case11:u=x*y;break;(x*x+y*y)

(pow(x,2)+pow(y,2))

(注:

pow是求幂的数学函数){case3:

{case1:case3:w=x+y;break;case3:w=x+y;break;

case0:case5:w=x

-y;case0:w=y-x;break;

}39.有以下程序,程序的运转结果是(D)。#include<>main( ){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;case3:a++;b++;}printf(“a=%d,b=%d\n”,a,b);}=1,b=0=2,b=2C.a=1,b=1=2,b=140.有以下程序,运转后的结果是(C)。#include<>main( ){intx=0,y=2,z=3;switch(x){case0:switch(y==2){case1:printf("*");break;case2:printf("%");break;}case1:switch(z){case1:printf("$");case2:printf("*");break;default:printf("#");}}}A.*B.*$C.*#D.*$*二、填空题若运转时输入:16<回车>,则以下程序的运转结果是#include<>voidmain( )

your$yuan/xiaoshi。{intyear;printf(“Inputyouryear:”);scanf(“%d”,&year);if(year>=18)printf(

“your

$yuan/xiaoshi

”);elseprintf(

“your

$yuan/xiaoshi

”);}2.以下程序对应的数学表达式

当a<0,b=-1;当

a=0,b=0;当

a>0,b=1

。include””main( ){inta,b;scanf(“%d”,&a);if(a<0)b=-1;elseif(a==0)b=0;elseb=1;printf(“a=%d,b=%dn”,a,b);}3.若运转时输入:5999<回车>,则以下程序的运转结果(保存小数点后一位)是main( ){intx;floaty;scanf(“%d”,&x);if(x>=0&&x<=2999)y=18+*x;if(x>=3000&&x<=5999)y=36+*x;if(x>=6000&&x<=10000)y=54+*x;

。printf(

“%6.1f”,y);}4.以下程序的功能是:输出

x、y、z

三个数中的最大者。请填空。main( ){intx

=4,y=6,z=7;intu,v

;if(

x>y

)u=x;elseu=y;if(u>z)v=u;elsev=z;printf(“v=%d”,v);}5.以下程序的输出结果是x=2。include””main( ){intx,y;x=y=2;if(x==1)if(x==2)printf(“x=%d\n”,x=x+y);elseprintf(“x=%d\n”,x=x-y);printf(“x=%d\n”,x);}下边程序的功能是:依据函数关系(当2<x<=10,y=x(x+2);当-1<x<=2,y=2x;当x<=-1,y=x-1)。对输入的每个x值计算出相应的main( ){intx,y;scanf(“%d”,&x);if(x>2&&x<=10)y=x*(x+2);elseif(x>-1&&x<=2)y=2*x;elseif(x<=-1)y=x-1;elsey=-1;if(y!=-1)printf(“d”,y);elseprintf(“error”);}

y值。请填空。以下程序的功能是:依据输入的三角形的三条边,判断能否能构成三角形,若能够则输出它的面积。请填空。#include<>main( ){floata,b,c;floats,area;scanf(“%f%f%f”,&a,&b,&c);if(a+b>c&&b+c>a&&a+c>b){s=(a+b+c)/2;area=sqrt(s*(s

-a)*(s

-b)*(s

-c));printf(

“%f”,area);}elseprintf(

“不可以输出三角形”

);}8.以下程序的运转结果是main( )

-1

。{inta=2,b=3,c;c=a;if(a>b)c=1;elseif(a==b)c=0;elsec=-1;printf(“%d\n”,c);}9.以下程序的运转结果是0,1。main( ){intx,y,z;x=3;y=z=4;printf(“%d,”,(x>=y>=x)?1:0);printf(“%d\n”,z>=y&&y>=x);}以下程序的功能是计算x、y个z中的最小值。请填空。main( ){intx=4,y=5,z=8;intu,v;u=x<y?x:y;v=u<z?u:z;printf(“%d”,v);}11.将以下含有

switch

语句的程序段改写成对应的含有非嵌套

if

语句的程序段。请填空。含有switch语句的程序段:intx,y,m;y=(int)(x/10);switch(y){case10:m=5;break;case9:m=4;break;case8:m=3;break;case7:m=2;break;case6:m=1;break;default:m=0;}含有含if语句的程序段:intx,m;if(x<110&&x>=100)m=5;if(x<100)&&(x>=90))m=4;if(x<90)&&(x>=80))m=3;if(x<80)&&(x>=70))m=2;if(x<70)&&(x>=60))m=1;if((x<60)||(x>109))m=0

;12.以下程序段的输出结果是

x=5Thevalueofxisunknown.

。#include””main( ){intx,y;x=5;switch(x){case1:case2:case3:case4:printf(case5:printf(default:printf(}

“x<5\n”);“x=%d\n”,x);“Thevalueofxisunknown.\n

”);}13.以下程序的运转结果是F。main( ){if(2*2==5<2*2==4)printf(“T”);elseprintf(“F”);}以下程序的功能是#include””main( ){intx,y,sum,product;

输入两个数x,y,比较x+y和x*y哪个大。。printf(“Enterxandy:”);scanf(%d,%d”,&x,&y);sum=x+y;product=x*y;if(sum>product)printf(“(x+y)>(x*y)”);elseprintf(“(x*y)>=(x+y)”);}15.以下程序的运转结果是2,0,0。main( ){inta,b,c;ints,w,t;s=w=t=0;a=-1;b=3;c=3;if(c>0)s=a+b;if(a<=0){if(b>0)if(c<=0)w=a-b;}elseif(c>0)w=a-b;elset=c;printf(“%d,%d,%d”,s,w,t);}16.以下程序的运转结果是20。main( ){inta,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;printf(“%d\n”,d);}17.以下程序的运转结果是5,5,1。#include<>voidmain(void){intx,y=1,z;if(y!=0)x=5;printf(“%d\n”,x);if(y==0)x=4;elsex=5;printf(“%d\n”,x);x=1;if(y<0)if(y>0)x=4;elsex=5;printf(“\t%d\n”,x);}18.为了使以下程序的输出结果为t=4,输入值a和b应满足的条件是0<a<b。main( ){ints,t,a,b;scanf(“%d,%d”,&a,&b);s=1;t=1;if(a>0)s=s+1;if(a>b)t=s+t;elseif(a==b)t=5;elset=2*s;printf(“s=%d,t=%d”,s,t);}依据以下给出的嵌套if语句,填写对应的switch语句,使它达成同样的功能。(假定mark的值在1~100之间。)*if语句:if(mark<60)k=1;elseif(mark<70)k=2;elseif(mark<80)k=3;elseif(mark<90)k=4;elseif(mark<100)k=5;*switch语句:switch(mark/10){case0:case1:case2:case3:case4:case5:k=1;break;case6:k=2;break;case7:k=3;break;case8:k=4;break;case9:case10:k=5;}如有以下程序段,且grade的值为C,则输出结果是switch(grade){case’A’:printf(“85~100\n”);case’B’:printf(“70~84\n”);case’C’:printf(“60~69\n”);case’D’:printf(“<60\n”);default:printf(“error!\n”);}三、编程题1.编写程序,输入一个整数,判断输出它是奇数还是偶数#include<>main( ){intx;printf("请输入一个整数:");scanf("%d",&x);if(x%2==0)printf("%d是偶数!\n",x);

60~69<60Error!。elseprintf("%d是奇数!\n",x);}。2.编写程序,输入整数a和b,若a2+b2>100,则输出a2+b2的百位以上数字,不然直接输出a2+b2的和。#include<>main( ){inta,b,x,y;scanf("%d,%d",&a,&b);x=a*a+b*b;if(x>100){y=x/100;printf("%d",y);}elseprintf("%d",x);}3.有一函数:0

x<0y=

x

0<x<=10-+20

x>10编写程序,输入一个

x值,

计算输出

y值。3.#include<>main( ){intx;floaty;scanf("%d",&x);if(x<0)y=0

温馨提示

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

评论

0/150

提交评论