c语言作业答案_第1页
c语言作业答案_第2页
c语言作业答案_第3页
c语言作业答案_第4页
c语言作业答案_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、No.: Name:第1讲C语言概述注:本系列习题中符号表示一串字符中的空格,符号表示下划线,符号e表示换行回车,即键盘 上 Enter 键。一、选择题1. 一个C程序的执行是从A。A) 本程序 main 函数开始,到 main 函数结束B) 本程序文件第一个函数开始,到最后一个函数结束C) 本程序文件第一个函数开始,到本main 函数结束D) 本程序 main 函数开始,到本程序文件最后一个函 数结束2. 以下叙述不正确的是 D 。A) 一个C源程序必须包含一个main函数B) 一个C源程序可由一个或多个函数组成C) C 程序的基本组成单位是函数D) 在C程序中,注释说明只能位于一条语句的后

2、面3. 以下叙述正确的是 C 。A 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面C) 语言本身没有输入输出语句D) C 程序的每行中只能写一条语句4. 个C语言程序是由B。A) 一个主程序和若干个子程序组成B) 函数组成C) 若干过程组成D) 若干子程序组成5. 以下叙述中正确的是 C 。A) C 语言比其他语言高级B) C 语言可以不用编译就能被计算机识别执行C) C 语言以接近英语国家的自然语言和数学语言作为语言的表达形式D) C 语言出现的最晚,具有其他语言的一切优点6. 下列叙述中正确的是 D 。A) C 语言编译时不检查语法

3、B) C 语言的子程序有过程和函数两种C) C 语言的函数可以嵌套定义D) C 语言的函数可以嵌套调用7. 以下叙述中正确的是 A 。A构成C程序的基本单位是函数B) 可以在一个函数中定义另一个函数C) main 函数必须放在其他函数之前D) 所有被调用的函数一定要在调用之前进行定义8. C 语言规定,在源程序中, main 函数的位置 C 。A) 必须在最开始B) 必须在系统调用的库函数的后面C) 可以任意D) 必须在最后9. 下列选项中不是结构化程序基本结构的是 B 。A) 顺序结构 B) 分支结构C) 选择结构 D) 循环结构10. 下列四组选项中,均不是C吾言关键字的是 A。A) de

4、fine IF type B) getc char printfC) include case scanf D) while go pow11. 下列四组选项中,均是不合法的标识符的是 B 。A) W P 0 do B) b-a goto intC) float la0 A D) -123 abc TEMP12. 下列可用于C语言标识符的一组是 B。A) void, define, WORD B) a3 b3, 123, CarC) For, -abc, IF Case D) 2a, DO, sizeof13. 以面的C程序中,错误的是 D。A) main() B) main() int x,

5、y,z; int x,y,z; x=0;y=x-1; x=0;y=x+1;z=x+y; z=x+y;C) main() D) main() int x,z; int x,y,z;int y; x=0;y=x+1; x=0;y=x+1; z=x+y, z=x+y;14. C 吾言中的标识符只能由字母,数字和下划线三种字符 组成,且第一个字符 C 。A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字和下划线中任一字符15. 下面各选项中,均是 C语言标识符的选项组是B。A) 33 we auto B) 23 me 3ewC) 43 3e else D) ER -DF

6、32二、填空题1. 国际上C语言常见的三个标准是:标准C、ANSI C和ISO C。2. C语言源程序的文件格式为*.c和*.h 。3. 请描述C程序中main函数的作用:接受系统调用,开始程序的执行,直至程序结束三、程序编写题 ( 请在本页背面作答 )1. 编写一个C程序,输岀以下信息*Very Good!*2. 编写程序,实现求整数 10、20和 35的平均值(提示:注意给出的是三个整数,求出的平均值 不是整数)1No.: Name:第2讲C语言基本数据类型一、选择题1. 若x、i、j、k都是int型变量,则计算下面表达式后,x的值为C。x=(i=4,j=16,k=32)A) 4 B) 1

