C语言第二章习题

合集下载

c语言第二章习题

c语言第二章习题

第二章练习题一、填空题1、在C语言中的实型变量分为两种类型,它们是float型和()型。

2、若有定义:char c='\010';则变量c中包含的字符个数为()3、已知字母a的ASCII码为十进制数97,且设ch为整型变量,则表达式ch='a'+'8'-'3'的值为()4、在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为()个;一个int型数据在内存中所占的字节数为()个。

5、在C语言中,表示逻辑“假”值用数字()表示。

6、C语言中的标识符只能由字母、数字和()三种字符组成。

7、表达式8/4*(int)(2.5)/(int)(1.25*(3.7+2.3))的值为()8、整型常量即整常数。

可用三种形式表示:十进制整数、八进制整数以()开头、十六进制整数以()开关(注:请用小写字母)9、请将75写成C语言八进制和十六进制表示(),()。

10、若有定义:int m=5,y=2;则计算表达式y+=y-=m*=y后的y值是()11、若a是int型变量,则表达式(a=4*5,a*2),a+6的值为()。

12、若a,b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为(),b值为(),c值为()。

13、若a是int型变量,且a的初值为6,则计算表达式a+=a-=a*a后a的值为()14、若a是int型变量,则计算表达式a=25/3%3 后a的值为()15、若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为(),n的值为()16、若有定义:int b=7;float a=2.5,c=4.7;则下面表达式的值为()a+(int)(b/3*(int)(a+c)/2)%417、若有以下定义:int a=2,b=3;float x=3.5,y=2.5;则下面表达式的值为()(float)(a+b)/2+(int)x%(int)y18、若有定义:int x=3,y=2;float a=2.5,b=3.5;则下面表达式的值为()(x+y)%2+(int)a/(int)b19、所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为()20、若有定义:int e=1,f=4,g=2;float m=11.29,n=4.0,k;则计算赋值表达式k=(e+f)/g+sqrt(n*1.2/g+m)后k的值是()21、若x为int型变量,则执行以下语句后x的值是()x=7; x+=x-=x+x;22、当a=3,b=2,c=1时,表达式f=a>b>c的值是()23、已知A=7.5,B=2,C=3.6,表达式A>B&&C>A||A<B&&!C>B的值是()24、若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b-c*2的值是()25、若a=1,b=4,c=3,则表达式!(a<b)||!c-3&&!a+c-b的值是( )26、若a=6,b=4,c=3,则表达式a&&b-c-1||!(c-3)的值是( )27、设a=3,b=4,c=5,则表达式a||b+c&&b==c的值是( )28、当m=2,n=1,a=1,b=2,c=3时,执行完d=(m=a!=b)&&(n=b>c)后,n的值为( ),m的值为( )29、有int x,y,z;且x=3,y=-4,z=5,则表达式x-3&&y==(!x-3||z-5)的值为()30、以下程序的运行结果是()main(){if (2*2==5<2*2==4)printf("T");elseprinft("F");}31、若a=1,b=2,c=3,d=4,则表达式a>b?a:c>d?c:d的值为()32、以下程序的运行结果是()#inclue <stdio.h>main( ){ int x=1,y,z:x*=3+2; printf("%d,",x);x*=y=z=5; printf("%d,",x);x=y==z; printf("%d\n",x);}33、若运行时输入:100<回车>时,则以下程序的运行结果是()main(){ int a;scanf("%d",&a);printf("%s",(a%2!=0)?"no":"yes");}34、已有定义int i,j;float x;为将-10赋给i,12赋给j,410.34赋给x;则对应以下scanf函数调用语句的数据输入形式是()scanf("%d,%d,%f",&i,&j,&x);35、在printf函数中,以八进制形式输出整数用%()格式,以十六形式输出整数用%()格式。

全国计算机等级考试二级C语言课后习题

全国计算机等级考试二级C语言课后习题

第二章C程序设计的初步知识一、选择题1。

以下选项中正确的整型常量是().A.12。

B.-20 C。

1,000 D。

4 5 62。

以下选项中正确的实型常量是( )。

A。

0 B。

3。

1415 C.0.329×102 D. .8713。

以下选项中不正确的实型常量是()。

A.2。

607E-1B.0.8103e 2C.—77。

77 D。

456e—24。

以下选项中不合法的用户标识符是()。

A。

abc.c B。

file C。

Main D。

PRINTF5. 以下选项中不合法的用户标识符是()。

A._123B.printfC.A $D.Dim6。

C语言中运算对象必须是整型的运算符是()。

A。

% B。

/ C.! D.**7.可在C程序中用作用户标识符的一组标识符是()。

A。

void define WORD B.as_b3 _123 IfC。

For -abc case D.2c DO SIG8。

若变量已正确定义并赋值,符合C语言语法的表达式是()。

A。

a=a+7; B.a=7+b+c,a++ C.int(12.3%4) D.a=a+7=c+b9。

以下叙述中正确的是()。

A.a是实型变量,C允许进行赋值a=10,但可以这样说:实型变量中允许存放整型值B.在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式C.执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0D。

已有a=3,b=5,当执行了表达式a=b,b=a之后,使a中的值为5,b中的值为310.以下叙述中正确的是()。

A。

在C程序中无论是整数还是实数,只要在允许的范围内部都能准确无误的表示B。

C程序由主函数组成C.C程序由若干函数组成D.C程序中只允许包含一个函数11。

VC6。

0中int类型变量所占字节数是()。

A。

1 B。

2 C。

3 D。

412.合法的八进制数是()。

A。

0 B.028 C.—077 D。

C语言基础练习题(含答案)(2)

C语言基础练习题(含答案)(2)
{
int k;
scanf(”%d”, &k);
switch(k)
{ case 1: printf(”%d\n”, k++);
case 2: printf(”%d\n”, k++);
case 3: printf(”%d\n”, k++);
case 4: printf(”%d\n”, k++);
D.switch (grade)
{ case ’C’ :printf(”<60\n”);
break;
case ’B’ :printf(”60——84\n”);
break;
default: printf(”grade is error!\n”);
C.!(x%2) D.x%2
12.已知 x=45, y=’a’, z=0; 则表达式(x>=z && y<’z’ || !y)的值是()。
A.0 B.语法错
C.1 D.“假”
第二章 选择结构
2.1 选择题
1. 已有定义:int x=3, y=4, z=5; 则表达式!(x+y)+z-1 && y+z/2的值是()。
A.6 B.0 C.2 D.1
2. 设a=5,b=6,c=7,d=8,m=2,n=2, 则执行(m=a>b) && (n=c>d)后n的值为()。
#include ”stdio.h”
main()
{ int a=1;
if (a++>1) printf(”%d\n”, a);

C语言程序设计第2章数据类型与运算练习题及解答

C语言程序设计第2章数据类型与运算练习题及解答

C语⾔程序设计第2章数据类型与运算练习题及解答第2章数据类型和运算符习题及解答⼀.选择题。

1.下列是⽤户⾃定义标识符的是A)_w1 B)3_xy C)int D)LINE-3答案:A解析: C语⾔规定⽤户标识符由英⽂字母、数字和下划线组成,且第⼀个字符必须是字母或下划线,由此可见选项B),D)是错的;此外,C语⾔不允许⽤户将关键字作为标识符,⽽选项C)选项项中的int 是C语⾔的关键字。

