五邑大学 C语言 高潮版 练习二详细答案

合集下载

五邑大学C语言习题参考答案(不含思考题与编程题)

五邑大学C语言习题参考答案(不含思考题与编程题)

《C语言程序设计》习题参考答案习题 2二、选择题1. BCD2. B3. A4. D5. C6. C7. C8. C9. A 10. D 11. B 12. C 13. C 14. C 15. A 16. B 17. B 18. D 19. B 20. C 21. A 22. C 23. B三、填空题1. 多条分行书写2. ;(分号)3. /* */4. 编译5. 正确6. 正确7. 'b' 8. double9. 30 10. 10011. 2.5 12. (x+y)!=(a+b)13. (x>2&&x<3)||x<-10 14. 015. x值为10 ,y值为15 ,z值为10 。

16. 6四、用C语言的表达式描述下列命题1. 假设一个int型的单数字数码存储在变量n中,则转换为对应的数字字符的表达式是n+'0'2. a>d||b>d3. x=int(x*100+0.5)/100.04. d<100&&!(d%2)5. (!x%5)||(!y%5)26. (n%k==0)?(n/k):(n/k+1) 或(n%k)?(n/k+1):(n/k)习题 3二、选择题1. B2. D3. D4. C5. A6. A7. C8. B9. C (k的存储空间有限,溢出后出现负)三、填空题1. 输出2行:**1**2. 36**3**3. x*2+y*4==90 或……4. ********# (8个*)5. (c=getchar())!='#' c>='0'&&c<='9'6. i<=9 j%3!=07. j=1 k<=6习题 4二、选择题1. B2. D3. A4. D5. D6. B7. C8. C9. B三、填空题1. 函数首部(函数头)函数体2. 声明语句执行语句3. main() main()4. 不正确5. 主调被调6. 动态/静态静态/动态7. void float8. i=7 , j=6 , x=73 i=2 , j=7 , x=59. int isLeap(int) ; //函数声明isLeap(year)intyear%4==0&&year%100!=0||year%400==010. j=1 ; y>=1 ; y--11. 15, 12, 2012. 817习题 5二、选择题1. A2. C3. D4. B5. C6. C三、填空题1. 输出结果是a[1]=6a[2]=9a[3]=9 2. ①若给x输入5,②若给x输入15, 输出结果是15 10 8 6 4 2③若给x输入10, 输出结果是10 10 8 6 4 23. i 或--j MAX-1-i 或ii //0行置10 //0列置1i-- i4i-- MAX-1MAX-1MAX-1 !(i==j||(i+j)==(MAX-1)) 或i!=j&&(i+j)!=(MAX-1)printf("\n");4. 去掉字符串尾部空格5. SWITCH*#WaMP*习题 6二、选择题1. D2. D3. B4. A5. C6. A7. D8. D9. C 10. C三、填空题1. 112. 103. 12 124. 数组s[1]5. 将数字字符串转换为整型数据6. 分行输出其中的5个单词7. i 或i+1 8. *(a+i)a+j <*(a+i)+j9. #9 10. p1++*p2return p11. 15 习题7一、选择题1. A/B2. A/B3. B4. D5. A6. B7. A二、填空题1. zhang m 192. 63. unionscanf("%c",&stu[i].body.eye)scanf("%d%d",&stu[i].body.f.length,&stu[i].body.f.weight习题8二、选择题1. B2. A3. CD4. D5. C6. B7. C8. B。

C语言程序设计(第2版)--课后题答案.

C语言程序设计(第2版)--课后题答案.

ax2+bx+c=0 的解。
#include<math.h>
main()
{ float a,b,c,disc,x1,x2,p,q;
scanf("%f,%f,%f",&a,&b,&c);
if(fabs(a)<=1e-6) printf(" The equation is not a quadratic\n");
Input a string:a<CR> a ASCII is 97
ASCII 码
3、编写一个程序用于水果店售货员算帐:已知苹果每斤
2.50 元,鸭梨每斤 1.80
元,香蕉每斤 2 元,橘子每斤 1.6 元,要求输入各类水果出应找的钱数。 解: main() { float p,y,x,j,ys,g,fk; printf("apple,pear,banana,orange(weight)="); scanf("%f,%f,%f,%f",&p,&y,&x,&j); ys=2.5*p+1.8*y+2*x+1.6*j; printf("fu kuan="); scanf("%f",&g); fk=g-ys; printf("result:\n"); printf("fukuan=%6.2fyuan\nshoukuan=%6.2fyuan\nzhaohui=%6.2fyuan\n",g
else
{ p=-b/(2*a);
q=sqrt(-disc/(2*a));
printf("%8.4f+%x8.4fi\n",p,q);

2022年五邑大学公共课《C语言》科目期末试卷A(有答案)

2022年五邑大学公共课《C语言》科目期末试卷A(有答案)

2022年五邑大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读以下函数:getbits(unsigned x,unsigned p,unsigned n)'{x=((x<<(p+1-n))&((unsigned)~0>>n));return(x);}假设机器的无符号整数字长为16位。

若调用此函数时x=0115032,p=7,n=4,则函数返回值的八进制数是_______。

2、在C语言源程序中,一个变量代表【】。

3、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。

4、设a、b、c均为int类型变量,请用C语言的表达式描述以下命题。

(1)a或b中有一个大于c_______(2)a、b和c中只有2个为正数_______(3)c是偶数_______5、表达式pow(2.8,sqrt(double(x))值的数据类型为_______。

6、以下程序段通过移动指针变量m,给如图9-7所示连续动态存储单元赋值。

请填空。

(假设程序段中的所有变量均已正确说明。

)for(k=0;k<10;k++,m++)scanf("%d",_______);7、函数swap(int x,inty)可完成对x和y值的交换。

在运行调用函数中的如下语句后,a[0]和a[1]的值分别为_______,原因是_______。

a[o]=1;a[1]=2;swap(a[o],a[1]);8、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。

9、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。

C语言课后题答案

C语言课后题答案

C语言c语言程序设计教程(第2版)课后题及模拟题参考答案习题1 31-1 填空题 31-2 思考题 31-3 编程题 3习题2 42-1 单选题 42-2 思考题 4习题3 53-1 选择题 53-2 填空题 53-3 编程题 5习题4 74-1单选题74-2填空题74-3 编程题7习题5 105-1单选题105-2填空题105-3 编程题10习题6 136-1单选题136-2填空题136-3 编程题13习题7 157-1单选题157-2填空题157-3 编程题15习题8 168-1单选题168-2填空题168-3 编程题16习题9 189-1单选题189-2填空题189-3 编程题18习题10 2210-1单选题2210-2填空题2210-3 编程题22习题11 2411-1单选题2411-2填空题24习题12 2512-1单选题2512-2 填空题25实验篇26实验1 熟悉Visual C++6.0可视化集成开发环境26实验2 顺序结构程序设计26实验3 选择结构程序设计26实验4 循环结构程序设计26实验5 函数28实验6 数组32实验7 指针33实验8 结构体和共用体35实验9 文件36实验10 综合编程36模拟试卷(一)参考答案37模拟试卷(二)参考答案38习题11-1 填空题1. 函数2. 主函数main(),主函数main()3. 主函数main()4. 函数首部,函数体5. {, }6. /*, */7. 顺序结构,选择结构,循环结构8. .c, .obj, .exe1-2 思考题1. 结构化程序设计是指:为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。

其基本结构包括顺序结构、选择结构和循环结构三种。

2. 算法是对具体问题求解步骤的一种描述。

计算机算法的表达工具通常采用以下几种方法:(1)用自然语言表示算(2)用流程图表示算法(3)用伪代码表示算法(4)用程序设计语言表示算法3. 语言简洁、紧凑,使用方便、灵活; 支持结构化程序设计;运算符丰富;数据类型丰富;较强的编译预处理功能;C语言的可移植性好;C语言本身既有一般高级语言的优点,又有低级(汇编)语言的特点;语法限制不太严格,程序设计自由度大。

二级C语言教程课后习题答案(高教版)

二级C语言教程课后习题答案(高教版)
2.6
C语言中运算对象必需是整型的运算符是
A)%
B)/
C)!
D)**
答案:A
2.7可在
C程序中用作用户标识符的一组标识符是
A)void
define
WORD
B)as_b3
_123
If
C)For
-abc
case
D)2c
DO
SIG
A)
scanf("%f",c);
B)
scanf("%8.4f",&c);
C)
scanf("%6.2f",&c);
D)
scanf("%8",&c);
283.1900<CR>
<CR>表示
Enter键
答案:由于印刷错误,本题没有正确答案。改正意见:
把选项
A改为:scanf("%f",&c);或者把选项
B)0.8103e
2
C)-77.77
D)456e-2
答案:B
2.4以下选项中不合法的用户标识符是
A)abc.c
B)file
C)Main
D)PRINTF
答案:A
2.5以下选项中不合法的用户标识符是
A)_123
B)printf
C)A$
D)Dim
答案:C
33<CR>
B)
10.0,22.0,33.0
C)
10.0<CR>
22.0

