文档库 最新最全的文档下载
当前位置:文档库 › C++课后答案

C++课后答案

C++课后答案
C++课后答案

第三章

//1.根据下面函数表达式编写一个程序,实现输入x的值后,能计算并输出相应的函数值y:#include

void main(void)

{

double x,y;

cout<<"请输入x: ";

cin>>x;

if(x<0)

y=x*x;

else if(x>=0&&x<1)

y=2.5*x-1;

else

y=3*x+1;

cout<<"x="<

}

//2.设计一个程序,要求:对从键盘输入的一个不多于5位的正整数,能输出它的位数并输出它的各位数字之和。

#include

void main(void)

{

int x,count=0,sum=0;

cout<<"请输入x: ";

cin>>x;

cout<

while(x)

{

sum=sum+x%10;

x=x/10;

count++;

}

cout<

}

//编程计算s=1! +2! +3! +...+ n! ,n的值从键盘输入,要求输出n和s的值。

#include

void main(void)

{

int n;

double t=1, s=0;

cout<<"请输入n: ";

cin>>n;

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

{

t=t*i;

s=s+t;

}

cout<<"n="<

}

//编程求之值,其中是一个数字,n表示的项数和其最后一项的位数。例如:2+22+222+2222+22222(此时n=5)。

#include

void main(void)

{

int n,a;

double s=0,t=0;

cout<<"请输入a和n: ";

cin>>a>>n;

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

{

t=t*10+a;

s=s+t;

}

cout<<"s="<

}

//5.利用公式:编程计算的近似值,要求计算到最后一项的绝对值小于为止。

#include

#include

void main(void)

{

int n=1,flag=1;

double pi=1,t=1;

while(fabs(t)>1e-5)

{

flag=-flag;

t=flag*1.0/(2*n+1);

pi=pi+t;

n++;

}

cout<<"pi="<<4*pi<

}

//6.编程求出所有的"水仙花数"。所谓"水仙花数"是指一个3位数,其各位数字立方和等于该数本身。例如,153是水仙花数,因为。

#include

void main(void)

{

int a,b,c;

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

{

a=i/100;

b=i/10%10;

c=i%10;

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

cout<

}

}

//7.编程求满足以下条件的三位整数n,它除以11所得到的商等于n的各位数字的平方和,且其中至少有两位数字相同。例如,131除以11的商为11,各位数字的平方和为11,所以它是满足条件的三位数。

#include

void main(void)

{

int a,b,c;

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

{

a=i/100;

b=i/10%10;

c=i%10;

if(i/11==a*a+b*b+c*c&&(a==b||b==c||a==c))

cout<

}

}

//8.设计一个求两正整数m和n的最大公约数的程序。m和n的值由键盘输入。

#include

void main(void)

{

int m,n;

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

cin>>m>>n;

for(int i=m;i>=1;i--)

if(m%i==0&&n%i==0)

break;

cout<

}

第四章

//1. 设计一个程序,要求输入三个整数,能求出其中的最大数并输出。程序中必须用函数实现求两数中大数的功能

#include

int max(int a,int b)

{

return a>b?a:b;

}

void main(void)

{

int a,b,c,maxnumber;

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

cin>>a>>b>>c;

maxnumber=max(a,b);

maxnumber=max(maxnumber,c);

cout<

}

//2. 设计一个程序,求出100~200之间的所有素数,要求每行输出5个素数。判断一个整数是否为素数用一个函数来实现。

#include

int prime(int x)

{

for(int i=2;i<=x/2;i++)

if(x%i==0)

return 0;

return 1;

}

void main(void)

{

int k=0;

for(int i=100;i<=200;i++)

if(prime(i))

{

cout<

k++;

if(k%5==0)

cout<

}

}

//3.回文数是指其各位数字左右对称的整数,例如12321是回文数。定义一个判断回文数的函数,并打印1000~2000之间的所有回文数。

#include

int fun(int x)

{

int s=0;

int i=x;

while(i)

{

s=s*10+i%10;

i=i/10;

}

if(s==x)

return 1;

else return 0;

}

void main(void)

{

int k=0;

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

if(fun(i))

{ cout<

k++;

if(k%5==0)

cout<

}

}

//4.用函数实现求两正整数的最大公约数的功能,并在主函数中调用该函数求出两正整数的最小公倍数。

#include

int gys(int a, int b)

{

for(int i=a;i>=1;i--)

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

return i;

return i;

}

void main(void)

