文档库 最新最全的文档下载
当前位置:文档库 › C语言程序设计实训教程答案

C语言程序设计实训教程答案

C语言程序设计实训教程答案
C语言程序设计实训教程答案

仅供参考,理论上都能运行出结果。

2.5 循环结构程序设计实验一循环结构程序设计

1、求1!+2!+……+10!。

#include

void main()

{

long i,n=1,s=0;

for(i=1;i<=10;i++)

{

n*=i;

s+=n;

}

printf("1!+2!+……+10!=%d\n",s);

}

2、打印一下图案(用循环实现)

*

***

*****

*******

*****

***

*

#include

void main()

{

int i,j,k;

for(i=1;i<5;i++)

{

for(j=1;j<5-i;j++)

printf(" ");

for(k=1;k<=2*i-1;k++)

printf("*");

printf("\n");

}

for(i=3;i>0;i--)

{

for(j=1;j<5-i;j++)

printf(" ");

for(k=1;k<=2*i-1;k++)

printf("*");

printf("\n");

}

}

3、猴子吃桃。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。

#include

void main()

{

int i,n=1;

for(i=9;i>0;i--)

n=(n+1)*2;

printf("%d\n",n);

}

4、打印九九乘法表。

#include

void main()

{

int i,j;

for(i=1;i<10;i++)

{

for(j=1;j<=i;j++)

printf("%d*%d=%d, ",i,j,i*j);

printf("\n");

}

}

5、输出10~100之间的全部素数。

#include

void main()