语⾔中最简单的数据类型包括A)整型、实型、逻辑型 B)整型、实型、字符型C)整型、字符型、逻辑型 D)字符型、实型、逻辑型答案:B解析:本题考查C语⾔的数据类型。

在C语⾔中,没有专门的逻辑型数据类型,可以⽤0和1来表⽰逻辑值。

所以,在本题的选择答案中,不应该包括逻辑型。

3.假定int类型变量占⽤两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是A)3 B)6 C)10 D)20答案:D解析: x数组共有10个元素,在花括弧内只提供3个初值,这表⽰只给前⾯的3个成员赋值,后7个元素的值为0,所以,⼀共有20个字节。

4.以下选项中不正确的实型常量是A) B) C) D)234e-2答案:B解析:实型常量表⽰时字母E或e前必须有数字,其后数字必需为整数,故B错。

5.若变量已正确定义并赋值,以下符合C语⾔语法的表达式是A)a:=b+1 B)a=b=c+2 C)int %3 D)a=a+7=c+b答案:B解析:选项A)中包含⼀个不合法的运算符“:=”;选项C)应改为(int)%3;选项D)可理解为两个表达式:a+7=c+b和a=a+7,其中第⼀个是错的,因为C语⾔规定赋值号的左边只能是单个变量,不能是表达式或常量等。

因此,正确答案是选项B),它实际上相当于a=(b=c+2),进⽽可分解为两个表达式:b=c+2和a=b。

6.下列可⽤于C语⾔⽤户标识符的⼀组是A)void, define, WORD B)a3_b3, _123,CarC)For, -abc, IF Case D)2a, DO, sizeof答案:B解析: C语⾔规定标识符只能由字母、数字和下划线三种字符组成,且第⼀个字符必须为字母或下划线,排除选项C)和D)。

C语言2基本语法规则练习题2

C语言2基本语法规则练习题2

C语言2基本语法规则练习题2第二章基本语法规则2.1数据类型、运算符、表达式一、选择题1.C语言中确定数据存储的格式、范围与有效位数的依据是A.数据正负B.数据范围C.数据类型D.数据大小2.一般说在C语言中字符型数据、整型数据、单精度浮点型及双精度浮点型数据的存储长度分别为A.2、4、8、1B.4、2、1、8D.1、4、2、8B.竖向跳格D.换行C.1、2、4、83.转义字符“\\t”表示A.横向跳格,即跳到下一个输出区C.退格4.以下叙述不正确的是A.C语言中的常量分别为整型常量、浮点常量、字符常量、符号常量B.整型常量在C语言中有十进制、八进制和十六进制等3种不同形式C.C语言中,变量必须先定义后使用D.变量被定义后,变量名是固定的,变量的值在程序运行过程中是不可以随时被改变的5.以下叙述不正确的是A.C语言中的字符常量是用一对单引号('')括起来的单个字符B.字符串常量是用一对双引号(““)括起来的字符序列C.字符型数据与整型数据之间不可以通用。

D.为了便于判断字符串是否结束,系统会自动在最后一个字符后面加上一个转义字符(\\0)6.在赋值语句中用来将运算表达式的值赋给变量的“=”称为A.等号B.赋值运算符C.关系运算符D.逻辑运算符7.设a=12,n=3,则执行表达式a%=n+3后a的值为A.3B.0C.6D.12D.3D.4D.1198.设,A=0,B=1表达式!A&&B的值是A.1B.0C.29.在16位PC机环境下,字符串“A”应占的字节数为A.2B.1C.010.采用十进制数为表示方法,则077是A.77B.112C.6311.设某为float型变量,y为double型变量,a为int型变量,b 为long型变量,c为char型变量,则表达式某+y某a/某+b/y+c计算结果的类型为A.intB.longC.doubleD.char12.设a,c为int型变量,进行a=(c=5,c+5,c/2)运算后的结果为A.2B.5C.2.5D.013.在C语言中,表示逻辑“真”和“假”的值分别是A.0、1B.1、2C.1、014.C语言中表示a小于b或小于c的表达式为A.ac&&b>cB.a>c||b>cC.a>b||b>cD.a>b&&b>c16.a和b中有一个小于c的表达式为A.aB.aD.0和3D.1和1D.2D.35D.2、117.若有a=2,b=3,c=4,则表达式a==3和a=3的值分别为A.0和0B.1和3C.3和318.表达式!(1<3)||(2>5)和!(4<=8)&&(7>=3)的值分别为A.1和0B.0和0C.0和1某19.设a=4,计算表达式a=1,a+5,a++的值为A.1B.5C.1020.设某=4,y=8,计算表达式y=(某++)某(--y)的值为A.28B.32C.4021.设有语句chara=`\\72`;则变量包含的字符数为A.3B.2个C.1D.422.设有说明语句:chara='\\123abc';则变量a包含的字符数为A.4B.6C.5D.723.下列叙述正确的是A.赋值语句中的“=”是表示左边变量等于右边表达式B.赋值语句中左边的变量值不一定等于右边表达式的值C.赋值语句是由赋值表达式加上分号构成的D.某+=y;不是赋值语句24.下列选项中,可以作为C语言标识符的是A.3tuB.#tuC.tu3D.tu.3D.tudent3D.13.8eD.chard;25.下列选项中,不可以作为C语言标识符的是A.numB.turbo_cC.print26.下列选项中,不可以作为C语言常量的是A.”abc”B.1/2C.M27.下列选项中,正确的一组语句是A.chara;B.charb;C.charc;a=M;b=55;c=”M”;d=”55”;28.已知字母b的ASCII码值为98,如ch为字符型变量,则表达式ch=b+5-2的值为A.eB.dC.102D.10029.下列不是字符串常量的是A.“1818\B.“aad”C._abdcD.“a”30.在C语言中,int、char和hort三种类型数据所占用的内存是A.均为2个字节B.由用户定义C.是任意的D.由所用机器的机器字长决定31.设int类型的数据长度为2个字节,则unignedint类型数据的取值范围是A.0至255C.-32768至3276732.以下是不正确的转义字符是A.\\\\B.\\B.0至65535D.-256至255C.\\081D.\\0D.反码33.在C语言中,char型数据在内存中的存储形式是A.原码B.补码C.ASCII码某34.若某为unignedint变量,则执行以下语句后的某值为。

C语言课后习题参考答案(前5章)

C语言课后习题参考答案(前5章)

《C语言程序设计基础》书后习题参考答案(无编程题答案,红色为书上错误)第二章习题一、选择题。