C语言程序设计课后习题答案

C语言程序设计课后习题答案

C语言程序设计(第2版)课后习题答案第一章1.请参照本章例题,编写一个C程序,输出以下信息:**************************V ery good!**************************解:#include<stdio.h>void main(){printf(“**************************”);printf(“\n”);printf(“V ery good!\n”);printf(“\n”);printf(“**************************”);}2.编写一个C程序,输入a、b、c三个值,输出其中最大值。

解:#include<stdio.h>void main(){int a,b,c,max;printf(“请输入三个数a,b,c:\n”);scanf(“%d,%d,%d”,&a,&b,&c);max=a;if(max<b) max=b;if(max<c) max=c;printf(“最大数为: %d”,max);}第二章1.假如我国国民生产总值的年增长率为10%,计算10年后我国国民生产总值与现在相比增长多少百分比。

计算公式为P=(1+r)^n,r为年增长率;n为年数;P为与现在相比的百分比。

解:#include<stdio.h>#include<math.h>void main(){double P, r=0.1, n=10;P=pow((1+r), n);printf(“%lf\n”, P);}3.请编程序将“China”译成密码,译码规律是用原来字母后面的第4个字母代替原来的字母。

例如,字母“A”后面第4个字母是“E”,“E”代替“A”。

因此,“China”应译为“Glmre”。

请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为‟C‟、‟h‟、‟i‟、‟n‟、‟a‟,经过运算,使c1、c2、c3、c4、c5分别变为‟G‟、‟l‟、‟m‟、‟r‟、‟e‟,并输出。

二级 C语言程序设计试题及答案(最新)

二级 C语言程序设计试题及答案(最新)