7、6 C) 32 D) 522. 下列四组选项中,均是合法转义字符的是 A017 0 101 xlf A) n B) C) 018 f xab D)3. 下面正确的字符常量是 D 。A) c B) C) D) K4. 以下叙述不正确的是 D 。A在C程序中,逗号运算符的优先级最低B) 在C程序中,MAX max是两个不同的变量C) 若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,b中的值不变D) 从键盘输入数据时,对于整型变量只能输入整型 数值,对于实型变量只能输入实型数值5. 以下叙述正确的是 C 。A) 在C程序中,每行只能写一条语句B) 若a是实型变量,C程序中允许赋值a

8、=10,因此 实型变量中允许存放整型数C) 在C程序中,是只能用于整数运算的运算符D) 在C程序中,无论是整数还是实数,都能被准确 无误地表示6. 已知字母A的ASCII码为十进制数65,且c2为字符型, 则执行语句c2 = A + 6 - 3后,c2的值为A。A) D B) 68 C) 不确定的值 D) C7. sizeof(float) 是 B。A) 一个双精度型表达式 B) 一个整型表达式C) 一种函数表达式 D) 一个不合法的表达式8. 设C语言中,一个int型数据在内存中占2个字节,则un sig ned int型数据的取值范围为C。A) 0255 B) 032767C) 06553

9、5 D) 021474836479. 设有说明: char w; int x; float y; double z;则表达式 w*x+z-y 值的数据类型 D 。A) float B) char C) int D) double10. 设以下变量均为 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)11. C 语言中的基本数据类型包括 B 。A) 整型、实型、逻辑型 B) 整型、实型、字符型C) 整型、字符型、逻辑型 D) 字符型、实型、逻

10、辑型12. 若变量已正确定义并赋值,以下符合C语言语法的表达式是 B 。A) a:=b+1 B) a=b=c+2C) int 18.5%3 D) a=a+7=c+b13. C 语言中运算对象必须是整型的运算符是 A 。A) %= B) / C) = D) =14. 若变量a,i已正确定义,且i已正确赋值,合法的语句 是 B 。A) a=1 B) +i; C) a=a+=5; D) a=int(i);15. int a=7;float x=2.5,y=4.7;则表达式 x+a%3*(int)(x+y)%2/4 的值是 A 。A) 2.500000 B) 2.750000C) 3.500000 D

11、) 0.00000016. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是D。A) a=20000+20000; B) a=4000*10;C) a=30000+10000; D) a=4000L*10L;17. 设有int x=11;则表达式(x+*1/3)的值是A。A) 3 B) 4 C) 11 D) 1218. 下列数据中,不合法的C语言实型数据的是 C。A) 0.123 B) 123e3 C) 2.1e3.5 D) 789.019. 若变量a是 int类型,并执行了语句:a= A +1.6;,则正 确的叙述是 D 。A) a 的值是字符 CB) 不允许字符

12、型和浮点型相加C) a 的值是浮点型D) a的值是字符A的ASCII值加上120. 设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五 入运算的表达式是 B 。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.021. 下面四个选项中,均是不正确的 8进制数或 16进制数的 选项是 D 。A) 016 0x8f 018 B) 0abc 017 0xaC) 010 -0x11 0x16 D) 0a12 7ff -1232

13、2. 以下选项中,与k=n+完全等价的表达式是 A。A) k=n,n=n+1 B) n=n+1,k=n C) k=+n D) k+=n+123. 下面均是合法整型常量的选项是 A 。A) 160 -0xffff 011 B) -0xcdf 01a 0xeC) -01 986012 0668 D) -0x48a 2e5 0x24. 假定x和y为double型,则表达式x=2,y=x+3/2的值是 D 。A) 3.500000 B) 3 C) 2.000000 D) 3.00000025. 以下变量x, y , z均为double类型且已正确赋值,不能 正确表示数学式子 x y z的C语言表达式是

14、 A。A) x/y*z B) x*(1/(y*z) C) x/y*1/z D) x/y/z26. 已知int k,m=1;执行语句k=-m+;后,k的值是A。A) -1 B) 0 C) 1 D) 227. 已知 int m;float k; 正确的语句是 D 。A) (int k)%m B) int(k)%mC) int(k%m) D) (int)k%m28. 不能进行 +和- 运算的数据类型为 D 。A) 指针 B) 整型 C) 长整型 D) 常量2No.: Name:29. putchar 函数可以向终端输出一个 D 。A) 整型变量表达式 B) 实型变量值C) 字符串 D) 字符或字符型