1、在C语言中,要求参加运算的数必须是整数的运算符是()A)% B)/ C)!D)*2、若已定义x和y为double类型,则表达式“x=1.0,y=x+3/2”的值是()A)1 B)2 C)2.0 D) 2.53、若变量已正确定义并赋值,符合C语言语法的表达式是()A)a=a+7; B) a=7+b+c,a++ C) int (12.3/4 ) D) a=a+7=c+b4、若有定义:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为()A)1.0 B)1 C) 2.0 D)25、若x和n均是int型变量,且x的初值为12,n的初值为5 ,则执行表达式x%=(n%=2) 后x 的值为()A) 0 B)1 C) 2 D)36、假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为()A)7 B)8 C)9 D)107、指出下列哪一个选项的程序是错误的()A)#include<stdio.h> B) #include<stdio.h>void main( ) void main( ){int x,y,z; {int x,y,z;x=0;y=x+1; x=0,y=x+1;z=x+y; z=x+y;} }C) #include<stdio.h> D) #include<stdio.h>void main( ) void main( ){int x,y,z; {int x,y,z;x=0;y=x+1, x=0,y=x+1;z=x+y; z=x+y,} }8、若a为整型变量,则以下语句( )a=-2L;printf(“%d\n”,a);A)赋值不合法B)输出值为-2 C)输出为不确定值D)输出值为29、若变量a,i已经正确定义,且i已正确赋值,则合法的语句是()A)i=int(a) B) ++i; C)a=a++=5; D) a=int(i);10、若执行以下程序段后,c3的值为()int c1=1,c2=2,c3;c3=1.0/c2*c1;A)0 B)0.5 C)1 D)211、如下程序的运行结果是()#include<stdio.h>void main( ){ int y=3,x=3,z=1;printf(“%d%d\n”,(++x,y++),z+2);}A) 3 4 B) 4 2 C) 4 3 D) 3 312、以下程序的输入结果为()#include<stdio.h>void main( ){int i=4,a;a=i++;printf(“a=%d,i=%d’,a,i);}A)a=4,i=4 B)a=5,i=4 C)a=4,i=5 D)a=5,i=513、以下程序的输出结果是()#include <stdio.h>void main( ){ int a=5,b=4,c=6,d;printf(“%d\n”,d=a>b?(a>c?a:c):( b); //多了(}A) 5 B) 4 C) 6 D) 不确定14、在C语言中,如果下面的变量都是int类型,则输出的结果是()sum=pad=5;pad=sum++,pad++,++pad;printf(“%d\n”,pad);A)7 B)6 C)5 D)415、已知int i;float f;,正确的语句是()A)(int f)%i; B)int(f)%i; C) int(f%i); D)(int)f%i;16、已知int j,i=1;执行语句j=-i++;后,j的值是()A)1 B)2 C)-1 D)-217、已知各变量的类型说明如下:int k,a,b;unsigned long w=5;double x=1.42;则以下不符合C语言语法的表达式是()A)x%(-3) B)w+=-2 C)k=(a=2,b=3,a+b) D)a+=a-=a*(a=3)18、C语言中运算对象必须是整型的运算符是( )A) %= B) / C) = D)<=19、有以下程序main(){ int m=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m);}程序运行后的输出结果是( )A)12353514 B)12353513 C)12343514 D)1234351320、下面程序的输出结果是()#include<stdio.h>main( ){int x=5,y=3;printf(“%d\n”,y=x/y); }A)0 B)1 C)3 D)不确定的值21、执行下列程序中的输出语句后,a的值是()#include<stdio.h>void main( ){int a;printf(“%d\n”,(a=3*5,a*4,a+5)); }A) 65 B)20 C)15 D)1022、执行下列程序时输入1234567,程序的运行结果为()#include<stdio.h>main( ){int x,y;scanf (“%2d%2ld”,&x,&y);printf(“%d\n”,x+y); }A)17 B)46 C)15 D)923 、已知char a;int b;float c;double d; 则表达式a*b+c-d结果类型为()A) double B)int C)float D) char二、填空题1、若i为int整型变量且赋值为6,则运算i++后的表达式的值是__6__,变量i的值是___7___。

第2章 基本数据类型-习题(C语言)

第2章 基本数据类型-习题(C语言)

第2章基本数据类型一.选择题1.不合法的字符常量是【】。

A) ‘\t’B) “B” C) ‘a’ D)’\x32’2.合法的字符常量是【】。

A) ‘\084’ B) ‘\84’ C) ‘ab’ D)’\x4A’3.C语言提供的合法的数据类型关键字是【】。

A) Float B) Signed C) integer D)char4.属于合法的C语言长整型常量的是【】。

A)2736 B)0L C)2E10 D)(long)58762735.下面选项中,不是合法整型常量的是【】。

A)160 B)-0xcdg C)-01 D)-0x48a6.以下所列的C语言常量中,错误的是【】。

A)0xFF B)1.2e0.5 C)2L D)’\72’7.下面四个选项中,均是不正确的8进制数或16进制数的选项是【】。

A)016 0x8f 018 B)0abc 017 0xaC)010 -0x11 0x16 D)0a12 7ff -1238.下选项中不属于C语言的类型是【】。

A)signed short int B)unsigned long intB)unsigned int D)long short9.判断int x = 0xaffb1。

x的结果是【】。

A)赋值非法 B)溢出 C)为affb D)为ffbc10.下面选项中,是合法浮点数的是【】。

A)+1e0.5 B)-.60 C)123e D)-e311.在C语言中,要求参加运算的数必须是整数的运算符是【】。

A)/ B)* C)% D) =12.在C语言中,字符型数据在内存中存放形式是【】。

A)原码 B)BCD码 C)反码 D)ASCII码13. 下列语句中,不符合语法的赋值语句是【 】 。

A)a=7+b+c=a+7; B)a=7+b++ ;C)a=(7+b,b++,a+7); D)a=7+b,c=a+7;14. 下面非法的C 语言转义字符是【 】。

A)‘\b’ B)‘\0xf’ C)‘\037’ D)‘\’’15. 有字符串如下,"\n\\\407as1\"\xabc",则字符串的长度为【 】A)6 B)7 C)8 D)916. 对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中,正确的是【 】。

C语言第二章习题及详解

C语言第二章习题及详解

C语言第二章习题及详解二、第二章1、设整型变量a的值为2,下列表达式值为1的是__。

(A)A)a%3B)a/3=0C)--a D)a++2.设变量a、b、c已定义并赋值,则下列表达式中符合C语言语法规则的是__。

(B)A)a=5++操作数只能是变量B)a=b=c++C)a=%2D)b=a+1=2左边只能是单个变量,即变量1=变量2=。

3.下列式中,最终运算结果的数据类型不是单精度的表达式是__。

(A)A)(int)(3+3.0)B)1e-3fen:n必须为整数C)(float)(3)D)(int)3.0+3.04.字符串”ab\x41\\34cd\102y”的长度是_A_。

\xhh表示ASCII 码:例\x41,41是16进制的。

字符串含有’\0’。

’\102’也表示ASCII码,但102是8进制的,长度为10,储存空间占11个字节。

A)10B)12C)14D)185、变量是在程序运行过程中可改变的它的三要素是类型、名称、数值6.以下选项中合法的常量是?DA)’Internet’B)E_3变量C)02x D)0xfeL7.以下选项中合法的赋值表达式是?CA)d=8+a+f=d+6同2D B)d=(a+8)++同2AC)d=(8+e,e++,d+9)D)d=7+e++=d+78.main(){int x=5,y=3;float f;f=x/y;表示为整形printf(“f=%f\n”,f);}则程序的输出结果是?f=1.0000009.设整型变量x,y,z均为2,表达式(x++)+(y++)+(z++)的值是_A 先使用值再加加_。

A)6B)7C)8D)910.设int a=3,b=5;float x=7.5,y=3.5;则表达式(float)a+b/2+(int)x%(int)y;的值是6.0__。

*11.执行语句:int a;a=‘1’+1.5;后,正确的叙述是_D_。

