C++程序设计_上机实践与学习辅导_王庆宝_朱红版的答案

C++程序设计_上机实践与学习辅导_王庆宝_朱红版的答案
C++程序设计_上机实践与学习辅导_王庆宝_朱红版的答案

实验一#include

void main(void)

{

int a, b, sum;

cout<<"请输入加数与被加数\n";

cin>>a>>b;

sum=a+b;

cout<<"sum="<

}

#include

void main()

{

double f, c;

cout<<"请输入华氏温度: ";

cin>>f;

c=5.0/9*(f-32);

cout<<"摄氏温度="<

}

#include

void main()

{

double r,s;

cout<<"请输入圆的半径: ";

cin>>r;

s=3.14159*r*r;

cout<<"圆的面积是: s="<

}

#include

#include

void main()

{

double a,b,c,s,area;

cout<<"请输入三角形的三边: ";

cin>>a>>b>>c;

s=a+b+c;

s=s/2;

area=sqrt(s*(s-a)*(s-b)*(s-c));

cout<

}

实验二

#include

void main(void)

{ float a,b,c;//定义变量,存放三角形的三边数据

cout<<"input a b c\n"; //输入提示信息

cin>>a>>b>>c; //从键盘依次输入三边的值

if((a+b

cout<<"Not Triangle\n"; //不满足三角形三边条件, 输出否定信息else

cout<<"Triangle\n"; //满足三边构成条件,输出确认信息

}

#include

void main(void)

{ int year; //定义变量,存放将输入的年份

cout<<"Input year: "; //输出提示信息

cin>>year; //输入欲判断的年份

if(year%400==0||year%4==0&&year%100!=0) //判断该年份是否为闰年的条件cout<

else

cout<

}

#include

void main()

{

float a1, a2;//定义两个操作数

char oper; //定义运算符

float result; //定义变量,存放结果

int flag=0; //?

cout<<"请输入简单的运算式:\n"; //输出提示信息

cin>>a1>>oper>>a2; //从键盘键入运算式,如5+3 4.5*7

switch(oper)//利用开关语句结构判断进行何种运算

{

case '+': //加法

result=a1+a2;

break;

case '-': //减法

result=a1-a2;

break;

case '*':

result=a1*a2;

break;

default:

cout<<"输入错误的运算符!\n";

flag=1;

}

if(flag==0)

cout<

#include

#include

void main()

{

double a,b,c;

double x1,x2,disc;

cout<<"请输入方程的系数a b c :";

cin>>a>>b>>c;

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

if(fabs(disc)<1e-5)

{

x1=(-b)/2/a;

cout<<"方程有两个相等的实根: x="<

}

else if(disc<0)

cout<<"方程无实根!\n";

else

{

x1=(-b+sqrt(disc))/2/a;

x2=(-b-sqrt(disc))/2/a;

cout<<"方程有两个不同的实根: "<

cout<<"x1="<

}

}

\\

#include

void main()

{

float a1, a2;//定义两个操作数

char oper; //定义运算符

float result; //定义变量,存放结果

int flag=0; //?

cout<<"请输入简单的运算式:\n"; //输出提示信息

cin>>a1>>oper>>a2; //从键盘键入运算式,如5+3 4.5*7

switch(oper)//利用开关语句结构判断进行何种运算

{

case '+': //加法

result=a1+a2;

break;

case '-': //减法

result=a1-a2;

break;

case '*':

result=a1*a2;

break;

case '/':

if(a2==0)

{

cout<<"除数不能为0!\n";

flag=1;

break;

}

result=a1/a2;

break;

default:

cout<<"输入错误的运算符!\n";

flag=1;

}

if(flag==0)

cout<

}

实验三

#include

void main()

{

int x,y;//定义变量,x代表鸡的数目,y代表兔子的数目

for( x=1;x<30;x++) //鸡的数目从1~30皆有可能,所以程序将所有可能的解循环验证一遍

for(y=1;y<30;y++) //同样兔子的数目从1~30皆有可能,所以程序将所有可能的解循环验证一遍

if(2*x+4*y==90&&x+y==30) //所有可能的解中将满足给定条件的解输出

{

cout<<"鸡有: "<

}

}

#include

void main()

{ int a, a1, a2;//定义变量,a代表个位,a1代表十位,a2代表百位

int b; //b为由a2, a1, a所组成的百位数

for( a2=1;a2<=9;a2++) //百位的位值从1~9皆有可能,所以程序将所有可能的解循环验证一遍

for(a1=0;a1<=9;a1++) //同样十位的位值从0~9皆有可能,所以程序将所有可能的解循环验证一遍

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

{ b=a2*100+a1*10+a;

if(a*a*a+a1*a1*a1+a2*a2*a2==b) //所有可能的解中将满足给定条件的解输出

cout<

}

}

#include

void main(void)

{

int a0, a1,a2; //定义变量,a0代表个位,a1代表十位,a2代表百位

int b; //b为由a2, a1, a0所组成的百位数

for(b=100;b<=999;b++) //将数字b从100到999循环, 并将每个数拆开,看看是否符合水仙花数的条件

{

a2=b/100; //剥出数字b的百位数

a1=b/10%10; //剥出数字b的十位数

a0=b%10; //剥出数字b的个位数

if(a0*a0*a0+a1*a1*a1+a2*a2*a2==b) //判断是否满足水仙花数的条件

cout<

}

cout<

}

#include

void main(void)

int man, woman, children;//定义变量,存放结果(男人、女人、小孩的个数)

for(man=1;man<=9;man++) //男人从1人到9人循环,每种情况下计算满足条件的女人和小孩的人数

for(woman=1;woman<=18;woman++) //在男人人数确定的情况下,女人从1人到18人循环, 每种情况下计算满足条件的小孩人数

{

children=36-man-woman;//男人女人人数确定后, 小孩的人数就可以根据条件求出

if((man+woman+children==man*4+woman*2+children/2)&&(children%2==0)) //看看每种条件下男人、女人、小孩的人数及搬的砖是否满足给定的条件, 因为小孩是每两人

//搬一块砖, 所以小孩人数必须是偶数

cout<<"man="<

//输出满足if条件的结果,即男人、女人、小孩的人数

}

}

#include

void main(void)

{

int i,j,k,n,t=0; //定义n为从1到599循环的数字, i,j,k分别为n的百位、十位、个位数字//t为控制输出格式的计数变量

for(n=1;n<=599;n++) //使n从1到599循环, 将满足条件的n摘出来

{

i=n/100; //剥出n的百位数

j=n/10%10;//剥出n的十位数

k=n%10; //剥出n的个位数

if(n%3==0&&(i==5||j==5||k==5)) //当数字n满足给定的条件是

{

cout<

t++;

if(t%5==0) //控制输出格式, 每5个为一行, 即输出5个数后输出回车

cout<<'\n';

}

}

cout<

}

#include

void main(void)

int a0, a1,a2; //定义变量,a0代表个位,a1代表十位,a2代表百位

int b; //b为由a2, a1, a0所组成的百位数

for(b=100;b<=999;b++) //将数字b从100到999循环, 并将每个数拆开,看看是否符合水仙花数的条件

{

a2=b/100; //剥出数字b的百位数

a1=b/10%10; //剥出数字b的十位数

a0=b%10; //剥出数字b的个位数

if(a0*a0*a0+a1*a1*a1+a2*a2*a2==b) //判断是否满足水仙花数的条件

cout<

}

cout<

}

实验四

#include

void main(void)

{

int a,b;

int t, x;

cout<<"请输入两个正整数: ";

cin>>a>>b;

x=a*b;

if(a

{ t=a; a=b; b=t;}

while(t=a%b)

{

a=b;

b=t;

}

cout<<"最大公约数: "<

cout<<"最小公倍数: "<

}

#include

void main(void)

{ int a,b,c; //定义存放输入的三个整数的变量空间

cout<<"Input three number: "; //提示信息

cin>>a>>b>>c; //从键盘输入三个整数

for(int i=a;i>=1;i--)//假设最大公约数为i, 使i从a(或b或c)到1逐次递减循环if(a%i==0&&b%i==0&&c%i==0) //当i满足公约数的条件时(同时能被a,b,c整除)时,

退出循环, 即这时的i即为最大公约数

break;

cout<

}

#include

void main(void)

{

int a;

cout<<"请输入一个正整数: ";

cin>>a;

for(int i=2;i

if(a%i==0)

break;

if(i>=a/2)

cout<

else

cout<

}

#include

void main(void)

{

int a,b,c;

cout<<"请输入三个整数: ";

cin>>a>>b>>c;

for(int i=a;i<=a*b*c;i++)

if(i%a==0&&i%b==0&&i%c==0)

break;

cout<<"最小公倍数为: "<

}

#include

void main(void)

{

for(int i=100;i<=200;i++) //将i从100到200依次循环,以求出所有满足素数条件的i {

for(int j=2;j

看是否有余数

if(i%j==0) //若i能被上述其中一个数整除, 即表示i不是素数, 后面的数就不必除了, 直接退出循环

break;

if(j>=i/2) //出了循环后, 要判断i是中途退出的(不是素数)还是循环到i/2后再退出的(是素数)

cout<

}

}

#include

void main(void)

{

int a;

int s;

for(int i=1;i<1000;i++)

{

a=i;

s=0;

for(int j=1;j

{

if(a%j==0)

s=s+j;

}

if(a==s)

cout<

}

}

实验五

#include

void main(void)

{

int t=2;

int s=0;

for(int i=1;i<=7;i++)

{

s=s+t;

t=t*10+2;

}

cout<<"2+22+222+...+2222222="<

}

#include

void main(void)

{ float y=1,t=1; //t为通项,初值为1, 即1!,y为结果, 初值为1 int n;

cout<<"Input n: "; //输出提示信息

cin>>n; //输入欲求的项数

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

{ t=t*i; //根据前一项求后一项

y=y+t; //通项累加和

}

cout<<"1!+2!+3!+....+"<

#include

#include

void main(void)

{

float x, y1,y2;

cout<<"请输入x的值: ";

cin>>x;

y2=x;

do

{

y1=y2;

y2=2*y1/3+x/y1/y1/3;

}while(fabs(y1-y2)>1e-5);

cout<<"y="<

}

#include

void main(void)

{

float x,y,t; //t为通项,x为未知数

int n; //n为通项个数,必须是整数

cout<<"Input n x: ";//输出提示信息

cin>>n>>x; //从键盘输入数据10 2.5

y=x; //结果的初始值,因为循环从第2项开始,所以第1项要先赋给结果y

t=x; //通项的初始值

for(int i=2;i<=n;i++) //假设第1项已求出(初始值),从第2项开始计算

{

t=-t*x*x/((2*i-1)*(2*i-2)); //首先计算通项, 计算方法是用前1项的值推算后1项的值

//即求出前后两项相除的结果, 这个结果是它们相差的倍数, 然后前1项的值乘以这个倍数即为后1项的值

y=y+t; //将当前的通项值累加起来

}

cout<<"y="<

}

实验六

#include

float fun(float x) //函数fun求形参x的函数值, 并将结果返回

{

float y; //定义x的函数值

y=2*x*x+3*x+5; //计算函数值

return y; //将结果返回

}

void main(void)

{

float y1, y2; //定义x为1和1.2时的函数值

y1=fun(1.0); //将1.0作为实参调用fun函数,即赋给形参x,函数值即为所求的结果y2=fun(1.2); //将1.2作为实参调用fun函数,即赋给形参x,函数值即为所求的结果cout<<"y1="<

cout<<"y2="<

}

#include

#include

float f(float x) //求形参x的多项式的值

{

return x*x+3*x-4;

}

float f1(float x) //求形参x的多项式的导数值

{

return 2*x+3;

}

void main(void)

{

float x1,x0; //定义存放新旧迭代值的变量

x1=0; //迭代变量赋初值

do

{

x0=x1; //迭代循环, 将新的迭代值变成旧的迭代值, 再去求新的迭代值

x1=x0-f(x0)/f1(x0); //用旧的迭代值求新的迭代值

}while(fabs(x1-x0)>1e-5); //不满足结束条件, 一直迭代循环

cout<<"x="<

}

#include

#include

float f(float x) //根据形参x求函数f(x)=x*x+3*x-4的值

{ return x*x+3*x-4;

}

void main(void)

{

float x1,x2,x0;

do //判断输入的初值是否满足要求

{ cout<<"请输入初值x1和x2: ";

cin>>x1>>x2; //输入初值

}while((f(x1)*f(x2))>0); //当解不在初值范围之内时,重新循环输入初值

do

{ x0=(x1+x2)/2; //根据初值求方程的新的根x0

if(f(x0)*f(x1)>0) //实际的根在x2和x0之间

x1=x0; //将x0作为新的x1

else //实际的根在x1和x0之间

x2=x0; //将x0作为新的x2

}while(fabs(f(x0))>1e-5); //判断x0是否是满足方程的解的精度

cout<<"x0="<

}

#include

#include

float f(float x) //根据形参x求函数f(x)=x*x+3*x-4的值

{ return x*x+3*x-4;

}

void main(void)

{

float x1,x2,x0;

do //判断输入的初值是否满足要求

{ cout<<"请输入初值x1和x2: ";

cin>>x1>>x2; //输入初值

}while((f(x1)*f(x2))>0); //当解不在初值范围之内时,重新循环输入初值do

{ x0=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1)); //根据初值求方程的新的根x0 if(f(x0)*f(x1)>0) //实际的根在x2和x0之间

x1=x0; //将x0作为新的x1

else //实际的根在x1和x0之间

x2=x0; //将x0作为新的x2

}while(fabs(f(x0))>1e-5); //判断x0是否是满足方程的解的精度

cout<<"x0="<

}

#include

#include

float f(float x) //求形参x的多项式的值

{

return x*x+3*x-4;

}

float f1(float x) //求形参x的多项式的导数值

{

return 2*x+3;

}

float ff(float x)

{

float y;

if(fabs(f(x))<1e-5)

y=x;

else

y=ff(x-f(x)/f1(x));

return y;

}

void main(void)

{

float x1; //定义存放新旧迭代值的变量

x1=0; //迭代变量赋初值

cout<<"x="<

}

试验七

//B14: 设计一个程序,求出100~200之间的所有素数

#include

//函数功能:判断x是否为素数,若是素数,函数返回值为1,否则,函数返回值为0

int prime(int x)

{

for(int i=2;i

if(x%i==0) //x能被2~x/2整除,说明x不是素数

return 0;

return 1; //执行完循环,x为素数,返回1

}

void main(void)

{

for(int i=100;i<=200;i++) //将i从100到200依次循环,以求出所有满足素数条件的i {

if(prime(i)==1) //利用函数判断循环变量i是否为素数

cout<

}

}

// 输入一个整数n(2≤n≤10000),输出它的所有的素数因子。

//用函数int Prime(int num)来判断整数num是否为素数。例如,若输入2310,则输出:2,3,5,7,11。

#include

int Prime(int num) //函数Prime判断形参num是否为素数, 若为素数, 函数返回1, 否则函数返回0

{

for(int i=2;i

if(num%i==0) //若上述数据有1个被num整除, 则num为非素数, 中止循环, 直接返回0

return 0;

return 1; //当以上循环正常结束(即i循环到num/2结束), 说明没有数据被num整除, num 为素数, 返回1

}

void main(void)

{

int n;

cout<<"输入一个整数n: ";

cin>>n; //从键盘输入一个整数

for(int i=2;i<=n/2;i++) //将i从2开始循环,判断i是否为n的因子

{

if(n%i==0&&Prime(i)) //若i为n的因子且i为素数

cout<

}

cout<

}

#include

int prime(int x)

{

for(int i=2;i

if(x%i==0)

return 0;

return 1;

}

void main()

{

int x;

cout<<"请输入一个大于6的偶数: ";

cin>>x;

for(int i=2;i

{

int t=x-i;

if(prime(i)&&prime(t))

{

cout<

}

}

}

#include

int fun(int n)

{

int mul=1;

while(n)

{

mul=mul*(n%10);

n=n/10;

}

return mul;

}

void main(void)

{ int n, mul;

cout<<"请输入一个整数(输入0结束): ";

cin>>n; //从键盘输入整数

while(n) //因为要输入多个整数, 所以要判断输入的整数是否为0, 不为0,继续循环输入{ mul=fun(n); //用输入的整数n作为实参调用函数fun(),将函数值赋给变量mul cout<

cout<<"请输入一个整数(输入0结束): ";

cin>>n; //继续输入另一个整数, 直至输入为0, 结束循环

}

}

实验八

#include

void main()

{

int a[6]={9,8,7,6,5,4};

int i,j,t;

int n=6;

for (j=0; j

for (i=0; i

{ if (a[i]>a[i+1])

{ t=a[i];

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

a[i+1]=t;

}

}

for(i=0;i

cout<

cout<

}

#include

void main()

{

int a[6]={9,8,7,6,5,4};

int i,j,min,t;

int n=6;

for (j=0; j

{

min=j;

for (i=j; i

if (a[min]>a[i])

min=i;

t=a[min];

a[min]=a[j];

a[j]=t;

}

for(i=0;i

cout<

cout<

}

#include

void main()

{

int a[10]={2,5,78,4,6,3,89,12,15,34};

int max=a[0],maxindex=0;

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

if(max

{

max=a[i];

maxindex=i;

}

cout<<"max="<

#include

void main()

{

int a[]={8,16,5,14,1};

int len=sizeof(a)/sizeof(a[0]);

int temp;

for(int i=0;i

{

temp=a[i];

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

a[len-1-i]=temp;

}

for(i=0;i

cout<

cout<

}

#include

#define N 100

void main()

{

int a[N];

int i,j;

for(i=0;i

a[i]=i;

for(i=2;i

for(j=2;i*j

{

if(a[i]!=0)

a[i*j]=0;

}

for(i=2;i

if(a[i]!=0)

cout<

cout<

}

实验九

#include

void main()

{

int i,j,row=0,colum=0,max;

int a[4][4]={{5,12,23,56},{19,28,37,46},{-12,-34,6,8},{4,6,34,1}};

max=a[0][0];

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

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

if(a[i][j]>max)

{

max=a[i][j];

row=i;

colum=j;

}

cout<<"max="<

#include

void main()

{ int i,j,k;

int colum,saddle,max,flag=0;

int a[4][4]={{5,12,23,56},{19,28,37,46},{-12,-34,-6,8},{4,6,34,10}};

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

{ max=a[i][0];

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

if(a[i][j]>max)

{ max=a[i][j];

colum=j;

}

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

if(max>a[k][colum])

max=a[k][colum];

if(max==a[i][colum])

{ flag=1;

saddle=max;

break;

}

}

if(flag==1)

cout<<"saddle="<

else

cout<<"No Saddle!\n";

}

#include

#define N 4

void main(void)

{

int a[N][N];//定义一个N×N的二维数组存放矩阵中的数值

int i, j;

cout<<"请输入一个N×N的矩阵, 矩阵的数值之间用空格或回车间隔: \n";

for(i=0; i

for(j=0; j

cin>>a[i][j]; //从键盘向矩阵中的每一个元素输入数据

cout<<"输入的原始矩阵为: \n";

for(i=0; i

{

for( j=0; j

cout<

cout<

}

for(i=0; i

for(j=0; j

{

int t=a[i][j];

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

a[j][i]=t;

}

cout<<"\n转置后的矩阵为: \n";

for(i=0; i

{

for( j=0; j

cout<

cout<

}

}

#include

void main()

{

int a[11][11];

int i,j;

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

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

a[i][j]=i*j;

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

{

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

cout<

cout<

}

}

#include

void main()

{

int a[10][10];

int i,j;

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

{

a[i][0]=1;

a[i][i]=1;

}

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

for(j=1;j

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

C语言上机报告答案

2010C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include main() { printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥50.5\n"); } 2.编写程序: a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。答案: #include main() { int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y);

x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a 赋给c。(提示:用条件运算符) 答案: #include main() { int a,b,c; a=0; b=-10; c= (a>b) ? b:a; printf("c = %d\n",c); } 五、调试和测试结果 1.编译、连接无错,运行后屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 3、编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7 a/c的商=3 a/b的余数=10 a/c的余数=15 4. 编译、连接无错,运行后屏幕上显示以下结果: c =-10 实验二顺序结构程序设计 四、程序清单 1.键盘输入与屏幕输出练习 问题1 D 。 问题2 改printf("%c,%c,%d\n",a,b,c);这条语句 改成:printf("%c %c %d\n",a,b,c);

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);

c语言上机选择题题及标准答案

c语言上机选择题题及答案

————————————————————————————————作者:————————————————————————————————日期: 2

1、下列字符序列中,不可用作C语言标识符的是(c) A.abc123 B.no_1 C.a!b D._ok_0 2、正确的C语言标识符是(a) A._buy_2 B.2_buy C.?_buy D.buy? 3、不属于C语言关键字的是(D) A.int B.break C.while D.character 4、以下选项中,合法的C语言标识符是(A) A.mon B.2_abc C.3dmax D.A.dat 5、以下选项中,合法的实型常数是(C) A.5E2.0 B.E-3 C.2E02 D.1.3E 6、以下选项中,正确的字符常量是(C) A."F" B.'\\'' C.'W' D.''' 7、已知字母A的ASCII码为十进制数65,且S为字符型, 则执行语句S='A'+'6'-'3';后,S中的值为(A) A.'D' B.68 C.不确定的值D.'C' 8、在C语言中,要求运算数必须是整型的运算符是(D) A./ B.++ C.*= D.% 9、若有定义:int m=7; float x=2.5, y=4.7;则表达式x+m%3*(int)(x+y)%2/4的值是(A) A.2.500000 B.2.750000 C.3.500000 D.0.000000 10、设变量x为float类型,m为int类型,则以下能实现将x中的数值 保留小数点后两位,第三位进行四舍五入运算的表达式是(B) A.x=(x*100+0.05)/100.0 B.m=x*100+0.5, x=m/100.0 C.x=x*100+0.5/100.0 D.x=(x/100+0.5)*100.0 11、假设所有变量均为整型,则表达式(x=2, y=5, y++, x+y)的值是(B) A.7 B.8 C.6 D.2 12、已知s是字符型变量,下面不正确的赋值语句是(B) A.s='\012'; B.s= 'u+v'; C.s='1'+'2'; D.s=1+2; 13、设x、y均为float型变量,则不正确的赋值语句是(C) A.++x ; B.x*=y-2; C.y=(x%3)/10; D.x=y=0; 14、putchar函数可以向终端输出一个(D) A.整型变量表达式值。B.字符串 C.实型变量值。D.字符 15、以下程序段的输出结果是(C) int a=12345; printf(”%2d\n”, a); A.12 B.34 C.12345 D.提示出错、无结果16、有如下程序段,从键盘输入数据的正确形式应是(B) (注:└┘代表空格) float x,y,z; scanf(“x=%d,y=%d,z=%d”,&a,&y,&z); A.123 B.x=1,y=2,z=3 C.1,2,3 D.x=1└┘y=2└┘z=3

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.

c上机试题及答案

c上机试题及答案文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]

A.类的定义 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 659 (260 users) Total Accepted: 116 (114 users) Special Judge: No Description 定义一个Circle类,有私有数据成员radius(半径);公有成员函数getArea(),用来计算圆的面积;实现能初始化半径的构造函数,以及拷贝构造函数。要在主函数中定义两个对象,并且输出两个对象的面积。其中第二个由第一个对象初始化,圆周率取为。(15分) Input 包含一个整数。 Output 输出一行,是两个对象的面积值。具体参照样例。 Sample Input 2 Sample Output

A题 #include using namespace std; class Circle { public: Circle(int r):radius(r) {} Circle(Circle &p); double getArea(int radius); private: int radius; }; Circle::Circle(Circle &p) { radius = ; } double Circle::getArea(int radius) { float area; area = *radius*radius; return area;

} int main() { int r; double area1,area2; Circle A(r); Circle B(A); cin>>r; area1 = (r); area2 = (r); cout<

C语言上机练习题

上机练习题 完成 1.输入一个不超过五位的正整数,输出其逆数。例如输入12345,输出应为54321。 完成 2.计算1+2+3…+n的值,n是从键盘输入的自然数。 完成 3.从终端(键盘)读入20个数据到数组中,统计其中正数的个数,并计算这些正数之和。完成 4.从终端(键盘)将5个整数输入到数组a中,然后将a逆序复制到数组b中,并输出b中 各元素的值。 完成 5.要将五张100元的大钞票,换成等值的50元,20元,10元,5元一张的小钞票,每种面 值至少1张,编程输出所有可能的换法,程序应适当考虑减少重复次数。 完成 6.求n以内(不包括n)同时能被3和7整除的所有自然数之和的平方根s,n从键盘输入。 例如若n为1000时,函数值应为:s=153.909064。 完成 7.一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下 车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同;丙是数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索找出车号。 完成 8.输入1~10之间的一个数字,输出它对应的英文单词。 完成 9.个位数为6且能被3整除但不能被5整除的三位自然数共有多少个,分别是哪些? 完成 10.用自然语言描述程序逻辑如下,试写程序。 ①设置环境; ②定义变量i、j、s,以及用于放置结果的变量sum,并令sum初值为0; ③i=1; ④如果i≤100,则转⑤,否则转⑧; ⑤令s=0,求前i个自然数之和,并放于变量s之中; ⑥sum=sum+s; ⑦i增加1,转④; ⑧输出和sum,结束。 完成 11.用自然语言描述的程序逻辑为: ①设置环境; ②定义变量i、flag和password,并令flag=0,i=0; ③用户回答口令,将其赋于password变量; ④口令正确?如果是,则flag=1,转⑥。否则转⑤; ⑤回答三次口令了吗?如果没有,计数器加1后(i++),转③,否则转⑥; ⑥根据flag之值输出相应信息。 12.用自然语言描述的程序逻辑如下: ①设置环境;

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 上机题目及答案1

第一周上机题 1.以下语句描述了包含数学成绩的学生信息结构体及其数组a: struct student{ char name[20]; float math; }; student a[10] = {{"张三", 90},{"李四",85},{"王五",73}}; int count=3; // 数组中包含的学生数 编写两个函数分别实现在a数组中添加和删除学生信息。 要求: 1) 原数组已按数学成绩排序(降序),添加和删除学生信息后数组应仍为降序; 2)以下数据用于添加:{"赵二", 96}, {"钱六",65},{"孙七",80} 3) 注意:添加,删除后count数据要相应变化。 #include #include struct student{ char name[20]; float math; }; int count=3; void add(student a[10]); void dele(student a[10]); void print(student a[]); void main(){ student a[10] = {{"张三", 90},{"李四",85},{"王五",73}}; int n=0; do{ cout<<".................学生信息处理系统.................." <<"\n 1-删除" <<"\n 2-增加" <<"\n 3-结束\n" <<"\n请选择: "; cin>>n; if(n==1) dele(a); else if(n==2) add(a) ; else cout<<"谢谢使用本系统!\n"; }while(n!=3); } void add(student a[10]){ student stu; int i=0,n=count; cout<<"请输入需增加的学生信息(姓名,成绩): "; cin>>https://www.360docs.net/doc/6818563952.html,>>stu.math; while(stu.math

(完整版)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、整型,实型,字符型

《C语言程序设计实践教程》答案-完整版

4.2练习题 一、选择题 1.D 2.B 3.A 4.B和D 5.C 6.A 7.B 二、填空题 1.//或/* */ 2.主或main 3.函数首部和函数体4.编译和连接 5.分号 5.2练习题 一、选择题 1.A 2.D 3.B 4.B 5.C 6.C 7.D 8.A 9.B 10.B 11.D 12.B 13.A或B 14.C 15.B

17.D 18.D 19.C 20.D 21.B 22.A 23.D 24.C 25.C 26.B 27.C 28.D 29.A 30.B 二、填空题 1.102,10 2.#define 宏名字符串 3.1 4.n=1 5.-4 6.a=1,b= ,c=2 7.c=A 8.n1=%d\nn2=%d 9.a+b>c&&a+c>b&&b+c>a 10.ch>=’a’&&ch<=’z’|| ch>=’A’&&ch<=’Z’11.7 12.0 13.11110000 14.8,4 6.2练习题 一、选择题 1.A 2.C 3.D 4.C 5.A

7.A 8.D 9.B 10.C 11.A 12.A 13.C 14.B 15.正确答案为:12345678 二、填空题 1.10 2.y=1 x%i==0 3.屏幕中间输出一个由星号组成的菱形4.1 5.13 6.(cx=getchar())!=-1 front=cx; 7.m%n 8.4 9.*p px=&x py=&y 三、读程序,写结果 1.-1 2.3,1,-1, 3.a=16,y=60 4.x=12,y=4 5.59 7.2练习题 一、选择题 1.B 2.C 3.C 4.A 5.D

C语言上机作业题及答案

实验一: 1、已知华氏温度,根据转换公式计算相应的摄氏温度。 摄氏温度= 5*(华氏温度-32)/9 2.任意输入一个有五位数字的正整数,逆序输出每一数位上的数字。 如: 输入 12345 输出 5 4 3 2 1 #include"stdio.h" main() { double t,T; printf ("已知华氏温度,根据转换公式计算相应的摄氏温度"); scanf ("%lf",&t); T=(5*(t-32)/9); printf ("摄氏温度=%lf",T); } #include"stdio.h" main() { int value,a,b,c,d,e,m,n,h; printf ("任意输入一个有五位数字的正整数,逆序输出每一数位上的数字"); scanf ("%d",&value); a=value/10000; m=value%10000; b=m/1000; n=m%1000; c=n/100; h=n%100; d=h/10; e=h%10; printf ("%d%d%d%d%d",e,d,c,b,a); } 实验二: 1.一个成年人的身高与其父母的身高密切相关,根据以下人体标准身高预测公式计算自己或某个同学的身高,并跟实际身高比较,给出结论是否符合该公式(误

差在3厘米范围内即视为相符)。 男性身高=(父亲身高+母亲身高)×1.08÷2(厘米) 女性身高=(父亲身高×0.923+母亲身高)÷2(厘米) 2.从键盘上输入税前收入,根据以下公式及规则,计算个人所得税税额并输出。应纳个人所得税税额=(税前收入—起征点额度)*适用税率—速算扣除数 其中,起征点额度是3500元,其他如下: 应纳税所得额税率速算扣除数 不超过1500元的部分 3% 0 超过1500元至4500元的部分 10% 105 超过4500元至9000元的部分 20% 555 超过9000元至35000元的部分 25% 1005 超过35000元至55000元的部分 30% 2755 超过55000元至80000元的部分 35% 5505 超过80000的部分 45% 13505 如:某人月收入5000元,则应纳个人所得税税额为(5000-3500)* 10% - 105 = 45元。 #include #include main() { float A,a,H,h,b; printf("父亲身高(厘米)\n"); scanf("%f",&A); printf("母亲身高(厘米)\n"); scanf("%f",&a); printf("孩子实际身高(厘米)\n"); scanf("%f",&H); printf("请选择孩子性别:女=0,男=1\n"); scanf("%f",&b); if(b) h=(A+a)*1.08/2; else h=(A*0.923+a)/2; if(fabs(H-h)<=3) printf("实际身高符合该公式\n"); else

C语言上机实验标准答案.doc

实验一上机操作初步 (2 学时 ) 一、实验方式:一人一机 二、实验目的: 1、熟悉 VC++语言的上机环境及上机操作过程。 2、了解如何编辑、编译、连接和运行一个 C 程序。 3、初步了解 C程序的特点。 三、实验内容: 说明:前三题为必做题目,后两题为选做题目。 1、输出入下信息: ( 实验指导书 P79) ************************* Very Good ************************* 2、计算两个整数的和与积。( 实验指导书 P81) 3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。 ( 书 P3) 4、在屏幕上显示一个文字菜单模样的图案: ================================= 1 输入数据 2 修改数据 3 查询数据 4 打印数据 ================================= 5、从键盘上输入两个整数,交换这两个整数。 四、实验步骤与过程: 五、实验调试记录: 六、参考答案: 1、#include <> void main( ) {printf( printf( printf( “ ********************\n “Very Good\n” ); “ ********************\n ” ); ” ); } 2、#include <> void main( ) {int a,b,c,d; printf( “ Please enter a,b: ”);

scanf( “%d,%d” ,&a,&b); c=a+b; d=a*b; printf( “ %d+%d=%d\n” ,a,b,c); printf( “ %d*%d=%d\n” ,a,b,d); } 3、#include <> #include <> void main( ) { double x,s; printf( “ Please input value of x: ”); scanf( “%lf ” ,&x); s=cos(x); printf( “ cos(%lf)=%lf\n ”,x,s); } 4、#include <> void main( ) { printf( “ ==================================\n”); printf( “ 1 输入数据 2 修改数据 \n ”); printf( “ 3 查询数据 4 打印数据 \n ”); printf( “ ===================================\n”); } 5、#include <> void main( ) { int x,y,t; printf( “ Please enter x and y: ”); scanf( “%d%d”,&x,&y); t=x; x=y; y=t; printf( “ After swap:x=%d,y=%d\n ” ,x,y); } 实验二简单的 C程序设计 (4 学时 ) 一、实验方式:一人一机 二、实验目的: 1、掌握 C语言的数据类型。 2、学会使用 C语言的运算符及表达式。 3、掌握不同数据类型的输入输出方法。 三、实验内容: 说明:前四题为必做题目,后两题为选做题目。

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程序设计教程与实验__吉顺如__实验一到七

实验1熟悉Visual C++环境及运行C程序 一、实验目的 1.掌握在Visual C++环境下C程序的建立、编辑、编译和执行过程。 2.掌握C程序的最基本框架结构,完成简单程序的编制与运行和调试。 3.掌握发现语法错误、逻辑错误的方法以及排除简单错误的操作技能。 二、实验内容 1.从键盘输入两个数a和b,求它们的平方和,并在屏幕上输出。输入该C程序,编译并运行之,记下屏幕的输出结果,以文件名保存。 #include <> main() { int a,b,sum; /*定义整型变量a、b、sum */ printf("Please Input a,b \n "); /*输出提示信息*/ scanf("%d%d",&a,&b); /*从键盘输入两个整数分别赋予a和b*/ sum=a*a+b*b; /*赋值语句,把a2+b2的结果赋给变量sum*/ printf("%d*%d+ %d*%d=%d\n",a,a,b,b,sum); /*输出语句*/ }

改错题 (1计算x*y 的值并将结果输出。试纠正程序中存在的错误,以实现其功能。程序以文件名保存。 #include <> main main () { int x=2;y=3;a int x=2,y=3,a ; A=x*y a =x*y ; print ('a=%d",A); print f ("a=%d",a ); printf("\n"); } (2)下程序的功能为:求两数中的较大数据并输出。纠正程序中存在的错误,以实现其功能。程序以文件名保存。 #include <> viod main() void main() { int a ,b , max; Scanf(“%d,%d ”,&a,&b); s canf(“%d,%d ”,&a,&b); Max=a; m ax=a; If (max

C语言上机试题及答案

实验一 Visual C++的使用及顺序结构程序设计 一、实验目的 1、掌握启动和退出VC6的方法。 2、熟悉VC6开发环境。 3、初步掌握简单程序的上机操作基本步骤,熟悉C单文件程序的输入、编译、链接和运行过程。 4、初步掌握程序的编辑修改和调试。 5、熟练使用赋值运算、算术运算等表达式。 6、熟练使用标准输入、输出函数及各种数据类型的格式说明符。 二、实验内容 1、下面C语言程序,其功能是显示字符串“欢迎同学们来到华北水院计算中心!”。 请同学们按照下面的实验指导学习VisualC++6.0的使用。 1.启动VisualC++6.0开发环境 (1)单击“开始”按钮,选择“程序” ——〉“Microsoft Visual Studio 6.0菜单项,单击“MicrosoftVisualC++6.0”,屏幕出现标题为“当时的提示”的窗口。 (2)单击“结束”按钮,关闭窗口,进入开发环境的主窗口。 2.使用Visual C++对一个C程序进行编辑、编译、连接和运行。 ⑴分析 Visual C++中程序的开发过程与其它高级语言的开发过程相仿,都要经过编辑、编译、连接和运行四个步骤。 ⑵步骤 ①编辑

图1-1 New对话框 编辑是将C源程序输入计算机的过程。在Visual C++主界面下,点击File菜单,选择New菜单项,即可出现New对话框,如图1-1所示。在弹出窗口中的Files标签页下,选择C++ Source File。在选项卡右面的File编辑框里输入文件名如“”,在Location编辑框里输入文件路径,如“d:\test”。点击OK按钮。将出现编辑窗口,如图1-2所示。在图1-2所示的右端编辑窗口里输入以下C源程序并保存文件。 include void main() { printf(" 欢迎同学们来到华北水院计算中心!"); } 图1-2 编辑窗口 ②编译 编译是使用系统提供的编译器将文本文件生成机器语言的过程,结果为,由于没有得到系统分配的绝对地址,还不能直接运行,如图1-3所示。选择Build菜单下的Compile ,计算机将完成对当前源程序的编译。按提示建立默认工程空间。编译无错时,将源程序编译为目标文件。编译结果如图1-4所示。如果出现运行错误,应该分析错误的原因,例如,是输入数据错误,还是代码错误;如果需要修改源程序文件,还需重新编译、链接和执行。改正编译窗口下方指出的两个错误,直至编译成功,如图1-5所示。

c语言上机练习题及答案[1]汇总

1.从矩形的长,宽,输出面积(长为 6.5,宽为4.5 ) #in elude mai n() float len gth,width,area; sca nf("%f%f", & le ngth,&width); area=le ngth*width; prin tf("area=%f\n",area); 2.定义符号常量,从键盘输入圆的半径 3.5,求圆的周长和面积 #defi ne PI 3.14 #in clude mai n() float r,c,area; sca nf("%f",&r); c=2* Pl*r; area=P l*r*r; prin tf("c=%f,area=%f\n",c,area); 3.练习上机手册P10 3,4, 5题,看看输出结果,并思考为什么 4.从键盘输入一个整数,输出其绝对值(采用两个if语句实现)int i; sea nf("%d",&i); if(i>=0) prin tf("i=%d\n",i); if(i<0) prin tf("i=%d\n",-i); 5.从键盘输入一个整数,输出其绝对值(采用if ―― else语句实现)#in elude mai n() int i; #in clude mai n()

sca nf("%d",&i); if(i>=0) prin tf("i=%d\n",i); else prin tf("i=%d\n",-i); 6.从键盘输入年份,判断是不是闰年,如果是,输出是闰年(上机考试重点) #in elude mai n()

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

C语言期末上机考试题及答案

C语言上机考试题—01 1. //#include #include double fun( int n ) { double sum=0,a=1; for(;n>0;n--,a++) sum=sum+1/(a*(a+1)); return sum; } main() { // clrscr(); printf("%f\n", fun(10)); } 2. #include main() { int k,m,s=0,i,b=0; for(k=10000;k<=20000;k++ ) { if(k%10==7) { for(i=2,b=0;i main() { int a; printf("请输入一个需要判 断的年份:\n"); scanf("%d",&a); if(a%4==0&&a%100!=0) printf("是闰年\n"); else if(a%400==0) printf("是闰年 \n"); else printf("不是闰 年\n"); } C语言上机考试题—02 1. //#include #include double fun( int n ) { double sum=0,a=1; for(;n>0;n--,a++) sum=sum+1/(a*(a+1)); return sum; } main() { // clrscr(); printf("%f\n", fun(10)); } 2. #include fun(int n) { int i,j=0; for(i=2;i #include main() { char str[81]; int i,j=0,w=1,s=0; printf("请输入一串字符: \n"); gets(str); for(i=0;i

相关文档
最新文档