15、变量值30. printf函数中用到格式符5s其中数字5表示输岀的字符串占用 5列。字符串长度大于5,则输出按方式 B ;如果字符串长度小于 5,则输岀按方式 C 。A) 从左起输岀该字符串,右补空格B) 按原字符长从左向右全部输岀C) 右对齐输岀该字符串,左补空格D) 输岀错误信息31. 阅读以下程序,当输入数据的形式为:25,13,10 e,贝9 正确的输岀结果为 D 。main() int x,y,z;scanf( %d%d%d,&x,&y,&z);printf( x+y+z=%dn,x+y+z);A) x+y+z=48 B) x+y+z=35 C) x+z=35 D) 不确定32. 根

16、据下面的程序及数据的输入和输岀形式,程序中输入 语句的正确形式应该为 A 。main() char ch1,ch2,ch3;输入语句printf( %c%c%c,ch1,ch2,ch3);输入形式: A B C输岀形式: A BA) scanf(%c%c%c,&ch1,&ch2,&ch3);B) scanf(%c,%c,%c,&ch1,&ch2,&ch3);C) scanf(%c %c %c,&ch1,&ch2,&ch3);D) scanf(%c%c,&ch1,&ch2,&ch3);33. 已知 ch 是字符型变量,下面不正确的赋值语句是 A 。A) ch= a+b; B) ch= 0;C)

17、ch= 7+9; D) ch=5+9;34. 若变量已正确说明为 float 型,要通过语句 scanf(%f%f%f ,&a,&b,&c);给a赋予 10.0 , b赋予 22.0 , c赋 予33.0 ,下列不正确的输入形式是B 。A) 10 e 22 e 33 B) 10.0,22.0,33.0 eC) 10.0 e 22.0 33.0 e D) 10 22 e 33 e35. 下列程序段的输出结果是: C 。int a=1234; float b=123.456;double c=12345.54321; printf(%2d,%2.1f,%2.1f,a,b,c);A) 无输出 B)

18、12 , 123.5,12345.5C) 1234,123.5,12345.5 D) 1234,123.4,1234.536. 已有定义 int a=-2; 和输出语句 printf(%8lx,a); 以 下正确的叙述是 D 。A) 整型变量的输岀形式只有(一种B) %x 是格式符的一种,可适用于任何一种类型的数据C) %x是格式符的一种,其变量的值按十六进制输岀,但8lx是错误的D) %8lx 不是错误的格式符,其中数字8规定了输岀字段的宽度二、填空题1. 若有定义:int m=5,y=2;,则计算表达式 y+=y-=m*=y后的y值是-16。2. 在C语言中,一个int型数据在内存中占2个

19、字节,则int型数据的取值范围为-32768?32767 3. 若a是int型变量,则计算表达式 a=25/3%3后a的值为2。4. 若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n+后x的值为10 , n的值为65. 若有定义:char c=0108F0;则字符串c中包含的字符个数为 5。6. 定义int a=5,b;,则执行表达式b=+a*-a之后,变量b的值为25。7. 已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch= a + 8- 3的值为 102或 f。8. 以下程序段的输岀结果是 i:dec=-4,oct=177774,hex=fff

20、c,unsigned=65532。main() short i; i=-4; printf( ni:dec=%d,oct=%o,hex=%x,unsigned=%un,i,i,i,i);9. 假设变量a和b均为整型,请填空使得以下语句可以不借助任何变量把a、b中的值进行交换。a+= b ; b=a- b ; a-= b ;10. 有一输入语句scanf(%d,k);则不能使float类型变量k得到正确数值的原因是:(1) k应该加上取地址符号&,成为&k和float型数据不能用 (格式来输入。三、程序编写题 ( 请在本页背面作答 )1. 输入圆半径(5)和圆心角(60_C),输岀圆的周长、面积

21、和扇形周长、面积。2. 输入一个华氏温度,要求输岀摄氏温度。公式为 C _ 59 pF _ 32q ,输出要有文字说明,取 2 位小数。3No.: Name:第3讲算法与程序基本结构一、选择题1. 如下程序的输出结果是 A 。 main() int x=1,a=0,b=0; switch(x) case 0: b+;case 1: a+;case 2: a+;b+; printf(a=%d,b=%dn,a,b); A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=22. 以下程序执行后输出结果是 C 。 main() int i=1,j=1,k=2; if(j

22、+|k+) &i+) printf(%d,%d,%dn,i,j,k);A) 1,1,2 B) 2,2,1 C) 2,2,2 D) 2,2,33. 如下程序的输出结果是 C 。 main() float x=2.0,y;if(x0.0) y=0.0;else if(x12?x+10:x-12; printf(%dn,y); A) 0 B) 22 C) 12 D) 106. 在C程序中,判逻辑值时,用”非0”表示逻辑值”真”, 又用” 0”表示逻辑值”假”。在求逻辑值时,逻辑表达式 值为”真”和”假”分别用 A 表示。A) 1 和0 B) 0 和1 C) 非0和非 0 D) 1 和17. 以下 4