{

int i,n;

for(n=10;n<101;n++)

{

for(i=2;i

if(n%i==0) break;

if(i>=n)

printf("\t%d",n);

}

printf("\n");

}

实验二综合运用3种基本结构进行程序设计

1、百马百担。100匹马,驮100担,大马3担,中马2担,2个小马1担,问大、中、小马各多少?

#include

void main()

{

int x,y,z;

for(x=0;x<34;x++)

for(y=0;y<51;y++)

{

z=100-(x+y);

if(z%2==0&&x*3+y*2+z/2==100)

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

}

}

2、输入一行字符,分别统计其中英文字母、空格、数字和其他字符个数。

#include

void main()

{

int i,zm=0,kg=0,sz=0,qt=0;

char c[100]=" ";

gets(c);

for(i=0;c[i]!='\0';i++)

{

if(c[i]>='a'&&c[i]<='z'||c[i]>='A'&&c[i]<='Z')

zm++;

else if(c[i]==' ')

kg++;

else if(c[i]>='0'&&c[i]<='9')

sz++;

else

qt++;

}

printf("zm=%d kg=%d sz=%d qt=%d\n",zm,kg,sz,qt);

}

3、打印输出“水仙花数”。“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身,如153就是一个水仙花数。

#include

void main()

{

int i,a,b,c;

for(i=100;i<1000;i++)

{

a=i/100;

b=(i-a*100)/10;

c=i%10;

if(a*a*a+b*b*b+c*c*c==i)

printf("\t%d",i);

}

}

4、将一个正整数分解成每个质因数的乘积。例如:输入90,打印90=2*3*3*5.

#include

void main()

{

int i,n;

printf("please input a number:");

scanf("%d",&n);

for(i=2;i<=n;i++)

while(n!=i)

{

if(n%i==0)

{

printf("%d*",i);

n=n/i;

}

else

break;

}

printf("%d",n);

}

5、利用循环语句编写程序以实现以下功能:对一个正整数,讲各位数字反序后的数组成一个整数输出。例如:输入12345,输出54321。

(方法一)

#include

void main()

{

int m,n;

scanf("%d",&n);

while(n!=0)

{

m=n%10;

n=n/10;

printf("%d",m);

}

}

(方法二)

#include

#include

void main()

{

int i,l;

char a[100];

scanf("%s",a);

l=strlen(a);

for(i=l-1;i>=0;i--)

printf("\n");

}

6、一个素数加上1000以后是37的倍数,求满足这个条件的最小素数。

#include

void main()

{

int i,n;

for(n=2;n<=1000;n++)

{

for(i=2;i

if(n%i==0) break;

if(i==n)

{

if((n+1000)%37==0)

{

printf("%d\n",n);

break;

}

}

}

}

7、找1000以内的所有“完数”。一个数如果恰好等于它的因子之和,这个数就称为“完数”,如6就是一个完数,因为6=1+2+3。

#include

void main()

{

int i,j,s;

for(i=3;i<=1000;i++)

{

s=0;

for(j=1;j

if(i%j==0)

s=s+j;

if(i==s)

printf("\t%d",s);

}

printf("\n");

}

2.6 数组

实验一数组的定义及使用Ⅰ

1、从键盘输入一个整数n(n<=10)和n个整数,存入数组a中,先依次输出各个数组元素的值,然后对数组a的所有元素值从小到大的顺序重新排列后,再依次输出。

#include

void main()

{

int a[10],n,i,j,min,t;

scanf("%d",&n);

for(i=0;i

scanf("%d",&a[i]);

for(i=0;i

printf("%d ",a[i]);

printf("\n");

for(i=0;i

{

min=i;

for(j=i+1;j

if(a[j]

min=j;

t=a[i];

a[i]=a[min];

a[min]=t;

}

for(i=0;i

printf("%d ",a[i]);

printf("\n");

}

2、编程并上机调试运行。

(1)将一个数组中的值逆序存储,然后按顺序输出数组。如原来数组储存为1、2、3、4、5的,按要求重新存为5、4、3、2、1.

#include

#include

void main()

{

int i,l;

char a[100];

scanf("%s",a);

l=strlen(a);

for(i=l-1;i>=0;i--)

printf("%c",a[i]);

printf("\n");

}

(2)打印出一下杨辉三角(要求打印8行)。

#include

void main()

{

int i,j,k,a[8][8]={{1},{1,1}};

for(i=2;i<8;i++)

{

a[i][0]=1;

for(j=1;j<=i;j++)

a[i][j]=a[i-1][j-1]+a[i-1][j];

}

for(i=0;i<8;i++)

{

for(k=0;k<3*(8-i);k++)

printf(" ");

for(j=0;j<=i;j++)

printf("%-6d",a[i][j]);

printf("\n");

}

}

(3)求4*4方正阵两对角线元素之和及其转置矩阵。

#include

void main()

{

int a[4][4],b[4][4],i,j,s=0;

for(i=0;i<4;i++)

for(j=0;j<4;j++)

scanf("%d",&a[i][j]);

for(i=0;i<4;i++)

s+=a[i][i]+a[3-i][i];

for(i=0;i<4;i++)

for(j=0;j<4;j++)

b[j][i]=a[i][j];

printf("Array a:\n");

for(i=0;i<4;i++)

{

for(j=0;j<4;j++)

printf("%4d",a[i][j]);

printf("\n");

}

printf("s=%d\n",s);

printf("Array b:\n");

for(i=0;i<4;i++)

{

for(j=0;j<4;j++)

printf("%4d",b[i][j]);

printf("\n");

}

}

(4)输出Fibonacci数列的前20项。

#include

void main()

{

int i;

long a[20]={1,1};

for(i=2;i<20;i++)

a[i]=a[i-1]+a[i-2];

for(i=0;i<20;i++)

{

if(i%5==0) printf("\n");

printf("%-10ld",a[i]);

}

printf("\n");

}

(5)按公式计算,求A20的值。

A1=1,A2=1;

A3=3*A1+A2;

A4=3*A2+A3;

……

#include

void main()

{

int i;

long a[20]={1,1};

for(i=2;i<20;i++)

a[i]=3*a[i-2]+a[i-1];

printf("A20=%d\n",a[19]);

}

实验二数组的定义及使用Ⅱ

1、输入并改正源程序中的错误。

#include

#include

void main()

{

int n=0,i;

char s[81];

gets(s);

i=0;

while(s[i]!='\0')

{

if(!(s[i]>='A'&&s[i]<='Z'))

s[n++]=s[i];

i++;

}

s[n]='\0';

puts(s);

}

2、编写程序并上机调试运行。

(1)输入10个整数,采用冒泡法排序后输出。

#include

void main()

{

int i,j,t;

int a[10];

printf("Input 10 numbers:\n");

for(i=0;i<10;i++)

scanf("%d",&a[i]);

for(i=0;i<9;i++)

{

for(j=0;j<10-i;j++)

if(a[j]>a[j+1])

{

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

}

printf("the sorted numbers:\n");

for(i=0;i<10;i++)

printf("%4d",a[i]);

printf("\n");

}

(2)将两个字符串连接起来,不要用strcat函数。

#include

#include

void main()

{

int i,j=0,l1,l2;

char a[100],b[100];

gets(a);

gets(b);

l1=strlen(a);

l2=strlen(b);

for(i=l1;i

{

a[i]=b[j];

j++;

}

a[l1+l2]='\0';

puts(a);

}

(3)输入一行字符串,统计其中单词个数,单词之间用空格隔开。例如:输入“I am a boy!”其中单词的个数为4个()

#include

#include

void main()

{

int i,l,n=1;

char a[100];

gets(a);

l=strlen(a);

for(i=0;i

if(a[i]==' ')

n++;

printf("%d\n",n);

}

(4)找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小,也有可能没有鞍点。

#include

#define N 3

#define M 4

main()

{

int a[N][M],i,j,k,max,row,col;

printf("Input %d*%d matrix: \n",N,M);

for (i=0;i

for (j=0;j

scanf("%d",&a[i][j]);

for (i=0;i

{

max=a[i][0]; row=i; col=0;

for(j=1;j

{

max=a[i][j];

col=j;

}

for (k=0;k

break;

if (k==N) /*得到鞍点*/

{

printf("the point is %d,row=%d,col=%d\n",max,row,col);

break;

}

if (i==N) /*没有鞍点*/

printf("no point\n");

}

(5)已有一个排序好的数组(从小到大排序),现输入一个数,要求按原来排序的规律将它插入数组中。

#include

#define N 10

void main()

{

int a[N+1],i,t;

printf("From small to big N numbers:\n");

for(i=0;i

scanf("%d", &a[i]);

printf("Input a number:a[N]=");

scanf("%d", &a[N]);

for(i=N;a[i]

{

t=a[i];

a[i]=a[i-1];

a[i-1]=t;

}

printf("the sorted numbers:\n");

for(i=0;i

printf("%5d", a[i]);

printf("\n");

}

(6)比较用户输入的字符串是否为表示同意的“yes”(用户可以用大写或小写)。

#include

#include

void main()

{

int i,k;

char a[10],b[4]="yes";

printf("Input string:\n");

gets(a);

strlwr(a);

k=strcmp(a,b);

printf("输入的是yes。\n");

else

printf("输入的不是yes。\n");

}

2、7函数预处理实验一、函数程序设计Ⅰ

1、完成程序,求解n!。

#include

f(int n)

{

if(n==1)

return(1);

else

return(f(n-1)*n);

}

void main()

{

int x,i;

scanf("%d",&i);

x=f(i);

printf("i!=%d\n",x);

}

2、计算s=1k+2k+3k+……+N k。

#include

long f1(int i,int j)

{

long power=i;

int m;

for(m=1;m

power*=i;

return power;

}

void main()

{

int n,k,m;

long sum=0;

printf("Please input N,k:\n");

scanf("%d,%d",&n,&k);

for(m=1;m

sum+=f1(m,k);

printf("sum is %ld\n",sum);

}

3、写出下面3个程序的输出结果,说明每个程序中的各个x有何不同。

(1)、

#include

int x=5;

int main(void)

{

printf("\nx1=%d",x);

{

int x=3;

printf("\nx2=%d",x);

}

}

x1=5

x2=3

(2)、

#include

int x=5;

int main(void)

{

printf("\nx1=%d",x);

{

int x=3;

printf("\nx2=%d",x);

}

printf("\nx3=%d",x);

}

x1=5

x2=3

X3=5

(3)、

#include

int main(void)

{

void sub(void);

int i;

static int x;

int y;

i=1;x=10;y=5;

printf("HELLO\n");

printf("i=%d,x=%d,y=%d\n",i,x,y);

sub();

printf("HELLO\n");

printf("i=%d,x=%d,y=%d\n",i,x,y);

return(0);

}

void sub()

{

int i;

static int x;

i=18;x=20;

printf("C PROGRAM\n");

printf("i=%d,x=%d\n",i,x);

}

HELLO

i=1,x=10,y=5

C PROGRAM

i=18,x=20

HELLO

i=1,x=10,y=5

4、编程并上机调试运行。

(1)求方程ax2+bc+c=0的根,用三个函数分别求当b2-4ac大于0,等于0和小于0时的根,并输出结果。从主函数输入a、b、c的值。

#include

#include

void f1(double m,double n,double d)

{

double root1,root2;

root1=(-n+sqrt(d))/2*m;

root2=(-n-sqrt(d))/2*m;

printf("Real Roots:\n");

printf("root1=%lf,root2=%lf\n",root1,root2);

}

void f2(double m,double n)

{

double root;

root=-n/2*m;

printf("the same root is %lf\n",root);

}

void f3(double m,double n,double d)

{

double real,image;

real=-n/2*m;

image=sqrt(-d)/2*m;

printf("Complex Roots:\n");

printf("real part=%lf,image part=%lf\n",real,image);

}

void main()

{

double a,b,c,delta;

printf("Enter a,b,c:");

scanf("%lf,%lf,%lf",&a,&b,&c);

if(a==0)

if(b==0)

printf("error!\n");

else

printf("the single root is %lf\n",-c/b);

else

{

delta=b*b-4*a*c;

if(delta>0)

f1(a,b,delta);

else if(delta==0)

f2(a,b);

else

f3(a,b,delta);

}

}

(2)写一个判断素数的函数,在主函数输入一个整数,输出是否为素数的信息。

#include

void f(int n)

{

int i;

for(i=2;i

if(n%i==0) break;

if(i

if(i>=n) printf("%d是素数。\n",n);

}

void main()

{

int n;

printf("Input a number:");

scanf("%d",&n);

f(n);

}

(3)用递归法求n阶勒让德多项式的值,递归公式为

1(N=0)

P n(x)= X(N=1)

((2N—1)·X—P n-1(X)—(N—1)·P n-2(X))/N (N≥1)

#include

long f(int n,int x)

{

long t;

if(n<0) {printf("the date error!");t=-1;}

else if(n==0) t=1;

else if(n==1) t=x;

else t=((2*n-1)*x-f(n-1,x)-(n-1)*f(n-2,x))/n;

return(t);

}

void main()

{

int n,x;

long p;

scanf("%d,%d",&n,&x);

p=f(n,x);

if(p!=-1)

printf("%d\n",p);

}

实验二、函数与预处理程序设计Ⅱ

1、阅读程序,理解程序的功能,写出预期结果并上机验证。

#include

void sort(int a[])

{

int i,j,t;

for(i=0;i<4;i++)

for(j=0;j<4-i;j++)

if(a[j]

{

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

}

void main()

{

int a[]={5,10,-7,3,7},i;

sort(a);

for(i=0;i<=4;i++)

printf("%4d",a[i]);

}

功能:将数组a中的元素从大到小排列并输出。

结果:10,7,5,3,-7

2、阅读程序,理解程序的功能,写出预期结果并上机验证。

#include

#define SQR(X) X*X

void main()

{

int a=15,k=1,m=1;

a/=SQR(k+m)/SQR(k+m);

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

}

结果:3

3、编程并上机调试运行。

(1)编写一函数,由实参传递一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述结果。

#include

void f(char c[])

{

int i,zm=0,kg=0,sz=0,qt=0;

for(i=0;c[i]!='\0';i++)

{

if(c[i]>='a'&&c[i]<='z'||c[i]>='A'&&c[i]<='Z')

zm++;

else if(c[i]==' ')

kg++;

else if(c[i]>='0'&&c[i]<='9')

sz++;

else

qt++;

}

printf("zm=%d kg=%d sz=%d qt=%d\n",zm,kg,sz,qt);

}

void main()

{

char a[100]=" ";

printf("String:");

gets(a);

f(a);

}

(2)写一函数,输入一个十六进制数,输入相应的十进制数。

#include

#include

#include

long f2(int t,int n)

{

long s;

s=t*pow(16,n);

return s;

}

long f1(char c[])

{

int i,l,t;

long sum=0;

l=strlen(c);

for(i=0;i

{

if(c[i]>='0'&&c[i]<='9') t=c[i]-48;

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

高级语言程序设计(VB)随堂练习答案DOC

高级语言程序设计(VB)随堂练习答案 第1章概述·1.1程序设计语言 当前页有1题,你已做1题,已提交1题,其中答对1题。 1. https://www.wendangku.net/doc/df4358929.html,是一种( )程序设计语言。 A. 面向事件 B. 面向属性 C. 面向对象 D. 面向过程 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 第1章概述·1.2程序设计 当前页有2题,你已做2题,已提交2题,其中答对2题。 1.把源程序代码翻译为目标程序代码可以使用的翻译方式为( )。 A. 嵌入方式 B. 运行方式 C. 连接方式 D. 解释方式或编译方式 答题: A. B. C. D. (已提交) 参考答案:D 问题解析: 2.编译程序时出现的错误称为( ) 错误。 A. 语法或编译 B. 运行 C. 逻辑 D. 计算 答题: A. B. C. D. (已提交) 参考答案:A 问题解析: 第1章概述·1.3建立简单控制台应用程序 当前页有3题,你已做3题,已提交3题,其中答对3题。 1.存储数据不属于数据处理功能。

答题:对. 错. (已提交) 参考答案:× 问题解析: 2.控制台应用程序至少有一个Main过程。 答题:对. 错. (已提交) 参考答案:√ 问题解析: 3.上机时,程序编译和连接成功后,系统自动生成以.exe为扩展名的可执行文件。 答题:对. 错. (已提交) 参考答案:√ 问题解析: 第2章基本数据类型与表达式·2.1基本字符集和词汇集 当前页有3题,你已做3题,已提交3题,其中答对3题。 1.下面选项中()是算术运算符。 A. % B. & C. Mod D. And 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 2.下面不合法的标识符是()。 A. Go_To B. Integer C. 姓名 D. Int1 答题: A. B. C. D. (已提交) 参考答案:B 问题解析: 3.在程序设计语言系统中具有固定语法含义的符号串称为标识符。 答题:对. 错. (已提交) 参考答案:× 问题解析: 第2章基本数据类型与表达式·2.2 基本数据类型

C语言程序设计试题集与答案解析

一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.

《高级语言程序设计》复习题及答案

一、选择题 1.以下叙述正确的是( ): A)在C程序中,main函数必须位于程序的最前面 B) C程序的每行只能写一条语句 C) C语言使用库函数实现输入输出操作 D)注释中的拼写错误会影响编译结果 2、以下说法中正确的是() A) C语言程序总是从第一个的函数开始执行 B) C语言程序总是从main()函数开始执行 C)在C语言程序中,要调用的函数必须在main()函数中定义 D)C语言程序中的main()函数必须放在程序的开始部分 3、下列选项种说法正确的是( ) A)函数由声明部分和执行部分两部分组成 B)语言中main函数一定在程序的开始部分 C)C语言程序总是从第一个定义的函数开始执行 D)C程序的每行中只能写一条语句 4、设有说明:int a;float b; char c; double d; 则表达式1.3*a+2*b*c+d*(int) 2.6 值的类型为( )。 A)doubleB) char C) floatD) int 5、C语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( ) A)必须为字母 B)必须为下划线 C)必须为字母或下划线 D)可以是字母、数字和下划线中任一种字符 6、以下不正确的C语言标识符是( )。 A) ABC B) abc C)a_bc D) void 7、下列运算符中优先级最高的是( ) A)< B)+ C)&& D)!= 8、以下选项中属于C语言中合法关键字的是( ) A)Float B)abc C)int D)CASE 9、若x、i、j和k都是int型变量,计算下面表达式后,x的值为( ) x=(i=4,j=16,k=32) A)4 B)16 C)32 D)52 10、在C语言中,要求数据必须是整型的运算符是( ) A)/ B)+ + C)!=D) % 11、若整型变量x的值为8,则下列表达式中值为1的表达式是 A)x+=x-=x B) x%=x-1 C) x%=x%=3 D) x/=x+x 12、若w=1,x=2,y=3,z=4,则条件表达式“w > x? w : y< z ? y : z”的值是( ) A)4 B)3 C)2 D)1 13、有以下程序,程序运行后的输出结果是。 main() {inti=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d %d %d\n",i,j,k); }

《高级语言程序设计》答案

1. 输入两个整数,要求用两个函数求出其最大公约数和最小公倍数,最大公约数和最小公倍数都在主函数中输出。#include int main() { int i,j,t; int max(int,int); int min(int,int); scanf("%d%d",&i,&j); if(i int main() { int max4(int,int,int,int); //对max4的函数声明 int a,b,c,d; scanf("%d%d%d%d",&a,&b,&c,&d); //输入4个数 printf("max=%d\n",max4(a,b,c,d));//调用4个数中的最大者 return 0; } int max4(int a,int b,int c,int d) //定义max4函数 { int max2(int,int); //对max2的函数声明 return max2(max2(max2(a,b),c),d); //调用max2把作为函数值带回main函数} int max2(int a,int b) { return(a>b?a:b); //返回条件表达式的值,即a和b中的大者 } 3. 用递归调用的方法求5!。 #include int main() { int fac(int); int n; scanf("%d",&n);

c语言程序设计第五版习题答案

习题解析与答案 第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=50 2.输入下面程序并运行。 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=20 x=200 3.输入下面程序并运行。

#include main() { printf("******\n"); printf(" *****\n"); printf(" ****\n"); printf(" ***\n"); printf(" **\n"); printf(" *\n"); } 【解答】运行结果为:****** ***** **** *** ** * 思考:可以修改程序,使之输出平行四边形,等腰三角形等图形。 三.编程题 1.参照本章例题,编写一个C程序,用于显示如下信息: ************************* I love C programs! ************************* 【分析与提示】 ①要有文件包含语句#include 。C语言中没有数据的输入、输出等功能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf等来实现的。这些函数的说明都包括在stdio.h文件中。 ②main是主函数的名称。用{}括起来的内容是函数体,函数体由若干条语句组成,这是计算机要执行的部分,每条语句以分号“;”结束。 ③注意显示的信息有三行,所以要用到换行符“\n”。 参考代码: #include main() { printf("************************\n"); printf(" I love C programs! \n"); printf("************************\n"); }

高级语言程序设计实验 C

陕西理工大学 《高级语言程序设计(C)》 实验报告 院系: 班级: 学号: 姓名:

目录

实验一:C开发环境与顺序结构程序设计 1.实验目的: (1) 了解集成开发环境VC++的使用方法,理解相关命令的含义,掌握编辑、编译、连接以及运行调试的方法,掌握程序的基本结构,掌握输入输出的方式。 (2) 掌握程序设计的基本要素中的数据类型、变量、运算符以及表达式的运用。 (3) 学会正确使用逻辑运算符和逻辑表达式以及关系运算符与关系表达式,掌握在程序设计中灵活使用顺序结构。 2.实验环境: (1) 硬件环境 CPU:Inter Pentium(R)4 CPU 以上 内存:2GByte (2) 软件环境 操作系统:Microsoft Windows 7 编译系统:Microsoft Visual C++ 3.实验步骤: 按如图所示流程进行实验内容的 调试。 (1) 在XP操作系统中,启动VC++ 编译环境; (2) 在VC++编译界面输入C源程 序; (3) 选择编译、组建、执行命令进 行编译、链接和运行,并记录实验 数据; (4) 按以上方法依次输入其他源程 序并调试、运行和记录实验数据。 4.实验内容: 输入并运行下列程序,查看程序运行的结果。 #include<>

void main() { printf(“* * * * * * * * * *\n”); printf(“Programing in c A Labrtry Maual\n”); printf(“* * * *\n”); printf(“*\n”); } 查看程序运行的结果 #include<> void main() { int i,j,m,n; i=8; j=10; m=++i; n=j--; printf(“%d,%d,%d,%d\n”,i,j,m,n); } 找出下列程序中的错误,改正后写出程序运行结果. #include<> void main() { Int x,y=z=5,aver; x=7; AVER=(x+y+z)/3 printf(“AVER=%d\n”,aver); }

2020年10月全国高级语言程序设计(一)自考试题及答案解析.docx

??????????????????????精品自学考料推荐?????????????????? 全国 2018 年 10 月高等教育自学考试 高级语言程序设计(一)试题 课程代码: 00342 一、单项选择题(本大题共20 小题,每小题 1 分,共 20 分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括 号内。错选、多选或未选均无分。 1.下列不正确的转义字符是() . A. ′ ′ B. ′ ″ C. ′ \086′ D. ′ \0′ 2.下列运算符中,优先级最高的是() A. [] B.++ C.% D.&& 是 C 语言保留字的是 () 3.下列标识符中,不. A. char B. while C. min D. default 4.下列数据中,不.是 C 语言常量的是 () A. ′ \n′ B. ″ a″ C. e-2 D. 012 5.若定义了 int a; char b; float c ;,则表达式a*b-c 的类型是 () A. float B. int C. char D. double 6.若定义了 int a, x,y;,则下列语句中不.正确的是 () A. x=3 ,y=5 ; B. ++x ; C. x=y+=x*30 ; D. a=y+x=30 ; 7.调用函数时,若实参是一个数组名,则向函数对应的形参传送的是() A. 数组的长度 B.数组的首地址 C. 数组第一个元素的值 D. 整个数组元素的值 8.在 C 语言中,函数返回值的类型是由() A. 定义的函数类型决定 B.return 语句中表达式的类型决定 C.调用该函数的主调函数类型决定 D. 调用该函数时系统状态决定 9.若定义了 int b [][ 3]={ 1,2, 3,4, 5, 6, 7};,则 b 数组第一维的长度是 () A. 2 B. 3 C. 4 D.无确定值 1

(完整版)C语言程序设计练习及答案

《C语言程序设计》练习及答案 得分评卷人复查人 一、单选题,每小题1分,共60分(将正确答案的序号写在题目的括号中)。 1、结构化程序设计的三种基本控制结构是(D )。 A、主程序、子程序、函数 B、输入、处理、输出 C、调用,返回,转移 D、顺序、选择、循环 2、下列关于C程序变量的叙述, ( D )是错误的。 A、变量名必须由字母或下划线开头。 B、程序中的变量必须在被使用之前定义。 C、不同的基本类型的变量之间可以混合运算。 D、变量的数据类型决定变量的"作用域"。 3、能将C语言编写的源程序转换为目标程序的软件是(C )。 A、编辑程序 B、汇编程序 C、编译程序 D、解释程序 4、以下符号中,合法的用户标识符是( D )。 A、-p B、int C、3ab D、_xt_ 5、以下选项中,与m=n++完全等价的表达式是( C )。 A、m=++n B、m+=n+1 C、m=n, n=n+1 D、n=n+1,m=n 6、若有定义:int aa[8];。则以下表达式中不能代表数组元aa[1]的地址的是(C )。 A、&aa[0]+1 B、&aa[1] C、&aa[0]++ D、aa+1 7、表达式!5&(7+3)&&(4+5)的值是(A)。 A、0 B、1 C、5 D、9 8、以下选项中非法的C语言表达式是(A )。 A、x+1=x+1 B、0<=x<100 C、i=j==0 D、(char)(65+3) 9、在TURBO C中, int类型变量所占字节数是(B )。 A、1 B、2 C、4 D、8 10、C语言中基本的数据类型包括(B)。 A、整型,实型,逻辑型 B、整型,实型,字符型

合工大汇编语言程序设计实验报告

合肥工业大学计算机与信息学院 实验报告 课程:汇编语言程序设计专业班级:**************** 学号:********** 姓名:***** 目录

实验一 (3) 实验二 (7) 实验三 (12) 实验四 (22)

实验一Debug程序的使用 一.实验目的 1、熟悉DEBUG程序中的命令,学会在DEBUG下调试运行汇编语言源程序。 2、掌握8086/8088的寻址方式及多字节数据的处理方法。 二.实验内容 1、利用DEBUG程序中的“E”命令,将两个多字节数“003F1AE7H”和“006BE5C4H”分别送入起始地址为DS:0200H和DS:0204H两个单元中。 2、分别用直接寻址方式和寄存器间接寻址方式编写程序段,实现将DS:0200H 单元和DS:0204H单元中的数据相加,并将运算结果存放在DS:0208H单元中。要求: 本次实验的内容均在DEBUG下完成,实现数据的装入、修改、显示;汇编语言程序段的编辑、汇编和反汇编;程序的运行和结果检查。 三.实验过程和程序 实验内容一: e ds:0200 E7 1A 3F 00 e ds:0204 C4 E5 6B 00 实验内容二: (1)直接寻址方式 MOV AX,[0200] MOV BX,[0202] ADD AX,[0204] ADC BX,[0206] MOV [0208],AX MOV [020A],BX (2)寄存器间接寻址方式 MOV SI,0200H MOV DI,0204H MOV BX,0208H MOV AX,[SI] MOV DX,[SI+2] ADD AX,[DI] ADC DX,[DI+2]

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

C语言程序设计第二版 习题参考答案 Document serial number【LGGKGB-LGG98YT-LGGT8CB-LGUT-

C语言程序设计习题参考答案 习题 1 一、判断题 1.在计算机中,小数点和正负号都有专用部件来保存和表示。 2.二进制是由0和1两个数字组成的进制方式。 3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。 4.在整数的二进制表示方法中,0的原码、反码都有两种形式。 5.有符号数有三种表示法:原码、反码和补码。 6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。 解:1.F2.T 3.T 4.T 5.T 6.T 二、单选题 1.在计算机中,最适合进行数值加减运算的数值编码是。 A. 原码 B. 反码 C. 补码 D. 移码 2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII 码为十进制数。 A. 112 B. 120 C. 121 D. 122 3.关于ASCII码,在计算机中的表示方法准确地描述是。 A. 使用8位二进制数,最右边一位为1 B. 使用8位二进制数,最左边一位为1 C. 使用8位二进制数,最右边一位为0 D. 使用8位二进制数,最左边一位为0 4.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是 ___________。 A. X∧Y=1000 B. X∨Y=1111 C. X⊕Y=0011 D. ˉY=1000 5.下列叙述中正确的是()。 A.高级语言就是机器语言 B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序 C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种 D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。 A.生成可执行文件B.生成目标文件 C.输出运行结果D.自动保存源文件 7.下列叙述中不正确的是()。 A.main函数在C程序中必须有且只有一个 B. C程序的执行从main函数开始,所以main函数必须放在程序最前面 C. 函数可以带参数,也可以不带参数。

选择结构程序设计-C语言程序实验报告

安徽工程大学 高级语言程序设计实验报告 班级姓名同组者/ 成绩 日期2019.10.10 指导教师 实验名称选择结构程序设计 一、实验目的 1.学会正确使用关系运算符和关系表达式。 2.学会正确使用逻辑运算符、逻辑表达式以及关系表达式等。 3.熟悉掌握if语句和switch语句的用法。 4.熟悉选择结构程序中的语句执行过程,掌握选择结构程序设计的方法。 二、实验内容 1.编写程序,判断从键盘上输入的一个字符类型,并按下列要求输出。 (1)若该字符是数字,输出字符串“0~9”。 (2)若该字符是大写或者小写字母,输出字符串“A~z”。 (3)若该字符是其他字母,输出“!,@,……”。 完善P56页第一个源程序,对源程序进行编译、连接并运行,完成调试报告。 2.编程并上机调试。 (1)给出一个不多于4位的正整数,求它是几位数。 (2)给出一个百分制成绩,要求输出成绩等级'A'、'B'、'C'、'D'、'E'。 90分以上为'A',80~90分为'B'70~79分为'C',60~69分为'D',60分 以下为'E'。用switch语句来实现。 (3)输入4个整数,要求按从小到大的顺序输出。 (4)输入3个整数,将最大数与最小数输出。 (5)输入一个字符,如果是数字字符,把它转换成相应的数字输出;如果不是,则以十进制整数形式输出其ASCⅠⅠ码值。 *思考题

3.若在实验内容1的程序第8行的语句else if (_)后多输入了一个分号,即“else if (_);”,分析程序,写出预期结果,然后输入调试,查看运行结果与预期结果是否一致并分析原因。 4.若在实验内容1的程序第8行的语句else if(_)法人括号内输入c>='A' &&c<='z'后,判断在调试时是否能得到正确结果,并分析原因。 三、算法流程图或实验步骤(可根据需要增删、修改) 1.(1)算法流程图 #include void main( ) { char c; scanf("%c",&c); if(c>='0'&&c<='9') printf("0~9\n"); else if((c>='a'&&c<='z')||(c>='A'&&c<='Z')) printf("A~z\n"); else printf("!,@,……\n"); } (2)实验步骤 Files→New→Files→C++source File→文件名:program3011.c→位置:E:\123\→确定→完善源程序→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看运行结果 2.(1)算法流程图: #include void main ( ) { int a,b;

高级语言程序设计答案

《高级语言程序设计答案 一、选择题(每题2分,共30分,请将答案写在后面的答题栏...上) 1-5 BDBBB 6-10 BBDCC 11-15 CDBAB 二、填空题(1-3题每空1分,4-8题每空2分,共20分) 1、对象,事件驱动 2、frm ,vbp 3、函数 过程 4、31 5、9 6、countn<5 n mod 3=1 and n mod 5=1 and n mod 7=1 8、7 7、*n s+1/f 三、综合题(每题5分,共25分) 1、 (2*y)/(a*x+b*y)(a*x-c*z) 2、(x+sqr(x^2+1))^(1/3) 3、30 60 4、7 5、1)建立界面。先建立窗体,再利用控件在窗体上创建各种对象。 2)设置属性。设置窗体或控件等对象的属性。 3)编写代码。编写对象的事件代码。 四、程序设计题(8+8+9,共25分) 1:x 的值由文本框输入,计算分段函数的值:y=???????≥<≤<≤<2 ,321,210,10,0x x x x 。 private sub command1_click( ) Dim x% x=text1.text if x>=2 then y=3 elseif x>=1 then y=2 elseif x>=0 then y=1 2:统计100以内被3整除的数比被5整除的数多多少。 Private Sub Command1_Click() Dim i%, s1%, s2% For i = 1 To 100 If i Mod 3 = 0 Then s1 = s1 + 1 If i Mod 5 = 0 Then s2 = s2 + 1 Next i