高等学校计算机等级考试试卷二级 C语言程序设计(本试卷考试时间 120 分钟)一、单选题 ( 本大题 10 道小题,每小题 1.5 分,共15 分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。

1.在C语言中,下列描述正确的是:(_____)。

A.标识符只能由字母和下划线组成。

B.标识符由任意字符组成。

C.标识符只能由字母、数字和下划线组成。

D.标识符只能由字母组成。

2.设有变量定义:char ch; 若将小写字母a赋给变量ch,正确的表达式是:(_____)。

说明:小写字母a的ASCII码值是97。

A.ch='a'B.ch='97'C.ch=aD.ch="a"3.设有变量定义:int a=345,b=123; 则执行语句printf("%2d-%2d",a,b);后,输出的结果是:(_____)。

A.45-23B.34-12C.345-123D.2224.在C语言中关于函数的描述,正确的是:(_____)。

A.main函数的返回类型只能是voidB.函数可以用return返回多个值C.任何一个函数都可以有多个函数体D.自定义函数的形式有无参函数和有参函数5.设有变量定义:int a=5,b=8; 则以下各个选项中,会出现语法错误的if语句是:(_____)。

A.if (a>=b) ;B.if (a==b) a+=b;C.if (a<=b) { a--; b++; }D.if (a!=b) a++ else b++;6.执行以下代码段后,x的结果是:(_____)。

int x=1;while (x<=10)x++ ;A.9B.10D.有错误,没有输出结果7.设有变量定义:int a[5]={5,4,3,2,1},*p=a;则执行语句 p+=4;后,*p的结果是(_____)。

A.4B.3C.2D.18.已知一结构体类型及变量定义如下:struct node{int data;struct node *next;}*p,*s,*h;现已有头指针h指向的单链表如下图所示,能实现s指向的结点插入到p所指结点后面的语句是:(_____)。

(word完整版)C语言程序设计课后习题1-8参考答案

(word完整版)C语言程序设计课后习题1-8参考答案

C语言程序设计课后习题1—8参考答案习题1参考答案一、简答题1、冯诺依曼计算机模型有哪几个基本组成部分?各部分的主要功能是什么?答:冯诺依曼计算机模型是由运算器、控制器、存储器、输入设备、输出设备五大功能部件组成的。

运算器又称算术逻辑部件,简称ALU,是计算机用来进行数据运算的部件。

数据运算包括算术运算和逻辑运算。

控制器是计算机的指挥系统,计算机就是在控制器的控制下有条不紊地协调工作的.存储器是计算机中具有记忆能力的部件,用来存放程序和数据.输入设备是用来输入程序和数据的部件。

输出设备正好与输入设备相反,是用来输出结果的部件。

2、简述计算机的工作原理。

答:计算机的工作原理可简单地概括为:各种各样的信息,通过输入设备,进入计算机的存储器,然后送到运算器,运算完毕把结果送到存储器存储,最后通过输出设备显示出来。

整个过程由控制器进行控制。

3、计算机软件系统分为哪几类?答:软件内容丰富,种类繁多,通常根据软件用途将其分为两大类:系统软件和应用软件。

系统软件是指管理、监控、维护计算机正常工作和供用户操作使用计算机的软件。

这类软件一般与具体应用无关,是在系统一级上提供的服务。

系统软件主要包括以下两类:一类是面向计算机本身的软件,如操作系统、诊断程序等。

另一类是面向用户的软件,如各种语言处理程序(像BC、VC等)、实用程序、字处理程序等。

在操作系统的基础上运行。

4、什么叫软件?说明软件与硬件之间的相互关系。

答:软件是指计算机程序及有关程序的技术文档资料。

两者中更为重要的是程序,它是计算机进行数据处理的指令集,也是计算机正常工作最重要的因素。

在不太严格的情况下,认为程序就是软件。

硬件与软件是相互依存的,软件依赖于硬件的物质条件,而硬件则需在软件支配下才能有效地工作.在现代,软件技术变得越来越重要,有了软件,用户面对的将不再是物理计算机,而是一台抽象的逻辑计算机,人们可以不必了解计算机本身,可以采用更加方便、更加有效地手段使用计算机。

C语言 练习题参考答案.doc

C语言 练习题参考答案.doc

C语言练习题参考答案第一章C语言概述参考解答:题1.A 题2.C 题3.D 题4.C 题5.B题6.函数题7.main函数题8./* 和 */ 题9.scanf printf 题10.第三章数据类型、运算符与表达式参考解答:选择题:1.A 2.A 3.B 4.B 5.C 6.B 7.A 8.B 9.A 10.C 11.A 12.B 13.A 14.C 15.D 16.A 17.C 18.A 19.A 20.A 21.D 22.B 23.A 24.A 25.B 26.C 27.A 28.A 29.B 30.C 31.C第四章最简单的C程序设计参考解答:1.D 2.D 3.AC 4.B,B 5.B6.B 7.A 8.B 9.A 10.A第五章选择结构程序设计参考解答:1.D 2.C 3.C 4.D 5.B6.B 7.C 8.B 9.D 10.C11.C 12.B 13.D 14.B第六章循环控制参考解答:1.B 2.B 3.C 4.D,C 5.B6. A 7.A 8.C 9.C 10.B11.D 12.D 13.C 14.D 15.C16.B 17.C 18.CA 19.B 20.C21.C 22.B第七章一维与二维数组(主要为数值型)参考答案:【题7.1】C 【题7.2】B 【题7.3】C第2维不能缺【题7.4】D【题7.5】C 【题7.6】D 【题7.7】D 【题7.8】B【题7.9】D【题7.10】D 【题7.11】D第七章字符数组与字符串参考答案:【题7.12】D 【题7.13】B 【题7.14】D 【题7.15】B 【题7.16】D【题7.17】D 【题7.18】D 【题7.19】B 【题7.20】D 【题7.21】D【题7.22】A 【题7.23】D 【题7.24】C 【题7.25】B B【题7.26】ADA 【题7.27】A 【题7.28】B 【题7.29】A 【题7.30】B 【题7.31】D 【题7.32】A 【题7.33】D 【题7.34】B 【题7.35】B第八章函数选择题参考解答:[题8.1]B [题8.2]D [题8.3]A [题8.4]C [题8.5]C[题8.6]B [题8.7]C [题8.8]A [题8.9]A B [题8.10]A[题8.11]D [题8.12]C [题8.13]A [题8.14]D [题8.15]D [题8.16]A填空题参考解答:[题8.17] i=7;j=6;x=7 i=2;j=7;x=5[题8.18] 【1】break 【2】break 【3】getchar()[题8.19] 【1】(int)((value*10+5)/10) 【2】ponse==val[题8.20] 【1】f(r)*f(n)<0 【2】n-m<0.001[题8.21] 1010[题8.22] 【1】2*(i+5)+1 【2】a(i+5) 【3】a(i+5)[题8.23] 【1】> 【2】b!=0[题8.24] (1)x=2 y=3 z=0 (2)x=4 y=9 z=5 (3)x=2 y=3 z=0[题8.25] FACT(5):120 (换行) FACT(1):1(换行) FACT(-1):Error! (换行)[题8.26] 【1】age(n-1)+2 【2】age(5)[题8.27] 5 10 9[题8.28] 【1】0 1 2 3-1 0 1 2-2 -1 0 1-3 -2 -1 0【2】0 -1 -2 -31 0 -1 -22 1 0 -13 2 1 0[题8.29] 【1】a[i]==m 【2】a,m 【3】no>=0[题8.30] 【1】-7 3 5 7 10 【2】冒泡法排序[题8.31] 【1】-1 3 6 8 9 【2】选择法排序[题8.32]1 13 5 72 4 26 810 1 3 12the value is 31[题8.33] first:14,4,12(换行) second:26,4,12(换行) third:26,3,6(换行) [题8.34] 10,20,40,40[题8.35] i=5(换行) i=2(换行) i=2(换行) i=0(换行) i=2(换行)[题8.36] x=1(换行) y=1(换行) x=1(换行) y=2 (换行)x=1(换行) y=3(换行) [题8.37] MAIN:x=5 y=1 n=1(换行) FANC:x=6 y=21 n=11(换行)MAIN:x=5 y=1 n=11(换行) FANC:x=8 y=31 n=21 编程题参考解答:【题8.38】fun(int x, int y){ int z; z = fabs(x-y); return(z); }【题8.39】isprime(int a){ int i;for (i=2; i<=sqrt((double)a+1); i++)if (a % i == 0) return 0;return 1; }【题8.40】float f(float x0){ float x1;x1 = (cos(x0) – x0) / (sin(x0) + 1);x1 = x1 + x0;return x1;}【题8.41】float root(float x1, float x2){ int i; float x, y, y1;y1 = f(x1);do{x = xpoint(x1, x2);y = f(x);if (y * y1 > 0){ y1 = y; x1 = x;}else x2 = x;}while (fabs(y) >= 0.0001);return(x);}【题8.42】float p(int n, int x){ float t, t1, t2;if (n == 0) return(1);else if(n == 1) return(x);else { t1 = (2 * n – 1) * x * p((n–1), x);t2 = (n – 1) * p((n-2), x);t = (t1 – t2) / n;return(t);}}【题8.43】f(int a[], int c[], int n){ int i;for (i=0; i<n; i++)c[a[i]]++;}第九章编译预处理参考解答:【题9.1】C【题9.2】C 【题9.3】B 【题9.4】B【题9.5】D【题9.6】B 【题9.7】A【题9.8】B 【题9.9】B【题9.10】C【题9.11】D【题9.12】 3,3,5【题9.13】【1】3 【2】0【题9.14】 8(换行)20(换行) 12【题9.15】【1】#include “stdio.h”【2】#include “myfile.txt”注:【1】【2】顺序可颠倒【题9.16】 #include <math.h>【题9.17】 c=0 【题9.18】 c=2编程题:【题9.19】#define swap(x,y) { int t; t = x; x = y; y = t; }main(){int i, a[10], b[10];for (i=0; i<10; i++)scanf(“%d”, &a[i]);for (i=0; i<10; i++)scanf(“%d”, &b[i]);for (i=0; i<10; i++)swap(a[i],b[i]);for (i=0; i<10; i++)printf(“%d”, a[i]);printf(“\n”);for (i=0; i<10; i++)printf(“%d”, b[i]);}第十章指针参考解答:[题10.1].A [题10.2].A [题10.3].B [题10.4].D [题10.5].D[题10.6].B [题10.7].C [题10.8].C [题10.9].B [题10.10].CD[题10.11].C [题10.12].C [题10.13].C [题10.14].C [题10.15].C[题10.16].C [题10.17].CCCCC [题10.18].C [题10.19].C [题10.20].DBA [题10.21]. C[题10.22].110 [题10.23].7,1[题10.24].char *p=&chchar *p; p=&ch;p=&ch; scanf("%c", p);*p='+' 或其它字符常量或变量p=&ch; putchar(*p);[题10.25]. 500-100=400[题10.26]./*欲通过形参带回运算结果,形参必须是指针变量*/void f(float x, float y, float *ps, float *pd){ *ps=x+y;*pd=x-y;return;}[题10.27].void f(int a, int b, int c, int *pmax, int *pmin){ *pmax=*pmin=a; /*先假设a中为最大值。

C语言程序设计[第二版]习题参考答案解析

C语言程序设计[第二版]习题参考答案解析

WORD格式可编辑C语言程序设计习题参考答案习题 1一、判断题1.在计算机中,小数点和正负号都有专用部件来保存和表示。

2.二进制是由0和1两个数字组成的进制方式。

3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。

4.在整数的二进制表示方法中,0的原码、反码都有两种形式。

5.有符号数有三种表示法:原码、反码和补码。

6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。

解:1.F 2.T 3.T 4.T 5.T 6.T二、单选题1.在计算机中,最适合进行数值加减运算的数值编码是。

A. 原码B. 反码C. 补码D. 移码2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII码为十进制数。

A. 112B. 120C. 121D. 1223.关于ASCII码,在计算机中的表示方法准确地描述是。

A. 使用8位二进制数,最右边一位为1B. 使用8位二进制数,最左边一位为1C. 使用8位二进制数,最右边一位为0D. 使用8位二进制数,最左边一位为04.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是___________。

A. X∧Y=1000B. X∨Y=1111C. X⊕Y=0011D. ¯Y=10005.下列叙述中正确的是()。

A.高级语言就是机器语言B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。

A.生成可执行文件B.生成目标文件C.输出运行结果D.自动保存源文件7.下列叙述中不正确的是()。

A.main函数在C程序中必须有且只有一个B. C程序的执行从main函数开始,所以main函数必须放在程序最前面C. 函数可以带参数,也可以不带参数。

C语言机试 二级考试试题及答案

C语言机试 二级考试试题及答案

C语言理论上机考试选择题部分(共200题)1、下面程序的输出是___D______#include<stdio.h>void main(){ int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=11 B) k=11,k=13,k=13C) k=11,k=013,k=0xb D) k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是__D______.A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;3、下面合法的C语言字符常量是______A____.A) '\t' B) "A" C) 65 D) A4、表达式: 10!=9的值是________D____.A) true B) 非零值C) 0 D) 15、C语言提供的合法的数据类型关键字是_____B____.A) Double B) short C) integer D) Char6、字符(char)型数据在微机内存中的存储形式是__D__.A) 反码B) 补码C) EBCDIC码D) ASCII码7、C语言程序的基本单位是_____C______.A) 程序行B) 语句C) 函数D) 字符8、设int a=12,则执行完语句a+=a-=a*a后,a的值是____D____A) 552 B) 264 C) 144 D) -2649、执行下面程序中的输出语句后,输出结果是____B__.#include<stdio.h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15 D) 1010、下面程序的输出是____B______.#include<stdio.h>void main()}A) 17 B) 18 C) 23 D) 2411、下面程序的输出的是_____C____.#include<stdio.h>void main(){int x=10,y=3;printf("%d\n",y=x/y);}A) 0 B) 1 C) 3 D) 不确定的值12、已知字母A的ASCII码为十进制的65,下面程序的输出是______A_____.#include<stdio.h>void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值13、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为____D__.A) a<>0 B) !a C) a=0 D) a14、以下程序的输出结果是____D_____.#include<stdio.h>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A) 10 10 B) 9 9 C) 9 10 D) 10 915、设有如下定义:int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是_____D_____.A) 1 B) 0 C) 4 D) 316、为表示关系x≥y≥z,应使用C语言表达式___A___.A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z)C) (x>=y>=z) D) (x>=y) & (y>=z)17、C语言中非空的基本数据类型包括____B____.D) 整型,实型,逻辑型,字符型18、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y));上面程序片段的输出结果是____A___.A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值19、阅读下面的程序#include<stdio.h>void main(){char ch;scanf("%3c",&ch);printf("%c",ch);}如果从键盘上输入abc<回车>则程序的运行结果是__A_____.A) a B) b C) c D) 程序语法出错20、阅读下面的程序#include<stdio.h>void main(){int i,j;i=010;j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是____D____.A) 1,19 B) -1,19 C) 1,17 D) -1,1721、阅读下面的程序#include<stdio.h>void main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是______C____.A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,1122、已知a=12,则表达式a+=a-=a*=a的结果是_____A__.A) 0 B) 144 C) 12 D) -264 23、若已定义int a,则表达式a=10,a+10,a++的值是__B_.A) 20 B) 10 C) 21 D) 1124、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是____D____.A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4525、下面程序的输出结果是____D____.#include<stdio.h>void main(){int a=-1, b=4, k;k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,326、下面程序的输出结果是____A____.#include<stdio.h>void main(){int a=5,b=3;float x=3.14, y=6.5;printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));}A) 1,0 B) 0,1 C) 1,1 D) 0,027、执行下面程序段后,输出结果是____A____.int a;int b=65536;a=b;printf("%d\n",a);A) 65536 B) 0 C) -1 D) 128、若有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是____B_____.A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1029、已知有double型变量x=2.5,y=4.7,整型变量a=7, 则表达式x+a%3*(int)(x+y)%2/4 的值是_____B____.A) 2.4 B) 2.5 C) 2.75 D) 030、若已定义x和y是整型变量,x=2;,则表达式y=2.75+x/2的值是____C____.A) 5.5 B) 5 C) 3 D) 4.031、以下程序的输出结果是____D____.#include<stdio.h>void main(){int a=12, b=12;printf("%d,%d\n",--a,++b);}A) 10,10 B) 12,12 C) 11,10 D) 11,1332、设有以下语句:int x=10;x+=3+x%(3),则x的值是.____A_____A) 14 B) 15 C) 11 D) 1233、若d为double型变量,则表达式d=1,d+5,d++的值是_____D__.A) 1 B) 6.0 C) 2.0 D) 1.034、表达式5!=3的值是____D____.A) T B) 非零值C) 0 D) 135、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值______A____.A) 0 B) 1 C) 12 D) 636、若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是__D__.A) 0 B) 2 C) 1.5 D) 137、在C语言中,以下叙述不正确的是_____A____.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C语言中变量必须先定义后引用38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符____C____.A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字或下划线中的任意一种39、设有说明:char w; int x; float y; double z; 则表达式: w*x+z-y值的数据类型是___D____.A) float B) char C) int D) double 40、一个C语言的执行是从_____A______.A) 本程序的主函数开始,到本程序的主函数结束B) 本程序的第一个函数开始,到本程序的最后一个函数结束C) 本程序的主函数开始,到本程序的最后一个函数结束D) 本程序的第一个函数开始,到本程序的主函数结束41、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是____A____.A) 10<a<15 B) a==11||a==12||a==13||a==14C) a>10&&a<15 D) !(a<=10)&&!(a>=15)42、下列程序执行后的输出结果是_____C____.#include <stdio.h>void main( ){ int a=5,b=60,c;if (a<b){c=a*b;printf("%d*%d=%d\n",b,a,c);}else{c=b/a;printf("%d/%d=%d\n",b,a,c);}}A) 60/5=12 B) 300 C) 60*5=300 D) 1243、如果c为字符型变量,判断c是否为空格不能使用____A____.(假设已知空格ASCII码为32)A) if(c=='32') B) if(c==32)C) if(c=='\40') D) if(c==' ')44、运行下面程序时,若从键盘输入"3,5<CR>",则程序的输出结果是____D____.#include <stdio.h>void main( ){int x,y;scanf("%d,%d",&x,&y);if (x==y)printf("x==y");else if (x>y)printf("x>y");elseprintf("x<y");}A) 3<5 B) 5>3 C) x>y D) x<y45、运行下面程序时,若从键盘输入数据为"6,5,7<CR>",则输出结果是____C___.#include <stdio.h>void main( ){ int a,b,c;scanf("%d,%d,%d",&a,&b,&c);if (a>b)if (a>c)printf("%d\n",a);elseprintf("%d\n",c);elseif (b>c)printf("%d\n",b);elseprintf("%d\n",c);}A) 5 B) 6 C) 7 D) 不定值46、执行下面程序时,若从键盘输入"2<CR>",则程序的运行结果是____A____.#include <stdio.h>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;else k=cp-'A'+10;printf("%d\n",k);}A) 2 B) 4 C) 1 D) 1047、运行下面程序时,从键盘输入"2.0<CR>",则输出结果是___B_____.#include <stdio.h>void main( ){ float a,b;scanf("%f",&a);if (a<0.0) b=0.0;else if ((a<0.5) && (a!=2.0)) b=1.0/(a+2.0);else if (a<10.0) b=1.0/2;else b=10.0;printf("%f\n",b);}A) 0.000000 B) 0.500000C) 1.000000 D) 0.25000048、执行下面程序后,运行结果是____A____.#include <stdio.h>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y);}else{y=x;printf("y=%d",y);}}A) y=41 B) y=43 C) y=42 D) y=149、运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是___A___.#include <stdio.h>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if (x<z)printf("%d\n",z);else printf("%d\n",x);}A) 34 B) 12 C) 9 D) 不确定的值50、运行下面程序时,从键盘输入字母H,则输出结果是_____C___.#include <stdio.h>void main( ){ char ch;ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n");}}A) Hello! B) Hello!Good Morning! C) Hello! D) Hello!Good morning! Bye_Bye!Bye_Bye!51、执行下列程序段后的输出结果是_____A____.int x=1,y=1,z=1;x+=y+=z;printf("%d\n",x<y?y:x);A) 3 B) 2 C) 1 D) 452、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')?ch+32:ch的值是__B___.A) Z B) a C) z D) A53、下面程序的输出结果是____C____.#include <stdio.h>void main( ){ int x=8,y=-7,z=9;if (x<y)if (y<0) z=0;else z-=1;printf("%d\n",z);}A) 8 B) 1 C) 9 D) 054、运行下面程序时,若从键盘输入"5 <CR>",则程序的输出结果是_____B___.#include <stdio.h>void main( ){ int a ;scanf("%d",&a);if (a++>5)printf("%d\n",a);else printf("%d\n",a--) ;}A) 7 B) 6 C) 5 D) 455、运行下面程序时,若从键盘输入"3,4 <CR>",则程序的输出结果是____B___.#include <stdio.h>void main( ){ int a,b,s;scanf("%d,%d",&a,&b);s=a;if (s<b) s=b;s=s*s;printf("%d\n",s) ;}A) 14 B) 16 C) 18 D) 2056、下列程序的执行结果是_____D____.#include <stdio.h>void main( ){ int x=0,y=1,z=0;if (x=z=y)x=3;printf("%d,%d\n",x,z);}A) 3,0 B) 0,0 C) 0,1 D) 3,157、假定等级和分数有以下对应关系:等级:A 分数:85~100等级:B 分数:60~84等级:C 分数:60 以下对于等级grade输出相应的分数区间,能够完成该功能的程序段是____D____.A) switch (grade){case 'A':printf("85--100\n");case 'B':printf("60--84\n");case 'C':printf("60以下\n");default:printf("等级错误!\n");}B) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");case 'C':printf("60以下\n");default:printf(" 等级错误!\n");}C) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");break;case 'C':printf("60以下\n");default:printf("等级错误!\n");}D) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");break;case 'C':printf("60以下\n");break;default:printf("等级错误!\n");}58、能够完成如下函数计算的程序段是__B____.┌-1 x<0y= ┤0 x=0└ 1 x>0A) y=1; B) if (x>=0)if(x!=0) if(x>0) y=1;if(x>0) y=1; else y=0;else y=0; else y=-1;C) y=0; D) y=-1;if (x>=0) if (x>0) y=1;if (x>0) y=1; else y=0;else y=-1;59、有如下程序#include <stdio.h>void main( ){ float x=5.0,y;if(x<0.0) y=0.0;else if (x<10.0) y=1.0/x;else y=1.0;printf("%f\n",y);}该程序的输出结果是____C_____.A) 0.000000 B) 0.50000C) 0.200000 D) 1.00000060、以下程序的执行结果是___B_____.#include <stdio.h>void main( ){ int x=1,y=0;switch (x){case 1:switch (y){case 0:printf("first\n");break;case 1:printf("second\n");break;}case 2:printf("third\n");}}A) first B) firstsecond thirdC) first D) secondthird61、以下程序的执行结果是____A____.#include <stdio.h>void main( ){ int a,b,c,d,x;a=c=0;b=1;d=20;if (a) d=d-10;else if(!b)if (!c) x=15;else x=25;printf("d=%d\n",d);}A) d=20 B) d=10 C) d=15 D) 2562、有如下程序:#include <stdio.h>void main( ){ int a=2,b=-1,c=2;if (a<b)if (b<0) c=0;else c++;printf("%d\n",c);}该程序的输出结果是___C_____.A) 0 B) 1 C) 2 D) 363、下列程序执行后的输出结果是____B____.#include <stdio.h>void main( ){ int x,y=1,z;if ((z=y)<0) x=4;else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}A) 4,1 B) 6,1 C) 5,0 D) 出错信息64、有如下程序#include <stdio.h>void 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\n",a,b);}该程序的输出结果是______A____.A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=265、下面程序的输出结果是____C_____.#include <stdio.h>void main( ){ int a=-1,b=1,k;if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}A) -1 1 B) 0 1 C) 1 0 D) 0 066、假定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;则该程序段执行后,m的值是____D_____.A) 4 B) 3 C) 2 D) 167、以下程序的输出结果是___D______.main( ){ int a=100;if (a>100) printf("%d\n",a>100);else printf("%d\n",a<=100);}A) a<=100 B) 100 C) 0 D) 168、若执行下面的程序从键盘上输入9,则输出结果是.______B________#include <stdio.h>void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);}A) 11 B) 10 C) 9 D) 869、以下程序输出结果是_____D_____.#include <stdio.h>void main( ){ int m=4;if (++m>5) printf("%d\n",m--);else printf("%d\n",--m);}A) 7 B) 6 C) 5 D) 470、若执行下面的程序从键盘上输入5,则输出结果是.#include <stdio.h>void main( ){int x;scanf("%d",&x);if (x++>5) printf("%d\n",x);else printf("%d\n",x--);}A) 7 B) 6 C) 5 D) 471、以下程序段运行结果是____A____.int x=1,y=1,z=-1;x+=y+=z;printf("%d\n",x<y?y:x);A) 1 B) 2 C) 4 D) 不确定的值72、有以下程序#include <stdio.h>void main( ){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是____A____.A) 2,1 B) 3,2 C) 4,3 D) 2,-173、运行下面程序时,若从键盘输入数据为"123",则输出结果是___C____.#include "stdio.h"void main(){ int num,i,j,k,place;scanf("%d",&num);if (num>99)place=3;else if(num>9)place=2;elseplace=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch (place){ case 3: printf("%d%d%d\n",k,j,i);break;case 2: printf("%d%d\n",k,j);break;case 1: printf("%d\n",k);}}A) 123 B) 1,2,3 C) 321 D) 3,2,174、执行下列程序后的输出结果是___D____.#include <stdio.h>void main( ){ int k=4,a=3,b=2,c=1;printf("%d\n",k<a?k:c<b?c:a);}A) 4 B) 3 C) 2 D) 175、以下条件表达式中能完全等价于条件表达式x 的是____B___.A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)76、若运行下面程序时,给变量a输入15,则输出结果是___A___.#include <stdio.h>void main( ){ int a,b;scanf("%d",&a);b=a>15?a+10:a-10;printf("%d\n",b) ;}A) 5 B) 25 C) 15 D) 1077、运行下面程序后,输出是___D___.#include <stdio.h>void main( ){ int k=-3;if (k<=0) printf("****\n");else printf("####\n")}A) ####B) ****C) ####****D) 有语法错误不能通过编译78、执行下面程序的输出结果是____C____.#include <stdio.h>void main( ){ int a=5,b=0,c=0;if (a=a+b) printf("****\n");else printf("####\n");}A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出****D) 输出####79、为了避免嵌套的if-else语句的二义性,C语言规定else总是与___C___组成配对关系.A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if80、设x 、y 、z 、t均为int型变量,则执行以下语句后,t的值为____C_____.x=y=z=1;t=++x || ++y && ++z;A) 不定值B) 4 C) 1 D) 081、以下程序段____C______.x=-1;do{x=x*x;} while (!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误82、对下面程序段描述正确的是___B____.int x=0,s=0;while (!x!=0) s+=++x;printf("%d",s);A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次83、下面程序段的输出结果是____C____.x=3;do { y=x--;if (!y) {printf("*");continue;}printf("#");} while(x=2);A) ## B) ##* C) 死循环D)输出错误信息84、下面程序的运行结果是____B____.#include<stdio.h>void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--<0);printf("%d,%d\n",a,b);}A) 3,11 B) 2,8 C) 1,-1 D) 4,985、下面程序段的运行结果是____B______.int n=0;while (n++<=2)printf("%d",n);A) 012 B) 123 C) 234 D) 错误信息86、下面程序段的运行结果是___D_____.int x=0,y=0;while (x<15) y++,x+=++y;printf("%d,%d",y,x);A) 20,7 B) 6,12 C) 20,8 D)8,2087、下面程序的运行结果是___B_____.#include<stdio.h>void main(){ int s=0,i=1;while (s<=10){ s=s+i*i;i++;}printf("%d",--i);}A) 4 B) 3 C) 5 D) 688、函数pi的功能是根据以下近似公式求π值:____C______(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)请填空,完成求π的功能。

二级C语言程序设计教程课后习题答案(高教版)(优.选)

二级C语言程序设计教程课后习题答案(高教版)(优.选)
【4-20】*#
【4-21】
main()
{ int a,m;
printf("input a: ");
scanf("%d",&a);
switch(a/10)
{ case 0:
case 1:
case 2: m=1 ;break;
case 3: m=2 ;break;
case 4: m=3 ;break;
if (x>0) y=x+1;
printf("\nx is %d , y is %d",x,y);
}
else printf("input x is error ! %c",'\007');
getch();
}
【4-25-3】
main()
{ int x,y;
printf("\ninput x: ");
scanf("%d",&x);
#include <stdio.h>
main() /* main function */
{ float a,b,c,v; /* a,b,c are sides, v is volume of cube */
a=2.0; b=3.0; c=4.0;
v=a*b*c;
printf("%f\n",v);
}
第三章
getch();
}
第四章
【4-1】A【4-2】A【4-3】A【4-4】D【4-5】C【4-6】A【4-7】B【4-8】A
【4-9】D【4-10】A【4-11】非零,零【4-12】<,>,<=,>= ==,!=

二级C语言课本课后习题参考答案

二级C语言课本课后习题参考答案

二级C语言课本课后习题参考答案第一章程序设计基本概念**************************************************(1) exe(2) C,obj , exe(3) 顺序,选择,循环***************End of Chapter 1*******************第二章C程序设计的初步知识**************************************************一、选择题(1) B (2) D (3) B (4) A (5) C(6) A (7) B (8) B (9) A (10) C(11)B (12)B (13)A二、填空题(14)11,12(15) 4.2,4.2(16) { ,} 说明,执行(17) 关键字,用户标识符(18) int ,float ,double(19) float a1=1,a2=1 ;(20) 存储单元(21) 3.5(22) a*b/c a/c*b a*(b/c)(23) 10赋给变量s(24) 位,0或1(25) 8 ,255 ,11111111,0,00000000(26) 32767 ,-32768 ,10000000 00000000(27)十,八,十六三、上机改错题——————————————————————————————————————(28) 请指出以下C程序的错误所在#include stdio.h ;main( ); / * main function * /float r, s; /* /*r is radius*/,/*s is area of circular*/*/r = 5.0 ;s=3.14159 * r * r ;printf("%f\n",s);※正确应为:#include 或#include"stdio.h"main( ) /* main function */{float r,s; /*r is radius, s is area of circular*/r = 5.0 ;s = 3.14159 * r * r ;printf("%f\n",s);} ——————————————————————————————————————(29) 请指出以下C程序的错误所在#include stdio.hmain /* main function */{float a,b,c,v; /*a,b,c are sides, v is volume of cube*/a = 2.0 ;b = 3.0 ;c = 4.0v = a * b * c;printf("%f\n",v);}※正确应为:#include"stdio.h"main( ) /* main function */{float a,b,c,v; /*a,b,c are sides, v is volume of cube*/a = 2.0 ;b = 3.0 ;c = 4.0;v = a * b * c;printf("%f\n",v);}***************End of Chapter 2*******************第三章顺序结构**************************************************一、选择题(1) C (2) C (3) D (4) C (5) D(6) B (7) C (8) D (9) A (10)B(11)C (12)D (13)D (14)A (15)C(16)C (17)C (18)均不对,应为scanf( “%6f”,&c) (18) C (20) B二、填空题(21) ①-200,2500 ②i=-200, j=2500 ③i = -200 , j = 2500(22) 12 ,0 ,0(23) 语句块,{ ;}(24) ;(25) 100<空格>25.81<空格>1.89234 /*可用一个或几个空格作为输入时的间隔符*/ 10025.811.89234 /*Tab(制表符)也可以作为输入时的间隔符*/10025.811.89234 /*CR(回车符)也可以作为输入时的间隔符*/(26) x = 127,x =ццц127,x=ццц177, x=цццц7f, x=ццц127。

二级C语言程序设计教程课后习题标准答案(高教版)

二级C语言程序设计教程课后习题标准答案(高教版)
main()
{ float a,b,c,s,v;
printf("input a,b,c:");
scanf("%f %f %f:",&a,&b,&c);
s=a*b;
v=a*b*c;
printf("a=%f,b=%f,c=%f\n",a,b,c);
printf("s=%f,v=%f\n",s,v);
}
【3-30】
main()
{ int a,b,c,t;
printf("Input a,b,c: ");
scanf("%d%d%d",&a,&b,&c);
t=c;
c=b;
b=a;
a=t;
printf("\na,b,c=%d,%d,%d\n",a,b,c);
getch();
}
第四章
【4-1】A【4-2】A【4-3】A【4-4】D【4-5】C【4-6】A【4-7】B【4-8】A
【4-9】D【4-10】A【4-11】非零,零【4-12】<,>,<=,>= ==,!=
【4-13】!,&&,|| 【4-14】!,关系运算符,&&,|| 【4-15】!
【4-16】(A)a==b||a<c(B)fabs(x)>4【4-17】1【4-18】x<=0,1【4-19】3,2,2
【4-20】*#
【4-21】
main()
{ int a,m;
printf("input a: ");
scanf("%d",&a);

五邑大学试卷_C语言程序设计_信息学院各专业_B卷1

五邑大学试卷_C语言程序设计_信息学院各专业_B卷1

选择题(30%:15小题,每小题2分)1. 在一个C程序中()。

A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置2。

C语言中最基本的数据类型包括().A)整型、浮点型、逻辑型B)整型、浮点型、字符型C) 整型、字符型、逻辑型D)整型、浮点型、逻辑型、字符型3。