{

int a,b,t;

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

cin>>a>>b;

t=gys(a,b);

cout<

}

//5. 用递归函数实现Hermite多项式求值。当x>1时,Hermite多项式定义为输入实数x和整数n后,求出Hermite多项式前n项的值

#include

double hermite(double x,int n)

{

double y;

if(n==0)

y=1;

else if(n==1)

y=2*x;

else

y=2*x*hermite(x,n-1)-2*(n-1)*hermite(x,n-2);

return y;

}

void main()

{

double x,y;

int n;

cout<<"请输入n和x: ";

cin>>n>>x;

y=hermite(x,n);

cout<<"y="<

}

//6.分别设计两个函数,一个实现整数的正序输出,另一个则实现反序输出。如输人一个整数3456,则输出3456和6543。

//算法提示:重复除以10求余,直到商为0为止。如3456%10的余数为6,商为345;345%10的余数为5,商为34;

//34%10的余数为4,商为3;3%10的余数为3,商为0,至此结束。先输出余数,后递归,则为反序输出;

//先递归,后输出余数,则为正序输出。

#include

void fun1(int n)

{

if(n==0)

return ;

else

fun1(n/10);

cout<

}

void fun2(int n)

{

if(n==0)

return;

else

{

cout<

fun2(n/10);

}

}

void main()

{

int n;

cout<<"请输入n: ";

cin>>n;

fun1(n);

cout<

fun2(n);

cout<

}

第五章

//编写一个宏MAX(a,b,c),求a,b,c中的最大值。a,b,c从键盘输入。#include

#define max(a,b,c) (a>b?a:b)>c?(a>b?a:b):c

main( )

{

int a,b,c;

int maxnumber;

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

cin>>a>>b>>c;

maxnumber=max(a,b,c);

cout<<"最大数为: "<

}

//已知三角形的三条边a, b, c,则三角形的面积为

#include

#include

#define s(a,b,c) ((a+b+c)/2)

#define area(a,b,c) s(a,b,c)*(s(a,b,c)-a)*(s(a,b,c)-b)*(s(a,b,c)-c) void main( )

{

double a,b,c;

double ss;

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

cin>>a>>b>>c;

ss=area(a,b,c);

ss=sqrt(ss);

cout<<"三角形的面积为: "<

}

第六章

//求一个4×4矩阵两对角线元素之和。

#include

void main()

{

int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};

int i,j,s=0;

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

{

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

cout<

cout<

}

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

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

cout<<"s="<

}

//输出以下的杨辉三角形(要求输出8行)

#include

void main()