高级语言程序设计实验5_数组(完美运行版)

《高级语言程序设计》实验报告实验序号:5 实验项目:数组

附源程序清单: 1. #include main() { int a[100],b[100],x[100],i,j=0,k,l=0; printf("请输入数组x的个数:"); scanf("%d",&k); printf("请输入数组x中的整数,用空格隔开:"); for(i=0;i0) { a[j]=x[i];j++; } else if(x[i]<0) { b[l]=x[i];l++; } } printf("数组a:"); for(i=0;i #include int main() {

int array[1000]; int i=0, iter=0; for(i=0;i<1000;i++) array[i]=i+1; array[0]=0; iter=1; while(iter<1000) { if(array[iter]!=0) for(i=iter+1;i<1000;i++) { if( array[i]%array[iter]==0) array[i]=0; } iter++; } for(i=0;i<1000;i++) if(array[i]!=0) printf("%d\t",array[i]); printf("\n"); } 3.#include"stdio.h" #include"string.h" main() { char a[100];int i,j=0; printf("输入一串测试字符:\n"); scanf("%s",&a); for(i=0;i='0' && a[i]<='9')) { a[j]=a[i]; j++; } } printf("输出字符串为:%s",a); printf("\n"); }

程序设计基础试题(附答案)

程序设计基础复习题 一、单选 1、一个完整的计算机系统应该包括() A、系统软件和应用软件 B、计算机及其外部设备 C、硬件系统和软件系统 D、系统硬件和系统软件 2、“裸机”的概念是指() A、正在进行设计还没有组装好的计算机 B、已经组装好但还没有安装任何软件的计算机 C、仅安装了操作系统的计算机系统 D、安装了文字处理软件但没有安装专用数据处理系统的计算机 3、世界上第一台电子数字计算机研制成功的时间是() A、1936年 B、1946年 C、1956年 D、1970年 4、CASE的含义是() A、计算机辅助设计 B、计算机辅助制造 C、计算机辅助教学 D、计算机辅助软件工程5、当前广泛使用的微型计算机是() A、第一代 B、第二代 C、第三代 D、第四代 6、当代计算机的体系结构称为是() A、冯·诺依曼机 B、非冯·诺依曼机 C、图灵机 D、比尔盖茨机 7、硬盘是() A、输入设备 B、输出设备 C、存储设备 D、计算设备 8、下面4句话中,最准确的表述是() A、程序=算法+数据结构 B、程序是使用编程语言实现算法 C、程序的开发方法决定算法设计 D、算法是程序设计中最关键的因素