A)a的值是字符‘3’B)a的值是浮点型C)不允许字符型和浮点型相加D)a的值是字符’1’的ASCII码值加上112.设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是_B_。

C语言程序设计 – 第 02 章课后习题

C语言程序设计 – 第 02 章课后习题

C语言程序设计– 第二章课后习题电子13-02班王双喜一、选择题1. 下面四个选项中,均是合法整型常量的选项是(A)A. 160,-0xffff,011B. -0xcdf,01a,0xeC. -01,986,012,0668D. -0x48a,2e5,0x2. 设C语言中,一个short int型数据在内存中占2个字节,则unsigned short int型数据的取值范围为(C)A. 0~255B. 0~32767C. 0~65535D. 0~2147483647(解释:unsigned 类型是无符号数,其最小值是0;两个字节能表示216 = 65536种状态,因此其范围便是0~65535)3. 下面四个选项中,均是合法的浮点数的选项是(C)A. 160,0.12,e3B. 123,2e4.2,.e5C. -.18,123e4,0.00D. –e3,.234,1e34. 在C语言中,char型数据在内存中存储的是字符的(D)A. 补码B. 反码C. 原码D. ASCII码5. 若有定义“char c = ‘\72’”(A)A. 包含1个字符B. 包含2个字符C. 包含3个字符D. 不合法,c的值不确定(解释:C程序中,反斜杠“\”是转义字符,按照规定“72”表示的应当是一个八进制数,因此c中存放的是二进制代码为01110010的ASCII(美国标准信息交换码))6. 若有以下定义,则能使其值为3的表达式是(D)int k = 7, x = 12;A. x %= (k %= 5)B. x %= (k - k % 5)C. x %= k - k % 5D. (x %= k) – (k %= 5)7. 执行逗号表达式a = 3, b = 5, a -=a+b,b = a-b之后,a和b的值分别为(D)A. 3和5B. -5和-2C. 8和3D. -5和-10(解释:逗号运算符的计算顺序是从左往右的,且每个表达式的运算完毕后相关变量立即生效)8. 设有定义:char x = 3, y = 6, z;,则执行语句z = x ^ y<<2;后,z的二进制值是(B)A. 00010100B. 00011011C. 00011100D. 00011000(解释:移位运算符优先级高于按位或运算符,因此z = 00011 xor 11000)9. 设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是(B)A. n = (n*100 + 0.5)/100.0B. m = n*100 + 0.5, n = m/100.0C. n=n*100+0.5/100.0D. n = (n/100+0.5)*100.0(解释:要想保留小数点后两位应现将其第三位变成十分位然后再加0.5使其转换成整型变量后能实现四舍五入,而后再除以100.0而不是100是为了防止整个表达式沦为整型表达式而导致小数被舍弃)10. 下列程序执行后的输出结果是(小数点后只写一位)(A)A. 6 6 6.0 6.0B. 6 6 6.7 6.7C. 6 6 6.0 6.7D. 6 6 6.7 6.0# include <stdio.h>main(){double d; float f; long l; int i;i = f = l = d = 20 / 3;printf(“%d %d %f %f \n”, i, l, f, d);}(解释:由于“20 / 3”是操作数都是整型,小数部分将被舍去)11. 若变量已正确定义并赋值,下面符合C语言语法的是(B)A. a := b + 1B. a = b = c + 2C. int 18.5 % 3D. a = a + 7 = c + b(解释:A、C均不合法,D中赋值运算符的左值必须是一个变量)12. 若变量a、i已正确定义,且i已正确赋值,合法的语句是(B)A. a==1B. ++i;C. a = a++ = 5;D. a = int(i);(解释:A没有分号)13. 若有定义:int a = 7; float x = 2.5, y = 4.7;,则表达式x + a % 3 * (int)(x + y) % 2 / 4的值是(A)A. 2.5B. 2.75C. 3.5D. 0.0(解释:按照运算符的优先级不难得出结果;注意当运算符的操作数都是整型时,其结果也是整型)14. 设变量a是整型,f是单精度型,i是双精度型,则表达式10 + ’a’ + i * f值的数据类型为(C)A. intB. floatC. doubleD. 不确定(解释:i是双精度类型,因此整个表达式的类型就是双精度型。

C语言复习题

C语言复习题
第二章顺序结构程序设计 一、 选择题 1、 以下程序输出结果是:C #include <stdio.h> void main() { int x=10,y=20,z; z=x; x=y; y=z; printf("x=%d,y=%d,z=%d",x,y,z); } A、x=10,y=20,z=10 B、x=20,y=40,z=10 C、x=20,y=10,z=10D、x=10,y=20,z=10 2、 以下程序中,为了使变量 a、b、c 的值分别为数据 3、 A、24.5,则不正确的输入格式是:D #include <stdio.h> void main() { int a; char b; float c; scanf("%d%c%f",&a,&b,&c); } A、 3A<回车>24.5<回车> B、 3A24.5<回车> C、 3A<空格>24.5<回车> D、 3<回车>A<回车>24.5<回车> 3、 以下程序运行结果是:D #include <stdio.h> void main() { int s=10,t=20; ++s; t--; printf("%d\n",t-s); } A、10 B、9C、11 D、8 4、 若定义“double s=123.5” , 则正确输出 s 的值所用的语 句为:D A、printf(“s=%d”,s) B、printf(“s=%ld”,s) C、printf(“s=%f ”,s) D、printf(“s=%lf ”,s) 5、 以下程序输出结果是:B #include <stdio.h> void main() { int x=5,y=10; printf("%d,%d\n",x--,y-x); } A、编译错误 B、5,5 C、4,6 D、4 6 6、 以下选项中不是 C 语句的是:D A、i++; B、; C、{a++; b++;} D、scanf(“%d”,&a) 7、 已有定义语句 “float a=32.7;” , 则能正确执行的语句是: C A、printf(“%3.2f\n”,a); B、scanf(“%3.2f ”,&a); C、printf(“%3.1f\n”,a); D、scanf(“%3.2f ”,&a); 8、 若变量都已正确定义, 则能够实现变量 a 与 b 的值互换 的选项是:C A、a=t;t=b;b=a B、a=b;b=a; C、t=a;a=b;b=t; D、t=a;b=t;a=b; 9、 已知华氏温度转换为摄氏温度的公式为 C=5/9(F-32), 若已定义”float f, c;”,则错误的转换语句为:B A、c=(f-32)*5/9; B、c=5/9*(f-32); C、c=(float)5/9*(f-32); D、c=5.0/9.0*(f-32); 10、 以下程序输出结果是:D #include <stdio.h> void main() { int x=100,y=-100; x%=y-2*x; y%=x-2*y; printf("x=%d,y=%d",x,y); } A、x=0,y=100 B、x=0,y=-100

c语言第二章数据类型与数据处理练习题

c语言第二章数据类型与数据处理练习题

