文档库 最新最全的文档下载
当前位置:文档库 › c语言练习1

c语言练习1

c语言练习1
c语言练习1

练习1

一、选择题

1、一个C程序是由(B)。

A.一个主程序和若干子程序组成B.一个或多个函数组成

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

2、一个C程序的执行是从( A )。

A.main函数开始,直到main函数结束B.第一个函数开始,直到最后一个函数结束

C.第一个语句开始,直到最后一个语句结束D.main函数开始,直到最后一个函数结束

3、C语言语句的结束符是(B)。

A.回车符B.分号C.句号D.逗号

4、下面标识符中( D )不是C语言的关键字。

A.char B.goto C.case D.include

5、以下说法正确的是(A)

A.C程序的注释可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。

B.C程序的注释只能是一行。

C.C程序的注释不能是中文文字信息。

D.C程序的注释中存在的错误会被编译器检查出来。

6、以下说法正确的是(D)

A.C程序中的所有标识符都必须小写B.C程序中关键字必须小写,其他标识符不区分大小写C.C程序中所有标识符都不区分大小写D.C程序中关键字必须小写,其他标识符区分大小写。

7、设x、y均为float型变量,则以下不合法的赋值语句是(B)

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

解析:运算符%要求两端的操作数必须为整型,而在答案B中%号两端的操作数为x和2,x为实型,所以是错误的。

8、下列不正确的转义字符是(C)

A.' \\ ' B.' \' ' C.' \19 ' D.' \0 '

解析:转义字符是由单引号括起来的带反斜线的字符,这些字符具有特殊的含义,反斜线后可以是数字来代表某个字符,而这些数字只包括两种:八进制(1-3位)和十六进制(1-2位)。十六进制前面要加x(或X),这里的C答案反斜线后是数字,但不是x开头,所以应该是八进制数,但是数值里有9,和八进制数不符,所以是错误的。

9、下列不是C语言常量的是(A)

A.e-2 B.074 C."a" D.' \0 '

解析:C语言的常量分为整型、实型、字符型和字符串。整型常量的书写形式分为十进制、八进制和十六进制,十进制是0~9的数值表示;八进制是以0开头,0~7的数值表示,十六进制是以0x(或0X)开头,0~9与a~f(或A~F)表示。实型常量的书写分为小数形式和指数形式,小数形式指只包含小数点的形式,如:0.056或300.57;指数形式只指用包含e(或E)的书写形式,要求e(或E)的前面必须有数值,后面必须是整数的书写规则。字符型常量指单引号引起来的单个字符或转义字符。字符串常量是指双引号引起的多个字符。这里答案A是实型的指数书写形式,但是这种书写形式要求e前面必须

有数值,后面必须是整数,而这里所以是错误的。

10、设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是(B)

A.0~255 B.0~65535 C.-32768~32767 D.-256~255

11、若定义了int x; 则将x强制转化成双精度类型应该写成(A)

A.(double)x B.x(double)C.double(x)D.(x)double

12、在C语言中,要求参加运算的数必须是整数的运算符是( C )。

A./ B.* C.% D.=

13、为了计算s=10!(即10的阶乘),则s变量应定义为(D)。

A.int B.unsigned C.long D.以上三种类型均可

解析:在TC下,此题答案是C,在VC6.0下此题答案是D,因为两个编译器对int类型数据的空间分配的大小不一样,在TC下是2字节,在VC6.0下是4字节,所以取值范围也就不一样。

14、putchar ( )函数可以向终端输出一个(D)。

A、整型变量表达式值

B、实型变量值

C、字符串

D、字符或字符型变量值

15、已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是(D)(?代表空格,↙代表Enter)

int a1,a2; char c1,c2;

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

A、10?A20B↙

B、10A20?B↙

C、10?A20?B↙

D、10A20B↙

解析:空格是有效字符,所以会被scanf函数正常读取。A答案会将10送给a1,空格送给c1,而A字符不属于a2的读取范围,scanf函数非正常结束,a2与后面的c2都没有正常获取数值;B答案会将10送给a1,A送给c1,20送给a2,空格送给c2,然后scanf函数读取正常结束,后面的B字符将会留给下一输入函数读取;C答案与A答案类似;只有D答案正确地将将10送给a1,A送给c1,20送给a2,B送给c2,然后scanf函数读取正常结束。

16、执行下列程序片段时输出结果是(C)。

int x=13,y=5;

printf("%d",x%=(y/=2));

A、3

B、2

C、1

D、0

解析:这是一个表达式的运算,x%=()是一个赋值表达式,赋值表达式的运算方向是从右向左进行。即先运算表达式y/=2,其运算结果是y=2,再将表达式转换为x%=2,运算此表达式得到最后结果为1 。

17、已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的输入方式是( D )。(?代表空格,↙代表Enter)

int a1,a2; char c1,c2;

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

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

A、1020AB↙

B、10?20↙

C、10?20A?B↙

D、10?20AB↙

AB↙

解析:此题与15题类似,这里的回车符也属于有效字符,所以会被scanf函数正常读取。A答案中的1020后面是字符A,不属于数值,第一个scanf函数读取时将1020看成一个整体送给a1,而后面的A

不属于a2获取类型,这个scanf函数非正常结束,a2没有获取到数值;第二个scanf执行,c1获取到字符A,c2获取到字符B。B答案中的10后面是空格,所以第一个scanf函数现将10送给a1,再将空格后的20送给a2,第一个scanf函数正常结束,第二个函数是读取字符型,这时的缓冲区中首先是回车符,当数字型读取时可以忽略此字符,但是字符型读取却不能忽略,所以scanf函数将回车符送给了c1,将A送给c2,scanf函数正常结束。C答案中10后面是空格,所以第一个scanf函数现将10送给a1,20后面是字符A,所以将20送给a2,第一个scanf函数正常结束;第二个函数是读取字符型,这时的缓冲区中首先是A,scanf函数将A送给c1,A后面的空格送给c2,第二个scanf函数正常结束。D 答案中10后面是空格,所以第一个scanf函数现将10送给a1,20后面是字符A,所以将20送给a2,第一个scanf函数正常结束;第二个函数是读取字符型,这时的缓冲区中首先是A,scanf函数将A送给c1,A后面的B送给c2,第二个scanf函数正常结束。所以D答案是正确的。