9、计算机能直接执行的语言是() A、机器语言 B、汇编语言 C、高级语言 D、目标语言 10、解释程序的功能是() A、将高级语言程序转换为目标程序 B、将汇编语言程序转换为目标程序 C、解释执行高级语言程序 D、解释执行汇编语言程序 11、下面4种程序设计语言中,不是面向对象式语言的是() A、JAVA B、Object Pascal C、Delphi D、C 12、不是C语言的基本数据类型是() A、int B、double C、char D、bool 13、在C语言中,为了求两个整数相除之后得到的余数,可以使用运算符() A、/ B、% C、* D、++ 14、数据的逻辑结构分为() A、纯属结构和非线性结构 B、顺序结构和非顺序结构 C、树型结构和图型结构 D、链式结构和顺序结构 15、用链表表示纯属表的优点是() A、便于随机存取 B、便于插入和删除操作 C、花费的存储空间较顺序存储少 D、元素的物理顺序与逻辑顺序相同 16、栈的最主要特点是() A、先进先出 B、先进后出 C、两端进出 D、一端进一端出 17、下面4句结论只有一句是错误的,它是()

C语言程序设计习题答案

C 语言程序设计习题答案 习题一 C 语言程序设计概述 一、名词解释 (1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)汇编程序P2 (5)高级语言P2 (6)编译程序P3 (7)解释程序P3 (8)算法P4 (9)结构化的程序设计P9 二、简述题 1. 设计程序时应遵循哪些基本原则?P4 答:正确性、可靠性、简明性、有效性、可维护性、可移植性。 2. 算法的要素是什么?算法具有哪些特点? 答:算法的要素是:操作与控制结构;算法的特点有:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。 3. 算法的表示形式有哪几种? 答:算法的表示形式有:自然语言、传统流程图、伪代码、结构化的流程图(N_S 流程图,盒图)。 4. 有哪三种基本结构? 答:三种基本结构是:顺序结构、选择结构和循环结构。 5. 传统流程图与N-S 流程图最大的区别是什么? 答:N-S 流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。 三、用传统流程图、N-S 图分别表示求解以下问题的算法。 1. 有3个数a ,b ,c ,要求按由大到小的顺序把它们输出。 2. 依次将10个数输入,求出其中最大的数 和最小的数并输出。 3. 求1+2+3+…+100的值。