A.(m=n=6,m+n,m+1)
B.(m=n=6,m+n,n+1)
C.(m=6,m+1,n=6,m+n)
D.(m=6,m+1,n=m,n+1)
33.假设所有变量均为整型,则表达式(x=2,y=5,y++,x+y)的值是( )。
A.7
B.8
C.6
D.2
34.已知 s是字符型变量,下面不正确的赋值语句是( )。
6. 不属于 C语言关键字的是( )。
A.int
B.break
C.while
D.character
7. 是 C语言提供的合法关键字的是( )。
A.Float
B.signed
C.integer
D.Char
8. 以下不能定义为用户标示符的是( )。
A.scanf
B.Void
C._3com_
D.int
9. 一个 C程序是由( )。
B.x=y=100
C.x++;
D.x=int(z);
37.设 x、y均为 float型变量,则不正确的赋值语句是( )。
A.++x;
B.x*=y-2;
C.y=(x%3)/10;
D.x=y=0;
38.下列语句中符合 C语言的赋值语句是( )。
A.a=7+b+c=a+7;
B.a=7+b++=a+7;
C.a=7+b,b++,a+7
A.2.500000 B.2.750000 C.3.500000
D.0.000000

C语言程序设计习题集第2章-(答案)基本数据类型及顺序结构程序设计

C语言程序设计习题集第2章-(答案)基本数据类型及顺序结构程序设计

word格式-可编辑-感谢下载支持第2章基本数据类型及顺序结构程序设计一、选择题1、以下关于long、int和short类型数据占用内存大小的叙述中正确的是(D)A)均占4个字节B)根据数据的大小来决定所占内存的字节数C)由用户自己定义D)由C语言编译系统决定2、以下选项中不合法的标识符是(C)A)print B)FOR C)&a D)_003、可在C程序中用作用户标识符的一组标识符是(A)A)and B)Date C)Hi D)case_2007 y-m-d Dr.Tom Big14、以下选项中不属于字符常量的是(B )A)'C' B)"C" C)'\xCC0' D)'\072'5、以下选项中,合法的一组C语言数值常量是(B)A)028 B)12. C).177 D) 0x8A.5e-3 0Xa23 4e1.5 10,000-0xf 4.5e0 0abc 3.e56、以下正确的字符串常量是(A)A) "\ \ \" B) ' abc ' C)Olympic Games D) ""7、下列定义变量的语句中错误的是(D)。

A)int _int;B)double int_; C)char For;D)float USS8、下列变量定义中合法的是(A)。

A) short _a=1.le-1;B) double b=1+5e2.5;C) long do=0xfdaL; D) float 2_and=1e-3;9、以下定义语句中正确的是(C)A)int a=b=0 ; B)char A=65+1,b='b';C)float a=1,*b=&a,*c=&b ; D)double a=0.0,b=1.1;10、设有说明语句:char a=’\72’;则变量a(A)。

C语言基础知识习题

C语言基础知识习题

第二章:C语言概述1.以下(○A)是不正确的转义字符。

A.'\\'B.'\"C.'020'D.'\0'2.构成C语言程序的基本单位是(○C)。

A.函数B.变量C.子程序D.语句3.C语言规定:在一个源程序中,main( )函数的位置(C)。

A.必须在最开始B.必须在系统调用的库函数后面C.可以任意D.必须在最后4.为求出return语句返回计算100!的结果,此函数的类型说明应为(D)。

A.intB.longC.unsigned longD.选项A,B,C.都不对:ABC的数值范围都不够5.C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符(C)。

A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母、数字和下划线中的任意一种6.以下选项中合法的用户标识符是(D)。

A.intB.a#C.5memD._2437.C语言中的简单数据类型有(C)。

A.整型、实型、逻辑型B.整型、字符型、逻辑型C.整型、实型、字符型D.整型、实型、字符型、逻辑型8.以下选项中不正确的整型常量是(B)。

A.-37B.32,758C.326D.69.以下选项中合法的C语言字符常量是(A)。

A.'\t'B."A"C.67D. A10.以下选项中不正确的实型常量是(A)。

A.123B.1e4C.3.640E-1D.0.3511.以下选项中合法的C语言赋值语句是(D)。

A.a=b=34B.a=34,b=34C.--i;D.m=(int)(x+y);12.设int类型的数据长度为两个字节,则unsigned int类型数据的取值范围是(B)。

A.0~255B.0~65535C.-32768~32767D.-256~255第三章:运算符与表达式(原先给的答案很多错误)1.以下叙述中不正确的是(B)。

A.在C程序中,%是只能用于整数运算的运算符B.在C程序中,无论整数还是实数,都能准确无误地表示C.若a 是实型变量,C程序中a=20是正确的,因此实型变量允许被整型数赋值D.以上表述都是正确的2.若变量x、y、z均为double类型且已正确赋值,不能正确表示x/y×z的C语言表达式是(A)。

C语言各章作业及练习题

C语言各章作业及练习题

第二章作业题答案1 进制转换(1)7A.3D (或者7A.3DH)(2)01001011.01010111,4B.57 (二进制最前面的“0”可以省去;十六进制也可4B.57H)2 码制转换(1)原码:01010; 真值:+0.1010(2)原码:10110; 真值:-0.01103 设某机器字长为8位:(1)-1(2)-2-7(还可以进一步计算为:-0.0078125)4.浮点数转换为二进制:(A27F)16= (1010001001111111)2阶码补码为:E补=101000,则阶码真值E = -11000 = -24;尾数补码:M补= 1.001111111,尾数真值M = - 0.110000001;则(A27F)16的十进制真值为:- (2-1+2-2+2-9) x 2-24 = -(2-25+2-26+2-33)上面的结果还可以进一步化简写成分数或小数,只写到这一步也可以。

5将十进制数-7.25转换为IEEE754短浮点格式:(1)转换为二进制:(-7.25)10=(-111.01)2(2)规格化:(-111.01)2 = (-1.1101)2 x22(3)计算阶码(移码表示):E移= 127+2 = (129)10 = (10000001) 2(4)短浮点格式:(11000000111010000000000000000000)2 = (C0E80000)166.(1) 1000H,1006H(2) 1002H,2374H(3) E529H7 设当前堆栈状态如图3所示,按字编址,下列各小题分别执行,写出结果:(1)(SP) = 1003H, (R0) = 32H(2)(SP) = 1001H,(R0)=1000H,存储单元1000H~1002H的值分别是30H、1000H、32H。

第六章作业题一、选择题1.某字符显示器,分辨率为25x80,则第2行第5列(序号均从0开始)字符的代码,应存放在基本显示缓存的第()单元中(从0号单元开始)。

C语言第二章习题带答案

C语言第二章习题带答案

1.C语言中的简单数据类型包括( B )。

A.整型、实型、逻辑型B.整型、实型、字符型C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型2.在C语言中,错误的int类型的常数是( A )。

A.32768 B.0 C.037 D.0Xaf3.下列常数中不能作为C的常量的是( D )。

A.0x45 B.2.5e-2 C.3e2 D.05824.设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是( B )。

A.0至255 B.0~65535 C.-32768~32767 D.-256~2555.下面4个选项中,均是合法转义字符的选项是( A )。

A.'\'','\\','\n' B.'\','\017','\'C.'\018','\f','xab' D.'\\0,'101','x1f6.在C语言中,数字029是一个( D )。

A.八进制数B.十六进制数 C.十进制数D.非法数7.下列可以正确表示字符型常数的是( B )。

A."a" B.'\t' C."\n" D.2978.以下( C )是错误的转义字符。

A.'\\' B.'\'' C.'\81' D.'\0'9.C语言中整数-8在内存中的存储形式是( A )。

A.1111 1111 1111 1000 B.100000000000 1000C.000000000000 1000 D.1111 1111 1111 011110.将字符g赋给字符变量c,正确的表达式是( C )。