18、若运行时输入:12345678↙,则下列程序运行结果为(A)。

#include

void main ( )

{

int a,b;

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

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

}

A、46

B、579

C、5690

D、出错

解析:scanf中的2是指读取数值的位数,所以scanf函数读取前两个数字12送给a,接着读取后面两个数字34送给b,最后读取567三个字符,但是后面没有对应的参数所以不送给任何变量,scanf函数执行结束,所以a+b=12+34=46,所以输出为46。

19、已知i,j,k为int型变量,若从键盘输入:1,2,3↙,使i的值为1,j的值为2,k的值为3,以下选项中正确的输入语句是(C)。(?代表空格,↙代表Enter)

A、scanf("%2d%2d%2d",&i,&j,&k);

B、scanf("%d?%d?%d",&i,&j,&k);

C、scanf("%d,%d,%d",&i,&j,&k);

D、scanf("i=%d,j=%d,k=%d",&i,&j,&k);

解析:根据键盘输入时数据只是用逗号进行分隔的,所以scanf函数中格式符之间的分隔符也必须要用分号,故答案选C。

20、有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,则正确的数据输入方式是(D)。(?代表空格,↙代表Enter)

A、132↙

B、1,3,2↙

C、a=1?b=3?c=2↙

D、a=1,b=3,c=2↙

解析:scanf函数要求非格式字符必须原样键入,所以根据scanf语句,答案应该是D。

二、填空题

1、C语言源程序文件的后缀是__.c__,经过编译后生成目标文件的扩展名是___.obj____,经过连接后生成可执行文件的扩展名是___.exe_____。

2、C程序注释是由___/*___和___*/___所界定的文字信息组成的。

3、源程序的执行要经过__编辑、编译_、____连接_____和___运行___四个步骤。

4、在C语言中(以16位PC机为例),一个char数据在内存中所占字节数为1,其数值范围为-128~+127 ;一个int数据在内存中所占字节数为2,其数值范围为-32768~+32767 ;一个long数据在内存中所占字节数为4,其数值范围为-2147483648~+2147483647 ;一个float 数据在内存中所占字节数为4,其数值范围为0~4294967295。

5、C语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符必须为大小写字

母或下划线。

6、字符常量使用一对单引号界定单个字符,而字符串常量使用一对双引号来界定若干个字符的序列。

7、在C语言中,不同运算符之间运算次序存在优先级的区别,同一运算符之间运算次序存在结合性的规则。

8、字符串"\the\v\\\034Will\n"的长度是__12__。

9、已知有如下定义,写出下列表达式的值。

int a=17,b=5

① a/b ② a%b ③ a&&b ④ a&b ⑤ a^b

__ 3____ __2____ __1____ __1___ __20___

⑥ !a ⑦ a>>2 ⑧ a||b ⑨ a|b ⑩~a<<2

__ 0____ __4____ __1____ __21__ __-72___

10、printf函数和scanf函数的格式说明都使用%字符开始。

11、scanf处理输入数据时,遇到下列情况时该数据认为结束:(1)空格,(2)回车,(3)TAB。

12、已有int i,j; float x;为将-10赋给i,12赋给j,410.34赋给x;则对应以下scanf函数调用语句的数据输入形式是scanf("%d %d %f ",&i,&j,&x); 。

13、C语言本身不提供输入输出语句,其输入输出操作是由函数来实现的。

14、一般地,调用标准字符或格式输入输出库函数时,文件开头应有以下预编译命令:#include

三、程序阅读,写出程序运行结果。

1、#include

void main ( )

{

char c1='a',c2='b',c3='c',c4='\101',c5='\116';

printf("a%c b%c\tc%c\tabc\n",c1,c2,c3);

printf("\t\b%c %c",c4,c5);

}

运行结果:

aa bb cc abc

A N

2、用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1='A',c2='a',问在键盘上如何输入?

#include

void main ( )

{

int a,b;

float x,y;

char c1,c2;

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

scanf("%f %e",&x,&y);

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

}

输入数据:(?代表空格,↙代表Enter)

a=3?b=7↙

8.5?7.182e1Aa↙

3、 #include

void main ( )

{

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

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

}

运行结果:

3 3

4、#include

void main ( )

{

int a=12345;

float b=-198.345, c=6.5;

printf("a=%4d,b=%-10.2e,c=%6.2f\n",a,b,c);

}

运行结果:

a=12345,b=-1.98e+002,c= 6.50

5、#include

void main ( )

{

int x=-2345;

float y=-12.3;

printf("%6d,%6.2f",x,y);

}

运行结果:

-2345,-12.30

6、#include

void main ( )

{

int a=12;

double b=3.1415926;

printf("%6d##,%-6d##\n",a,a);

printf("a=%o a=%x\n",a,a);

printf("%14.10lf\n",b);

}

运行结果:

12##,12 ##

a=14 a=c

3.1415926000

四、编程题

1、已知int x=10,y=12;写出将x和y的值互相交换的表达式。

表达式:x=x+y, y=x-y, x=x-y

2、若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2=’b’。想得到以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出)。

a=3 b=4 c=5

x=1.200000,y=2.400000,z=-3.600000

x+y=3.60 y+z=-1.20 z+x=-2.40

u=51274 n=128765

c1='a' or 97(ASCII)

c2='b' or 98(ASCII)

编程:

#include

void main ( )

{

int a=3,b=4,c=5;

double x=1.2,y=2.4,z=-3.6;

unsigned int u=51274,n=128765;

char c1='a',c2='b';

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

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

printf("x+y=%.2lf y+z=%.2lf z+x=%.2lf\n",x+y,y+z,z+x);

printf("u=%u n=%u\n",u,n);

printf("c1='%c' or %d(ASCII)\n",c1,c1);

printf("c2='%c' or %d(ASCII)\n",c2,c2);

}

3、设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积。用scanf输入数据,输出计算结果;输出时要求有文字说明,取小数点后2位数字,请编写程序。

分析:

圆周长公式:2πr圆面积公式:πr2圆球表面积公式:4πr2

圆球体积公式:πr3圆柱体积公式:πr2h