23、 个选项中,不能看做一条语句的是D 。A) ; B) a=5,b=2.5,c=3.6;C) if(a 10或a =10 or a=0|a=10&a=10|a=09. 如下程序的输出结果是 C 。 main() int a=2,b=-1,c=2;if(ab) if(b0) c=0;else c+; printf(%dn,c);A) 0 B) 1 C) 2 D) 310. 设x, y和z都是int型变量,且x=3, y=4 , z=5,则下面 表达式中,值为 0的表达式 D 。A) x&y B) x=yC) x|+y&y-z D) !(xb)& (n=cd)后n的值是B。A) 1 B) 2 C)

24、3 D) 414. 下面程序 D 。main() int a=5,b=0,c=0; if(a=b+c) printf(*n);else printf($n);A) 有语法错不能通过编译B) 可以通过编译但不能通过连接C) 输出 *D) 输出 $15. 当k的值不为0时,在下列选项中能够将k的值赋给变量m和n的是B。A) m=k=n B) (m=k)&(n=k)C) (m=k)|(n=k) D) (k=m)&(n=k)16. 已知 int t=0; while (t=1) .则以下叙述正确的是 B 。A) 循环控制表达式值为 0 B) 循环控制表达式值为 1C) 循环控制表达式不合法 D) 以上

25、说法都不对17. 下面程序输出结果是 B 。 main() int n=9;while(n6) n-; printf(%d,n);A) 987 B) 876 C) 8765 D) 987618. 在下列程序段中,没有构成死循环的是 D 。A) B) C) D)int i=10; for(;); int k=10; int s=36; while(1) dok+; while(s) i=i%3+1; while(k10); -s;if(i10) break;19. 以下程序段的描述,正确的是 C 。 x=-1; do x=x*x; while(!x);A) 是死循环 B) 循环执行两次C) 循环

26、执行一次 D) 有语法错误4No.: Name:20. 在下述程序中,判断 ij 共执行的次数是 D 。 main() int i=0,j=10, k=2, s=0; for (;) i+=k;if(ij) printf(%d,s); break; s+=i;A) 4 B) 7 C) 5 D) 621. 下面程序的功能是把 316 表示为两个加数的和,使两个 加数分别能被 13和 11整除,请选择填空。满足题意的选 项是 B 。#include main() int i=0,j,k; doi+;k=316-13*i;while( );j=k/11; printf(316=13*%d+11*%d

27、,i,j);A) k/11 B) k%11 C) k/11=0 D) k%11=022. 下面程序的运行结果是 B 。 #include main() int a=1,b=10;do b-=a;a+;while(b-0); printf(a=%d,b=%dn,a,b);A) a=3,b=11 B) a=2,b=8C) a=1,b=-1 D) a=4,b=923. 执行语句 for(i=1;i+4;); 后变量 i 的值是 C 。A) 3 B) 4 C) 5 D) 不定24. 关于程序段 int k=10; while(k=0) k=k-1; 下面描述 中正确的是 C 。A) while 循环执行 10次 B) 循环是无限循环C) 循环体语句一次也不执行 D) 循环体语句执行一次25. 表达式 for( 表达式 1; ; 表达式 3) 可理解为 B 。A) for( 表达式 1;0; 表达式 3)B) for( 表达式 1;1; 表达式 3)C) for( 表达式 1; 表达式 1; 表达式 3)D) for( 表达式 1; 表达式 3; 表达式 3)26. 以下程序的输出结果是 B 。 main() int

温馨提示

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

最新文档

评论

0/150

提交评论