A.c="g" B.c=101 C.c='\147' D.c='0147' 11.字符串"\\\22a,0\n"的长度是( C )。

C语言 习题二 参考答案

C语言 习题二 参考答案

第二章:C程序的基本结构一、单项选择题1、以下不是C语言的特点的是________。

A)语言的表达能力B)语言定义严格 C)数据结构系统化 D)控制流程结构化2、TC编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是________。

A)编辑和编译 B)编译和连接 C)连接和运行D)编辑和运行3、以下不是二进制代码文件是________。

A)标准库文件 B)目标文件C)源程序文件 D)可执行文件4、下面个选项组中,均属于C语言关键字的一组是________。

A)auto,enum,include B)switch,typedef,continueC)signed,union,scanf D)if,struct,type5、下面四组字符串中,都可以用作C语言标识符的是________。

A)print B)I \am C)signed D)if_maf scanf 3mf ty_prmx_2d mx_ a.f x1#aMb6 AMB A&B 5XY6、以下不属于流程控制语句的是_________。

A)表达式语句 B)选择语句 C)循环语句 D)转移语句7、下面描述中,不正确的是________。

A)C语言的函数体由一系列语句和注释组成。

B)注释内容不能单独写在一行上。

C)C程序的函数说明部分包括对函数名、函数类型、形式参数等的定义和说明。

D)scanf和printf是标准库函数而不是输入和输出语句。

8、下面描述中,正确的是________。

A)主函数的花括号必须有,而子函数中的花括号是可有可无的。

B)一个C程序行只能写一个语句。

C)主函数是程序启动时的唯一入口。

D)函数体包含了函数说明部分。

二、填空题1、一个完整的C程序至少要有一个________函数。

(主函数)2、标准库函数不是C语言本身的组成部分,它是由__________提供的功能函数。

(编译系统)3、C语言是以________为基本单位、整个程序由________组成。

C语言第二章习题

C语言第二章习题

1.以下叙述中错误的是( )。

A) 使用三种基本结构构成的程序只能解决简单问题B) 结构化程序由顺序、分支、循环三种基本结构组成C) C语言是一种结构化程序设计语言D) 结构化程序设计提倡模块化的设计方法2.以下可以将任意一个两位整数n的个位数与十位数对换的表达式为()A) (n-n/10*10)*10+n/10B) n-n/10*10+n/10C) n/10+(n-n/10)D) (n-n/10)*10+(n/10)3.以下叙述中错误的是A) 算法正确的程序可以有零个输入B) 算法正确的程序最终一定会结束C) 算法正确的程序可以有零个输出D) 算法正确的程序对于相同的输入一定有相同的结果4.若有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++) :(y++)中的条件表达式(x-y) 等价的是( )。

A) (x-y<0||x-y>0)B) (x-y<0)C) (x-y>0)D) (x-y==0)5.有以下程序#include <stdio.h>main(){ int a;a = (int)1.99*3;printf("%d\n", a);}程序的运行结果是()A) 3B) 5C) 6D) 结果不确定6.请选出合法的C语言赋值语句:()A) a=b=58 B) i++;C) a=58,b=58 D) k=int(a+b)7.假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式1/abc 的表达式是:()A) 1/a*b*cB) 1/(a*b*c)C) 1/a/b/(float)cD) 1.0/a/b/c8.请选出以下语句的输出结果:()printf("%d\n",strlen("\t\"\065\xff\n"));//srelen()为求字符串长度的函数,返回字节数。

C语言章节习题及答案

C语言章节习题及答案

《C程序设计》复习题集第2章基础概念一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的)2.1以下叙述中正确的是A)C语言比其他语言高级B)C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D)C语言出现的最晚,具有其他语言的一切优点正确答案: C2.2 以下叙述中正确的是A)构成C程序的基本单位是函数B)可以在一个函数中定义另一个函数C)main()函数必须放在其他函数之前D)所有被调用的函数一定要在调用之前定义正确答案: A2.3 以下说法正确的是A)C语言程序总是从第一个函数开始执行B)在C语言程序中,要调用函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分正确答案: C2.4 C语言规定,在一个源程序中,main函数的位置A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后正确答案: C2.5 以下叙述不正确的是A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面正确答案: D2.6 下列叙述中正确的是A)C语言编译时不检查语法B)C语言的子程序有过程和函数两种C)C语言的函数可以嵌套定义D)C语言的函数可以嵌套调用正确答案: D2.7 以下叙述正确的是A)在C程序中,每行中只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误地表示D)在C程序中,%是只能用于整数运算的运算符正确答案: D2.8 下列关于C语言的说法不正确的是A)C语言既具有高级语言的一切功能,也具有低级语言的一些功能B)C语言中的每一条执行语句都必须用分号结束,但分号不是C语言的一部分,是语句之间的分隔符号C)注释可以出现在程序中任意合适的地方D)命令行后面不能加分号,命令行不是C语言的语句正确答案: B2.9 以下说法错误的是A)高级语言都是用接近人们习惯的自然语言和数学语言作为语言的表达形式B)计算机只能处理由0和1的代码构成的二进制指令或数据C)C语言源程序经过C语言编译程序编译之后生成一个后缀为.EXE的二进制文件D)每一种高级语言都有它对应的编译程序正确答案: C2.10 C语言中用于结构化程序设计的3种基本结构是A)顺序结构、选择结构、循环结构B)if,switch,breakC)for,while,do-while D)if,for,continue正确答案: A第3章数据类型运算符与表达式一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的)3.1 C语言提供的基本数据类型包括A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)字符型、实型、逻辑型正确答案: B3.2 C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母,数字和下划线中任一字符正确答案: C3.3 下列可用于C语言用户标识符的一组是A)void, define, WORD B)a3_b3, _123,CarC)For, -abc, IF Case D)2a, DO, sizeof正确答案: B3.4 下面四个选项中,均是不正确的8进制数或16进制数的选项是A)016 0x8f 018 B)0abc 017 0xaC)010 -0x11 0x16 D)0a12 7ff -123正确答案: D3.5 下列数据中,不合法的C语言实型数据的是A)0.123 B)123e3 C)2.1e3.5 D)789.0正确答案: C3.7 若有说明语句:char c='\72';则变量cA)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不确定正确答案: A3.8 有字符串如下,"\n\\\407as1\"\xabc",则字符串的长度为A)6 B)7 C)8 D)9正确答案: D3.9 C语言中运算对象必须是整型的运算符是A)%= B)/ C)= D)<=正确答案: A3.10 若变量已正确定义并赋值,以下符合C语言语法的表达式是A)a:=b+1 B)a=b=c+2 C)int 18.5%3 D)a=a+7=c+b正确答案: B3.11 若变量a,i已正确定义,且i已正确赋值,合法的语句是A)a= =1 B)++i; C)a=a++=5; D)a=int(i);正确答案: B3.12 若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是A)2.500000 B)2.750000 C)3.500000 D)0.000000正确答案: A3.13 若有运算符<<,sizeof,^,&=,则它们按优先级由高至低的正确排列次序是A)sizeof,&=,<<,^ B)sizeof,<<,^,&= C)^,<<,sizeof,&= D)<<,^,&=,sizeof正确答案: B3.14 以下不正确的叙述是A)在C程序中,逗号运算符的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案: D3.15 已知int i,a;执行语句i=(a=3,a++,- -a,a+4,a+5,++a);后,变量i的值为A)2 B)3 C)4 D)5正确答案: C3.16 设变量a是int型,f是float型,i是double型,则表达式10+′a′+i*f值的数据类型为A)int B)float C)double D)不确定正确答案: C3.17 在C语言中,char型数据在内存中的存储形式是A)补码B)反码C)原码D)ASCII码正确答案: D3.18 字符型数据在机器中是用ASCII码表示的,字符’5’和’7’在机器中表示为A)10100011和 01110111 B)01000101和01100011C)00110101和00110111 D)01100101和01100111正确答案: C3.19 不能进行++和- -运算的数据类型为A)指针B)整型C)长整型D)常量正确答案: D3.20 设有int x=11;则表达式(x++*1/3)的值是A)3 B)4 C)11 D)123.21 以下程序的输出结果是main(){ int a=21,b=11;printf("%d\n",- -a+b,- -b+a);}A)30 B)31 C)32 D)33正确答案: A3.22 假设整型变量a,b,c的值均为5,则表达式a+++b+++c++的值为A)17 B)16 C)15 D)14正确答案: C3.23 已知int a=6; 则执行a+=a-=a*a;语句后,a的值为A)36 B)0 C)-24 D)-60正确答案: D3.24 设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是A)n=(n*100+0.5)/100.0 B)m=n*100+0.5,n=m/100.0C)n=n*100+0.5/100.0 D)n=(n/100+0.5)*100.0正确答案: B3.25 sizeof(float)是A)一个双精度型表达式B)一个整型表达式C)一种函数调用D)一个不合法的表达式正确答案: B3.26下列关于字符串的说法中错误的是A)在C语言中,字符串是借助于字符型一维数组来存放的,并规定以字符′\0′作为字符串结束标志B)′\0′作为标志占用存储空间,计入串的实际长度C)在表示字符串常量的时候不需要人为在其末尾加入′\0′D)在C语言中,字符串常量隐含处理成以′\0′结尾正确答案: B3.27 以下变量x,y,z均为double类型且已正确赋值,不能正确表示数学式子x÷y÷z 的C语言表达式是A)x/y*z B)x*(1/(y*z)) C)x/y*1/z D)x/y/z正确答案: A3.28 下列关于语句的说法错误的是A)复合语句是由“{”开头,由“}”结尾的B)复合语句在语法上视为一条语句C)复合语句内,可以有执行语句,不可以有定义语句部分D)C程序中的所有语句都必须由一个分号作为结束正确答案: C二、填空题3.30 以下程序的输出结果是【1】。