编程:

#include

void main()

{

float h,r,l,s,sq,vq,vz;

float pi=3.141526;

printf("请输入圆半径r,圆柱高h:");

scanf("%f,%f",&r,&h);

l=2*pi*r;

s=r*r*pi;

sq=4*pi*r*r;

vq=(3.0/4.0)*pi*r*r*r;

vz=pi*r*r*h;

printf("圆周长为: l=%.2f\n",l);

printf("圆面积为: s=%.2f\n",s);

printf("圆球表面积为: sq=%.2f\n",sq);

printf("圆球体积为: v=%.2f\n",vq);

printf("圆柱体积为: vz=%.2f\n",vz);

}

运行结果:(下划线部分代表键盘键入数据↙代表Enter)

请输入圆半径r,圆柱高h:1.5 , 3↙

圆周长为: l=9.42

圆面积为: s=7.07

圆球表面积为: sq=28.27

圆球体积为: v=7.95

圆柱体积为: vz=21.21

4、编程序:用getchar函数读入两个字符给c1,c2,然后分别用putchar和printf函数输出这两个字符。并思考以下问题:

(1)变量c1,c2应定义为字符型或整型?或两者皆可?

(2)要求输出c1和c2值的ASCII码,应如何处理?用putchar函数还是printf函数?

(3)整型变量与字符型变量是否在任何情况下都可以互相替代?如:char c1,c2 与int c1,c2是否无条件地等价?

编程:

#include

void main()

{

char c1,c2;

c1=getchar();

c2=getchar();

putchar(c1);

putchar(c2);

printf("\nc1='%c' or %d(ASCII)",c1,c1);

printf("\nc2='%c' or %d(ASCII)\n",c2,c2);

}

解答:

(1)变量c1,c2可以定义为字符型或整型皆可。

(2)要求输出c1和c2值的ASCII码,应使用printf函数,按整数格式输出其值。

(3)整型变量与字符型变量并不是任何情况下都可以互相替代。如:char c1,c2 与int c1,c2并非无条件地等价。因为整型变量和字符型变量在内存占据的空间大小不同(整型为4字节,字符型为1字节),其取值范围也就不同。当整型变量的值超过字符型变量的取值范围,它们之间就不能相互替代了。

计算机C语言趣味的程序设计——题目百例

Contest - 2011级C语言课程大作业 Start Time: 2012-02-19 16:25:00 End Time: 2012-03-01 22:00:00 Current Time: 2012-2-23 15:51:18 Status:Running Public

写在最前: 本文档中的题目;在不不同的编译器中可能会有提示错误,呵呵,小小的动动手改下变量的定义就可以运行了……………….. 由于能力不足..有题目未解决的…或者有错误的我会…认真听取大家的..意见的…. 呵呵……..有一两个….偷了下懒哦……… 提供原题目还有本人自己的解答的源代码。感谢大家的。。。。建议……………. 问题A: 趣味程序设计_狼追兔子 时间限制: 1 Sec 内存限制: 128 MB 提交: 341 解决: 63 [提交][状态][讨论版] 题目描述 一只兔子躲进了n个环形分布的洞的某一个中。狼在第一个洞没有找到兔子,就隔一个洞,到第三个洞去找;也没有找到,就隔两个洞,到第六个洞去找。以后每次多一个洞去找兔子……这样下去,如果一直找不到兔子,请问兔子可能在哪个洞中? 输入 有多组测试数据,读取到文件结尾符为止。每组测试数据输入n(2≤n≤100),即洞穴个数。输入到文件结尾符为止。 输出 兔子可能藏匿的洞。如果不止一个,按从小到大的顺序输出。如果不存在,输出空行。

样例输入 10 8 15 样例输出 2 4 7 9 2 4 5 7 8 9 11 12 14 提示 用一个数组a[10],对应的元素a[0],a[1],a[2]……a[9]对应表示10个洞,初值均置1。通过一个循环用“穷举法”找兔子,第n次查找对应第(n-1)%10个洞,如果在第(n-1)%10个洞中没有找到兔子,因此将数组元素a[(n-1)%10]置0值。循环完成后,检查a数组各元素(各个洞)的值,若其值仍为1,则兔子可能藏身该洞中。 #include #include int ok[110]; int main() { int n,s,i,find; while(scanf("%d",&n)!=EOF) { memset(ok,0,sizeof(ok)); for(i=1;i<=200;i++) if(!ok[find=(i*(i+1)/2)%n]) if(find==0) ok[n]=1; else ok[find]=1; for(s=0,i=1;i<=n;i++) s+=ok[i]; for(i=1,find=0;i<=n;i++) if(!ok[i]) { if(find!=(n-s-1)) { printf("%d ",i);find++;

C语言1-5章复习题及参考答案

一.选择题 1、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。 A .-3 B.9 C.-12 D.6 2、若有定义:int a=8, b=5, c; 执行语句 c=a/b+0.4; 后,c的值为()。 A .1.4 B.1 C.2.0 D.2 3、有如下程序: void main() { int i,sum; for(i=1;i<=3;sum++) sum+=i; printf("%d\n",sum); } 该程序的执行结果是()。 A .6 B.3 C.死循环 D.0 4、下列关于表达式的描述中,错误的是()。 A . 常量和变量都是表达式。 B. 运算符类型对应表达式的类型。 C. 每一个表达式都有自己的值。 D. 表达式必须以分号结尾。 5、C语言中,合法的长整型常数是()。 A . '\t' B.” A” C.65 D.a 6、若已定义 x 和 y为double 类型,则表达式 x=1;y=(x+3)/2 的值是()。 A .1 B.2 C.2.00000 D.2.50000 7、表达式:10!=9的值是()。 A . true B. 非零值 C.0 D.1 8、以下程序的输出结果是()。 #include void main() { printf("%d\n", NULL); } A . 不确定的 B.0 C.-1 D.1 9、请选出合法的C语言赋值语句。() A . a=b=58 B.i++; C. a=58,b=58 D. k=int(a+b); 10、假设 int b=2; 表达式(b>>2)/(b>>1)的值是()。 A .0 B.2 C.4 D.8 11、关于语句printf(“hello world\n”);,下列描述中错误的是()。 A . printf()是格式化输出函数,用于输出信息。 B. printf()括号中的内容为函数的参数。 C. printf()括号中的内容会全部输出到控制台上。 D. \n表示换行操作。 12、下列选项中,哪一项不是C语言中的位运算符()。 A .& B.|| C.~ D.^ 13、以下程序的输出结果是()。 void main()

