C语言课后答案
习题5-10
static int a, b;
static int curFactor;
/*
函数功能:指明计算哪两个数的公约数
函数入口参数:两个整型数
函数返回值:无
*/
void CalcCommonFactorOf(int num1, int num2)
{
a = num1;
b = num2;
curFactor = a > b ? b : a; /* curFactor置为两个数中较小的那个*/
}
/*
函数功能:得到下一个公约数
函数入口参数:无
函数返回值:下一个公约数;-1表示再也没有新的公约数
*/
int NextCommonFactor(void)
{
if (a <=0 || b <=0) /* 保证输入的参数正确*/
return -1;
while(curFactor>0)
{
if ( a%curFactor == 0 && b%curFactor == 0 )
{
return curFactor--; /* 如果不减一,则下次还会测试这个数*/ }
curFactor--;
}
return -1;
}
void CalcCommonFactorOf(int num1, int num2);
int NextCommonFactor(void);
#include
#include "cmnfctr.h"
main()
{
int sub;
CalcCommonFactorOf(100, 50);
while((sub=NextCommonFactor()) > 0)
{
static int counter=1;
printf("Common factor %d is %d\n", counter++, sub);
}
}
习题1-3
#include
main()
{
printf("%d\n", 123+456);
}
习题3-5
#include
#include
main()
{
float a, b, c; /*a,b,c为三边变量*/
float s, area;
printf("Input a,b,c:");
scanf("%f,%f,%f",&a,&b,&c);
s = 1.0 / 2 * (a + b + c);
area = sqrt(s * (s - a) * (s - b) * (s - c));
printf("area=%.2f\n", area);
}
习题3-6
#include
#define PI 3.14
main()
{
float r ; /*r为半径变量*/
float circum, area;
printf("Input r:");
scanf("%f", &r);
circum = 2*PI*r;
area = PI*r*r,
printf("circum=%.2f,area=%.2f\n", circum, area);
}
习题4-4(1)
#include
main()
{
int year, flag;
printf("Enter year:");
scanf("%d",&year );
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
{
flag = 1; /*如果year是闰年,则标志变量flag置1*/ }
else
{
flag = 0; /*否则,标志变量flag置0*/ }
if (flag)
{
printf("%d is a leap year!\n",year); /*打印“是闰年”*/ }
else
{
printf("%d is not a leap year!\n",year); /* 打印“不是闰年”*/
}
}
习题4-4(2)
#include
main()
{
char ch;
ch = getchar();
if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) {
printf("It is an English character!\n");
}
else if (ch <= '9' && ch >= '0')
{
printf("It is a digit character!\n");
}
else if (ch == ' ')
{
printf("It is a space character!\n");
}
else
{
printf("It is other character!\n");
}
}
习题4-4(3)
#include
main()
{
int upper,step;
float fahr = 0,celsius;
upper = 300;
step = 20;
while ( fahr< upper)
{
celsius = 5.0 / 9 * (fahr - 32);
printf("%4.0f\t%6.1f\n", fahr, celsius);
fahr = fahr + step;
}
}
习题4-5(1)
#include
main()
{
int m;
printf("Input m: ");
scanf("%d", &m); /*输入一个整数*/
if (m > 0) /*是否为正数*/
{
if (m%2 == 0) /*是正数,且能被2整除,则是正偶数*/
{
printf("%d is a positive even\n", m);
}
else /*不能被2整除,则是正奇数*/
{
printf("%d is a positive odd\n", m);
}
}
else if (m < 0) /*判断是否为负数*/ {
if (m % 2 == 0)
{
printf("%d is a negative even\n", m); /*是负偶数*/
}
else
{
printf("%d is a negative odd\n", m); /*是负奇数*/
}
}
else
{
printf("%d is zero. It is an even\n", m);
}
}
习题4-5(2)
#include
main()
{
int m;
printf("Input m:");
scanf("%d", &m); /*输入一个整数*/
if (m > 0) /*判断是否为正数*/ {
printf("%d is a positive ", m); /*是正数*/
}
else if (m < 0) /*判断是否为负数*/ {
printf("%d is a negative ", m); /*是负数*/ }
else
{
printf("%d is zero. It is an ", m);
}
if (m%2 == 0) /*判断是否为偶数*/ {
printf("even\n", m); /*是偶数*/
}
else
{
printf("odd\n", m); /*是奇数*/ }
}
习题4-6
#include
#include
main()
{
int x;
double y;
printf("Input x: ");
scanf("%d", &x); /* 输入一个整数*/
if (x > 0)
{
y = exp(-x); /*如果大于0,计算y=exp(-x)的值*/ }
else if (x == 0)
{
y = 1; /*x=0,则y=1*/
}
else
{
y = -exp(x); /*x<0,则y=-exp(x)*/
}
printf("y=%f\n", y);
}
习题4-7
#include
#include
#define LIMIT 1e-1
main()
{
float a, b, c;
int flag = 1;
printf("Input the three edge length: ");
scanf("%f, %f, %f", &a, &b , &c); /*输入三角形的三条边*/
/*三角形的基本条件*/ if ((a + b) > c && ((b + c) > a) && ((a + c) > b))
{
if (fabs(a-b) <= LIMIT || fabs(b-c) <= LIMIT
|| fabs(c-a) <= LIMIT) /*等腰三角形的条件*/ {
printf("等腰");
flag = 0;
}
if (fabs(a * a + b * b - c * c) <= LIMIT
|| fabs(a * a + c * c - b * b) <= LIMIT
|| fabs(c * c + b * b - a * a) <= LIMIT) /*直角三角形的条件*/ {
printf("直角");
flag = 0;
}
if (flag)
{
printf("一般");
}
printf("三角形\n");
}
else
{
printf("不是三角形\n");
}
}
习题4-8
#include
main()
{
char c;
printf("*****Time*****\n");
printf("1 morning \n");
printf("2 afternoon \n");
printf("3 night \n");
printf("please enter your choice"); /*建立相应的菜单*/
c = getchar(); /*输入选项*/
switch (c) /*通过switch选择*/ {
case '1':
printf("Good morning \n");
break;
case '2':
printf("Good afternoon \n");
break;
case '3':
printf("Good night\n");
break;
default:
printf("Selection error!\n");
}
}
习题4-9
#include
main()
{
int year, month;
printf("Input year,month: ");
scanf("%d, %d", &year, &month); /*输入相应的年和月*/ switch (month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
printf("31 days\n");
break;
case 2:
if((year % 4== 0 && year % 100 != 0)||(year % 400 == 0))
{
printf("29 days\n"); /*闰年的2月有29天*/
}
else
{
printf("28 days\n"); /*平年的2月有28天*/
}
break;
case 4:
case 6:
case 9:
case 11:
printf("30 days\n");
break;
default:
printf("Input error!\n");
}
}
习题4-10(1)
#include
main()
{
int i, sum = 0;
for (i = 1; i <= 101; i = i+2)
{
sum = sum + i;
}
printf("sum=%d\n", sum);
}
习题4-10(2)
#include
main()
{
int i = 1, sum = 0;
while (i <= 101)
{
sum = sum + i;
i = i + 2;
}
printf("sum=%d\n", sum);
}
习题4-11
#include
main()
{
long i ;
long term, sum = 0;
for (i = 1; i <= 99; i = i + 2)
{
term = i * (i + 1) * (i + 2);
sum = sum + term;
}
printf("sum=%ld",sum);
}
习题4-12(1)
#include
main()
{
long term = 1,sum = 0;
int i;
for (i = 1; i <= 10; i++)
{
term = term * i;
sum = sum + term;
}
printf("1!+2!+...+10! = %ld \n", sum); }
习题4-12(2)
include
main()
{
long term ,sum = 0;
int i, j;
for (i = 1; i <= 10; i++)
{
term = 1;
for (j = 1; j <= i; j++)
{
term = term * j;
}
sum = sum + term;
}
printf("1!+2!+…+10! = %ld \n", sum);
}
习题4-13
#include
main()
{
long term = 0,sum = 0;
int a , i, n;
printf("Input a,n: ");
scanf("%d,%d", &a, &n); /*输入a,n的值*/
for (i = 1; i <= n; i++)
{
term = term * 10 + a; /*求出累加项*/
sum = sum + term; /*进行累加*/
}
printf("sum=%ld\n",sum);
}
习题4-14(1)
#include
main()
{
double term, result = 1; /*累乘项初值应为1*/
int n;
for (n = 2; n <= 100; n = n + 2)
{
term = (double)( n * n)/(( n - 1) * ( n + 1)); /*计算累乘项*/
result = result * term;
}
printf("result = %f\n", 2*result);
}
习题4-12(2)
#include
main()
{
double term, result = 1;
int n;
for (n = 1; n <= 50; n++)
{
term = (double)(2*n*2*n)/((2*n-1)*(2*n+1)); /*计算累乘项*/
result = result * term;
}
printf("result = %f\n", 2*result);
}
习题4-15(1)
#include
#include
main()
{
int n = 1, count =1;
double e = 1.0, term = 1.0;
long fac = 1;
for (n=1; fabs(term) >= 1e-5; n++)
{
fac = fac * n;
term = 1.0 / fac;
e = e + term;
count++;
}
printf("e = %f, count = %d\n", e, count);
}
习题4-16
#include
#include
main()
{
int n = 1;
float term = 1.0, sign = 1,sum = 0;
while (fabs(term) >= 1e-4) /*判断末项大小*/
{
term = sign / n; /*求出累加项*/
sum = sum + term; /*累加*/
sign = -sign; /*改变项的符号*/
n++; /*分母加1*/
}
printf("sum = %f\n", sum);
}
#include
#include
main()
{
int n = 1,count = 1;
float x;
double sum , term; /*因为位数多,所以定义为双精度*/
printf("Input x: ");
scanf("%f", &x);
sum = x;
term = x; /*赋初值*/
do
{
term = -term * x * x / ((n + 1) * (n + 2));
sum = sum + term; /*累加*/
n = n + 2;
count++;
}while (fabs(term) >= 1e-5);
printf("sin(x) = %f, count = %d\n", sum, count);
}
习题4-18(1)
#include
main()
{
int i, j, k, n;
printf("result is:");
for (n = 100; n < 1000; n++)
{
i = n / 100; /*分出百位*/
j = (n - i * 100) / 10; /*分出十位*/
k = n % 10; /*分出个位*/
if (i*100 + j*10 + k == i*i*i + j*j*j + k*k*k)
{
printf("%d\t ",n); /*输出结果*/
}
}
printf("\n");
}
习题4-18(2)
#include
{
int i, j, k, n;
printf("result is:");
for (i=1; i<=9; i++)
for (j=0; j<=9; j++)
for (k=0; k<=9; k++)
{
if (i*i*i+j*j*j+k*k*k == 100*i+10*j+k)
{
printf("%d\t", 100*i+10*j+k);
}
}
printf("\n");
}
习题4-19
#include
#include
main()
{
int i1, i2, i3, i4, k, n;
printf("Input data is:");
scanf("%d", &n);
k = fabs(n); /*取绝对值*/
i1 = k / 1000; /*分离出千位*/
i2 = (k - i1 * 1000) / 100; /*分离出百位*/
i3 = (k - i1 * 1000 - i2 * 100) / 10; /*分离出十位*/
i4 = k % 10; /*分离出个位*/
printf("The sum of the total bit is %d\n", i1+i2+i3+i4);
}
习题4-20(1)
#include
main()
{
int x = 1;
int find = 0; /*设置找到标志为假*/
while (!find)
{
if (x % 5 == 1 && x % 6 == 5 && x % 7 == 4 && x % 11 == 10)
{
printf(" x = %d\n", x);
find = 1;
}
x++;
}
}
习题4-20(2)
#include
main()
{
int x = 1;
while (1)
{
if (x%5==1 && x%6==5 && x%7==4 && x%11==10)
{
printf(" x = %d\n", x);
break;
}
x++;
}
}
习题4-20(3)
#include
main()
{
int x = 0, find = 0;
do{
x++;
find = x%5==1 && x%6==5 && x%7==4 && x%11==10;
} while (!find);
printf(" x = %d\n", x);
}
习题4-20(4)
#include
main()
{
int x = 0;
do{
x++;
} while (!(x%5==1 && x%6==5 && x%7==4 && x%11==10));
printf(" x = %d\n", x);
}
习题4-21(1)
#include
main()
{
int x = 1, find = 0;
while (!find)
{
if (x % 2 == 1 && x % 3 == 2 && x % 5 == 4 && x % 6 == 5
&& x % 7 == 0)
{
printf(" x = %d\n", x);
find = 1;
}
x++;
}
}
习题4-21(2)
#include
main()
{
int x = 1;
while (1)
{
if (x%2==1 && x%3==2 && x%5==4 && x%6==5 && x%7==0)
{
printf(" x = %d\n", x);
break;
}
x++;
}
}
习题4-21(3)
#include
main()
{
int x = 0, find = 0;
do{
x++;
find = x%2==1 && x%3==2 && x%5==4 && x%6==5 && x%7==0;
} while (!find);
printf(" x = %d\n", x);
}
习题4-21(4)
#include
main()
{
int x = 0;
do{
x++;
} while (!(x%2==1 && x%3==2 && x%5==4 && x%6==5 && x%7==0));
printf(" x = %d\n", x);
}
习题4-22
#include
main()
{
int i, j, k;
for (i = 0; i <= 3; i++)
{
for (j = 0; j <= 3; j++)
{
for (k = 0; k <= 6; k++)
{
if (i + j + k == 8)
{
printf("i=%d, j=%d, k=%d\n", i, j, k);
}
}
}
}
}
习题4-23
#include
main()
{
int x, y;
for (x = 1; x <= 97; x++)
{
y = 98 - x;
if (2 * x + 4 * y == 386)
{
printf("x = %d, y = %d", x, y);
}
}
}
习题4-24
#include
main()
{
int x, y, z;
for (x = 0; x <= 20; x++)
{
for (y = 0; y <= 33; y++)
{
z = 100 - x - y;
if (5*x + 3*y + z/3.0 == 100)
{
printf("x=%d, y=%d, z=%d\n", x, y, z);
}
}
}
}
习题4-25
#include
main()
{
int x, y, z, count = 0;
for (x = 1; x <= 28; x++)
{
for (y = 1; y <= 73; y++)
{
z = 100 - x - y;
if (5*x + 2*y + z == 150)
{
count++;
printf("%d, %d, %d\n", x, y, z);
}
}
}
printf("count = %d\n", count);
}
习题4-26
#include
main()
{
int m, n, i;
/*打印表头*/
for (m = 1; m < 10; m++)
{
printf("%4d", m);
}
printf("\n");
for (m = 1; m < 10; m++)
{
printf(" -");
}
printf("\n");
for (n = 1; n < 10; n++) /*被乘数n从1变化到9*/
{
for (i = 1; i <= 4*n-4; i++)
{
printf(" "); /*输出相应空格使数字右对齐*/ }
for (m = n; m < 10; m++) /*乘数m从n变化到9*/
{
printf("%4d", m * n); /*输出第n行m列中的m*n的值*/ }
printf("\n"); /*输出换行符,准备打印下一行*/ }
}
习题4-27(1)
#include
main()
{
int i, j, k;
for (i = 1; i<= 4; i++) /*i控制行数*/
{
for (j = 1; j <= 4-i; j++) /* 随行数的增加,输出递减数目的空格*/
{
printf(" ");
}
for (k = 1; k <= 6; k++) /*每行输出6个*字符*/
{
printf("*");
}
printf("\n"); /*将光标移到下一行起始位置处*/ }
}
习题4-27(2)
#include
main()
{
int i , j , k;
for (i = 1; i <= 4; i++) /*控制行数*/
{
for (k = 1; k <= (2 * i - 1); k++) /*控制每行输出的*号个数*/
{
printf("*");
}
printf("\n"); /*输出一行后换行*/ }
}
习题4-27(3)
#include
main()
{
int i , j, k ;
for (i = 1; i <= 4; i++) /* 控制行数*/
{
for (j = 1; j <= 8-i; j++) /* 随行数的增加,输出递减数目的空格*/
{
printf(" ");
}
for (k = 1;k <= (2*i-1);k++)
{
printf("*");
}
printf("\n");
}
}
习题4-28
C语言基础知识课后习题答案
C语言基础知识课后习题答案 说明: 1、原先的少部分题目有错,请用红色的部分替换掉; 2、如果红色部分有文字“删除该行”,就直接删除该行; 第一章C语言的基础知识 第一节对C语言的初步认识 习题 1. 下列叙述中错误的是B A)任何一个C程序都必须有且仅有一个main函数,C语言总是从main函数开始执行。B)C语言中的变量,可以先使用后定义。 C)所有的C语言语句最后都必须有一个分号 D)C程序书写格式自由,语句可以从任一列开始书写,一行内可以写多个语句。 第二节熟悉Visual C++ 习题 1. C语言源程序名的后缀是 B A).exe B).c C).obj D).cp 2. 下列叙述中错误的是D A)计算机不能直接执行用C语言编写的源程序 B)C程序经C编译后,生成后缀为.obj的文件是一个二进制文件C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件 D)后缀为.obj和.exe的二进制文件都可以直接运行 3. 用C语言编写的代码程序B A)可立即执行B)是一个源程序 C)经过编译即可执行D)经过编译解释才能执行 第三节标识符 习题 1. 按照C语言规定的用户标识符命名规则,不能出现在标识符中的是B
A)大写字母B)连接符C)数字字符D)下划线 2. 以下选项中不合法的标识符是 C A)print B)FOR C)&a D)_00 3. 以下叙述中错误的是A A)用户所定义的标识符允许使用关键字 B)用户所定义的标识符应尽量做到“见名知意” C)用户所定义的标识符必须以字母或下划线开头 D)用户定义的标识符中,大、小写字母代表不同标识 4. 可在C程序中用作用户标识符的一组标识符是A A)and B)Date C)Hi D)case _2007 y-m-d Dr.T om Bigl 5. 以下不合法的用户标识符是C A)j2_KEY B)Double C)4d D)_8_ 6. 以下不能定义为用户标识符的是D A)Main B)_0 C)_int D)sizeof 7. 下列选项中,不能用作标识符的是D A)_1234_ B)_1_2 C)int_2_ D)2_int_ 8. 以下4组用户定义标识符中,全部合法的一组是A A)_main B)If C)txt D)int enclude -max REAL k_2 sin turbo 3COM _001 第四节数制转换 习题 1.十进制整数360的八进制为__________,十六进制为_____________。550 168 第五节整数和实数 习题 1.以下选项中正确的整型常量是 C
c语言程序设计课后习题及答案
c语言程序设计课后习题及答案 C语言程序设计是计算机科学与技术专业的一门基础课程,通过学习该课程,我们可以掌握C语言的基本语法和编程技巧,培养我们的编程思维和解决问题的能力。在课程学习过程中,老师会布置一些课后习题,以巩固我们的知识和提高我们的编程水平。下面我将分享一些C语言程序设计课后习题及其答案,希望对大家有所帮助。 1. 习题一:编写一个程序,输入一个整数,判断该数是否为素数。 ```c #include
if (flag == 0) printf("%d是素数。\n", num); else printf("%d不是素数。\n", num); return 0; } ``` 2. 习题二:编写一个程序,输入一个正整数n,计算并输出1到n之间所有偶数的和。 ```c #include
printf("1到%d之间所有偶数的和为:%d\n", n, sum); return 0; } ``` 3. 习题三:编写一个程序,输入一个正整数n,计算并输出n的阶乘。```c #include
C语言课后习题参考答案
C语言课后习题参考答案 习题 1 一、选择题 1、B 2、C 3、B 4、D 5、A 6、B 7、C 二、填空题 1、源程序文件 c 2、obj 3、可执行文件 exe 4、机器语言汇编语言高级语言 三、解答题 略 四、编程题 1、 main() { printf(“Hello! Welcome to China!”); } 2、 main() {int x; printf(“x=%d”,x); } 习题 2 一、选择题 1、C 2、A 3、B 4、D 5、 A 6、D 7、B 8、B 9、B 10、D 11、D 12、B 13、A 14、B 15、C 二、填空题 1、整型、实型、字符型 2、用户标识符、关键字标识符 3、存储单元、符号地址、内存地址 4、十、十六、八 5、double(双精度型) 6、 8 7、5.500000 8、a=-32768 9、+0017,021,0x11 三、写程序运行结果
3257 3257 7.88, -345.12,7.8765,-345.1230 7.87654e+00, -3.5e+02 a,97,141,61 1234,2322,4d2 CHINESE, CHI 四、scanf函数的使用 a=3 b=7 8.5 71.82 A a 五、用scanf函数输入数据 1020Aa1.5-3.75 123.45,67.8 注意,其中123.45可以是任意实数,因为该值将被跳过,不用于赋值。 习题 3 一、选择题 1.C 2.B 3.D 4.D 二、填空题 基本概念题 1.2 2.2 3.1 阅读程序写出运行结果题 4.1.00 5.1,0,1 6.6,11,9,10 三、写出下面表达式运算后a的值,设原来a=12。 (1)24 (2)10 (3)60 (4)0 (5)0 (6)0 习题4 一、选择题 1、B 2、D 3、B 4、D 5、A 6、C 二、填空题 1、1,0,1 2、1,2,3 3、ch1>=′A′&&ch1<=′Z′ ch1=ch1-32; 三、编程题 1、从键盘输入三个数,然后按照由小到大的顺序输出。要求,设三个数放在变量a、b、c中,最后仍然按照a、b、c的顺序输出。
《C语言程序设计》 课后习题答案 高等教育出版社
《C语言程序设计》课后习题答案高等教育 出版社 《C语言程序设计》课后习题答案 高等教育出版社 第一章:C语言概述 1. C语言的特点 C语言是一种以处理底层任务和系统编程为目标的高级编程语言。 其特点包括语法简洁、执行效率高、可移植性强等。 第二章:C语言基本数据类型 1. C语言中的基本数据类型 C语言中的基本数据类型包括整型、字符型、浮点型等。整型可以 进一步细分为有符号整型和无符号整型。 第三章:C语言运算符 1. C语言中的运算符 C语言中常见的运算符包括算术运算符、赋值运算符、关系运算符、逻辑运算符等。这些运算符用于执行各种数学和逻辑操作。 第四章:C语言控制语句 1. C语言中的条件语句
C语言提供了if语句和switch语句来实现条件判断。if语句用于执行基于布尔表达式的条件分支,而switch语句用于根据不同的值执行不同的代码块。 第五章:C语言函数 1. C语言中的函数定义和调用 函数是C语言中的基本模块,用于封装可重用的代码。函数定义包括函数返回类型、函数名、参数列表和函数体等部分。 第六章:C语言数组 1. C语言中的数组定义和使用 数组是一组相同类型的数据元素的集合。C语言中可以使用数组来存储和操作大量数据。 第七章:C语言指针 1. C语言中的指针概念 指针是一种变量,它存储了内存地址。通过指针,可以直接访问和修改对应内存地址中的数据。 第八章:C语言字符串 1. C语言中的字符串操作 字符串是由一系列字符组成的数据类型。C语言通过字符数组来表示和操作字符串。
第九章:C语言结构体 1. C语言中的结构体定义和使用 结构体是一种自定义的复合数据类型,它可以包含多个不同类型的成员变量。 第十章:C语言文件操作 1. C语言中的文件读写操作 文件操作是一种重要的数据输入和输出方式。C语言提供了一系列函数来实现文件的读写操作。 总结: 通过解答以上习题,我们可以更好地掌握C语言的各个方面,提升我们的编程能力和解决问题的能力。希望本文对读者有所帮助。
C语言课后习题答案
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
《C语言程序设计》第三版课后答案
《C语言程序设计》第三版课后答案第一章:C语言基础知识 1.1 C语言的历史和特点 C语言是由贝尔实验室的Dennis Ritchie在20世纪70年代初开发的 一种高级计算机编程语言。C语言具有简洁、高效、可移植性强等特点,成为了编写系统软件和应用软件的首选语言。 1.2 C语言的开发环境 为了编写和运行C语言程序,我们需要安装并配置相应的开发环境。常用的开发环境包括Code::Blocks、Dev-C++和Eclipse等。这些开发 环境提供了编辑器、编译器和调试器等工具,方便我们进行程序开发 和调试。 1.3 C语言的基本语法 C语言的基本语法包括关键字、标识符、数据类型、变量、常量、 运算符和控制语句等。关键字是C语言预先定义的词汇,如int、if、 for等。标识符是程序中自定义的名称,用于标识变量、函数等。数据 类型包括整型、浮点型、字符型和指针型等。变量是存储数据的位置,常量是不可修改的数据。运算符用于进行数学和逻辑运算。控制语句 包括条件语句和循环语句,用于控制程序的执行流程。 第二章:C语言基本程序设计 2.1 程序的结构
C语言程序由多个函数组成,其中main函数是程序的入口,是程序执行的起点。在main函数中,我们可以调用其他函数来完成具体的任务。一个基本的C语言程序结构包括包含头文件、定义变量、执行语 句和返回值等部分。 2.2 输入和输出 输入和输出是C语言程序中常见的操作。标准库提供了一系列函数,如printf和scanf,用于输出和输入数据。其中printf函数用于格式化输 出数据,scanf函数用于接收用户的输入。 2.3 运算和赋值 C语言支持多种运算符,如算术运算符、关系运算符、逻辑运算符 和位运算符等。这些运算符可以用于数值计算和条件判断。赋值运算 符用于给变量赋值。 2.4 条件语句 条件语句根据条件的成立与否来决定程序的执行路径。C语言提供 了if语句和switch语句来实现条件控制。if语句根据条件的真假来执 行不同的代码块。switch语句根据表达式的值来选择执行相应的分支。 2.5 循环语句 循环语句用于重复执行一段代码块。C语言提供了while循环、do-while循环和for循环等几种循环结构。while循环在循环开始之前检查 条件,do-while循环在循环结束之后检查条件,for循环在循环中控制 初始化、条件和步进。
C语言课后习题参考答案
C语言课后习题答案 第一章习题答案 一、选择题 1~5:BDCDA 6~10:DABBB 11~12:CC 二、填空题 1、main() 2、函数首部,函数体 3、函数 4、编辑、编译、连接、运行 5、.cpp、.obj、 .exe 6、; 或分号 三、编程题 #include
一、选择题 1~5:CBBBC 6~10:DDDBB 二、填空题 1、控制语句,表达式语句,复合语句 2、; 3、{} 4、1 5、a 6、c:dec=120,oct=170,hex=78,ASCII=x 7、32767,32767 8、10,A,10 9、3 3 10、 (1) 123.456001 (2) □□□□□□□ 123.456 (3) 123.4560 (4) 8765.456700 (5) □□□□□□ 8765.457 (6) 8765.4567 (7) 8765.4567 三、编程题 1、参考答案: #include
C语言教材后习题及答案
第一章 1.什么是程序?什么是程序设计语言? 2.C语言有什么特点? 3.什么是算法?算法的描述有哪些基本方法? 第一章主要关注两个概念:一是程序的三种结构(顺序、分支或叫选择、循环) ;二是函数,主函数main() 第二章 1.指出下列哪些是C语言合法的用户识别符。 void a3_b3 For 2a defi ne _123 _abc DO 2.指出下列哪些是C语言合法的常量。 "3'4 " " 0x1g 33 " a" E20 '\18' \0xa' 1.E-5 3.F '\0' .12 '\a' "3'4 ""双引号内表示字符串,但要在一个串内含有单引号、双引号要用转义字符正确的是:’4\"" 0x是十六进制的表示形式之一,但十六进制里没有g这个数值 \0xa'带一个单引号、0开头,无意义.这里要注意\ddd,1-3 位八进制数,\xhh,1-2位十进制数,他们都表示对应的ASCII值 E20, E表示指数形式,但两边必须都有数字。 将此题全部弄懂,所有关于常量的分基本跑不掉了。 3.指出下列定义变量语句中的错误。 int a;b=5; //同类型的两个变量,中间不能用分号。 doubel h; //double int x,float y; //中间要用分号 float f(x); //非法符号 定义变量要注意,数据类型的关键字,还有就是变量名称必须是合法标识符 4.写出能表示数学式子1/(2a + 1/2a)的C语言表达式 1.0/(2*a+1/(2*a)) 5.⑴#include
y=x+3/2; prin tf("y=%f\n",y); return 0; }结果是:2.000000,注意3/2=1 ⑵ #i nclude
《C语言程序设计》课后习题参考答案
高等院校计算机基础教育规划教材《C++程序设计》课后习题参考答案 ――武汉大学出版社 习题1参考答案 一、选择题 1. A 2. D 二、填空题 1. BASIC、FORTRAN、AL_GOL60和COBOL 2. 8 3. 关键字 4. 编辑、编译、链接和运行 三、简答题 1.答: (1)C语言具有结构化的控制语句。C语言提供了结构化程序所必需的基本控制语句,实现了对逻辑流的有效控制。 (2)C语言具有丰富的数据结构类型。C语言除提供整型、实型、字符型等基本数据类型外,还提供了用基本数据类型构造出的各种复杂的数据结构,如数组、结构、联合等。C语言还提供了与地址密切相关的指针类型。此外,用户还可以根据需要自定义数据类型。(3)C语言具有丰富的运算符。C语言提供了多达34种运算符,丰富的数据类型与丰富的运算符相结合,使C语言的表达力更具灵活性,同时也提高了执行效率。 (4)C语言简洁、紧凑,使用方便、灵活,程序书写自由,有9种控制语句。 (5)C语言既具有高级语言的功能,又具有低级语言的许多功能,通常被称为中级计算机语言。它既是成功的系统描述语言,又是通用的程序设计语言。 (6)C语言与汇编语言相比,可移植性好。 (7)功能强大。C语言具有低级语言的一些功能,所以,生成目标代码质量高,程序执行效率高。现在许多系统软件都用C语言来描述,可以大大提高了编程效率。 2.答:运行一个C语言程序,一般需要经过如下几个步骤:①上机输入并编辑源程序;②编译源程序;③与库函数连接;④生成可执行目标程序;⑤运行目标程序。 3.答: (1)操作系统的设计与实现。C语言是一种应用非常广泛的结构化高级程序设计语言,既适合编写应用软件,又适合编写系统软件。
c语言 课后答案
第一单元: 1.C语言是由 C 组成的。 A.子程序 B.过程 C.函数 D.主程序和子程序 2.一个字节的二进制位数是 D 。 A.2 B.4 C.6 D.8 3.下面叙述不正确的是 C 。 A.一个C源程序可以由一个或多个函数组成。 B.一个C源程序必须包含一个main函数。 C.在C程序中,注释说明只能位于一条语句的后面。 D.C程序的基本组成单位是函数。 4.一个C语言程序是由 A 开始执行。 A.主函数 B.主过程 C.子程序 D.主程序 5.C语言规定,在一个源程序中,main函数的位置是 B 。 A.必须在最开始 B.可以任意 C.必须在系统调用的库函数后面 D.必须在最后 6.一个C程序的执行是从 A 。 A.本程序的main函数开始,到main函数结束。 B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 C.本程序的main函数开始,到本程序文件的最后一个函数结束。 D.本程序文件的第一个函数开始,到本程序main函数结束。 四、用自然语言描述下面问题 1.两车相距若干距离,分别以各自的速度相向行驶,计算它们需要多少时间才能相遇。 (1)获得距离S及两车的速度V0和V1; (2)求出T=S/(V0+V1); (3)显示T。 2.从键盘输入一个学生的两个成绩,然后输出两者中的高分。 (1)获取两个成绩scrore1、scrore2; (2)判断scrore1是否大于scrore2; (3)成绩显示scrore1,否则显示scrore2; 第二单元1.以下各种标识符中,合法的用户标识符是 B 。 A.A#C B.Scanf1 C.void D.ab* 2.C语言中的基本数据类型包括 B 。 A.整型、实型、逻辑型 B.整型、实型、字符型 C.整型、字符型、逻辑型 D.整型、实型、逻辑型、字符型 3.在C语言中,错误的int类型常量是 A 。 A.32768 B.0 C.037 D.oxaf 3.下列常数中不能作为C的常量是 D 。 A.0x45 B.2.5e-2 C.3e2 D.0582 5.下列可以正确表示字符型常量的是 B 。 A."a" B.‘\t’ C."\n " D.297 6.为求出s=10!的值,则变量s的类型应当为 C 。 A.int B.unsigned C.Long D.以上三种类型均可