C语言程序设计习题大全含答案C语言1.docx
《C语言程序设计习题大全含答案C语言1.docx》由会员分享,可在线阅读,更多相关《C语言程序设计习题大全含答案C语言1.docx(122页珍藏版)》请在冰豆网上搜索。
C语言程序设计习题大全含答案C语言1
C语言基础一:
1.下列四组选项中,均不是C语言关健字的选项是(A)。
A)defineB)gectC)includeD)while
IFcharscanfgo
typeprintfcasepow
2.下面四个选项中,均是合法整型常量的选项是(A)。
A)160B)-0xcdfC)-01D)-0x48a
-0xffff01a986,0122e5
0110xe06680x
<<02>>B>>2
3.下面四个选项中,均是不合法的转义符的选项是(B)。
A)'\"'B)'\1011'C)'\011'D)'\abc'
'\\''\''\f''\101'
'xf''\A''\}''x1f'
4.下面不正确的字符串常量是(A)。
A)'abc'B)"12'12"C)"0"D)""
5.以下选项中不合法的用户标识符是(A)。
A)abc.cB)fileC)MainD)PRINT
6.C语言提供的合法关键字是(D)。
A)swith
B)cher
C)Case
).Default
7.下列标识符组中,合法的用户标识符为A
A)_0123与ssiped
B)del-word与signed
C)list与*jer
D)keep%与wind
8.在C语言中,逻辑值"真"的表示是用(C)。
A)trueB)整型值0C)非另整型值D)T
9若有以下定义
chars='\092';
则该语句(B)
A)使s的值包含一个字符B)定义不合法,s的值不确定
C)使s的值包含4个字符D)使s的值包含3个字符
10设C语言中,int类型数据占2个字节,则float类型数据占(D)个字节。
A)1B)2C)8D)4
11已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3'后,c2中的值为(A)。
A)DB)68C)不确定的值D)C
12逻辑运算符两侧运算对象的数据类型是(D)。
A)只是0或1B)只能是0或非0正数
C)只能是整型或字符型数据D)可以是任何合法的类型数据
13TURBOC中int类型变量所占字节数是(B)。
A)1B)2C)3D)4
14在C语言中,char型数据在内存中的存储形式是(D)。
A)补码B)反码C)原码D)ASCII码
15若有以下定义,则能使值为3的表达式是(D)。
intk=7,x=12;
A)x%=(k%=5)B)x%=(k-k%5)C)x%=k-k%5D)(x%=k)-(k%=5)
16判断char型变量c1是否为小写字母的正确表达式为(D)。
A)'a'<=c1<='z'B)(c1>=A.&&(c1<='z')
C)('a'>=c1)||('z'<=c1)D)(c1>='a')&&(c1<='z')
17已知各变量的类型说明如下:
intk,a,b;
unsignedlongw=5;
doublex=1.42
则以下不符合C语言语法的表达式是(A)。
A)x%(-3)
B)w+=-2
C)k=(a=2,b=3,a+b)
D)a+=a-=(b=4)*(a=3)
若t为double类型,表达式t=1,t+5,t++的值是(D)。
A)1B)6.0C)2.0D)1.0
设n=10,i=4,则赋值运算n%=i+1执行后,n的值是(A).
A)0
B)3
C)2
D)1
设Intn=3;则有表达式++n,n的结果是(C)。
A)2B)3C)4D)5
用十进制形式输入有符号整数时,在scanf函数语句里格式字符为(AB)。
A)dB)iC)nD)u
在scanf函数语句中可用的修饰符有(ABCD)。
A)*B)hC)lD)宽度
1数据是操作的对象,操作的结果会改变数据的状况。
对
2字符型变量用来存放字符常量,注意只能放2个字符。
错
3C语言中可以把一个字符串赋给一个字符变量。
错
4在C语言中的实型变量分为两种类型,它们是float(实型)和double(双精度实型)。
错
5在C语言中,要求参加运算的数必须是整数的运算符是%.对
6若有以下定义,则执行下面表达式y+=y-=m*=y后,y的值为-6。
intm=5,y=2;对
7输入语句的格式为:
scanf("%d%d%d",&a,&b,&c);是正确的。
对
8在scanf("%d,%d",&a,&b)函数中,可以使用一个或多个空格作为两个输入数之间的间隔。
错
9getchar函数的功能是接收从键盘输入的一串字符。
错
10在变量说明中给变量赋初值的方法是:
inta=b=c=10;错
12printf函数是一个标准库函数,它的函数原型在头文件"stdio.h"中。
对
13printf函数称为格式输入函数,它的函数原型在头文件"stdio.h"中。
错
14在printf函数中,不同系统对输出表列的求值顺序不一定相同,TC是按从右到左进行的。
对
15若intx=3;printf("%d",&x);则系统会报错,没有任何结果。
错
16逻辑运算符的优先级别高于算术运算符错
1在C语言中,表示逻辑"真"值用【1】.
2表达式pow(2.8,sqrt(double(x)))值的数据类型为(doubt)。
3假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是【8】。
4若x是int型变量,则执行下面表达式后,x的值为【12】。
x=(a=4,6*2)
5若k为int整型变量且赋值7,请写出赋值表达式k*=k+3的运算结果【70】。
6scanf函数是一个标准库函数,它的函数原型在头文件【stdio.h】中。
7getchar函数可以接收【单】个字符,输入数字也按字符处理。
8在语句中,给变量赋值时,赋值语句必须以【分号】结尾。
9当a=3,b=2,c=1时,表达式f=a>b>c的值是【0】
10设x,y,z均为int型变量,请写出描述"x,y中有一个为负数"的表达式【x<0&&y>=0||y<0&&x>=0】
11若a=6,b=4,c=3,则表达式a&&b||b-c的值是【1】
12设x=3,y=-4,z=5,则表达式!
(x>y)+(y!
=z)||(x+y)&&(y=z)的值是【1】
基础二
1下面四个选项中,均是非法常量的选项是(A)。
A)'as'B)'\\'C)-0x18D)0xabc
-0fff'\01'01177'\0'
'\0a'12,4560xf"a"
2下面四个选项中,均是不合法整型常量的选项是(D)。
A)-0f1B)-0xcdfC)-018D)-0x48eg
-0xffff017999-068
001112,4565e203f
3下面正确的字符常量是(C)。
A)"c"B)'\\''C)'W'D)'
4以下每个选项都代表一个常量,其中正确的整型常量是(B)。
A)1.2B)-20C)1,000D)456
5以下选项中不合法的用户标识符是(C)。
A)_123B)PrintfC)A$D)Dim
6在下列C语言程序中,可以用做变量名的是(B)。
A)1
B)a1
C)int
D)*p
7C语言提供的合法数据关键字是(A)。
A)float
B)Sagned
C)Integer
D)Char
8以下符号中不能用作用户标识符的符号是(B)。
A)_256B)void
C)scanfD)Struct
9若k为int型变量,则以下语句(C)。
k=8567;
printf("|%-06d|\n",k);
A)输出格式描述不合法B)输出为|008567|
C)输出为|8567|D)输出为|-08567|
10sizeof(float)是(B)。
A)一个双精度表达式B)一个整型表达式
C)一种函数调用D)一个不合法的表达式
11在C语言中,int、char和short三种类型数据在内存中所占用的字节数(D)。
A)由用户自己定义B)均为2个字节
C)是任意的D)由所用机器的机器字长决定
12判断char型变量c1是否为小写字母的正确表达式为(D)。
A)'a'<=c1<='z'B)(c1>=A.&&(c1<='z')
C)('a'>=c1)||('z'<=c1)D)(c1>='a')&&(c1<='z')
13以下叙述中正确的是(B)。
A.a是实型变量,C语言允许进行以下赋值a=10,因此可以这样说:
实型变量中允许存放整型值
B.在赋值表达式中,赋值号右边即可以是变量也可以是任意表达式
C.执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0
D.已有a=3,b=5当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3
14表达式18/4*sqrt(4.0)/8值的数据类型为(C)。
A)intB)floatC)doubleD)不确定
15下列运算符中,不属于关系运算符的是(C)。
A)=C)!
D)!
=
16若希望当A的值为奇数时,表达式的值为真,A的值为偶数时,表达式的值为假,则以下不能满足要求的表达式是(C)。
A)A%2==1B)!
(A%2==0)C)!
(A%2)D)A%2
17已知各变量的类型说明如下:
inti=8,k,a,b;
unsignedlongw=5;
doublex=1.42,y=5.2;
则以下符合C语言语法的表达式是(A)。
A)a+=a-=(b=4)*(a=3)
B)a=a*3=2
C)x%(-3)
D)y=float(i)
18若变量已正确定义并赋值,下面符合C语言语法的表达式是(B)。
A)a=a+7;B)a=7+b+c,a++C)int12.3%4D)a=a+7=a+b
19逗号表达式(a=3*5,a*4),a+15的值为(C)。
A)15B)60C)30D)不确定
20设Intn=3;则n++的结果是(B)。
A)2B)3C)4D)5
1用小数或指数形式输入实数时,在scanf函数语句里格式字符为(BCD)。
A)iB)fC)eD)g
2可以使用(CD)输入字符型数据。
A)putchar(c);B)getchar(c);C)getchar();D)scanf("%c",&c);
1C语言中数据有常量与变量之分。
2一般一个字符变量在内存中占一个字节。
3C语言规定,可以在定义变量时,同时使变量初始化。
4把k1、k2定义成基本整型变量,并赋初值0的定义语句是intk1=k2=0;。
错
5如果i的原值为3,则:
j=++i,j的值为3。
错
6凡是表达式都有一个值。
7输入语句的格式为:
scanf("%d,%d,%d",a,b,c);是正确的。
错
8在scanf("%d,%*d,%d",&a,&b)函数中,当输入为1,2,3时,将1赋给a,将2赋给b。
错
9getchar函数的功能是接收从键盘输入的一个整数。
错
10假定变量a,b,c在说明时已赋初值,则if((a=b;)>0)c=a;是正确的。
错
11
12printf函数是一个标准库函数,它的函数原型在头文件"string.h"中。
错
13在printf函数中,格式字符d的意义是:
以十进制形式输出带符号整数。
14在printf函数中,输出表列的各输出项之间可用冒号分隔。
错
15若intx=3;printf("%d",&x);则系统不会报错,会输出x的地址。
16inta=0,b=1,c=2;则表达式a||b+c&&b==c的值为0
1若有以下定义:
charc='\010';则变量C中包含的字符个数为
(1)。
2若有以下定义:
intx=3,y=2;floata=2.5,b=3.5;则下面表达式的值为【1】。
(x+y)%2+(int)a/(int)b
3若a是int型变量、且a的初值为6,则执行下面表达式后,a的值为【60】。
a+=a-=a*a
4若x是int型变量,则执行下面表达式后,x的值为【4】。
x=a=4,6*2
5若a是int型变量,且a的初值为6,则计算表达式后a的值为【60】。
a+=a-=a*a
6scanf函数的地址表列中给出各变量的地址,地址是由【地址运算符"&"】后跟变量名组成的。
7使用getchar函数接收字符,若输入多于一个字符时,只接收第【一】个字符。
8C语言的格式输出函数是【printf()】。
9当a=5,b=4,c=2时,表达式a>b!
=c的值是【1】
10已知A=7.5,B=2,C=3.6,表达式A>B&&C>A||A
C>B的值是【0】
11若a=3,b=2,c=1,则表达式a-b12有inta=0,b=4,c=5;则表达式a||b+c&&b!
=c的值为【1】
基础三
1下面四个选项中,均是不合法的用户标识符的选项是(C)。
A)AB)floatC)b-aD)_123
p_0laogototemp
do_AintINT
2下面四个选项中,均是不合法浮点数的选项是(B)。
A)160.B)123C)-018D)-e3
0.122e4.2123e4.234
e3.e50.01e3
3下面四个选项中,均是不正确的八进制或十六进制数的选项是(D)。
A)016B)0abcC)010D)0a12
0x8f017-0x117ff
0180xa0x16-123
4以下每个选项都代表一个常量,其中不正确的实型常量是(B)。
A)2.607E-1B)0.8103e2C)-77.77D)45.6e-2
5可用作用户标识符的一组标识符是(B)。
A)voidB)a3_b3C)ForD)2a
define_xyz-abcDO
WORDIFCasesigeof
6下列标识符组中,合法的用户标识符为(B)。
A)PAd与p#d
B)Scanf与a10
C)void与max
D)A*与temp
7(B)是C语言提供的合法的数据类型关键字。
A)FloatB)signedC)integerD)Char
8以下选项中正确的常量是(B)。
A)012
B)-20
C)1,000
D)456
9现已定义整型变量inti=1;
执行循环语句while(i++<5);后,i的值为(B)。
A)1B)5C)6D)以上三个答案均不正确
10设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为(C)。
A)intB)floatC)doubleD)不确定
11若有说明语句:
charc='\72';则变量c(C)。
A)包含1个字符B)包含2个字符
C)包含3个字符D)说明不合法,c的值不确定
12设X、Y、Z都是int整型变量,且x=2,y=3,z=4,则下面的表达式中,值为0的表
达式是(A)。
A)'x'&&'z'B)(!
y==1)&&(!
z==0)
C)(xz||1D)x||y+y&&z-y
13以下叙述中正确的是(B)。
A)在C程序中无论是整数还是实数,只要在允许的范围内都能准确无误的表示
B)若在定义语句doublea,b;之后,因为变量a,b已正确定义,因此立刻执行这样的表达式:
a=b+9.381是正确的
C)在C程序中,常量、变量、函数调用,都是表达式的一种
D)在main函数中,变量一经定义,系统将自动赋予初始值
14设有说明:
charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为(C)。
A)floatB)charC)intD)double
15设a=2,b=3,c=4,则表达式a+b>c&&b==c&&a||b+c&&b+c的值为(D)。
A)5B)8C)0D)1
16在C语言中,逻辑值"真"的表示是用(D)。
A)trueB)整型值0C)非另整型值D)T
17以下不正确的叙述是(C)。
A)在C程序中,逗号运算的优先级最低
B)在C程序中,APH和aph是两个不同的变量
C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
18以下结果为整型的表达式(设有inti;charc;floatf;)是(D)。
A)i+fB)i*cC)c+fD)i+c+f
19设有逗号表达式(a=3*5,a*4),a+15,a的值为(B)。
A)60B)30C)15D)90
20设Intn=3;则有表达式n++,n的结果是(C)。
A)2B)3C)4D)5
1若在scanf函数语句中没有非格式字符作输入数据的间隔,则可用(ACD)。
作为输入数据的间隔。
A)空格B)逗号C)TABD)回车
2使用scanf函数时,在源程序开头(ABC)。
A)书写#include"stdio.h"B)书写#include
C)不必写#includeD)书写#include"scanf.h"
1C语言规定标识符只能由字母、数字和小数点三种字符组成。
2C语言使字符型数据和整型数据之间可以通用。
一个字符数据既可以以字符形式输出,也可以以整数形式输出。
对
3C语言中定义了一个变量,代表内存中的一个地址。
对
4表达式3.5+1/2+56%10的计算结果是7.5。
5由赋值运算符将一个变量和一个表达式连接起来的式子称为"赋值表达式"。
对
6设C语言中,一个int型数据在内存中占2个字节,则int数据的取值范围为-32768-32769。
7在使用scanf函数之前应包含头文件"math.h"。
8在scanf("%c%c",&c1,&c2)函数中,当输入为字符a,b时,将a赋给c1,将b赋给c2。
9scanf函数中,如果格式控制串中有普通字符则输入时也要输入该普通字符。
10假定变量x,y,z在说明时已赋初值,则if((x=y+5)>0)z=x;是正确的
11printf函数中的格式字符,既可以是大写形式,也可以是小写形式。
12在printf函数中,格式字符"%5c"可用来输出5个字符。
13在printf函数中,格式字符s的意义是:
输出单个字符。
14在printf函数中,输出项可以是任意合法的表达式。
15算术运算符的优先级别高于关系运算符
16inta=0,b=1,c=2,x,y;,则!
(x=a)&&(y=b)&&c的值为1
1若x和n均是int型变量,且x的初值为12,n的初值为5,则执行下面表达式后,x的值为(0)。
x%=(n%=2)
2假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为【9】。
3若a是int型变量,则执行下面表达式后,a的值为【2】。
a=25/3%3
4表达式1/3*3的计算结果是【0】。
5若a是int型变量,则计算表达式后a的值为【2】。
a=25/3%3
6在输入字符数据时,若"格式控制字符串"中没有非格式字符,则认为所有输入的字符均为【有效】字符。
7在scanf函数中,【&a】表示变量a的地址。
8以下程序的运行结果是【computer,com】。
main()
{printf("%s,%5.3s","computer","computer");}
9在C语言中,表示逻辑"真"值用【非零数】
10若a=6,b=4,c=2,则表达式!
(a-b)+c-1&&b/3+c/2的值是【1】
11设a=-1,b=0,c=1,则表达式a||b+c&&b==c的值是【1】
12有inta=3,b=4,c=5,x,y;,则以下表达式的值为【0】
!
(x=a)&&(y=b)&&c
基础四
1以下符号中不能用作用户标识符的符号是()。
A)_256B)void
C)scanfD)Struct
2下面四个选项中,均是合法浮点数的选项是()。
A)+1e+1B)-.60C)123eD)-e3
5e-9.412e-41.2e-.4.8e-4
03e2-8e5+2e-15.e-0
3下面四个选项中,均是正确的八进制或十六进制数的选项是()。
A)-1aB)0abcC)0010D)0a12
0x8f-0170x11-0x123
-0110xc0xf1-0xa
4以下选项中,为C语言合法的关键字是()。
A)swicthB)cherC)CaseD)default
5C语言提供的合法的数据类型关键字是()。
A)DoubleB)shortC)integerD)Char
6下列标识符组中,合法的用户标识符为()。
A)b-b与abc
B)CCP与float
C)hiy与
D)isw与INT
7属于合法的C语言长整型常量的是()。
A)5876273B)0LC)2E10D)(Long)5876273若int类型数据占两个字节,下8列程序的输出结果是()。
main()
{
intk=-1;
printf("%d,%u\n",k,k);
}
A)-1,-1B)-1,32767C)-1,32768D)-1,65535
9设已定义x为double类型变量
x=213.82631;
printf("%-6.2e\n",x);
则以上语句()。
A)输出格式描述符的域宽不够,不能输出B)输出为21.38e+01
C)输出为2.14e+02D)输出为-2.14e2
10执行x=5>1+2&&2||2*4<4-!
0后,X的值为()。
A)-1B)0C)+1D)5
11设ch是字符变量,其值为A,且有下面的表达式ch=!
(ch>='A'&&ch<='z')?
ch:
(ch+32)则表达式的值是()
A)AB)aC)2D)z
12设ch是char型变量,其值为Z,且有下面的表达式,其值为()。