大学c语言考试题库含答案

================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。int a=10; printf("%d",a++); A、11 和10 B、11 和11 C、10 和11 D、10 和10 答案: C 题号:2100 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A、65,66 B、A,B C、65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值 D、相加 答案: C 题号:3217 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B

能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0 D、a>=10 || a<=0 答案: D 题号:157 main() {int x=1,a=0,b=0; switch (x) { case 0: b++; case 1: a++; case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( ) A、2,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的 数据类型为()。 A、不确定 B、double C、int D、float 答案: B 题号:1647 以下程序中,while循环的循环次数是______ main() { int i=0;

c语言趣味编程实例

1、编程序求5X+2Y+Z=50 的所有非负整数解。 #include int main() { int x, y, z; int count = 0; for (x = 0; 5 * x <= 50;x++) for (y = 0; 2 * y <= 50; y++) for (z = 0; z <= 50; z++) { if (5 * x + 2 * y + z == 50) { count++; printf("%d :", count); printf("x=%d,y=%d,z=%d", x, y, z); printf("\n"); } } return 0; } 2、把25个字母A、B、C、···、X、Y按如下要求打印出来:从最中间的字母M 开始打印,然后一左一右依次打印出其它字母,即M,L,N,K,O,...。 要求:初始化时按字母表顺序赋值。 #include int main() { char x[] = "ABCDEFGHIJKLMNPQRST"; int k; int n = 0; while (x[n]) { n++; if (x[n] == 'M') { k = n;break; } } printf("%c,",x[k]); for (int i = 1; i <= 12; i++) if (i <= 11) printf("%c,%c,", (x[k] - i), (x[k] + i)); else printf("%c,%c。", (x[k] - i), (x[k] + i)); printf("\n");

c语言复习题整理(1)

C语言程序设计习题与解答 题解1 绪论 习题 一、选择题 1.一个完整的可运行的C源程序中(B )。 A.可以有一个或多个主函数B.必须有且仅有一个主函数 C.可以没有主函数D.必须有主函数和其他函数 2.构成C语言源程序的基本单位是(D )。 A.子程序B.过程C.文本D.函数 3.某C程序由一个主函数main( )和一个自定义函数max( )组成,则该程序( D )。 A.总是从max( )函数开始执行B.写在前面的函数先开始执行 C.写在后面的函数先开始执行D.总是从main( )函数开始执行 4.C语言规定,一个C源程序的主函数名必须为(C )。 A.program B.include C.main D.function 5.下列说法正确的是(C)。 A.在书写C语言源程序时,每个语句以逗号结束 B.注释时,'/'和'*'号间可以有空格 C.无论注释内容的多少,在对程序编译时都被忽略 D.C程序每行只能写一个语句 6.C语言源程序文件的后缀是( C ),经过Compile后,生成文件的后缀是( A ),经过Build后,生成文件 的后缀是(B)。 A..obj B..exe C..c D..doc 7.Visual C++ IDE的编辑窗口的主要功能是(A ),输出窗口的主要功能是(D ),调试器(Debug)的主要功能是(C)。 A.建立并修改程序B.将C源程序编译成目标程序 C.跟踪分析程序的执行D.显示编译结果信息(如语法错误等) 8.在Visual C++ 开发环境下,C程序按工程(project)进行组织,每个工程可包括(D)C/CPP源文件,但只能有( A )main函数。 A.1个B.2个 C.3个D.1个以上(含1个) 9.调试程序时,如果某个语句后少了一个分号,调试时会提示错误,这种情况一般称之为(A )。而某个“计算2的平方”的程序在 调试时没有提示出错,而且成功执行并计算出了结果,只是结果等于5,这种情况一般称之为(D)。 A.语法错误B.正常情况 C.编译器出错D.逻辑设计错误

C语言题库(1).docx

一. 选择题 (单项) 1. C 语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符 ——。 A必须为字母B必须为下划线 C必须为字母或下划线 D 可以是字母、数字和下划线中的任一种字符 2.下面 4个选项中,均是 C 语言关键字的选项是——。 Aauto enum includeBswitch typedef continue C signed union scanf D if struct type 3.下面 4个选项中,均是不合法的用户标识符的选项是——。 A A P_0 doBfloat la0_A C b- a goto int D_123 temp INT 4.在 C 语言中,int 、char 和 short 三种类型的数据在内存中所占用的字节数——。A由用户自己定义B均为 2 个字节 C是任意的D由所用机器的机器字长决定 5.下面 4 个选项中,均是合法浮点数的选项是——。 A+1e+15e-9.403e2B- .60 12e-4-8e5 C123e 1.2e-.4 +2e - 1D-e3 .8e-4 5.e -0 6.下面不正确的字符串常量是——。 AˊabcˊB〞 12ˊ12〞 C〞0 〞D〞〞 7.假设所有的变量均为整型,则表达式(a=2,b=5,b++, a+b)的值是——。 A7B8 C6D2 8.以下正确的叙述是——。 A在 C 语言中,每行只能写一条语句 B若 a 是实型变量, C 程序中允许赋值a=10,因此实型变量中允许存放整型 数 C在 C 程序中,无论整数还是实数,都能被准确无误的表示 D在 C 程序中, % 是只能用于整数运算的运算符 9.以下表达式值为 3 的是——。 A 16-13%10B2+3/2 C 14/3-2D(2+6)/(12- 9) 10.设变量 a 是整型, f 是实型, i 是双精度型,则表达式 10+ˊ aˊ +i*f 值的数据类型为——。 A int B float C double D 不确定 11.在 C 语言中, char 型数据在内存中的存储形式是——。 A 补码C 原码B反码 D AS CⅡ码 12.设有说明语句: char w;int x ;float y ;double z;w x z y 值的数据类型为 ——。 A float B char C int D double

C语言期中考试试题及答案-1

高级语言程序设计试题 答案在最后 一、单项选择题(本大题共20小题,每小题2分,共20分)在每小题列出得四个选项中只有一个 选项就是符合题目要求得,请将正确选项前得字母填在题后得括号内。 1、C语言程序编译时,程序中得注释部分就是( ) A、参加编译,并会出现在目标程序中 B、参加编译,但不会出现在目标程序中 C、不参加编译,但会出现在目标程序中 D、不参加编译,也不会出现在目标程序中 2、设int a=3;则表达式a<1&&--a>1得运算结果与a得值分别就是( ) A、0与2 B、0与3 C、1与2 D、1与3 3、与语句if(a>b)if(c>d)x=1;else x=2;等价得就是( ) A、if(a>b){if(c>d)x=1;else x=2;} B、if(a>b){if(c>d)x=1;}else x=2; C、if((a>b)&&(c>d))x=1;else x=2; D、if(a<=b)x=2;else if(c>d) x=1; 4、设char x='a';则printf("x=%c,y=%c\n",x,97);得输出就是( ) A、x=a,y=97 B、x=97,y=a C、x=97,y=97 D、x=a,y=a 5、执行下列程序 int a[3][3]={{1},{2},{3}}; int b[3][3]={1,2,3}; main() {printf("%d\n”,a[1][0]+b[0][0]);} 后输出得结果就是( ) A、0 B、1 C、2 D、3 6、结构化程序设计所规定得三种基本控制结构就是( ) A) 输入、处理、输出B) 树形、网形、环形 C) 顺序、选择、循环D) 主程序、子程序、函数 7、完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行得步骤依次为( ) A、连接、编译 B、编译、连接 C、连接、运行 D、运行 8、下列各语句中,能够且仅输出整型变量a、b中最大值得就是( ) A、if(a>b) printf(″%d\n″,a);printf(″%d\n″,b); B、printf(″%d\n″,b);if(a>b) printf(″%d\n″,a); C、if(a>b) printf(″%d\n″,a);else printf(″%d\n″,b); D、if(a

C语言经典编程

猴子吃桃 1、题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。 1.程序分析:采取逆向思维的方法,从后往前推断。 2.程序源代码: main() { int day,x1,x2; day=9; x2=1; while(day>0) {x1=(x2+1)*2;/*第一天的桃子数是第2天桃子数加1后的2倍*/ x2=x1; day--; } printf("the total is %d\n",x1); } 回文数问题 题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 1. 程序分析:学会分解出每一位数,如下解释:(这里是一种简单的算法) 2.程序源代码: main( ) { long a,b,c,d,e,x; scanf("%ld",&x); a=x/10000;/*分解出万位*/ b=x%10000/1000;/*分解出千位*/ c=x%1000/100;/*分解出百位*/ d=x%100/10;/*分解出十位*/ e=x%10;/*分解出个位*/ if (a!=0) printf("there are 5, %ld %ld %ld %ld %ld\n",e,d,c,b,a); else if (b!=0) printf("there are 4, %ld %ld %ld %ld\n",e,d,c,b); else if (c!=0) printf(" there are 3,%ld %ld %ld\n",e,d,c); else if (d!=0) printf("there are 2, %ld %ld\n",e,d); else if (e!=0) printf(" there are 1,%ld\n",e); } 杨辉三角 题目:打印出杨辉三角形(要求打印出10行如下图) 1.程序分析: 1 1 1

C语言练习题(1)

1.编写程序,要求用户输入一个三角形的三边边长分别为a,b,c ,利用海伦公式求三角形的面积。 海伦公式: #include #include void main() { float a,b,c,p,s; printf("请输入三边a,b,c:"); scanf("%f %f %f",&a,&b,&c); p=(a+b+c)/2; s=sqrt(p*(p-a)*(p-b)*(p-c)); printf("%f,%f\n",p,s); } 2.三个小朋友,大毛有糖果50粒,二毛有糖果43粒,三毛有糖果13粒。现在他们三兄弟做游戏,从大毛开始,将自己的糖果三等分,三兄弟每人一份,多余的自己吃掉;然后二毛和三毛也依次这样做,问最后三兄弟各有多少糖果? #include void main() { int a=50,b=43,c=13; a=a/3; b=a+b; b=b/3; c=a+b+c; a=a+b; c=c/3; b=b+c; a=a+c; printf("%d,%d,%d\n",a,b,c); } 3.编写程序,要求用户输入某年年份,然后判断是否为闰年。(闰年的条件是:该年的年号能被4整除且不能被100整除,或该年的年号能被400整除,则该年是闰年,否则不是闰年。) #include void main() { int year; printf("请输入年份"); scanf("%d",&year); if(year%4==0&&year%100!=0||year%400==0) { printf("闰年\n"); } 2c b a p ++=))()((c p b p a p p S ---=

大一c语言期末考试题

大一c语言期末考试题 C语言期末考试试题附答案 一选择题(7分,每小题0.5分) 1.C语言源程序的基本单位是()。 A 过程 B 函数 C 子程序 D 标识符 2.下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A 7 B 8 C 9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534; a=(int)125.521%4; a=5<<2; A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20 5.设有如下程序段,下面描述中正确的是()。 int k=10; while(k=0) k=k-1; A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6.以下程序的输出结果为()。 int i; void prt( ) { for(i=5;i<8;i++) printf("%c",'*'); printf("\t"); } main( ) { for(i=5;i<=8;i++) prt( ); } A *** B *** *** *** *** C *** *** D * * * 7.在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套 C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8.以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A 2 B 3 C 5 D 语法错误 9.以下程序的输出结果为()。 #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c;

CC语言趣味程序设计编程百例精解

C-C++语言趣味程序设计编程百例精解() ?81.角谷猜想 日本一位中学生发现一个奇妙的“定理”,请角谷教授证明,而教授无能为力,于是产生角谷猜想。猜想的内容是:任给一个自然数,若为偶数除以2,若为奇数则乘3加1,得到一个新的自然数后按照上面的法则继续演算,若干次后得到的结果必然为1。请编程验证。 *问题分析与算法设计 本题是一个沿未获得一般证明的猜想,但屡试不爽,可以用程序验证。题目中给出的处理过程很清楚,算法不需特殊设计,可按照题目的叙述直接进行证。 *程序说明与注释 #include<stdio.h> int main() { int n,count=0; printf("Please enter number:"); scanf("%d",&n); /*输入任一整数*/ do{ if(n%2)

n=n*3+1; /*若为奇数,n乘3加1*/ printf("[%d]:%d*3+1=%d\n",++count,(n-1)/3,n); } else { n/=2; /*若为偶数n除以2*/ printf("[%d]: %d/2=%d\n",++count,2*n,n); } }while(n!=1); /*n不等于1则继续以上过程*/ } 82.四方定理 数论中著名的“四方定理”讲的是:所有自然数至多只要用四个数的平方和就可以表示。 请编程证此定理。 *问题分析与算法设计 本题是一个定理,我们不去证明它而是编程序验证。 对四个变量采用试探的方法进行计算,满足要求时输出计算结果。 *程序说明与注释 #include<stdio.h> #include<stdlib.h> int main()

C语言练习题及答案1

C 语言练习题1

第一章 C语言概述 1、所有C函数的结构都包括的三部分是( C ) A.语句、花括号和函数体 B.函数名、语句和函数体 C.函数名、形式参数和函数体 D.形式参数、语句和函数体 2、C语言中主函数的个数是( B ) A.2个 B.1个 C.任意个 D.10个 3、下面可能不影响程序正常运行的是( C ) A.语法错误 B.逻辑错误 C.警告提示 D.算法错误 4、一个C程序的执行是从( A ) A. 本程序的main()函数开始,到main()函数结束. B. 本程序文件的第一个函数开始,到本程序文件第一个函数结束. C. 本程序文件的第一个函数开始,到本程序main函数结束. D. 本程序的main()函数开始,到本程序文件的最后一个函数结束. 5、C程序由( C )组成。 A.子程序 B.主程序和子程序 C.函数 D.过程 6、下列关于C语言注释的叙述中错误的是( D )。 A.以“/*”开头并以“*/”结尾的字符串为C语言的注释内容。 B.注释可出现在程序中的任何位置,用来向用户提示或解释程序的意义。C.程序编译时,不对注释作任何处理。 D.程序编译时,需要对注释进行处理。 7、C语言源程序经过编译后,生成文件的后缀是____C_____。 A、.c B、.exe C、.obj D、.cc 8、以下说法中正确的是____C_____。 A、C语言程序总是从第一个函数开始执行 B、在C语言程序中,要调用函数必须在main()函数中定义 C、C语言程序总是从main()函数开始执行 D、C语言程序中的main()函数必须放在程序的开始部分 9、以下叙述中正确的是__A____。

C语言题库1

C语言题库 1.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写, 则文件方式字符串应是(D)。 A、"rb+" B、"ab++" C、"ab" D、"wb+" 2.设有如下定义: struct sk {int a; float b;} data,*p; 若要使p指向data中的a域,正确的赋值语句是(C)。 A、p=(struct sk*) data.a; B、*p=data.a; C、p=&data.a; D、p=&data,a; 3.对结构体类型的变量的成员的访问,无论数据类型如何都可使用 的运算符是(B)。 A、& B、. C、* D、-> 4.下列关于指针定义的描述,错误的是(A)。 A、指针是一种变量,该变量用来存放某个变量的值 B、指针是一种变量,该变量用来存放某个变量的地址值 C、指针变量的类型与它所指向的变量类型一致 D、指针变量的命名规则与标识符相同 5.设有如下的程序段: char str[ ]="Hello"; char *ptr; ptr=str; 执行完上面的程序段后,*(ptr+5)的值为(D ). A、不确定的值 B、'o'的地址 C、'o' D、'\0' 6.若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是(D)。 A、&t[1] B、t[3] C、&t[3][2] D、t[2] 7.下列说法中正确的是(B ). A、函数调用不占运行时间,只占编译时间. B、宏替换不占运行时间,只占编译时间. C、有参数的宏定义,就是函数. D、在定义宏时,宏名与带参数的括弧之间可以加空格. 8.以下叙述中正确的是(C)。

C语言习题(1、3)

C语言习题(第1、3章基本语法) 一.选择题 1.以下叙述不正确的是________。 A) 一个C源程序必须包含一个main函数 B) 一个C源程序可由一个或多个函数组成 C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面 2.以下叙述正确的是________。 A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误 B) 在C程序中,main函数必须位于程序的最前面 C) C语言本身没有输入输出语句 D) C程序的每行中只能写一条语句 3.C语言中要求对变量作强制定义的主要理由是________。 A) 便于移植B) 便于写文件C) 便于编辑预处理程序的处理D) 便于确定类型和分配空间 4.下面正确的字符常量是。 A)“c”B) “\\” C)…w?D)“” 5.若有定义:int a=8; 则完成表达式a+=a%=a%3后,a的值是。 A)8 B)3 C)2 D)0 6.以下字符常量合法的是。 A)?\084?B)?\x43?C)?ab?D)”\0” 7.在C语言中,要求参加运算的数必须时整数的运算符是。 A)%= B)/= C)= D) += 8.在C语言中,字符型数据在内存中以形式存放。 A)原码B)BCD码C)反码D)ASCII码 9.执行int x=2,y=3; 后表达式x=(y= =3)的值是。 A)0 B)1 C)2 D)3 10.以下选项中,合法的一组C语言数值常量是。 A)12 0Xa23 4.5e0 B)028 .5e-3 -0xf C)177 4e1.5 0abc D)0x8A 10,000 3.e5 11.下列可用于C语言用户标识符的一组是。 A)S.b,sum,average,_above B)class,day,lotus_1,2day C)#md,&12x,month,student_n!D)D56,r_1_2,name,_st_1 12.以下叙述正确的是。 A)可以把define和if定义为用户标识符 B)可以把define定义为用户标识符,但不能把if定义为用户标识符 C)可以把if定义为用户标识符,但不能把define定义为用户标识符 D)define和if都不能定义为用户标识符 13.表达式18/4*sqrt(4.0)/8值的数据类型为。