以下二维数组a 的正确说明是( )。

A)int a[1,1];B)float a(3,4);C)double a[2][4];D)float a(3)(4);4. 设有:int a=2,b=3,c=7,d=8,m=3,n=3; 执行(m=a>b)&&(n=c〉d)后的n 值为()。

A)0 B)1 C )2 D)35。

一般情况下,C语言是以()表示运算结果为逻辑真.A)F B)T C)1 D)06. 设a、b和c都是int型变量,且a=3,b=4,c=5;则以下的表达式中,值为0的表达式是()。

A)a&&b B) a〈=b C)a||b+c&&b-c D) !((a<b)&&!c‖1) 7。

若x=4,则x*=x+2的值为().A)36 B) 24 C) 18 D) 208。

int *p1,*p2; 以下表达式错误的是()。

A) p1+p2 B)p1-p2 C)p1=p2 D)p1= =p29. 设有如下定义:struct sk{ int a;float b;}data;int *p;若要使p指向data中的a域,正确的赋值语句是()。

A)p=&a; B)p=data.a; C) p=&data。

a;D) *p=data。

a;10. 下面各项中,含有错误的是()。

A)char s[10];s=”program”;B)char s[]={ ’p ’, 'r ', 'o ','g ',’r ',’a ',’m’, '\0’};C ) char s[10] ="program”;D)char s[10]={”program”};11。

C语言-习题集参考答案全部

C语言-习题集参考答案全部

目录- 1 -目录第一章C语言基础知识参考答案 ................................................................................ - 2 - 第二章顺序结构参考答案.......................................................................................... - 5 - 第三章选择结构参考答案.............................................................................................. - 7 - 第四章循环结构参考答案............................................................................................ - 11 - 第五章函数参考答案................................................................................................ - 15 - 第六章指针参考答案.................................................................................................... - 18 - 第七章一维数组参考答案............................................................................................ - 21 - 第八章二维数组参考答案.......................................................................................... - 28 - 第九章字符串参考答案.......................................................................................... - 31 - 第十章对C语言的深入讨论参考答案 ....................................................................... - 33 - 第十一章结构体与共用体参考答案............................................................................ - 34 - 第十二章文件参考答案........................................................................................ - 35 -全国计算机等级考试二级教程C 语言习题集参考答案- 2 - 第一章C语言基础知识参考答案一,选择题1 C2 D3 A4 C5 A6 D7 C 分析:C答案以数字开头了8 D 分析:int 是关键字9 C 10 D 11 B12 D 分析:Visual C++6.0中int类型的变量占的字节数为4。

C语言程序设计[第二版]习题参考答案解析

C语言程序设计[第二版]习题参考答案解析

WORD格式可编辑C语言程序设计习题参考答案习题 1一、判断题1.在计算机中,小数点和正负号都有专用部件来保存和表示。

2.二进制是由0和1两个数字组成的进制方式。

3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。

4.在整数的二进制表示方法中,0的原码、反码都有两种形式。

5.有符号数有三种表示法:原码、反码和补码。

6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。

解:1.F 2.T 3.T 4.T 5.T 6.T二、单选题1.在计算机中,最适合进行数值加减运算的数值编码是。

A. 原码B. 反码C. 补码D. 移码2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII码为十进制数。

A. 112B. 120C. 121D. 1223.关于ASCII码,在计算机中的表示方法准确地描述是。

A. 使用8位二进制数,最右边一位为1B. 使用8位二进制数,最左边一位为1C. 使用8位二进制数,最右边一位为0D. 使用8位二进制数,最左边一位为04.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是___________。

A. X∧Y=1000B. X∨Y=1111C. X⊕Y=0011D. ¯Y=10005.下列叙述中正确的是()。

A.高级语言就是机器语言B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。

A.生成可执行文件B.生成目标文件C.输出运行结果D.自动保存源文件7.下列叙述中不正确的是()。

A.main函数在C程序中必须有且只有一个B. C程序的执行从main函数开始,所以main函数必须放在程序最前面C. 函数可以带参数,也可以不带参数。

C语言程序设计(第2版)-- 课后题答案-推荐下载

C语言程序设计(第2版)-- 课后题答案-推荐下载
《C 语言程序设计能力教程(第二版)》课后作业及实训题
参考答案
第 1 章 进入 C 语言程序世界 二、 1. I love China!
printf("we are students.\n") 2. 6 项目实训题参考答案
1.编写一个 C 程序,输出以下信息: ******************** I am a student! ********************
ቤተ መጻሕፍቲ ባይዱ:
4
main() { float p,y,x,j,ys,g,fk; printf("apple,pear,banana,orange(weight)="); scanf("%f,%f,%f,%f",&p,&y,&x,&j); ys=2.5*p+1.8*y+2*x+1.6*j; printf("fu kuan="); scanf("%f",&g); fk=g-ys; printf("result:\n");
float rate=0.0225,capital,deposit; scanf("%d,%f",&n,&capital); deposit=capital*pow(1+rate,n); printf("deposit=%f\n",deposit); } 2.将一个三位数整数,正确分离出它的个位、十位和百位数字,并分别在屏幕上 输出。 main() { int n,a,b,c; scanf("%3d",&n); a=n/100; b=n%100/10; c=n%100%10/1;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

试卷号:TSheet2一、选择题1、为了避免在嵌套的条件语句if-else中产生二义性,C语言中规定的if-else匹配原则是____ 。

(A) else子句与其之前未配对的if配对(B) else子句与其之前未配对的最近的if配对(C) else子句与其之后最近的if配对(D) else子句与同一行上的if配对答案:B2、对于switch(c)中的变量c不能定义为____ 类型。

(A) unsigned(B) int(C) char(D) float答案:D3、下列关于switch语句的描述中,正确的是_____ 。

(A) switch语句中default子句只能放在最后(B) switch语句中case子句后面的表达式可以是整型表达式(C) switch语句中每个语句序列中必须有break语句(D) switch语句中default子句可以没有,也可有一个答案:D4、下面叙述正确的是____ 。

(A) for循环只能用于循环次数已经确定的情况(B) for循环同do while语句一样,先执行循环体再判断(C) 不管哪种形式的循环语句,都可以从循环体内转到循环体外(D) for循环体内不可以出现while语句答案:C5、下面程序段运行后,a、b、c的值是_____ 。

a=1; b=2; c=2;while (a<b<c) { t=a; a=b; b=t; c--;}printf("%d,%d,%d",a,b,c);(A) 1, 2, 0(B) 2, 1, 0(C) 1, 2, 1(D) 2, 1, 1答案:A6、以下程序段的输出结果为____ 。

int i=0, s=0;do{if(i%2){i++;continue;}i++;s+=i;} while(i<7);printf("%d\n",s);(A) 16(B) 12(C) 28(D) 21答案:A7、以下for循环体执行的次数是_____。

for (x=0,y=0;(y=123) && (x<4);x++);(A) 为无限次循环(B) 循环次数不定(C) 4次(D) 3次答案:C8、以下程序段的输出结果为_____ 。

for(i=4;i<=10;i++){if(i%3==0) continue;printf("%d", i );}(A) 45(B) 457810(C) 69(D) 678910答案:B9、下列不是死循环的是____ 。

(A) int i=100;while(1){ i=i%100+1;if (i>100) break;}(B) for ( ;;);(C) int k=0;do {++k;} while (k>=0) ;(D) int s=36;while (s);--s;答案:C二、填空题1、以下程序段的运行结果是_____ 。

int x=1, y=0;switch (x){ case 1:switch (y){ case 0: printf("**1**"); break;case 1: printf("**2**"); break;}case 2: printf("**3**");}答案:**1****3**2、执行下面程序段后,k值是____ 。

k=1;n=263;do { k*=n%10;n/=10;} while(n);答案:363、鸡兔共有30只,脚共有90个,下面的程序段是计算鸡兔各有多少只。

for ( x=1;x<=29;x++ ){ y=30-x;if ( ________ ) printf("%d , %d\n", x , y);}答案:x*2+y*4==90@x*4+y*2==904、下面程序段的运行结果是______ 。

int i,j=4;for(i=j;i<=2*j;i++)switch(i/j){case 0:case 1: printf("**");break;case 2: printf("#");}答案:********#5、以下程序段的功能:从键盘输入的字符中统计数字字符的个数(n),用"#"结束循环。

int n=0; char c;while( ______ )if( ______ ) n++;答案:(c=getchar())!='#' c>='0'&&c<='9'@(c=getchar())!='#' (c>='0')&&(c<='9')6、填空完成下面程序,其功能是打印100以内个位数为6且能被3整除的所有数。

int i,j;for( i=0;_______ ;i++){j=i*10+6;if ( _______ ) continue;printf("%d\n", j);}答案:i<=9 j%3!=0 @ i<10 j%3!=07、填空完成下面程序,其功能是从3个红球,5个白球,6个黑球中任意取出8个球,且其中必须有白球,输出所有可能的方案。

int i, j, k ;printf("red\twhite\tblack\n");for(i=0; i<=3; i++)for( _____ ; j<=5; j++){ k=8-i-j;if( _____ )printf("%d\t%d\t%d\n", i, j, k);}答案:j=1 k<=6 @ j=1 k<7三、程序操作题1、请打开考生文件夹中的文件E0301.c ,该程序的功能是:输入三个整数,然后输出其中最大和最小的数。

请完善程序并调试通过。

(注意:不得删除或改变已有的程序代码行)参考代码:————考生程序代码————#include <stdio.h>int main( ){printf("请输入三个整数a,b,c的值:");scanf("%d%d%d",&a,&b,&c);printf("max=%d min=%d\n",max,min);return 0;}————标准程序代码————#include <stdio.h>int main( ){int a, b, c, max, min;printf("请输入三个整数a,b,c的值:");scanf("%d%d%d",&a,&b,&c);if(a>b)max=a,min=b;elsemax=b,min=a;if(c>max) max=c;else if(c<min) min=c;printf("max=%d min=%d\n",max,min);return 0;}2、请打开考生文件夹中的文件E0303.c ,完成"习题3"编程题的第3题:按工资的高低纳税。

…,输入工资数,求纳税款和实得工资数。

(注意:不得删除或改变已有的程序代码行)参考代码:————考生程序代码————#include <stdio.h>int main(){printf("Please enter s(工资额):");scanf("%f",&s);printf("纳税款: %5.0f\n",tax);printf("实得工资数: %5.0f\n",s);return 0;}————标准程序代码————#include <stdio.h>int main(){int p,q; //q为转换点float s,tax;printf("Please enter s(工资额):");scanf("%f",&s);q=(int)s/1000;switch(q){ case 0: p=0; break;case 1: p=5; break;case 2:case 3:case 4: p=8; break;case 5:case 6:case 7: p=15; break;default:p=20;}tax=s*p/100;s=s-tax;printf("纳税款: %5.0f\n",tax);printf("实得工资数: %5.0f\n",s);return 0;}3、请打开考生文件夹中的文件E0403.c(空文件) ,在该文件中编写程序代码实现如下功能:利用公式π/4≈1-1/3+1/5-1/7+…,求π的近似值,直到最后一项的绝对值小于0.00001(有5个0)为止,并统计出累加的项数num。

最后结果通过以下语句输出:printf("num=%d\npi=%5.4f\n",num,pi);参考代码:————考生程序代码————————标准程序代码————#include <stdio.h>#include <math.h>int main( ){int sign=1,n=1,num=1;double t=1,sum=0,pi;while(fabs(t)>0.00001){t=sign/(double)n;sum=sum+t;sign=-sign;n+=2;num++;}pi=sum*4;printf("num=%d\npi=%5.4f\n",num,pi);return 0;}4、请打开考生文件夹中的文件xt0304.c(空文件) ,在该文件中编写程序代码实现如下功能:计算1*2*3+3*4*5+…+99*100*101的值。

要求最后只输出计算的结果并换行,不要包含其他信息。

例如:printf("%d\n",sum);参考代码:————考生程序代码————————标准程序代码————#include <stdio.h>int main(){int i,j,k,sum=0;for(i=1;i<=99;i+=2)j=i+1,k=i+2,sum=sum+i*j*k;printf("%d\n",sum);return 0;}5、请打开考生文件夹中的文件xt0306.c(空文件) ,在该文件中编写程序代码实现如下功能:有一分数系列2/1, -3/2, 5/3, -8/5, 13/8, -21/13, ...... 求出这个数列的前20项之和。

相关文档
最新文档