{

int a[10][10];

int i,j;

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

{

a[i][0]=1;

a[i][i]=1;

}

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

for(j=1;j

{

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

}

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

{

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

cout<

cout<

}

}

//找出二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。也可能没有鞍点。#include

void main()

{

int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};

int i,j,k,mini,maxj,flag=0,max;

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

{

max=a[i][0];

maxj=0;

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

{

if(max

{

max=a[i][j];

maxj=j;

}

}

mini=i;

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

{

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

{

max=a[k][maxj];

mini=k;

}

}

if(mini==i)

{

flag=1;

cout<<"鞍点是: "<<"a["<

break;

}

}

if(flag==0)

cout<<"没有鞍点!"<

}

//4.从键盘输入一个字符串,删除字符串中的所有空格后输出。

#include

#include

void main()

{

char str[80];

int i,j;

cout<<"请输入一行带空格的字符串: ";

cin.getline (str,80);

i=0;

while(str[i])

{

if(str[i]==' ')

{

j=i;

while(str[j])

{

str[j]=str[j+1];

j++;

}

i--;

}

i++;

}

cout<<"删除空格的字符串为: ";

cout<

}

//5.从键盘将一个字符串输入到字符数组中,按反序存放。如,输入"Abcd e",则输出"e dcbA"。

#include

#include

void main()

{

char str[80],ch;

int i,j;

cout<<"请输入一行字符串: ";

cin.getline (str,80);

int n=strlen(str)-1;

for(i=0,j=n;i

{

ch=str[i];

str[i]=str[j];

str[j]=ch;

}

cout<<"反序的字符串为: "<

}

//6.编写一个函数把一个10进制数转换成16进制数。#include

#include

void change(int n, char str[])

{

int i=0,j;

int x;

char ch;

while(n)

{

x=n%16;

if(x<10)

str[i]=x+'0';

else

str[i]=x-10+'A';

n=n/16;

i++;

}

str[i]='\0';

for(i=0,j=strlen(str)-1;i

{

ch=str[i];

str[i]=str[j];

str[j]=ch;

}

}

void main()

{

int n;

char str[80];

cout<<"请输入一个十进制整数: ";

cin>>n;

change(n,str);

cout<

}

//编写一个函数:void strcpy(char a[ ], char b[]);将b中的字符串拷贝到数组a中。(要求不使用C++的库函数strcpy())。

#include

//#include

void strcpy(char a[],char b[])

{

int i=0,j=0;

while(a[i++]=b[j++]);

}

void main()

{

char a[80],b[80];

cout<<"请输入一个字符串: ";

cin.getline (b,80);

strcpy(a,b);

cout<<"字符串b为: "<

cout<<"字符串a为: "<

}

//编写一个函数:void strcat(char a[ ], char b[]);将b中的字符串拼接到数组a中的字符串的后面,构成一个字符串。(要求不使用C++的库函数strcat())。

#include

//#include

strcat(char a[],char b[])

{

int i=0,j=0;

while(a[i])

i++;

while(a[i++]=b[j++]);

}

void main()

{

char a[80],b[80];

cout<<"请输入两个字符串: ";

cin.getline (a,80);

cin.getline(b,80);

cout<<"字符串a为: "<

cout<<"字符串b为: "<

strcat(a,b);

cout<<"字符串a+b为:"<

}

//用筛选取法求出2~200之间的所有素数。

#include

//#include

void main()

{

int i,j,k;

int a[1000];

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

a[i]=i;

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

for(j=2;i*j<=200;j++)

a[i*j]=0;

for(i=2,k=0;i<=200;i++)

if(a[i]!=0)

{

cout<

k++;

if(k%5==0)

cout<

}

}

//编写一个程序:从键盘输入一个整型数,把这个整型数的各位数按降序输出。例输入整型数34125,输出:54321。

#include

//#include

void sort(int a[],int n)

{

int i,j,k;

int t;

for(i=0;i

{ k=i;

for(j=i;j

if(a[k]

k=j;

if(k!=i)

{

t=a[k];

a[k]=a[i];

a[i]=t;

}

}

}

void main()

{

int x;

int i=0,n;

int a[100];

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

cin>>x;

while(x)

{

a[i]=x%10;

x=x/10;

i++;

}

n=i;

sort(a,n);

for(i=0;i

cout<

cout<

}

第七章

//将n个整数按输入顺序的逆序排列,要求应用带指针参数的函数实现。#include

void fun(int *p, int n)

{

int *q=p+n-1;

int k;

for(;p

{

k=*p;

*p=*q;

*q=k;

}

}

void main()

{

int a[100],n;

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

cin>>n;

cout<<"请输入"<

for(int i=0;i

cin>>a[i];

fun(a,n);

cout<<"逆序排列的数据为: \n";

for(i=0;i

cout<

cout<

}

//编程输入一行文字,找出其中的大写字母,小写字母、空格、数字以及其他字符各有多少。#include

#include

void main()

{

char str[100];

cout<<"请输入字符串: ";

cin.getline (str,100);

char *p;

p=str;

int daxie=0,xiaoxie=0,shuzi=0,kongge=0,qita=0;

while(*p)

{

if(*p>='A'&&*p<='Z')

daxie++;

else if(*p>='a'&&*p<='z')

xiaoxie++;

else if(*p>='0'&&*p<='9')

shuzi++;

else if(*p==' ')

kongge++;

else

qita++;

p++;

}

cout<<"大写字符: "<

cout<<"小写字符: "<

cout<<"数字字符: "<

cout<<"空格字符: "<

cout<<"其他字符: "<

}

//编写一个从n个字符串中寻找最长串的函数char *longstr(char *z[], int n),

//其中z是指向多个字符串的指针数组,n是字符串的个数,数组返回值是最长串的首地址。//同时编写main函数验证程序。

#include

#include

char *longstr(char *z[], int n)

{

char *pmaxstr;

int len,maxlen;

pmaxstr=z[0];

maxlen=strlen(z[0]);

for(int i=1;i

{

len=strlen(z[i]);

if(maxlen

{

maxlen=len;

pmaxstr=z[i];

}

}

return pmaxstr;

}

void main()

{

char *pstr[]={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};

char *pmax;

int n;

n=sizeof(pstr)/sizeof(pstr[0]);

pmax=longstr(pstr,n);

cout<<"最长的字符串是: "<

}

//编写一个将一个字符串插入到另一个字符串指定位置的函数。同时编写main函数验证程序。

#include

#include

void insert(char str[], char substr[], int n)//将substr插入到str的第n个字符后

{

char str1[100];

int len;

len=strlen(str);

if(n>=len-1)

{

strcat(str,substr);

return ;

}

strcpy(str1,str+n);

strcpy(str+n,substr);

strcat(str,str1);

}

void main()

{

int n;

char str[100],substr[100];

cout<<"请输入第一个字符串: ";

cin.getline(str,100);

cout<<"请输入第二个字符串: ";

cin.getline(substr,100);

cout<<"将字符串"<

cin>>n;

insert(str,substr,n);

cout<<"插入后的字符串为: "<

}

第八章

#include

#include

struct point{

double x;

double y;

};

void main()

{

point p1,p2;

double dis;

cout<<"请输入平面上第一个点的坐标x和y: ";

cin>>p1.x>>p1.y;

cout<<"请输入平面上第二个点的坐标x和y: ";

cin>>p2.x>>p2.y;

dis=sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));

cout<<"点("<

}

#include

#include

struct node

{

char ch;

struct node *next;

};

node *create(char *str)

{

node *head,*p1,*p2;

head=NULL;

p1=p2=head;

while(*str)

{

p1=new node;

p1->ch=*str;

if(head==NULL)

head=p1;

else

p2->next=p1;

p2=p1;

str++;

}

p2->next=NULL;

return head;

}

int search(node *head, char ch, int a[])

{

int i=0,k=0;

node *p=head;

while(p)

{

k++;

if(p->ch==ch)

a[++i]=k;

p=p->next;

}

return i;

}

void main()

{

node *head=NULL;

char str[100],ch;

int a[100];

cout<<"请输入一行字符串: ";

cin.getline (str,100);

head=create(str); //建立链表

cout<<"请输入一个字符: ";

cin>>ch;

int n=search(head,ch,a);//查找字符,返回出现次数, a中为出现位置if(n==0)

cout<<"字符串"<

else if(n==1)

cout<

else

{

cout<

for(int i=1;i<=n-1;i++)

cout<

cout<

}

}

/建立一个链表,每个结点包括年龄和姓名,然后按年龄从小到大排序。

#include

#include

struct node

{

char name[20];

int age;

struct node *next;

};

node *insert(node *head,node *p0)

{

node *p1,*p2;

p1=head;

if(head==NULL)

{

head=p0;

p0->next=NULL;

}

else

{

while(p0->age>p1->age&&p1->next !=NULL)

{

p2=p1;

p1=p1->next ;

}

if(p0->age<=p1->age)

{

if(p1==head)

{

p0->next=head;

head=p0;

}

else

{

p0->next=p1;

p2->next=p0;

}

}

else

{

p1->next=p0;

p0->next=NULL;

}

}

return head;

}

void print(node *head)

{

node *p=head;

while(p)

{

cout<name<<'\t'<age<

p=p->next;

}

}

void main()

{

node *head=NULL;

char name[20];

node *p;

cout<<"请输入姓名(输入0结束): ";

cin.getline(name,20);

while(strcmp(name,"0"))

{

p=new node;

strcpy(p->name,name);

cout<<"请输入"<

cin>>p->age;

cin.ignore ();

head=insert(head,p);

cout<<"请输入姓名(输入0结束): ";

cin.getline(name,20);

}

cout<<"年龄排序的结果: \n";

print(head);

}

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

同济大学职业技术教育学院实验报告正式版

同济大学职业技术教育学院实验报告 课程名称会计模拟实训指导教师赵晋 实验日期2013/08/26—2013/09/05 专业班级10 级工商管理班 实验地点济事楼214 学生姓名袁龙学号107119 实验一系统管理与基础设置 一、实验要求 1. 增加用户 2. 建立帐套 3. 设置用户权限 4. 201号操作员在企业应用平台中分别启用“总账“,”应收款管理“,” 应付款管理“,”固定资产“,”薪资管理“,启用日期为2006年1月1日。 5.设置部门档案,人员档案,职员档案,供应商分类,供应商档案,客 户档案 6.备份帐套 二、实验步骤 1. 操作员及其权限 (1)登陆“系统管理”后,点击【权限】-【用户】,打开新建窗口新增操作员,具体操作,如下图1-1表示:

1) 系统管理中操作员列表截图 图1-1 新增加用户2) 账套创建过程中,账套信息页截图 图1-2 创建帐套3) 创建账套过程中,账套单位信息页截图

图1-3 账套单位信息页4) 人员档案列表截图 图1-4人员档案列表5) 供应商档案截图(选择最上级分类截图)

图1-5供应商档案列表6) 客户档案截图 图1-6客户档案列表

三,收获心得 试验一的主要内容是添加用户和建立公司帐套,这部分内容个人感觉比较容易,关键是要弄清楚管理员,帐套主管和操作员之间的关系,在操作方面感觉比较简单。 实验二总帐系统初始化 一、实验要求 1,设置会计科目 2,指定会计科目 3,设置凭证类别 4,设置选项 5,输入期初余额 6,设置结算方式 7,设置项目目录 8,帐套备份 二、实验步骤 1) 指定会计现金科目和银行科目 在企业应用平台的【设置】---【基础档案】---【财务】---【会计科目】窗口执行【编辑】--【指定科目】----打开指定科目对话框进行相应操作。见下图

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、按下面图一简单并行输出接口电路图连接线路(74LS273插通用插座,74LS32用实验台上的“或门”)。74LS273为八D触发器,8个D输入端分别接数据总线D0~D7,8个Q输出端接LED显示电路L0~L7。 2、编程从键盘输入一个字符或数字,将其ASCⅡ码通过这个输出接口输出,根据8个发光二极管发光情况验证正确性。 3、按下面图二简单并行输入接口电路图连接电路(74LS244插通用插座,74LS32用实验台上的“或门”)。74LS244为八缓冲器,8个数据输入端分别接逻辑电平开关输出K0~K7,8个数据输出端分别接数据总线D0~D7。 4、用逻辑电平开关预置某个字母的ASCⅡ码,编程输入这个ASCⅡ码,并将其对应字母在屏幕上显示出来。 图一图二 三、实验中使用到的程序 对于简单并行输出接口: stack1 segment stack 'stack' dw 32 dup(0) stack1 ends data segment baseport equ 0ec00h-280h;实际基址 port equ baseport+2a8h;基址+偏移地址 data ends code segment assume ss:stack1,ds:data,cs:code start: mov ax,data mov ds,ax again: mov ah,1 int 21h

C语言课后习题答案(最终)

第0章习题 1. 将下列十进制数分别转化为二进制数、八进制数和十六进制数: (1)128 (2)511 (3)1024 (4)65535 (5)1048575 答: (1)10000000、200、80 (2)111111111、777、1FF (3)10000000000、2000、400 (4)1111111111111111、177777、FFFF (5)11111111111111111111、3777777、FFFFF 2. 将下列二进制数转化为十进制数和十六进制数: (1)1100110101B (2)101101.1011B 答: (1)821、335 (2)45.6875、2D.B 3. 写出下列数的原码、反码、补码:15、-20、-27/32 答: (1)00001111、00000000、00001111 (2)10010100、11101011、11101100 (3)1.1101100、1.0010011、1.0010100 4. 16位无符号定点整数的数值表示范围为多少?8位补码的表示范围是多少?16位补码的表示范围是多少? 答: 0~65535、-128~127、-32768~32767 5.1968年Dijkstra提出结构化程序设计的思想的原因是什么?简要回答结构化程序设计的经典定义。 答: 结构化程序设计概念的提出主要是源于程序结构的层次性与模块化使得构造出来的软件具有良好的可理解性和可维护性,随着软件规模的扩大与复杂性的提高,程序的可维护性成为程序设计者们关注的重要问题之一。 如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。 6.C程序在内存中存储在哪儿?计算机的内存空间是如何分区的?分区存放不同类型的数据的目的是什么? 答:

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

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语言课后习题答案

第二章习题 2.什么叫做结构化算法?为什么要提倡结构化算法? 答:结构化算法是由一些基本结构顺序组成的。在基本结构之间不存在向前或向后的跳转,流程的转移只存在于一个基本的结构范围内。一个非结构化的算法可以用一个等价的结构化算法代替,其功能不变。 跟结构化算法比较起来,非结构化算法有以下缺点: 流程不受限制的随意转来转去,使流程图豪无规律使人在阅读的时候难以理解算法的逻辑.难以阅读,也难以修改,从而使算法的可靠性和可维护性难以保证。 4. 第三章习题 1.#include #include void main() { unsigned int n;

float p,p1,r=0.09; scanf("%u",&n); p=pow(1+r,n); p1=(p-1)*100; printf("%5.2f%%\n",p1); } 运行结果:输入,回车,见结果: 2.#include #include int main() { int bj=1000; float r1,r2,r3,r5,r0,lx1,lx2,lx3,lx4,lx5; r1=0.0414; r2=0.0468; r3=0.0540; r5=0.0585; r0=0.0072; lx1=bj*r5; lx2=bj*(1+r2)*r3; lx3=bj*(1+r3)*r2; lx4=bj*pow(1+r1,5); lx5=bj*r0*5; printf("lx1=%f lx2=%f lx3=%f lx4=%f lx=5%f\n",lx1,lx2,lx3,lx4,lx5); return 0; } 运行结果: 3.#include #include int main() { long d,p; d=300000; p=6000; double m,r=0.01; m=log(p/(p-d*r))/log(1+r); printf("%4.2f",m); return 0;

04737c程序设计试题及答案20200_图文

全国2009年10月高等教育自学考试 C++程序设计试题 课程代码:04737 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.对C++中主函数描述正确的是( ) A.名称为main,可为多个 B.名称不限,可为多个 C.名称为main,必须有且只能有一个 D.名称不限,必须有且只能有一个 2.调用声明为int result(int a,int b)的函数时,正确的方法是( ) A.result(1,2) B.result(1) C.result(0.1,0.3) D.result(1,2,3) 3.用于包含C++标准库iostream的预处理指令是( ) A.#define B.#include C.#define ‘iostream’ D.#include‘iostream’ 4.无类型标识符是指( ) A.void B.bool C.short D.long 5.从本质上看,引用是被引用变量的( ) A.拷贝 B.别名 C.复制 D.克隆 6.下面关于数组的初始化正确的是( ) A.char str[ ]={'a','b','c'}; B.char str[2]={'a','b','c'}; C.char str[1][2]={{'a','b'},{'e','d'}}; D.char str[ ][ ]={'a','b','c'}; 7.C++类中定义的成员默认访问属性为( ) A.public B.private C.protected D.friend 1文档来源为:从网络收集整理.word版本可编辑.

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

同济钢结构实验报告

报告名称:《钢结构实验原理实验报告》——H型柱受压构件试验姓名: 学号: 时间:2014年12月 E-mail : T E L :

一、实验目的 1. 通过试验掌握钢构件的试验方法,包括试件设计、加载装置设计、测点布 置、试验结果整理等方法。 2. 通过试验观察工字形截面轴心受压柱的失稳过程和失稳模式。 3. 将理论极限承载力和实测承载力进行对比,加深对轴心受压构件稳定系数 计算公式的理解。 二、实验原理 1、轴心受压构件的可能破坏形式 轴心受压构件的截面若无削弱,一般不会发生强度破坏,整体失稳或局部失稳总发生在强度破坏之前。其中整体失稳破坏是轴心受压构件的主要破坏形式。 轴心受压构件在轴心压力较小时处于稳定平衡状态,如有微小干扰力使其偏离平衡位置, 则在干扰力除去后,仍能回复到原先的平衡状态。随着轴心压力的增加,轴心受压构件会由稳定平衡状态逐步过渡到随遇平衡状态,这时如有微小干扰力使基偏离平衡位置,则在干扰力除去后,将停留在新的位置而不能回复到原先的平衡位置。随遇平衡状态也称为临界状态, 这时的轴心压力称为临界压力。当轴心压力超过临界压力后,构件就不能维持平衡而失稳破坏。 轴心受压构件整体失稳的破坏形式与截面形式有密切关系,与构件的长细比也有关系。一般情况下,双轴对称截面如工形截面、H 形截面在失稳时只出现弯曲变形,称为弯曲失稳。 2、基本微分方程 (1)、钢结构压杆一般都是开口薄壁杆件。根据开口薄壁杆件理论,具有初始缺陷的轴心压杆的弹性微分方程为: 由微分方程可以看出构件可能发生弯曲失稳,扭转失稳,或弯扭失稳。对于H 型截面的构件来说由于 所以微分方程的变为: ()()0 200 t IV 0IV =''-''+''+''-''-''--θθθθθθ ω R N r u Ny v Nx GI EI ()0 IV IV =''+''+-θNy u N u u EI y () 0IV 0IV =''-''+-θNx v N v v EI x 000==y x () ()0200 t 0IV ω=''-''+''-''--θθθθθθR N r GI EI IV ()0 IV 0 IV y =''+-u N u u EI () IV 0IV x =''+-v N v v EI

《C语言程序设计》课后习题答案(第四版)谭浩强

第1章程序设计和C语言1 1.1什么是计算机程序1 1.2什么是计算机语言1 1.3C语言的发展及其特点3 1.4最简单的C语言程序5 1.4.1最简单的C语言程序举例6 1.4.2C语言程序的结构10 1.5运行C程序的步骤与方法12 1.6程序设计的任务14 1-5 #include int main ( ) { printf ("**************************\n\n"); printf(" Very Good!\n\n"); printf ("**************************\n"); return 0; } 1-6#include int main() {int a,b,c,max; printf("please input a,b,c:\n"); scanf("%d,%d,%d",&a,&b,&c); max=a; if (max

2.5结构化程序设计方法34 习题36 第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例37 3.2数据的表现形式及其运算39 3.2.1常量和变量39 3.2.2数据类型42 3.2.3整型数据44 3.2.4字符型数据47 3.2.5浮点型数据49 3.2.6怎样确定常量的类型51 3.2.7运算符和表达式52 3.3C语句57 3.3.1C语句的作用和分类57 3.3.2最基本的语句——赋值语句59 3.4数据的输入输出65 3.4.1输入输出举例65 3.4.2有关数据输入输出的概念67 3.4.3用printf函数输出数据68 3.4.4用scanf函数输入数据75 3.4.5字符数据的输入输出78 习题82 3-1 #include #include int 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 #include int main() {float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000;

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. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。

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语言课后作业答案

3-5-1正确 大写字母转化成小写或者小写变大写 #include void main() { char ch; printf("请输入一个字符:"); scanf("%c",&ch); if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z') { if(ch>='A'&&ch<='Z')ch=ch+32; else ch=ch-32; } else ch=ch; printf("%c\n",ch); } 3-5-2大写转化成小写或者小写变大写 #include void main() { char ch; printf("请输入一个字符:"); scanf("%c",&ch); ch=ch; { if(ch>='A'&&ch<='Z')ch=ch+32; else ch=ch-32; } printf("%c\n",ch); } 3-5-3大写转化成小写或者小写变大写 #include void main() { char ch; printf("请输入一个字符:"); scanf("%c",&ch); if(ch>='a'&&ch<='z') ch=ch-32; else if(ch>='A'&&ch<='Z') ch=ch+32; else ch=ch; printf("%c\n",ch); } 3-6-1正确分段函数

#include void main() { int x,y; printf("请输入x:"); scanf("%d",&x); if(x<=1) y=x; else { if(1 void main() { int x,y; printf("请输入x:"); scanf("%d",&x); if(x>=10) y=3*x-8; else if(x>1) y=2*x+1; else y=x; printf("x=%d,y=%d\n",x,y); } 3 -6 -3正确 #include void main() { int x,y; printf("请输入x:"); scanf("%d",&x); if(x<=1) y=x; else if(1=10) y=3*x-8; printf("x=%d,y=%d\n",x,y); } 计算器正确 #include void main() {

C语言程序设计试题集及答案

单项选择题 (002) 阅读程序题 (018) 程序填空题 (039) 编写程序题 (070) 一、单项选择题 导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。本类习题主要检查对C语言基本概念的掌握情况,读者可根据学习进度选做部分习题。在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。对于掌握不准的问题,应该通过上机实验来检验。 【1.1】以下不正确的C语言标识符是____。 A) int B) a_1_2 C) ab1exe D) _x 【1.2】以下是正确的C语言标识符是____。 A) #define B) _123C) %d D) \n