《C语言程序设计教程》(第三版)李凤霞 主编——第二章习题答案

《C语言程序设计教程》(第三版)李凤霞 主编——第二章习题答案

第二章:C程序的基本结构一、单项选择题1、以下不是C语言的特点的是________。

A)语言的表达能力B)语言定义严格 C)数据结构系统化 D)控制流程结构化2、TC编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是________。

A)编辑和编译 B)编译和连接 C)连接和运行D)编辑和运行3、以下不是二进制代码文件是________。

A)标准库文件 B)目标文件C)源程序文件 D)可执行文件4、下面个选项组中,均属于C语言关键字的一组是________。

A)auto,enum,include B)switch,typedef,continueC)signed,union,scanf D)if,struct,type5、下面四组字符串中,都可以用作C语言标识符的是________。

A)print B)I \am C)signed D)if_maf scanf 3mf ty_prmx_2d mx_ a.f x1#aMb6 AMB A&B 5XY6、以下不属于流程控制语句的是_________。

A)表达式语句 B)选择语句 C)循环语句 D)转移语句7、下面描述中,不正确的是________。

A)C语言的函数体由一系列语句和注释组成。

B)注释内容不能单独写在一行上。

C)C程序的函数说明部分包括对函数名、函数类型、形式参数等的定义和说明。

D)scanf和printf是标准库函数而不是输入和输出语句。

8、下面描述中,正确的是________。

A)主函数的花括号必须有,而子函数中的花括号是可有可无的。

B)一个C程序行只能写一个语句。

C)主函数是程序启动时的唯一入口。

D)函数体包含了函数说明部分。

二、填空题1、一个完整的C程序至少要有一个________函数。

(主函数)2、标准库函数不是C语言本身的组成部分,它是由__________提供的功能函数。

(编译系统)3、C语言是以________为基本单位、整个程序由________组成。

数据结构(C语言版)习题及答案第二章

数据结构(C语言版)习题及答案第二章

数据结构(C语⾔版)习题及答案第⼆章习题2.1选择题1、线性表的顺序存储结构是⼀种(A)的存储结构,线性表的链式存储结构是⼀种(B)的存储结构。

A、随机存取B、顺序存取C、索引存取D、散列存取2、对于⼀个线性,既要求能够进⾏较快的插⼊和删除,⼜要求存储结构能够反映数据元素之间的逻辑关系,则应该选择(B)。

A、顺序存储⽅式B、链式存储⽅式C、散列存储⽅式D、索引存储⽅式3、已知,L是⼀个不带头结点的单链表,p指向其中的⼀个结点,选择合适的语句实现在p结点的后⾯插⼊s结点的操作(B)。

A、p->next=s ; s->next=p->next ;B、s->next=p->next ; p->next=s ;C、p->next=s ; s->next=p ;D、s->next=p ; p->next=s ;4、单链表中各结点之间的地址( C D)。

A、必须连续B、部分地址必须连续C、不⼀定连续D、连续与否都可以5、在⼀个长度为n的顺序表中向第i个元素(0A、n-iB、n-i+1C、n-i-1D、i2.2填空题1、顺序存储的长度为n的线性表,在任何位置上插⼊和删除操作的时间复杂度基本上都⼀样。

插⼊⼀个元素⼤约移动表中的(n/2)个元素,删除⼀个元素时⼤约移动表中的((n-1)/2)个元素。

2、在线性表的顺序存储⽅式中,元素之间的逻辑关系是通过(物理顺序)来体现的;在链式存储⽅式,元素之间的逻辑关系是通过(指针)体现的。

3、对于⼀个长度为n的单链表,在已知的p结点后⾯插⼊⼀个新结点的时间复杂度为(o(1)),在p结点之前插⼊⼀个新结点的时间复杂度为(o(n)),在给定值为e的结点之后插⼊⼀个新结点的时间复杂度为(o(n))。

4、在双向链表中,每个结点包含两个指针域,⼀个指向(前驱)结点,另⼀个指向(后继)结点。

5、对于循环链表来讲,逐个访问各个结点的结束判断条件是(设P为指向结点的指针,L为链表的头指针,则p->next= =L)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.以下叙述中错误的是( )。

A) 使用三种基本结构构成的程序只能解决简单问题B) 结构化程序由顺序、分支、循环三种基本结构组成C) C语言是一种结构化程序设计语言D) 结构化程序设计提倡模块化的设计方法2.以下可以将任意一个两位整数n的个位数与十位数对换的表达式为()A) (n-n/10*10)*10+n/10B) n-n/10*10+n/10C) n/10+(n-n/10)D) (n-n/10)*10+(n/10)3.以下叙述中错误的是A) 算法正确的程序可以有零个输入B) 算法正确的程序最终一定会结束C) 算法正确的程序可以有零个输出D) 算法正确的程序对于相同的输入一定有相同的结果4.若有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++) : (y++)中的条件表达式(x-y) 等价的是( )。