C语言程序设计题库1

C语言题库试题 1.C 语言规定,函数返回值的类型是由()。 A.return 语句中的表达式类型所决定 B.调用该函数时的主调函数类型所决定 C.调用该函数时系统临时决定 D.在定义该函数时所指定的函数类型所决定 2.以下程序的输出结果是 #include f(int b[],int m,int n) { int i,s=0; for(i=m;i<n;i=i+2) s=s+b[i]; return s; } void main() {int x,a[]={1,2,3,4,5,6,7,8,9}; x=f(a,3,7); printf("%d\n",x); } A) 10 B) 18 C) 8 D) 15 3.有如下程序 #include int runc(int a,int b) { return(a+b);} void main() { int x=2,y=5,z=8,r; r=func(func(x,y),z); printf(“%\d\n”,r); } 该程序的输出的结果是 A) 12 B) 13 C) 14 D) 15 4.下列选项中,正确的赋值表达式为() A、a=b=c=9 B、a=b+9=c-9 C、a=b,a++,b=9 D、a=9-b=c+9 5.设x为int型变量,下列选项中能够判定x值为偶数的表达式是() A、 x%2=0 B、x/2=0 C、x%2==0 D、x/2==0 6.有以下程序段 int m=0,n=0; char c='a'; scanf("%d%c%d",﹠m,﹠c,﹠n); printf("%d,%c,%d\n",m,c,n); 若从键盘上输入:10A10"回车",则输出结果是: A) 10,A,10 B) 10,a,10 C) 10,a,0 D) 10,A,0 7设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是______。