【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。 ??? A) print B) i\am C) Pxq D) str_l ??? _3d one_half My->book Cpp ??? oodbs tart$it line# pow ??? aBc 3pai His.age while 【1.4】下面各选项组中,均是C语言关键字的组是。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 【1.5】下列不属于C语言关键字的是。 A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。 A) 程序文件的开始B) 程序文件的最后 C) 它所调用的函数的前面D) 程序文件的任何位置 【1.7】下列关于C语言的叙述错误的是____ A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义 【1.8】在C语言中,错误的int类型的常数是。 A) 32768 (超过了范围) B) 0 C) 037 D) 0xAF 【1.9】执行语句printf("%x",-1);屏幕显示____。 A) -1 B) 1 C) –ffff D) ffff 【1.10】已知long i=32768;执行语句printf("%d",i);屏幕显示____。 A) -1 B) -32768C) 1 D) 32768 【1.11】已知long i=65539; 执行语句printf("%d",i);屏幕显示____。 A) 65539 B) -3 C) 3D) 程序不能执行 【1.12】在C语言中,整数-8在内存中的存储形式是。 A) 1111 1111 1111 1000B) 1000 0000 0000 1000 C) 0000 0000 0000 1000 D) 1111 1111 1111 0111 【1.13】C语言中字符型(char)数据在内存中的存储形式是____。