A) (x-y<0||x-y>0)B) (x-y<0)C) (x-y>0)D) (x-y==0)5.有以下程序—#include <stdio.h>main(){ int a;a = (int)1.99*3;printf("%d\n", a);}程序的运行结果是()A) 3B) 5C) 6D) 结果不确定6.请选出合法的C语言赋值语句:()A) a=b=58 B) i++;C) a=58,b=58 D) k=int(a+b)7.假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式 1/abc 的表达式是:()A) 1/a*b*cB) 1/(a*b*c)C) 1/a/b/(float)cD) 1.0/a/b/c8.请选出以下语句的输出结果:()printf("%d\n",strlen("\t\"\065\xff\n"));//srelen()为求字符串长度的函数,返回字节数。

A) 5 B) 14 C) 8 D) 输出项不合法,无正常输出9.请选出以下语句的输出结果:()printf("%d\n",strlen("\xffff"));A) 1 B) 2 C) 3 D)510.有如下程序段,其输出结果是什么:(<CR>表示输出回车符)()main( ){int a=1,b=3,c=5;if (c=a+b)printf ("yes\n");elseprintf("no\n"); }A) yes<CR> B) no<CR> C) yes\n D) no\n11. 以下说法中正确的是( )A) C语言程序总是从第一个的函数开始执行B) 在C语言程序中,要调用的函数必须在main()函数中定义C) C语言程序总是从main()函数开始执行D) C语言程序中的main()函数必须放在程序的开始部分12.逻辑运算符两侧运算对象的数据类型()A) 只能是0和1B) 只能是0或非0正数C) 只能是整型或字符型数据D) 可以是任何类型的数据13. 以下叙述中错误的是()A)C语句必须以分号结束B)复合语句在语法上被看作一条语句C)空语句出现在任何位置都不会影响程序运行D)赋值表达式末尾加分号就构成赋值语句14.已知a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a>b)&&(n=c<d)后n的值为()A) 2B) 0C) 1D) -115.设变量已正确定义并赋值,以下正确的表达式是( )A) x=y+z+5,++yB) int(15.8%5)C) x=y*5=x+zD) x=25%5.016.若有定义语句:int x=10;,则表达式x-=x+x的值为( )A) 0B) -20C) -10D) 1017.有以下程序#include <stdio.h>main( )—{ int c, d;c = 10^3;d = 10+3;printf("%d,%d\n", c, d);}程序运行后的输出结果是()A) 13,13B) 9,13C) 10,13D) 103,1318.若有定义:int a=7;float x=2.5,y=4.7;则表达式:x+a%3*(int)(x+y)%2/4的值是:()A)2.500000B)2.7500000C)3.500000D)0.00000019.已知x=43,ch=’A’,y=0,则表达式(x>=y&&ch<’B’&&!y)的值是:()A)0B)语法错误C)1D)”假”—20. 若有以下定义和语句:Inta,b;printf(“%d”,(a=2)&&(b=-2));则输出的结果是()A)无输出 B)结果不确定 C)1 D)-121. 以下语句的输出结果是()int a=2,b=3;printf(a>b?”***a=%d”:”###b=%d”,a,b);A)输出结果格式错误 B)***a=2C)###b=2 D)###b=322. 下列运算符中,结合方向为自左向右的是()(A)?:(B),(C)+ = (D)+ +23. 设x、y、z均为int型变量,则执行以下语句后,x、y、z的值为()x=1;y=0;z=2; y++&&++z||++x;A)2、1、3 B)2、0、3 C)2、1、3 D)2、1、224.若有以下定义和语句:int y=10;y+=y-=y-y;则y的值是()A)10 B)20 C)30 D)40—25. 下列表达式中,不满足”当x的值为偶数时值为真,为奇数时值为假”的要求的是()A)x%2==0 B)!x%2!=0C)(x/2*2-x)==0 D)!(x%2)==026.以下能正确定义整型变量a,b和c并为其赋初值1的语句是( )A) int a=b=c=1; B) inta,b,c=1; C) a=b=c=1; D) int a=1,b=1,c=1;27.字符串"\t\065\xff\n"中的字符数(不算’\0’)为( )A) 5 B) 14 C) 8 D) 428.若有以下定义:chara;int b;float c;double d;则表达式a*b+d-c值的类型为( )A) float B) int C) char(字符型) D)double29.在C语言中,运算对象必须是整型数的运算符是( )A) % B) / C) %和\ D) **30.以下选项中,当x为大于1的奇数时,值为0的表达式是( )A) x%2==1 1为真,0为假 B) x/2 C) x%2!=0 D) x%2==031.有以下程序main(){char a='a',b;printf("%c,",++a);—printf("%c\n",b=a++);}程序运行后的输出结果是( )A) b,b B) b,c C) a,b D) a,c32.写出下面程序的值.#include<stdio.h>void main(){int a=10,b=4;printf("%d \n",a%=(b%=3));}A)0 B) 1 C) 10 D)2注连续赋值操作从右向左进行33.设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中值为0的是()A. ?a?&&?b?B. a<=bC. a||b+c&&b-cD. !((a<b)&&!c||1)34. 请选出可用作C语言用户标识符的一组标识符:A) void B) a3_b3 C) For D) 2adefine _123 -abc DOWORD IF Case sizeof35. 若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是:A)1 B)2C)2.0 D)2.536. 有如下程序main(){ int y=3,x=3,z=1;—printf(“%d %d\n”,(++x,y++),z+2);}运行该程序的输出结果是:A) 3 4 B) 4 2 C) 4 3 D) 3 337.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是:A)c=b=a;B)(a=c)‖(b=c);C)(a=c)&&(b=c);D)a=c=b;38. 在以下一组运算符中,优先级最高的运算符是:A)<= B)=C)% D)&&39. 有以下程序#includemain(){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是:A) 2,1 B) 3,2 C) 4,3 D) 2,-140. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为:A)a<>0 B)!aC)a=0 D)a41、以下选项中,能用作数值常量的是________。

(A)o115 (B)0118 (C)115L (D)1.5e1.542、下列叙述中错误的是_______。

(A)一个 C 语言程序只能实现一种算法(B)一个 C 函数可以单独作为一个 C 程序文件存在(C)C 程序可以由一个或多个函数组成(D)C 程序可以由多个程序文件组成43、设变量已正确定义并赋值,以下正确的表达式是_______。

(A)int(15.8%5) (B)x=y+z+5, ++y (C)x=25%5.0 (D)x=y*5=x+z44、以下叙述中错误的是_____________。

—(A)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令(B)C语言源程序经编译后生成后缀为.obj 的目标程序(C)用 C 语言编写的程序称为源程序,它以ASCII 代码形式存放在一个文本文件中(D)C 程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件45、按照 C 语言规定的用户标识符命名规则,不能出现在标识符中的是___________。

(A)大写字母(B)下划线(C)数字字符(D)连接符46、以下选项中,合法的一组 C 语言数值常量是__________。

(A)0x8A 10,000 3.e5 (B).177 4e1.5 0abc (C)028 .5e-3 -0xf (D)12. 0Xa23 4.5e0 7、47以下选项中不合法的标识符是__________。

相关文档
最新文档