趣味c语言编程100例

趣味 c 语言编程100 例 【程序 1】 题目:有 1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、 2、3、4。组成所有的排列后再去 掉不满足条件的排列。 2.程序源代码: main() { int i,j,k; printf("\n"); for(i=1;i<5;i++) / *以下为三重循环 */ for( j=1;j<5;j++) for (k=1;k<5;k++) { if (i!=k&&i!=j&&j!=k) /* 确保 i 、 j、 k 三位互不相同 */ printf("%d,%d,%d\n",i,j,k); } } 程序 2】 题目:企业发放的奖金根据利润提成。利润 (I) 低于或等于 10 万元时,奖金可提 10% ;利润高于 10 万元,低于 20 万元时,低于 10 万元的部分按 10% 提成,高于 10 万元的部分,可可提成 7.5% ; 20 万到 40 万之间时,高于 20 万元的部分,可提成 5% ; 40 万到 60 万之间时高于

40 万元的部分,可提成 3% ;60 万到 100 万之间时,高于 60 万元的部分,可提成 1.5% ,高于 100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总 数? 1. 程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 2. 程序源代码: main() { long int i; int bonus1,bonus2,bonus4,bonus6,bonus10,bonus; scanf("%ld",&i); bonus1=100000*0.1;bonus2=bonus1+100000*0.75; bonus4=bonus2+200000*0.5; bonus6=bonus4+200000*0.3; bonus10=bonus6+400000*0.15; if(i<=100000) bonus=i*0.1; else if(i<=200000) bonus=bonus1+(i-100000)*0.075; else if(i<=400000) bonus=bonus2+(i-200000)*0.05; else if(i<=600000) bonus=bonus4+(i-400000)*0.03;

第1、2章C语言基础练习题课件

单选: 1.当代电子计算机能够自动地处理指定的问题是因 为()。 A.计算机是电动的 B.有解决该问题的计算机程序 C.事先存储了解决该问题的程序 D.以上都不是 2.C语言源程序的基本单位是()。 A.过程 B.函数 C.子程序 D.标识符 3.C语言源程序文件的后缀是()。 A..obj B..exe C..doc D..c 4.一个完整的可运行的C语言源程序中()。 A.可以没有主函数 B.可以有一个或多个主函数 C.必须有主函数和其它子函数 D.必须有且仅有一个主函数 5.以下标识符中,不能作为合法的C用户定义标识符 的是(). A.For B.Printf C.WORD D.sizeof 6.以下标识符中,不能作为合法的C用户定义标识符 的是(). A.answer B.to C.signed D._if 7.C语言执行程序的开始执行点是(). A.程序中第一条可以执行语言 B.程序中第一个函数 C.程序中的main函数 D.包含文件中的第一个函数 8.能将高级语言编写的源程序转换为目标程序的是 (). A.链接程序 B.解释程序 C.编译程序 D.编辑程序 9.以下叙述不正确的是(). A.一个C源程序可由一个或多个函数组成 B.一个C源程序必须包含一个main函数 C.C程序的基本组成单位是函数 D.在C程序中,注释说明只能位于一条语句的后 面 10.以下说法中正确的是(). A.C语言的程序总是从第一个定义的函数开始 执行. B.在C语言程序中,要调用的函数必须在main() 函数中定义. C.C语言程序总是从main()函数开始执行,在 main()函数中结束. D.C语言程序中的main()函数必须放在程序的 开始部分. 11.下列说法正确的是(). A.注释时,"/"和"*"之间可以有空格 B.无论注释内容是多少,在对程序编译时都被忽 略 C.在书写C语言源程序时,每个语句都以逗号结 束 D.C程序每行只能写一个语句 12.组成C语句的一个必不可少的符号是()。 A.逗号 B.引号 C.冒号 D.分号 13.下述哪一个不是结构化程序基本结构()。 A.顺序 B.选择 C.循环 D.嵌套 14.下列四个叙述中,正确的是()。 A.C程序中的所有字母都必须小写 B.C程序中的关键字必须小写,其他标示符不区 分大小写 C.C程序中的所有字母都不区分大小写 D.C语言中的所有关键字必须小写 15.下列叙述正确的是()。 A.C语言源程序可以直接在DOS环境中运行 B.编译C语言源程序得到的目标文件可以直接 在DOS环境中运行

C语言题库第1章 概述

第一章概述 1.以下叙述中错误的是( ) A.一个C语言程序只能有一个主函数 B.C语言编写的每个函数都可以进行独立的编译并执行 C.C语言编写的函数都可以作为一个独立的源程序文件 D.C语言编写的函数源程序,其文件名后缀可以是C 2.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是( ) A.C语言程序仅可以编译执行 B.C语言程序仅可以解释执行 C.以上说法都不对 D.C语言程序既可以编译执行又可以解释执行 3.C语言规定:在一个源程序中,main的位置( ) A.可以任意 B.必须在最后 C.必须在最开始 D.必须在系统调用的库函数后面 4.一个C语言程序是由( ) A.若干过程组成 B.若干子程序组成 C.函数组成 D.一个主程序和若干子程序组成 5.以下关于结构化程序设计的叙述中正确的是( ) A.一个结构化程序必须同时由顺序、分支、循环三种结构组成 B.在C语言中,程序的模块化是利用函数实现的 C.由三种基本结构构成的程序只能解决小规模的问题 D.结构化程序使用goto语句会很便捷 6.以下叙述正确的是( ) A.在C程序中,main函数必须位于程序的最前面 B.在对一个C程序进行编译的过程中,可发现注释中的拼写错误 C.C语言本身没有输入输出语句 D.程序的每行中只能写一条语句 7.以下叙述中错误的是( ) A.C语言编写的每个函数都可以进行独立的编译并执行 B.C语言编写的函数源程序,其文件名后缀可以是C C.一个C语言程序只能有一个主函数

D.C语言编写的函数都可以作为一个独立的源程序文件 8.以下叙述正确的是( ) A.C程序的书写格式是固定的,每行只能写一条语句 B.C程序中注释部分可以单独占一行 C.构成C程序的基本单位是函数,所有函数名都可以由用户命名 D.在对C语言程序进行编译时,可以发现注释行中的拼写错误 9.以下叙述正确的是( ) A.C语言程序是由过程和函数组成的 B.C语言函数不可以单独编译 C.C语言中除了main函数,其他函数不可作为单独文件形式存在 D.C语言函数可以嵌套调用,例如:fun(fun(x)) 10.一个C程序的执行是从( ) A.本程序文件的第一个函数开始,到本程序main函数结束 B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C.本程序的main函数开始,到本程序文件的最后一个函数结束 D.本程序的main函数开始,到main函数结束 11.以下叙述不正确的是( ) A.在C程序中,注释说明只能位于一条语句的后面 B.C程序的基本组成单位是函数 C.一个C源程序可由一个或多个函数组成 D.一个C源程序必须包含一个main函数

数据结构c语言版期末考试复习试题[1]

《数据结构与算法》复习题 一、选择题。 1.在数据结构中,从逻辑上可以把数据结构分为 C 。A.动态结构和静态结构 B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.内部结构和外部结构 2.数据结构在计算机内存中的表示是指 A 。 A.数据的存储结构 B.数据结构 C.数据的逻辑结构D.数据元素之间的关系 3.在数据结构中,与所使用的计算机无关的是数据的 A 结构。 A.逻辑 B.存储 C.逻辑和存储 D.物理4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C 。 A.数据的处理方法 B.数据元素的类型 C.数据元素之间的关系 D.数据的存储方法 5.在决定选取何种存储结构时,一般不考虑 A 。 A.各结点的值如何 B.结点个数的多少 C.对数据有哪些运算 D.所用的编程语言实现这种结构是否方便。 6.以下说法正确的是 D 。 A.数据项是数据的基本单位 B.数据元素是数据的最小单位

C.数据结构是带结构的数据项的集合 D.一些表面上很不相同的数据可以有相同的逻辑结构 7.算法分析的目的是 C ,算法分析的两个主要方面是A 。 (1)A.找出数据结构的合理性 B.研究算法中的输入和输出的关系 C.分析算法的效率以求改进 C.分析算法的易读性和文档性 (2)A.空间复杂度和时间复杂度 B.正确性和简明性 C.可读性和文档性 D.数据复杂性和程序复杂性 8.下面程序段的时间复杂度是 O(n2) 。 s =0; ( I =0; i

C语言习题册1-3章题解

程序设计技术基础(C语言)习题集题解分析 第一、二、三章 一、选择题(四个选项中只有一个是正确的----下同) 1.与十进制数97不等值的字符常量是 A) ’a’ B) ’\101’ C) ’\x61’ D) ’\141’ 题解分析:小写字母a的ASCII码是97;十六进制61转换为十进制为97;八进制141转换为十进制为97;八进制101转换为十进制为65,不等于97。 参考教材:p21 (3)字符常量;p22 转义字符表2-12,及其讲解。 2.在编写了一个C语言源程序C001.C并正确执行之后,当前目录下哪个文件不存在 A) C001.C B) C001.OBJ C) C001.DAT D) C001.EXE 题解分析:源程序C001.C经编译后生成目标文件C001.OBJ,再经过链接后生成可执行文件C001.EXE。 参考教材:p7 1.5.2 链接目标程序 3.以下选项中正确的整型常量是 A) 5.B)-10 C)1.000 D)4/5 题解分析:整型常量及整数也,实型常量及实数也。 参考教材:p19(1)整型常量,p20(2)实型常量 4.以下选项中正确的实型常量是 A) 0 B)3. 1415 C)0.03x102D).32 题解分析:0——属于整型常量;3. 1415——小数点和1415间不能分开(计算机不认);0.03x102——在C语言中要用0.03e2或0.03E2来表示。 参考教材:p20(2)实型常量 5.以下选项中不正确的实型常量是 A)2.670E-1 B)0.05e+1.5 C)-77.77 D)456e-2 题解分析: C语言在科学计数法表示实型常量时,指数部分必须是整数,不可用小数。答案B)中的0.05e+1.5表示的是0.05×101.5,指数1.5不符合要求。 6.以下选项中不合法的用户标识符是 A)wb-1 B)file C)Main D)PRINTF 题解分析:在C语言中标识符只能由字母、数字和下划线组成,A)中的“-”错了。 参考教材:p17 2.3.1 标识符 7.以下选项中不合法的用户标识符是 A)_123 B)printf C)A$ D)Dim 题解分析:参考上一题,$错了,printf是库函数名,如果不调用该函数,就可用。 注:教材有误。 8.C语言中运算对象必须是整型的运算符是 A)% B)/ C)* D)+ 参考教材:p25 第一段第二行。 9.可在C程序中用作标识符的一组标识符是 A)void B)as_b3 C)For D)2c Define _123 -abc DO

相关文档