同济大学 计算机网络实验报告

同济大学电子与信息工程学院实验报告 实验课程名称:计算机通信网络 任课教师: 实验项目名称:跨交换机实现VLAN 实验项目名称:静态路由 实验项目名称: OSPF单区域 姓名: 学号: 姓名: 学号: 姓名: 学号: 实验地点:

实验名称:跨交换机实现VLAN 【实验名称】 跨交换机实现VLAN。 【实验目的】 理解跨交换机之间VLAN的特点。 【背景描述】 假设某企业有两个主要部门:销售部和技术部,其中销售部门的个人计算机系统分散连接,他们之间需要相互进行通信,但为了数据安全起见,销售部和技术部需要进行相互隔离,现要在交换机上做适当配置来实现这一目标。 【技术原理】 Tag Vlan是基于交换机端口的另外一种类型,主要用于实现跨交换机的相同VLAN内主机之间可以直接访问,同时对于不同VLAN的主机进行隔离。Tag Vlan遵循了IEEE802.1q 协议的标准。在利用配置了Tag Vlan的接口进行数据传输时,需要在数据帧内添加4个字节的802.1q标签信息,用于标识该数据帧属于哪个VLAN,以便于对端交换机接收到数据帧后进行准确的过滤。 【实现功能】 使在同一VLAN里的计算机系统能跨交换机进行相互通信,而在不同VLAN里的计算机系统不能进行相互通信。 【实验设备】 S2126G(两台)、主机(3台)、直连线(4条) 【实验拓扑】 【实验步骤】 步骤1:在交换机SwitchA上创建Vlan 10,并将0/5端口划分到Vlan 10中。 SwitchA # configure terminal !进入全局配置模式。 SwitchA(config)# vlan 10 !创建Vlan 10。 SwitchA(config-vlan)# name sales !将Vlan 10命名为sales。 SwitchA(config-vlan)#exit SwitchA(config)#interface fastethernet 0/5 !进入接口配置模式。 SwitchA(config-if)#switchport access vlan 10 !将0/5端口划分到Vlan 10。 验证测试:验证已创建了Vlan 10,并将0/5端口已划分到Vlan 10中。

