C教材习题答案
《C语言程序设计教程(第二版)》习题答案
![《C语言程序设计教程(第二版)》习题答案](https://img.taocdn.com/s3/m/1047031eff00bed5b9f31da5.png)
1 【C语言】《C语言程序设计教程(第二版)》习题答案说明1. 本文所指的《C语言程序设计教程(第二版)》是李凤霞主编、北京理工大学出版社出版的,绿皮。
2 第1章程序设计基础知识一、单项选择题(第23页)1-4.CBBC 5-8.DACA二、填空题(第24页)1.判断条件2.面向过程编程3.结构化4.程序5.面向对象的程序设计语言7.有穷性8.直到型循环9.算法10.可读性11.模块化12.对问题的分析和模块的划分三、应用题(第24页)2.源程序:main(){int i,j,k; /* i:公鸡数,j:母鸡数,k:小鸡数的1/3 */printf("cock hen chick\n");for(i=1;i<=20;i++)for(j=1;j<=33;j++)for(k=1;k<=33;k++)if (i+j+k*3==100&&i*5+j*3+k==100)printf(" %d %d %d\n",i,j,k*3);}执行结果:cock hen chick4 18 788 11 8112 4 843.现计算斐波那契数列的前20项。
递推法源程序:main(){long a,b;int i;a=b=1;for(i=1;i<=10;i++) /*要计算前30项,把10改为15。
*/{printf("%8ld%8ld",a,b);a=a+b;b=b+a;}}递归法源程序:main(){int i;for(i=0;i<=19;i++)printf("%8d",fib(i));}fib(int i){return(i<=1?1:fib(i-1)+fib(i-2));}执行结果:1 123 5 8 13 21 34 5589 144 233 377 610 987 1597 2584 4181 6765 4.源程序:#include "math.h";main(){double x,x0,deltax;x=1.5;do {x0=pow(x+1,1./3);deltax=fabs(x0-x);x=x0;}while(deltax>1e-12);printf("%.10f\n",x);}执行结果:1.32471795725.源程序略。
c语言程序设计教程第三版习题答案
![c语言程序设计教程第三版习题答案](https://img.taocdn.com/s3/m/38fd88adf71fb7360b4c2e3f5727a5e9856a27c2.png)
c语言程序设计教程第三版习题答案C语言程序设计教程第三版习题答案第一章:C语言概述1. 简述C语言的特点。
C语言是一种结构化编程语言,具有高级语言的特点,同时支持底层硬件操作。
其特点包括:简洁、高效、可移植、丰富的运算符、数据结构支持、广泛的库函数等。
2. 什么是编译型语言?编译型语言是指源代码在执行前需要通过编译器转换成机器语言的程序设计语言。
C语言就是一种编译型语言。
第二章:数据类型、运算符和表达式1. 列出C语言的基本数据类型。
C语言的基本数据类型包括:整型(int)、字符型(char)、浮点型(float和double)。
2. 说明赋值运算符的用法。
赋值运算符(=)用于将右侧表达式的值赋给左侧的变量。
例如:`int a = 10;` 将整数值10赋给变量a。
第三章:控制结构1. 什么是条件语句?条件语句用于根据条件的真假来执行不同的代码块。
C语言中的条件语句主要有if语句和switch语句。
2. 循环语句有哪些?C语言中的循环语句主要有for循环、while循环和do-while循环。
第四章:数组和字符串1. 数组的声明和初始化方式。
数组声明的一般形式为:`type arrayName[arraySize];`。
初始化可以使用花括号一次性赋值,如:`int arr[5] = {1, 2, 3, 4, 5};`。
2. 字符串在C语言中的表示方法。
在C语言中,字符串以字符数组的形式存在,以空字符('\0')作为结束标志。
第五章:函数1. 函数的定义和调用。
函数定义的一般形式为:`returnTypefunctionName(parameterList) { /* function body */ }`。
调用函数时,使用其名称和必要的参数。
2. 函数的参数传递方式有哪些?C语言中函数的参数传递方式主要有值传递(pass by value)和引用传递(pass by reference)。
《C语言程序设计》教材习题答案第4章
![《C语言程序设计》教材习题答案第4章](https://img.taocdn.com/s3/m/541b9b45b4daa58da0114aa6.png)
if(++n<10) printf("%d\n",n);
else printf("%d\n",--n);
}
3、若a、b、c1、c2、x、y均是整形变量,正确的switch语句是D
switch(a-b)
{default:y=a*b;break;
case 3:
case 10:y=a-b;break;
{
day+=a[ai][i];
}
day+=d;
printf("这是该年的弟%d天\n",day);
}
7、输入一个字符,判断输入字符的种类,即区分空格、回车、数字字符、英文字母和其他字符(要求分别用if…else if和switch语句编写)。
#include<stdio.h>
void main()
{
else x=6;
else x=7;
12、有如下程序段
int a=14,b=15,x;
char c='A';
x=(a&&b)&&(c<'B');
执行该程序段后,x的值为D 1
13、有如下程序段
int score=5;
switch(score)
{
case 5:printf("very good!");
case 4:printf("Good!");
default:printf("data error!");
}
程序输出结果为D Very good! Good! Data error!
《C语言程序设计》教材习题答案第5章
![《C语言程序设计》教材习题答案第5章](https://img.taocdn.com/s3/m/38626d49482fb4daa58d4ba6.png)
一、选择题1.设有程序段”int k=10;while(k=0)k=k-1;”,则下面叙述正确的是D 循环体语句一次也不执行2.设有程序段”int x=0,s=0;while(!x!=0)s+=++x;printf(“%d”,s);”则A 运行程序段后输出13.若有语句”int x=3;do{printf(“%d\n”,x-=2);}while(!(--x));”,则该程序段C 输出的是1和-24.下面循环语句中,错误的是D int a=1,b=2;do b--while(b= =0);5.已知”int i=5;”,下列do…while循环语句的循环次数为C 5do{printf(“%d\n”,i--);}while(i!=0);6.循环语句”for(int i=0,j=10;i=j=10;i++,j--)”的循环次数是D 无限7.循环语句”while(int i=0;)i--;”的循环次数是A 08.下述有关break语句的描述中,不正确的是C break语句用于if语句的内嵌语句内,它结束该if语句9.下面关于循环语句的描述中,错误的是B 循环体内必须同时出现break语句和continue语句10.以下不是死循环的是D for(;(c=getchar()!=’\n’);)printf(“%c”,c);11.执行语句”for(i=0;i++<3;);”后,变量i的值为C 412.语句”for(x=0,y=0;y!=1&&x<4;x++);”是C 循环4次13.与语句”while(!x);”等价的语句是A while(x= =0);14.执行下列程序段后a的值为B 2int a=1,b=10;do{b-=a;a++;}while(b--<0)二、编程题1.读入用户输入的6个整数并显示其平均值。
#include<stdio.h>main(){float sum=0;int tmp;int i;for(i=0;i<6;i++){printf("输入第%d个数:",i+1);scanf("%d",&tmp);sum=sum+tmp;}printf("平均值是:%f",sum/6);}2.先读入一个正整数n,然后计算并显示前n个偶数的和。
高等数学c教材课后答案详解
![高等数学c教材课后答案详解](https://img.taocdn.com/s3/m/791c472ca88271fe910ef12d2af90242a895ab0a.png)
高等数学c教材课后答案详解1. 一元函数、多元函数与极限在高等数学C教材中的第一章中,我们学习了一元函数、多元函数与极限的概念和性质。
以下是课后习题的答案详解:1.1 一元函数1.1.1 定义域和值域对于一元函数f(x),定域是指使函数f(x)有意义的x的取值范围。
而值域是指函数f(x)在定域上所能取到的所有值。
例如,对于函数f(x) = √(x-2),我们需要满足x-2≥0,即x≥2。
因此,定域为[2, +∞)。
而在这个定域上,函数f(x)能够取到的值域为[0, +∞)。
1.1.2 奇偶性与周期性对于一元函数f(x),奇偶性指的是函数图像关于y轴对称还是关于原点对称。
周期性指的是函数图像在一定区间内重复出现的性质。
例如,对于函数f(x) = sin(x),它是奇函数,因为f(-x) = -f(x);而它是周期函数,因为f(x+2π) = f(x)。
1.2 多元函数1.2.1 偏导数和全微分对于多元函数z = f(x, y),它的偏导数指的是在变量x或y固定时,函数z对于x或y的变化率。
例如,对于函数z = x^2 + 2y^2,其关于x的偏导数为∂z/∂x = 2x,关于y的偏导数为∂z/∂y = 4y。
1.2.2 隐函数与显函数对于多元函数z = f(x, y),如果可以通过一个显式的等式z = g(x, y)来表示,则称为显函数。
如果无法通过显式等式表示,而是通过一条方程F(x, y, z) = 0来定义,则称为隐函数。
例如,对于方程x^2 + y^2 - z^2 = 1,可以解出z = √(x^2 + y^2 - 1),因此可以表示为显函数。
1.3 极限1.3.1 定义和性质在一元函数中,我们讨论了函数在某点的左极限、右极限以及极限存在的条件。
同时,我们也介绍了无穷大极限和无穷小极限的概念。
在多元函数中,我们引入了二重极限的概念,即函数在二元变量(x, y)逼近某一点时,同时有两个变量趋于该点的极限存在。
c语言程序设计第五版习题答案
![c语言程序设计第五版习题答案](https://img.taocdn.com/s3/m/aa42c5757ed5360cba1aa8114431b90d6c8589b9.png)
习题解析与答案第1章C语言概述一.简答题1.概述C语言的主要特点。
【解答】(1)语言简洁、紧凑,使用方便、灵活.(2)数据类型丰富,表达能力强。
(3)运算符多样。
C语言中的运算符包含的范围非常广泛。
(4)具有结构化的控制语句。
如if…else语句、while语句、do while语句、switch 语句、for语句.(5)允许直接访问物理地址.C语言中含有的位和指针运算,能够直接对内存地址进行访问操作.(6)所生成的目标代码质量高,可移植性好。
2.构成C语言程序的基本单位是什么?它由哪几部分组成?【解答】函数是构成C语言程序的基本单位。
一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。
3.C语言程序的运行一般要经过哪几个步骤?【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。
二.运行程序写结果1.输入下面程序并运行。
main(){int a1,a2,x;a1=100;a2=50;x=a1—a2;printf(″x=%d\n″,x);}【解答】运行结果为:x=502.输入下面程序并运行。
main(){int a1,a2,x;a1=10;a2=20;x=a1*a2;printf(″a1=%d,a2=%d\n″,a1,a2);printf(″x=%d\n″,x);}【解答】运行结果为:a1=10,a2=20x=200三.编程题1.参照本章例题,编写一个C程序,用于显示如下信息:*************************I love C programs!*************************【分析与提示】①要有文件包含语句#include <stdio。
h〉。
C语言中没有数据的输入、输出等功能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf等来实现的.这些函数的说明都包括在stdio.h文件中.②main是主函数的名称。
《C语言程序设计教程》习题参考答案
![《C语言程序设计教程》习题参考答案](https://img.taocdn.com/s3/m/92b7bc501611cc7931b765ce050876323112749b.png)
《C语言程序设计教程》习题参考答案《C语言程序设计教程》习题参考答案祝胜林主编华南理工大学出版社【习题1】 (1)【习题2】 (2)【习题3】 (3)【习题4】 (5)【习题5】 (8)【习题6】 (11)【习题7】 (14)【习题8】 (17)【习题9】 (17)【习题10】 (20)一、简答题(在课本中寻找答案,略)1.1C程序的基本结构包括哪些内容?1.2如何定义标识符?1.3输入格式、输出格式的组成包括哪些内容?1.4C语言函数分为哪两类?1.5计算表达式的值应该考虑哪些方面?1.6上机调试程序的步骤如何?二、判断并改错1.7C程序执行的入口是main()函数,所以main函数必须放在程序的开头。
错误:main函数可以放在程序的任何位置。
并不限定在程序的开头。
1.8定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。
错误:不可以交叉出现,数据说明部分在执行语句部分的前面。
1.9编辑与编译不是一回事。
错误:不是一回事。
编辑完成源程序的输入和修改;编译是对源程序进行语法检查,如果无语法错误,则生成目标程序。
1.10scanf("%d,%d",&x,&y);的正确输入格式:3,4<回车>。
正确1.11注释内容太多会影响程序的执行效率。
错误:不会影响程序的执行效率。
因为在编译时,编译系统将注释内容删除或用空格代替,所以注释内容不会编译到目标程序中。
1.12所有的数学公式可以直接出现在源程序中。
错误:数学公式需要转换成C语言能够接受的公式才能出现在源程序中。
三、编程题1.13在屏幕上输出自己名字的拼音。
提示:中文名字叫?张三?,对应的拼音为?Zhang San?,输出用printf()函数。
1.14 输入圆的半径,求圆的周长,并将结果保留两位小数输出到屏幕上。
提示:定义圆的半径r,圆的周长:2*3.14*r,输出结果保留2位小数可以用%.2f1.15输入两个整数,输出其中最大者。
C语言课后习题答案
![C语言课后习题答案](https://img.taocdn.com/s3/m/a200fb2c0066f5335a8121de.png)
1.1选择题:⑴一个C程序的执行是(A)。
A)从main()函数开始,直到main()函数结束B)从第一个函数开始,直到最后一个函数结束C)从第一个语句开始,直到最后一个语句结束D)从main()函数开始,直到最后一个函数结束⑵计算机能直接执行的语言是(B)。
A)汇编语言B)机器语言C)高级语言D)A和B⑶一个C程序是由(C)。
A)一个主程序和若干子程序组成B)若干过程组成C)一个或多个函数组成D)若干子程序组成⑷下列说法正确的是(B )。
A)C程序书写格式限制严格,一行内必须写一个语句B)C程序书写比较自由,一个语句可以分行写在多行上C)C程序书写格式限制严格,要求一行内必须写一个语句,并要求行号D)C程序中一个语句不可以分写在多行上1.2填空题:⑴构成C语言程序的基本单位是函数。
⑵C语言源程序文件的后缀是.c,经过编译后,生成文件的后缀是,obj,经过连接后,生成文件的后缀是.exe。
⑶在TURBO C环境中用RUN命令运行一个C程序时,所运行的程序的后缀是.exe。
⑷一个C语言程序必须有而且只能有一个主函数,它的函数名为main。
⑸一个函数有两部分组成,第一部分称为函数首部;第二部分称为函数体。
⑹函数体由符号{开始,用符号}结束。
函数体的前面是声明部分,其后是执行部分。
1.3上机编辑、调试、运行下列程序,发现错误,并改正之。
/*求1 + 2 + 3 + ……+ 10的和*/#include <stdio.h>main(){int sum,n;sum = 0;n = 1;while(n < 10){sum = sum + n;n = n + 1;}printf("sum = %d \n",sum);}2.1选择题⑴ 在以下标识符中,( B )是合法的用户标识符。
A ) a#bB ) getchC ) voidD ) ab*⑵ 不合法的八进制数是( B )。
c语言程序设计教程第二版课后习题答案
![c语言程序设计教程第二版课后习题答案](https://img.taocdn.com/s3/m/6bce6628f12d2af90242e652.png)
c语言程序设计教程第二版课后习题答案【篇一:c语言程序设计教程_李含光_郑关胜_清华大学出版社习题答案习题答案[完美打印版]】1.单项选择题(1)a (2)c(3)d (4)c (5)b 2.填空题(1)函数(2)主函数(main)(3)printf() , scanf()第2章习题参考答案1.单项选择题1-5 cbccc 6-10 cdcdc 11-13 dbb 2.填空题(1)1(2)26 (3)6 , 4 , 2 (4)10 , 6(5)3.000000 (6)双精度(double)(7)9 (8)字母,数字,下划线(9)13.700000 (10)11(11)((m/10)%10)*100+(m/100)*10+m%10(12)0 (13)10 ,9 ,11(15)(x0y0)||(x0z0)||(y0||z0)(16)double (17)x==0(18)sqrt(fabs(a-b))/(3*(a+b))(19)sqrt((x*x+y*y)/(a+b))第3章习题参考答案1.单项选择题1-5 cccdd 6-10 bcdbc11-15 bcbbb16 a 2.填空题(1)用;表示结束(2){ }(3)y=x0?1:x==0?0:-1(4)y%4==0y%100!=0||y%400==0(5)上面未配对(6)default 标号(7)while , do while , for(8)do while(9)本次(10)本层 3.阅读程序,指出结果(1)yes(2)*(3)abother(4)28 70(5)2,0(6)8(7)36 (8)1(9)3,1,-1,3,1,-1(10)a=12 ,y=12(11)i=6,k=4 (12)1,-2 4.程序填空(1)x:y , u:z(2)m=n , m!=0,m=m/10(3)teps , t*n/(2*n+1) , printf(“%lf\n”,2*s) (4)m%5==0 ,printf(“%d\n”,k) (5)cx=getchar() , cx!=front , cx(6)double s=0, 1.0/k , %lf (7)s=0 , sgmin, 5.编程题(1). #include stdio.h int main() {double x,y; scanf(%lf,x); if(x1) y=x;else if(x=1.0x10) y=2*x-11; elsey=3*x-11;printf(%lf\n,y); return 0; } (2).#include stdio.h int main() {double x,y,z,min;scanf(%lf%lf%lf,x,y,z); if(xy) min=y; else min=x; if(minz)min=z;printf(min=%lf\n,min); return 0; } (3).#include stdio.h int main() {int y,m,d,flag,s=0,w,i;scanf(%d%d%d,y,m,d);flag=(y%4==0y%100!=0||y%400==0);w=((y-1)*365+(y-1)/4-(y-1)/100+(y-1)/400)%7;for(i=1;i=m;i++) {switch(i) {case 1:s=d;break; case 2:s=31+d;break; case 3:s=59+d;break; case 4:s=90+d;break; case 5:s=120+d;break; case6:s=151+d;break; case 7:s=181+d;break; case8:s=212+d;break; case 9:s=243+d;break; case10:s=273+d;break; case 11:s=304+d;break; case12:s=334+d;break;} }s=(w+s)%7; if(s==0)printf(星期日\n); elseprintf(星期%d\n,s); return 0; }(4).#include stdio.h int main() {float p,r;scanf(%f,p); if(p=10) r=p*0.1;else if(p10p=20) r=10*0.1+(p-10)*0.075; else if(p20p=40)r=10*0.1+10*0.075+(p-20)*0.05; else if(p40p=60)r=10*0.1+10*0.075+20*0.05+(p-40)*0.03;else if(p60p=100)r=10*0.1+10*0.075+20*0.05+20*0.03+(p-60)*0.015; else if(p100)r=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(p-100)*0.01; printf(%f\n,r); return 0; } (5).#include stdio.h int main() {char c;while((c=getchar())!=\n) {if(c=ac=z) c=c-32; putchar(c);}return 0; } (6).#includestdio.h int main() {int m,k=2;printf(输入一个正整数:\n); scanf(%d,m); while(km) if(m%k==0) {printf(%4d,k); m=m/k; } else k++;printf(%4d\n,m); return 0; } (7).#includestdio.h int main() {int a,n,s=0,p=0,i;scanf(%d %d,n,a); for(i=1;i=n;i++) {p=p*10+a; s=s+p; }printf(%d\n,s); return 0; } (8).#includestdio.h int main(){int i,j,k;for(i=1;i=9;i++) for(j=0;j=9;j++) for(k=0;k=9;k++)printf(%5d,100*i+10*j+k); return 0; }(9).#includestdio.h #includemath.h int main() {float a=-10,b=10,x,f1,f2,f; f1=(((2*a-4)*a+3)*a)-6; f2=(((2*b-4)*b+3)*b)-6; do {x=(a+b)/2;f=(((2*x-4)*x+3)*x)-6; if(f*f10) { b=x; f2=f; } else { a=x;f1=f; }}while(fabs(f)=1e-6); printf(%6.2f\n,x); return 0; }(10).#includestdio.h#includemath.h int main() {int n=2;double eps,t,s=0,x;scanf(%lf %lf,x,eps); t=x; s=t;while(fabs(t)=eps) {t=-t*(2*n-3)*x*x/(2*n-2); s=s+t/(2*n); n++; }printf(%d,%lf\n,n,s); return 0; }(11).#includestdio.h int main() {unsigned long s,t=0,p=1; scanf(%u,s); while(s!=0) {if((s%10)%2!=0) {t=t+(s%10)*p; p=p*10; }s=s/10; }printf(%u\n,t); return 0; }第4章习题参考答案1.单项选择题1-5 dddbd 6-10 badcd 11-14 bdab 2.填空题(1)2(2)嵌套,递归(3)全局变量,局部变量,静态变量,动态变量(4)auto , static , register , extern (5)外部变量(6)编译,运行 3.阅读程序,指出结果(1)15(2)5(3)5,4,3 (4)i=5 i=2 i=2 i=4 i=2(5)求水仙花数(6)-5*5*5(7)30 (8)0 10 1 11 2 124.程序填空(1)float fun(float , float) , x+y,x-y, z+y,z-y (2)x , x*x+1 (3)s=0 , a=a+b 5.编程题(1).while(s!=0) #includestdio.h { unsigned int fun(unsigned int);p=p+s%10; int main() s=s/10; { } unsigned int s; return p; scanf(%u,s); } printf(%u\n,fun(s)); (2). return 0;#includestdio.h } #includestdlib.h unsigned int fun(unsignedint s) #includemath.h { void f1(float,float,float,float); unsigned int p=0; void f2(float,float,float,float);【篇二:《c语言程序设计》课后习题答案(第四版)谭浩强】t>1.1什么是计算机程序11.2什么是计算机语言11.3c语言的发展及其特点31.4最简单的c语言程序51.4.1最简单的c语言程序举例61.4.2c语言程序的结构101.5运行c程序的步骤与方法121.6程序设计的任务141-5 #include stdio.hint main ( ){ printf (**************************\n\n);printf( very good!\n\n);printf (**************************\n);return 0;}1-6#include stdio.hint main(){int a,b,c,max;printf(please input a,b,c:\n);scanf(%d,%d,%d,a,b,c);max=a;if (maxb)max=b;if (maxc)max=c;printf(the largest number is %d\n,max);return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用n?s流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的c程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3c语句573.3.1c语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include stdio.h#include math.hint main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf(p=%f\n,p);return 0;}3-2-1#include stdio.h#include math.hint main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5);// 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期 p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次 p5=p*pow(1+r0/4,4*5); // 存活期存款。
C语言程序设计(铁道出版社第二版)课后习题参考答案
![C语言程序设计(铁道出版社第二版)课后习题参考答案](https://img.taocdn.com/s3/m/6fb2c42086c24028915f804d2b160b4e767f8100.png)
C语言程序设计课后习题参考答案第1章一、选择题1.C2.B3.A4.B5.D二、填空题1.main2. main3.有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性4. 顺序、分支和循环5. 自顶向下,逐步细化、模块化设计、限制使用goto语句第2章一、选择题1.C2.C3.B4.C5.A二、叙述题1. 向菜单或工具栏添加命令(1)单击“工具”菜单中的“自定义”,或者右单击菜单栏(或工具栏),在弹出的快捷菜单中选择“自定义”命令选项。
(2)在“命令”选项卡的“请选择要重排的菜单或工具栏”下,选择要更改的菜单或工具栏,如选择工具栏,在其对应的下拉列表框中选择“调试”,然后单击“添加命令”。
(3)在“添加命令”话框中,从“类别”列表中选择类别名称,然后从“命令”列表中选择要添加的命令。
(4)单击“确定”,再单击“关闭”。
2.项目和解决方案是Visual Studio 2010提供的两类容器。
项目是构成某个程序的所有项的容器,该程序可能是控制台应用程序、基于窗口的应用程序或某种别的程序,构成项目的项可以是源代码文件、窗体、类、资源文件等。
一个解决方案可包含一个或多个项目,以及一些其他项。
例如,一个分布式系统可能由若干个不同的程序组成,而各个程序是作为同一个解决方案内的项目开发的。
源文件只有放在相关的项目中才可以生成可执行程序。
3.在解决方案资源管理中,首先移除该项目中的例1.1程序代码,然后右单击源文件,如果没有建立例1.2的代码文件,则选择添加→新建项,并选择C++文件,输入文件名和后缀.c,之后输入相关代码,就可生成项目、运行程序了;如果例1.2代码已存于某个源文件中,则选择添加→现有项,添加该源文件,生成、运行即可。
4.在VC++ 2010的编译系统中,编译会从多个角度检测每个错误,如果从多个角度解释都有问题,则系统会提示有多个错误。
也就说,哪怕一个程序中只有一个错误,但生成项目时可能会出现了一系列编译错误和警告信息。
C语言基础知识习题答案——第一章
![C语言基础知识习题答案——第一章](https://img.taocdn.com/s3/m/9f5aff2b3169a4517723a303.png)
第一章C语言基础知识一,选择题1 答案是AA正确B {}可以作为复合语句的标志C main 函数不是用户命名的D 分号是语句结束的标志,肯定是语句的一部分做这个题目需要对书上的概念透彻的理解2 答案是AA 错误用户标识符:命名时,标识符的选择由用户自定,但是不能与关键字相同,所以A选项错误。
这个题目考察用户标识符3 答案是B用户标识符是标识符,所以可以是有下划线,但是中划线不属于字母,数字,下划线其中一种。
这个题目考察用户标识符的概念。
4 答案是Bdefine 是预定义标识符,而预定义标识符可以是用户标识符,所以define可以是用户标识,if 是关键字,而关键字不能是用户标识符,所以if不可以是用户标识符5 答案是Dlong 是关键字,参照附录二注:6--13 考察用户标识符概念6 答案是DD答案以数字2开头了,不符合标识符定义7 答案是CC答案以数字开头了8 答案是Dint 是关键字9 答案是B答案A 是关键字,答案C是以数字开头了,不符合概念,答案D出现了小数点10 答案是A答案A出现了小数点11 答案是C答案C 以数字开头了12 答案是AB答案中float 是关键字,C答案中3c以数字3开头了,D答案中-5d 中- 不属于字母,数字,下划线中一种13 答案是AB答案中-max中-错误,C答案中3COM以字母3开头了,D答案中int 是关键字,不是用户标识符14 答案是BA答案中15. 后面不应该有点,C答案中出现了逗号,D中字母B有问题15 答案是DVisual C++6.0中int类型的变量占的字节数为4。
16 答案是BB中出现了8,而八进制只能有0到7组成17 答案是D答案D中开头是0不是o18 答案是C答案A中E后面是整数,0.5是小数答案B 中E后面不能为空答案D中E前面不能为空本题目考察指数的表示形式19 答案是C答案A中2.0有问题,不能为小数形式答案B中E前面不能为空答案D中E后面不能为空本题目考察指数的表示形式20 答案是AB中八进制中不能出现数字8,C中e后面不能是小数,D中e后面不能为空21 答案是BB中0.4是小数,不正确22 答案是CC中0.5是小数,不正确23 答案是D3.6-5/2+1.2+5%2=3.6-2+1.2+1=3.8本题目考察算术运算符,需要注意整数除以整数结果只能是整数24 答案是D%不能用于实型的计算25 答案是DD答案中$不属于字母,数字,下划线26 答案是AA答案是逗号表达式,B答案中x+1=y是赋值表达式,左边只能是变量,而这里是x+1, 同理答案C中x+10也是错误的,在D答案中,考察的是强制类型转换,正确的是(double)x/1027 答案是A本题考察的是注释需要注意的地方,具体解答见课本第2页中间部分28 答案是B答案A中n2没有定义,答案C中在定义f之前不能使用它,答案D 中E后面必须是整数29 答案是C考察的是强制类型转换,正确的是k%(int)f30 答案是D本题目类似与第七课时的例一,解题方法是要抓住++m,--n,--m,表达式的值是变量变化之后的值,而n--表达式的值是变量n变化之前的值31 答案是B本题目考察的是负整数与无符号正整数在计算机中存放的格式的一样的,但表示的不同的两个数32 答案是CA答案中%运算对象不能为实型,26.8错误,B答案中考察的赋值运算符,赋值运算符左边必须是变量,所以赋值运算符左边1+2错误,同理答案D错误33 答案是C本题目考察的是课本第15页的关于自加与自减运算符的第一点说明,即增量运算符的运算对象只能是变量,而在C答案中++(i+1)中,i+1是表达式34 答案是B本题目考察的是整数除以整数结果是整数,在B答案中1/2结果是0,导致整个表达式的值是0,明显是错误的35 答案是D对于++、--单目运算符来说,其运算对象可以是char型、int型和float 型变量36 答案是A本题目主要考察n++表达式的值是n变化之前的值,然后使n的值增加137 答案是Bc=a/b+0.4 c=8/5+0.4 c=1+0.4 c=1.4 因为c 是int 型的,所以c的值是1 ,做此题目需要仔细阅读题目38 答案是D(int)a+b/b=(int)5.5+2.5/2.5=5+1.000000=b=6.000000同样a,b的类型是double型的39 答案是Dlong 和short不能相互修饰40 答案是C标识符中不能有$41答案是CA选项中,在变量赋值时不能赋给表达式,而y*5是表达式;选项B 中进行强制类型转换时,类型标识符要加上括号,所以错误;选项D 中,%(求余运算符)运算对象只能是整形数。
C语言程序设计习题解析与实验指导(含答案)
![C语言程序设计习题解析与实验指导(含答案)](https://img.taocdn.com/s3/m/6ff0bab82b160b4e777fcfa0.png)
样采用指数形式,但尾数部分被省略了,也不合法;答案 C 采用小数形式,其小数部分可以省略;
答案 D 表示的是整型常量。因此本题选择答案 C。
3. 下列不合法的常量是
。
A.'\x4A'
B." "
C. .8e0
D.'\483'
【参考答案】D
【解析】此题考查的是各种数据类型常量的表示方法:答案 A 是一个转义字符常量,“\x”后
的程序叫做目标程序。由于计算机只能识别二进制码,因此用机器语言编写的源程序就是计
算机能直接识别并运行的目标程序,二者之间无需经过任何翻译;而用汇编语言编写的源程
序需要经过汇编程序汇编才能得到对应的目标程序;用高级语言编写的源程序经过相应的编
译器编译或者用解释的方式得到目标程序,不同语言对应的编译程序或者说编译器不一样。
一、单选题
1.以下哪一个可以作为正确的变量名
。
A. R&D
B._filename C.for D.$X;
【参考答案】B
【解析】此题考查的是标识符的命名规则:标识符是以字母或下划线开头,后面跟字母、
数字、下划线的任意字符序列。答案 A 中的变量名使用了“&”号,不符合要求;答案 C
是关键字,而用户自定义标识符不能使用关键字;答案 D 的变量名以“$”开头,不符合以
2
主教材习题答案及解析 1-3 章
输入设备:键盘、光电笔、扫描仪、鼠标、摄像头、数码相机、手写输入板、游戏杆、 麦克风;
输出设备:打印机、音响、显示器、绘图仪; 既是输入设备又是输出设备:U 盘、SD 卡、光盘、触摸屏、硬盘。 【解析】根据输入设备、输出设备、外存储器的功能以及这些硬件本身的功能区分。 4.简述源程序与目标程序的关系。 【参考答案】 程序员用某种编程语言所编写的程序称为源程序;计算机能直接执行的程序称为目标程 序。目标程序的操作码和操作数都是 0/1 序列,而源程序却不一定是 0/1 序列。源程序必须 转换为目标程序计算机才能读懂并执行。 用机器语言编写的源程序就是目标程序;用汇编语言编写的源程序必须用汇编程序经过 汇编得到目标程序;用高级语言(不是全部)编写的源程序必须用特定的编译程序经过编译 得到目标程序。但并非所有的高级语言编写的源程序都会被编译为目标程序,有的高级语言 例如 BASIC 语言的源程序就是通过解释方式执行程序的,就是边扫描边解释,逐句输入逐 句翻译,计算机一句句执行,并不产生目标程序。 【解析】根据教材 1.2.2 小节的知识。 5.简述 C 程序的开发过程。 【参考答案】 一个 C 程序从编写到执行出结果一般需要 6 个步骤:编辑、预处理、编译、链接、装 载和执行。下面是这几个步骤所完成的任务。 (1)编辑 编辑是通过输入设备将 C 语言源程序录入到计算机中,生成扩展名为“.c”的源文件。 (2)预处理 预处理是指通过预处理器对程序中的预处理指令(它们是为优化代码而设计的)进行转 译。每条预处理指令以符号“#”开头。 (3)编译
c语言程序设计第2版习题答案
![c语言程序设计第2版习题答案](https://img.taocdn.com/s3/m/e2cf2647b6360b4c2e3f5727a5e9856a561226c2.png)
c语言程序设计第2版习题答案1. 基础语法练习题- 题目:编写一个程序,计算并输出1到10的和。
- 答案:使用一个循环结构,累加1到10的数值。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 10; ++i) {sum += i;}printf("The sum from 1 to 10 is: %d\n", sum);return 0;}```2. 数组和字符串练习题- 题目:编写一个程序,找出一个字符串中出现次数最多的字符,并输出它。
- 答案:使用数组来统计每个字符的出现次数,然后找出最大值。
```c#include <stdio.h>#include <string.h>int main() {char str[] = "example string";int maxCount = 0;char maxChar = str[0];int charCount[256] = {0};for (int i = 0; str[i] != '\0'; ++i) {charCount[(int)str[i]]++;if (charCount[(int)str[i]] > maxCount) { maxCount = charCount[(int)str[i]];maxChar = str[i];}}printf("The most frequent character is: %c\n", maxChar);return 0;}```3. 函数和指针练习题- 题目:编写一个函数,交换两个整数的值。
- 答案:使用指针来实现参数的传递。
```c#include <stdio.h>void swap(int *x, int *y) {int temp = *x;*x = *y;*y = temp;}int main() {int a = 5, b = 10;printf("Before swap: a = %d, b = %d\n", a, b);swap(&a, &b);printf("After swap: a = %d, b = %d\n", a, b);return 0;}```4. 结构体和文件操作练习题- 题目:定义一个结构体,包含学生姓名、学号和成绩,编写程序,将学生信息存储到文件中。
《浙工大C语言课本习题答案》
![《浙工大C语言课本习题答案》](https://img.taocdn.com/s3/m/9c44f1d1d4bbfd0a79563c1ec5da50e2524dd1c5.png)
《浙⼯⼤C语⾔课本习题答案》C程序设计习题参考答案习题⼀ (2)习题⼆ (3)习题三 (5)习题四 (8)习题五 (14)习题六 (17)习题七 (20)习题⼋ (26)习题九 (33)习题⼗ (35)习题⼗⼀ (36)习题⼀1. 填空题⑴计算机程序设计语⾔按其发展可分为三类,即机器语⾔、汇编语⾔和⾼级语⾔。
⑵ C程序是由函数构成的,⼀个C程序中⾄少包含 1个main函数。
因此,函数是C程序的基本单位。
⑶ C程序注释是由 /* 和 */ 所界定的⽂字信息组成的。
⑷函数体⼀般包括函数⾸⾏和函数体。
⑸在任何C程序中都必须且只能有⼀个主函数, 主函数名必须为 main 。
2. 判断下列各个叙述的正确与否⑴ C程序的执⾏总是从该程序的main函数开始,在main函数最后结束【√】⑵ C程序的注释部分可以出现在程序中任何位置,它对程序的编译和运⾏不起任何作⽤,但可以增加程序的可读性【√】⑶由“/*”与“*/”界定的注释必须在同⼀⾏【╳】⑷通过了编译、连接的程序就是正确的程序【╳】⑸有计算结果输出的程序⼀定是正确的程序【╳】⑹编译错误是语法错误,运⾏结果错误是逻辑错误【√】⑺编译时在信息窗⼝出现包含“error”的信息,说明程序存在警告性错误【╳】⑻源程序每次修改后,都必须重新编译、连接【√】3. 简答题⑴算法的含义、特点是什么?解答:算法是解题⽅法的精确描述。
有穷性、确定性、有多或零个输⼊、有1或多个输出、有效性。
⑵写出⼀个C程序的基本结构。
由编译预处理命令、注释、1个main和若⼲个⾃定义函数构成,函数格式如下:函数类型函数名(类型标识符形参,类型标识符形参,...){ 类型声明语句; 执⾏语句部分; }⑶写出在你使⽤的计算机系统上,进⼊C环境以及运⾏、调试程序的简要步骤。
⑷输⼊x后计算其正弦值的源程序如下。
编译信息是否表⽰有致命性错误?应如何修改?解答:致命性错误为第6⾏函数sin未声明,应加⼊编译预处理命令 #include4. 编程题⑴请上机调试、运⾏本章课本上C语⾔程序例题4~6(注释部分可以不必输)⑵仿照例6编程,输⼊两个变量后,输出其中较⼤的值。
《C语言程序设计》教材习题答案第8章
![《C语言程序设计》教材习题答案第8章](https://img.taocdn.com/s3/m/48b5737b6c175f0e7cd137a6.png)
一、选择题1.以下数组定义中,错误的是:C)int a[3]={1,2,3,4};2.以下数组定义中,正确的是:B) int a[][2]={1,2,3,4};3.设有定义“int a[8][10];”,在VC中一个整数占用4字节,设a的起始地址为1000,则a[1][1]的地址是:D)10444.已知有数组定义“int a[][3]={1,2,3,4,5,6,7,8,9};”,则a[1][2]的值是:C)65.在以下字符串定义、初始化和赋值运算中,错误的是:A) char str[10];str=”String”;6.设有以下字符串定义,char s1[]={‘S’,’t’,’r’,’i’,’n’,’g’};char s2[]=”String”;则s1和s2:C)长度不同,但内容相同。
7.设有定义“int a[10]={0};”,则说法正确的是:A)数组a有10个元素,各元素的值为0.8.设已定义“char str[6]={‘a’,’b’,’\0’,’c’,’d’,’\0’};”,执行语句“printf(“%s”,str)”后,输出结果为:B)ab9.引用数组元素时,数组元素下标不可以是:C)字符串10.已定义字符串S1和S2,以下错误的输入语句是:C)gets(s1,s2);11.下面程序段的运行结果是:A)123void main(){char a[]=”abcd”,b[]=”123”;strcpy(a,b);printf(“%s\n”,a);}12.下面程序段的运行结果是:A)123void main(){char a[]=”123”,b[]=”abcd”;if(a>b)printf(“%s\n”,a);else printf(“%s\n”,b);}二、编程题1.一维数字a的值已经,请把数组中的值按逆序存放,然后输出数组。
例如数组中原来的值为3,4,2,1,6,颠倒后变成6,1,2,4,3.#include<stdio.h>main(){int i,a[5]={2,3,45,12,5},t;printf("转换前:");for(i=0;i<5;i++)printf("%d\t",a[i]);for(i=0;i<5/2;i++){t=a[i];a[i]=a[5-i-1];a[5-i-1]=t;}printf("\n转换后:");for(i=0;i<5;i++)printf("%d\t",a[i]);}2.输入一个整数(位数不确定),从高位到低位依次输出各位数字,其间用逗号分隔。
C语言程序设计习题答案(第三版)
![C语言程序设计习题答案(第三版)](https://img.taocdn.com/s3/m/b4a33bb31a37f111f1855bdc.png)
C语言程序设计(第三版)习题答案习题一一、名词解释(1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)高级语言P2(5)汇编程序P3 (6)编译程序P4 (7)算法P5 (8)结构化程序设计方法P10二、简答题1. 设计程序时应遵循哪些基本原则?P4答:正确性、可靠性、简明性、有效性、可维护性、可移植性。
2. 算法具有哪些特点?答:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。
3. 算法的表示形式有哪几种?答:自然语言、伪代码、传统流程图、N-S流程图、计算机语言。
4. 结构化程序设计方法的三种基本结构是什么?答:顺序结构、选择结构和循环结构。
5. 传统流程图与N-S流程图最大的区别是什么?答:N-S流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。
三、用传统流程图或N-S流程图表示求解以下问题的算法。
1. 从键盘输入10个整数,求出其中的最小数并输出。
2. 求1+2+3+…+100的值。
3. 求10~50的所有素数之和。
4. 求下列分段函数的值。
四、请参照本章例题,编写一个简单的C 程序,输出以下三行信息。
**************************Yangtze University**************************#include <stdio.h>void main(){printf("**************************\n");printf(" Yangtze University\n");printf("**************************\n");}4X-1 (X ≤1) 5(X-1)+6 (1<X<5) 6-3X (X ≥5)习题二一、选择题1~10: B C D C D D B C A A11~20: D A C D B D B A C D二、填空题1.字母 L 或字母 l2. %c(或字符) 、 %d(或整数)3.在程序运行过程中,其值可以在一定的范围内变化的量4.'\0'5.小数形式、指数形式6.关键字、预定义标识符、用户标识符7.字母、数字、下划线、数字8. 189. 2 、 1 、 3010.双精度实数或double11.赋值、逗号、 20 、 20 、 20 、 412. 4 、 4习题三一、选择题1~10: B C C B C C C D C C注:第4题答案D为: 10 22↙33↙二、填空题1. printf 、 scanf2. h3."%5d"4.'\0'5. e 、 E6. 67. s 、 c8. *9. - 、 +10. i三、编程题1. 编写程序,从键盘输入一个以秒为单位的时间数,将其换算成几小时几分几秒,然后进行输出。
c语言程序设计(第3版)的习题答案
![c语言程序设计(第3版)的习题答案](https://img.taocdn.com/s3/m/292dd01ba4e9856a561252d380eb6294dd88221f.png)
c语言程序设计(第3版)的习题答案c语言程序设计(第3版)的习题答案本文为《c语言程序设计(第3版)》中的习题答案汇总,旨在帮助读者更好地理解和掌握该教材。
以下是各章节习题的详细解答:第1章:计算机概述习题1:答案:计算机是一种能够接受输入数据、对其进行逻辑和算术运算,并产生输出结果的电子设备。
习题2:答案:计算机主要由中央处理器(CPU)、主存储器、输入设备和输出设备四个主要部分组成。
......第2章:c语言概述习题1:答案:C语言是一种通用的高级编程语言,由贝尔实验室的Dennis Ritchie于1972年开发。
习题2:答案:C语言的特点包括高效性、可移植性、灵活性和丰富的操作符与控制语句。
......第3章:数据类型、运算符和表达式习题1:答案:C语言中的基本数据类型包括int、float、double、char等。
习题2:答案:C语言中的运算符包括算术运算符、关系运算符、逻辑运算符等。
......第4章:程序控制结构习题1:答案:C语言中的程序控制结构主要包括顺序结构、选择结构和循环结构。
习题2:答案:顺序结构是指程序按照语句的顺序依次执行,没有分支和循环。
......第5章:函数习题1:答案:C语言中的函数由函数头和函数体组成。
习题2:答案:函数的定义包括函数名、返回类型、参数列表和函数体。
......第6章:数组和字符串习题1:答案:数组是一组相同类型的数据元素的集合。
习题2:答案:C语言中的字符串是以空字符'\0'结尾的字符数组。
......第7章:指针习题1:答案:指针是用来存储另一个变量的地址的变量。
习题2:答案:指针变量可以通过取地址运算符(&)获取普通变量的地址。
......第8章:结构和共用体习题1:答案:结构是由不同数据类型的成员组成的复合类型。
习题2:答案:共用体(union)是一种特殊的数据类型,它可以存储不同类型的数据,但在同一时间只能存储其中的一种。
C语言程序设计教程(第2版)课后习题答案(完美版)
![C语言程序设计教程(第2版)课后习题答案(完美版)](https://img.taocdn.com/s3/m/8a74cc195acfa1c7aa00cca4.png)
C语言程序设计教程(第二版)课后习题答案第一章C语言程序设计概述-习题答案1算法的描述有哪些基本方法?答1、自然语言2、专用工具2 C语言程序的基本结构是怎样的?举一个例子说明。
答1、C语言程序由函数构成;2、“/*”与“*/”之间的内容构成C语言程序的注释部分;3、用预处理命令#include、#define可以包含有关文件或预定义信息;4、大小写字母在C语言中是有区别的;5、除main()函数和标准库函数外,用户也可以自己编写函数,应用程序一般由多个函数组成,这些函数指定实际所需要做的工作。
3 C语言有什么特点?答1、具有结构语言的特点,程序之间很容易实现段的共享;2、主要结构成分为函数,函数可以在程序中被定义完成独立的任务,独立地编译代码,以实现程序的模块化;3、运算符丰富,包含的范围很广;4、数据类型丰富;5、允许直接访问物理地址,即可直接对硬件进行损伤,实现汇编语言的大部分功能;6、限制不太严格,程序设计自由度大,这样使C语言能够减少对程序员的束缚;7、生成的目标代码质量,程序执行效率高,同时C语言编写的程序的可移植性好。
4★指出合法与不合法的标识符命名。
答AB12--√leed_3-- a*b2--× 8stu--× D.K.Jon--× EF3_3--√ PAS--√ if--× XYZ43K2 --√ AVE#XY--× _762--√ #_DT5--× C.D--×5说明下列Turbo C热键的功能。
答F2:源文件存盘 F10:调用主菜单 F4:程序运行到光标所在行(用于调试程序) Ctrl+F9:编译并链接成可执行文件 Alt+F5:将窗口切换到 DOS 下,查看程序运行结果。
6说明下列Turbo C方式下输入并运行下列程序,记录下运行结果。
①main(){printf("********************\n");printf(" welcome you \n");printf(" very good \n);printf("********************\n");}②main()printf("please input three numbers;");scanf("%d,%d,%d",&a,&b,&c); /*教材S是错误的*/t=max(max(a,b),c);printf("max number is:%d\n",t);}int max(int x, int y){ int z;if(x>y)z=x;else z=y;return(z);}答运行结果:********************welcome youvery good********************运行结果:please input three numbers;3,1,4 /*左侧下划线内容为键盘输入*/max number is:47一个C程序是由若干个函数构成的,其中有且只能有一个___函数。
《C语言程序设计(第五版)》习题答案
![《C语言程序设计(第五版)》习题答案](https://img.taocdn.com/s3/m/5a666da8fc0a79563c1ec5da50e2524de518d0e8.png)
《C语⾔程序设计(第五版)》习题答案各章习题参考答案第1章习题参考答案1. 简述C程序的结构特点。
答:(1) ⼀个C语⾔源程序由⼀个或多个源⽂件组成。
每个源⽂件由⼀个或多个函数构成,其中有且仅有⼀个主函数(main函数)。
(2) ⼀个函数由函数⾸部(即函数的第⼀⾏)和函数体(即函数⾸部下⾯的⼤括号内的部分)组成。
函数⾸部包括函数类型、函数名和放在圆括号内的若⼲个参数。
函数体由声明部分和执⾏部分组成。
(3) C程序书写格式⾃由,⼀⾏内可以写多条语句,⼀个语句也可以分写在多⾏中,每个语句必须以分号结尾。
(4)程序的注释内容放在“/*”和“*/之”间,在‘/’和‘*’之间不允许有空格;注释部分允许出现在程序中的任何位置处。
2. 分析例1.3程序的结构。
答:下⾯是例1.3的程序,它的结构是:有且只有⼀个主函数main以及若⼲个其它函数,还有⼀个被主函数调⽤的sumab函数。
函数有⾸部,包括类型和名称,⾸部下的⼤括号中有变量定义、输⼊、计算和输出等语句。
#includeint sumab (int x, int y); /*函数声明*/int main () /*主函数*/{ int a,b,sum; /*定义变量*/printf("请输⼊变量a与b的值:"); /*提⽰信息*/scanf ("%d %d", &a, &b); /*输⼊变量a和b的值*/sum=sumab(a,b); /*调⽤sumab函数*/printf("a与b的和等于%d", sum);/*输出sum的值*/return 0;}int sumab (int x, int y) /*定义sumab函数,并定义形参x、y */{ int z;z=x+y;return z;}3. 分别编写完成如下任务的程序,然后上机编译、连接并运⾏。
(1) 输出两⾏字符,第1⾏是“The computer is our good friends!”,第2⾏是“We learnC language.”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C教材习题答案习题1一.填空题1.C程序是由(函数)构成的,一个C程序中至少包含(main函数)。
因此,( 函数) 是C程序的基本单位。
2.C程序注释是由(/* ) 和( */ ) 所界定的文字信息组成的。
3.函数体一般包括(声明部分) 和(执行部分) 。
二.判断题1.一个C程序的执行总是从该程序的main函数开始,在main函数最后结束。
(正确)2.main函数必须写在一个C程序的最前面。
(错误)3.一个C程序可以包含若干的函数。
(正确)4.C程序的注释部分可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。
但是可以增加程序的可读性。
(正确)5.C程序的注释只能是一行。
(错误)6.C程序的注释不能是中文文字信息。
(错误)8.可以使用Turbo C来编译和连接一个C程序。
(正确)9.可以使用Turbo C来运行一个C程序。
(正确)10.可以使用Turbo C来实时调试(即动态调试)一个C程序。
(正确)三、在c++ 中输入如下的程序,编译、连接通过后显示结果(1)#include “”void main(){printf(“* ”)printf(“*** ”);printf(“ ***** ”);printf(“******* ”);}答案:****************(2)已知底和高,计算三角形的面积。
#include “”void main(){ int bottom,high,area; /*bottom 表示底,high 表示高,area表示面积*/ bottom=4;high=6;area=bottom*high/2;printf(“the area is %d\n”,area);}答案:the area is 12四、算法设计:请试着分别用自然语言或、程序流程图和NS图描述如下算法。
1.设计一个程序在屏幕上显示如下的文字HELLO WELCOME YOU2.打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其个位数字立方和等于该数本身。
例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
3.对输入的某学生成绩,如果学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
4.一个数如果恰好等于它的因子之和,这个数就称为“完数”。
例如6=1+2+3.编程找出1000以内的所有完数。
5.一只猴子摘了N个桃子第一天吃了一半又多吃了一个,第二天又吃了余下的一半又多吃了一个,到第十天的时候发现还有一个,问共有多少个桃子。
答案:1.#include “”main(){printf(“HELLO WELCOME YOU”);}2.水仙花数产生在100到999之间,利用穷举法,对此范围之内的所有数一个个进行测试,关键是要对每一个三位数分离出它的三个数字。
具体的算法是:n%10,得到个位,(n/10)%10,得到百位数字,n/100,得到个位数字。
再利用水仙花数的含义来判断该数是否满足条件。
#include “”main(){int n,,i,j,k;for(n=100;n<=999;n++){i=n%10;j=(n/10)%10;k=n/100;if( i*i*i+j*j*j+k*k*k= =n)printf(“%d\n”,n);}}3.此题用if …else if 来实现。
对于每次输入的成绩,判断它属于哪个等级。
#include ""main(){int grade;printf("input grade=");scanf("%d",&grade);if (grade>=90) printf("A\n");else if(grade>=60 &&grade<=89) printf("B\n");else printf("C\n");}4.先考虑一个整数m,如何判断它是否为完数。
从数学知识可知:一个数m除该数本身外的所有因子都在1~m/2之间。
算法中要取得因子之和,只要在1~m/2之间找到所有的整数m的数,将其累加起来即可。
如果累加起来与m本身相等,则表示m是一个完数,可以将m输出。
#include ""main(){int m,i,s;for(m=2;m<=1000;m++){ s=0;for(i=1;i<=m/2;i++)if(m%i==0) s+=i;if(m==s)printf("%d\t",m);}printf("\n");}5.找出前后两天的数量关系,然后用递推法求解。
设第十天的桃子数目为t,昨天的数为y,则t=y/2-1,得到y=2t+2,这样由今日数目可以求出昨日数目,从最后一天开始,倒退到第一天,倒退的循环次数比天数少1。
所以,若已知第n天只留下一个,问第一天有多少个时,则倒退循环n-1次得到结果。
天数:10 9 8 7 6 5 4 3 2 1 桃子数目:1 4 10 22 46 94 190 382 766 1534#include ""main(){int i,t,y,n;t=1;printf("\ninput number n:\n");scanf("%d",&n);for(i=1;i<=n-1;i++){y=2*t+2;t=y;}printf("the total is :%d\n",y);}习题2一、选择题C语言基本类型包括( D )A) 整型、实型、逻辑型B) 整型、实型、字符型、逻辑型C) 整型、字符型、逻辑型D) 整型、实型、字符型下列四组选项中,均不是C语言关键字的选项是A 。
A) define IF typeB) getc char printfC) include case scanfD) while go pow语言的字符型数据在内存中的存储形式是( D )A)原码B)补码C) 反码D) ASCII码C 语言的整型数据在内存中的存储形式是( B )A)原码B)补码C) 反码D) ASCII码已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=‘A’+‘6’-‘3’后,c2中的值为 A 。
A) D B) 68 C) 不确定的值D) C以下叙述正确的是 C 。
A) 在C程序中,每行只能写一条语句B) 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C) 在C程序中,%是只能用于整数运算的运算符D) 在C程序中,无论是整数还是实数,都能被准确无误地表示以下叙述不正确的是D 。
A) 在C程序中,逗号运算符的优先级最低B) 在C程序中,MAX和max是两个不同的变量C) 若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,二b中的值不变D) 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值下面正确的字符常量是 A 。
A) “c”B) ‘\\’’C) ‘’D) ‘K’下列四组选项中,均是合法转义字符的选项是 A 。
A) ‘\”’‘\\’‘\n’B) ‘\’‘\017’‘\”’C) ‘\018’‘\f’‘xab’D) ‘\\0’‘\101’‘xlf’下列四组选项中,均是不合法的用户标识符的选项是 B 。
A) W P_0 doB) b-a goto intC) float la0 _AD) -123 abc TEMP若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。
x=(i=4,j=16,k=32)A) 4 B) 16 C) 32 D) 52设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。
A) float B) char C) int D) double设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。
A) 0~255 B) 0~32767 C) 0~65535 D) 0~47若运行时给变量x输入12,则以下程序的运行结果是。
(有错误,应为0)main(){ int x,y;scanf(“%d”,&x);y=x>12 ? x+10 : x-12;printf(“%d\n”,y);}A) 4 B) 3 C) 2 D) 1若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。
则以下不能满足要求的表达式是 C 。
A) A%2==1 B) !(A%2==0) C) !(A%2) D) A%2设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为 B 。
A) 1 B) 2 C) 3 D) 4以下程序的运行结果是 B 。
main(){ int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);}A) 6,1 B) 2,1 C) 6,0 D) 2,0已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。
if(x>y) z=x; x=y; y=z;A) x=10, y=20, z=30 B) x=20, y=30, z=30C) x=20, y=30, z=10 D) x=20, y=30, z=20以下程序的运行结果是 C 。
main(){ int m=5;if(m++>5)printf(“%d\n”,m);else;printf(“%d\n”,m--);}A) 4 B) 5 C) 6 D) 7判断char型变量ch是否为大写字母的正确表达式是 C 。
A) ‘A’<=ch<=‘Z’B) (ch>=‘A’)&(ch<=‘Z’)C) (ch>=‘A’)&&(ch<=‘Z’)D) (‘A’<= ch)AND(‘Z’>= ch)逻辑运算符两侧运算对象的数据类型 D 。
A) 只能是0和1 B) 只能是0或非0正数C) 只能是整型或字符型数据D) 可以是任何类型的数据sizeof(float)是 B 。
A) 一个双精度型表达式B) 一个整型表达式C) 一种函数表达式D) 一个不合法的表达式设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为 CA) 4 B) 16 C) 32 D) 52设有如下的变量定义:int i=8, k, a, b;unsigned long w=5;double x=1, 42, y=;则以下符合C语言语法的表达式是 AA) a+=a-=(b=4)*(a=3)B) x%(-3);C) a=a*3=2D) y=float(i)假定有以下变量定义: int k=7,x=12;则能使值为3的表达式是 DA) x%=(k%=5) B) x%=(k-k%5) C) x%=k-k%5 D) (x%=k)-(k%=5)设x和y均为int型变量,则以下语句:x+=y,y=x-y;x-=y;的功能是 DA) 把x和y按从大到小排列B) 把x和y按从小到大排列C) 无确定结果D) 交换x和y中的值以下程序的输出结果是 Dmain(){ int a=12,b=12;printf("%d,%d\n",- -a,+ +b);}A) 10 10 B) 12 12 C) 11 10 D) 11 13在C语言提供的合法的关键字是 DA) swicth B) cher C) Case D) default若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是 CA)1 B)2 C) D)C语言提供的合法的数据类型关键字是 BA) Double B) short C) integer D) Char在C语言中,合法的长整型常数是 AA) 0LB) 4962710C)D)二、填空题scanf函数的格式化字符串中,格式说明与输出项的个数必须相同。