5. 求下列分段函数的值。 6. 求100~200之间的所有素数。 7. 求一元二次方程ax 2+bx+c=0的根。分别考虑d=b 2-4ac 大于0、等于0和小于0三种情况。 四、注释下面C 程序的各个组成部分。 main() /*主函数 */ { /*程序开始 */ int a,k,m; /*定义三个用来存放整数的变量 */ a=10; /*将整数10赋值给变量a */ k=2; /*将整数2赋值给变量k */ m=1; /*将整数1赋值给变量1 */ a=(k+m)*k/(k-m); /*先求出算术表达式的值,并将其赋值给变量a */ printf("%d\n",a); /*在屏幕上打印出变量a 的值 */ } /*程序结束 */ 习题二 数据类型、运算符与表达式 一、选择题 1~10:BCDCB DDBCA 11~20: ADDAA DBADC 21~28: DABAD CDD Y= 3X (X<1) 4X-1 (X=1) 5(X-1)+6 (1

《高级语言程序设计》期末考试试卷附答案

《高级语言程序设计》期末考试试卷附答案 一、选择题(共20题,每题3分,共60分) 1. 下列四个选项中,均是合法的整型常量的选项是() A.160 –0XFFFF 011 B. -0XCDF 01A 0XE C. -01 986,012 0688 D. -0X48a 2e5 0x 2. 下列四个选项中,均是不合法的浮点数的选项是() A.160.0.12 e3 B. 123 2e4.2 .e5C.18 0.0 123e4 D. e3. 234 1e3 3. 合法的C语言字符常数是() A.'\t' B. "A"C.54 D. A 4. 在C语言中,要求运算数一定是整型的运算符是() A./ B. ++C.!= D. % 5. 字符串常量”mine”的字符个数是() A.4 B. 5C.6 D. 7 6. 以下属于非法的C语言转义字符的是() A.'\b' B. '0xf'C.'\037' D. '\' 7. 若x、y、z均为int型变量,则执行以下语句后的输出是() x=(y=(z=10)+5)-5; printf("x=%d, y=%d, z=%d\n",x,y,z); y=(z=x=0,x+10); printf("x=%d, y=%d, z=%d\n",x,y,z); A. x=10, y=15, z=10 B.x=10, y=10, z=10 x=0, y=10, z=0x=0, y=10, z=0 C.x=10, y=15, z=10 D. x=10, y=10, z=10 x=10, y=10, z=0 x=10, y=10, z=0 8. 在以下一组运算符中,优先级最高的运算符是() A.<= B. =C.% D. && 9. 已知:int x; float y; 所用的scanf调用语句格式为: scanf( “x=%d, y=%f”, &x, &y ); 为了将数据10和66.6分别赋给x和y,正确的输入应当是() A.x=10, y=66.6<回车> B. 10, 66.6<回车> C.10<回车>66.6<回车> D. x=10<回车>y=66.6 <回车> 10. 已有如下定义的输入语句,若要求A1,A2,C1,C2的值分别为10,20,A和B,当从第一列开

C语言程序设计第三版谭浩强课后习题答案完整版

C语言程序设计第三版谭浩强 课后习题答案完整版 第一章 1.5请参照本章例题,编写一个C程序,输出以下信息:************************** V ery Good! ************************** 解: mian() {printf(“**************************”); printf(“\n”); printf(“V ery Good!\n”); printf(“\n”); printf(“**************************”); } 1.6 编写一个程序,输入a、b、c三个值,输出其中最大值。解: mian() {int a,b,c,max; printf(“请输入三个数a,b,c:\n”); scanf(“%d,%d,%d”,&a,&b,&c); max=a; if(max main() { char c1=?C?,c2=?h?,c3=?i?,c4=?n?,c5=?a?; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf("密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5); } 运行结果: 密码是Glmre 3.9求下面算术表达式的值。 (1)x+a%3*(int)(x+y)%2/4 设x=2.5,a=7,y=4.7 (2)(float)(a+b)/2+(int)x%(int)y 设a=2,b=3,x=3.5,y=2.5 (1)2.5 (2)3.5 3.10写出程序运行的结果。 main() {int i,j,m,n; i=8; j=10; m=++i; n=j++; printf(“%d,%d,%d,%d”,i,j,m,n); } 解: 9,11,9,10 3.12 写出下面表达式运算后a的值,设原来a=12。设a和n都已定义为整型变量。 (1)a+=a (2)a-=2 (3)a*=2+3 (4)a/=a+a (5)a%=(n%=2),n的值等于5 (6)a+=a-=a*=a 解: (1) 24 (2) 10 (3) 60 (4) 0 (5) 0 (6) 0 第四章 4.4若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2=’b’。想得到以下输出格式和结果,请写出程序(包括定义变量类型和设计输出)。 a=_3_ _b=_4_ _c=_5 x=1.200000,y=2.400000,z=-3.600000 x+y=_3.600_ _y+z=-1.20_ _z+x=-2.40 c1=ˊaˊ_or_97(ASCII)

相关文档