C语言课后答案

习题一 一、简答题 1.顺序结构、选择(分支)结构和循环结构。 2. (1)

(2)

3.编辑、编译、连接和运行 二、填空题 1. Ctrl+F9;Alt+F5;F2。 2. main(主) 3. main(主) 4. 任意 5. /* */ 不 6. ; 7.。 程序: include studio.h main{} /* this program prints the number of weeks in a year. /* ( int s s:=52; print(There are s weeks in a year"); 正确的为: #include main() /* this program prints the number of weeks in a year. */ { int s; s=52; printf("There are s weeks in a year"); }

习题二 一、选择题 1、C 2、B,D,F,G 3、C 4、A 5、C 6、B 二、填空题 1、声明;使用。 2、整型、浮点型(实型)、字符型。 3、hat_1,cat1,all, Dollar, piece_f, SIN, _ , FALSE. 4、'A'(字符),005(整型),3e0(整型),'\\'(字符),'\05'(字符), 1.2e+5(整型),0xf12(整型)。 5、(1)6+(4+5)*(4+5)/(2+3) (2)sin(a+b)*ain(a+b)/ (4*2)/(3*2)+2 三、读程题 1.若x为float型,其原值为5,a=2,b=4.7。写出下列表达式运算后x的值。 (1)x=(int)(b-a)%3*a/4-a (2)x=(x=b+1)+(int)(b)%10/2.0 (3)x+=x (4)x-=x (5)x*=x+x (6)x/=x+x (7)x+=x-=x*=x (8)x%=x (9)x=3*4,5*6 答案:(1)-1,(2)7.7,(3)10,(4)0,(5)50,(6)0.5,(7)0,(8)非法,(9)12。 2.写出下面程序的运行结果。 #include void main() { int a=2; printf("abcdefghijk\n"); printf("lmnop/n"); printf("I am a /n beginner of C !"); printf("I am a \n beginner of C !"); printf("%d + %d = %d",a,a,a); } 答案: abcdefghijk

相关文档
相关文档 最新文档