C语言实验报告题及答案

时间:2019-05-12 06:53:06下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《C语言实验报告题及答案》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《C语言实验报告题及答案》。

第一篇:C语言实验报告题及答案

《C程序设计实验》

实验一 C程序开发环境(2学时)

1.实验目的熟悉C语言的集成开发环境,了解菜单的使用方法;掌握C语言程序上机的编辑、编译、连接、运行的基本步骤;了解C语言程序的结构。

2.实验内容

(1)熟悉C语言程序上机的编辑、编译、连接、运行的基本步骤;

(2)输入并调试、运行下面的程序。

#include

int main()

{

printf(“This is a C program.n”);

return 0;

}

(3)输入并调试、运行下面的程序。

#include

int main()

{

int max(int x,int y);

int a,b,c;

scanf(“%d,%d”,&a,&b);

c = max(a,b);

printf(“max=%dn”,c);

return 0;

}

int max(int x,int y)

{

int z;

if(x > y)z = x;

else z = y;

return(z);

}

3.实验仪器设备

微型计算机一套,配置Windows系统和VC++6.0/Turbo C3.0 软件。

4.问题讨论

将printf函数改为print,调试并分析结果。

实验二 数据类型、运算符与表达式(2学时)

1.实验目的掌握整型、字符型和实型变量的定义和使用;掌握算术运算符的使用;掌握C语言表达式的运算规则。

2.实验内容

(1)输入并调试、运行下面的程序。

#include

int main()

{

char c1,c2;

c1=97;

c2=98;

printf(“%c %cn”,c1,c2);

printf(“%d %dn”,c1,c2);

return 0;

}

(2)输入并调试、运行下面的程序。

#include

int main()

{

int i,j,m,n;

i=8;

j=10;

m=++i;

n=j++;

printf(“%d,%d,%d,%dn”,i,j,m,n);

return 0;

}

3.实验仪器设备

微型计算机一套,配置Windows系统和VC++6.0/Turbo C3.0 软件。

4.问题讨论

将++i改为i++,j++改为++j,程序的运行结果会有何变化?

实验三 顺序结构程序设计(2学时)

1.实验目的掌握scanf、printf函数语句的使用方法;熟练应用赋值、输入、输出语句。

2.实验内容

(1)输入三角形三边长,求三角形面积。

(2)输入一个摄氏温度,要求输出华氏温度。公式为f=9/5*c+32。

3.实验仪器设备

微型计算机一套,配置Windows系统和VC++6.0/Turbo C3.0 软件。

4.问题讨论

如何理解格式控制符与它对应的变量之间的关系?

实验四 选择结构程序设计(2学时)

1.实验目的掌握利用if语句实现选择结构程序设计的方法;掌握利用switch语句实现选择结构的程序设计方法;注意break在switch语句的作用。

2.实验内容

(1)已知:当x<1时,y=x;当1≤x<10时,y=2x-1;当x≥10时,y=3x-11。输入x的值,输出对应y的值。

(2)输入一个百分制成绩,要求输出成绩等级A、B、C、D、E,练习使用switch语句。

(3)判断方程ax2+bx+c=0有几个解,如果有解则输出。

3.实验仪器设备

微型计算机一套,配置Windows系统和VC++6.0/Turbo C3.0 软件。

switch语句可否转换成if语句实现?

实验五 循环结构程序设计(4学时)

1.实验目的掌握利用while 或do while实现循环结构程序设计的方法;掌握利用for语句实现循环结构程序设计的方法。

2.实验内容

(1)编程实现1!+2!+…+n!的和,n由键盘输入。

(2)输出九九乘法表。

(3)输出“水仙花数”。“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。

(4)输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数。

3.实验仪器设备

微型计算机一套,配置Windows系统和VC++6.0/Turbo C3.0 软件。

4.问题讨论

三种循环结构有何联系和区别?

实验六 数组(4学时)

1.实验目的掌握一维数组的定义和输入输出操作;掌握二维数组的定义和输入输出操作;掌握字符数组和字符串处理函数的使用;掌握与数组有关的重要算法:排序、查找等。

2.实验内容

(1)输入15个整数,用冒泡法对它们按照由小到大的顺序排序并输出。

(2)输入15个整数,用选择法对它们按照由小到大的顺序排序并输出。

(3)求矩阵对角线元素之和。

(4)有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其它字符的个数。

3.实验仪器设备

微型计算机一套,配置Windows系统和VC++6.0/Turbo C3.0 软件。

增加或删除数组的一个元素,对数组的影响有哪些?

实验七 函数(4学时)

1.实验目的掌握C语言中函数定义、函数调用的方法和规则;掌握函数实参与形参的对应关系,以及“值传递”的含义;掌握全局变量和局部变量的关系和使用方法。

2.实验内容

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

(2)求两个整数的最大公约数和最小公倍数。用一个子函数求最大公约数,用另一个子函数根据求出的最大公约数求最小公倍数。

(3)输入10个学生5门课的成绩,分别用函数求:①每个学生平均分;②每门课的平均分;③找出最高的分数对应的学生和课程;④求平均分方差;

3.实验仪器设备

微型计算机一套,配置Windows系统和VC++6.0/Turbo C3.0 软件。

4.问题讨论

如何将子函数中某个变量的值传回主函数?

实验八 指针(4学时)

1.实验目的掌握指针的概念,学会定义和使用指针;掌握跟数组有关的指针的操作(包括字符数组);掌握跟函数有关的指针的操作。

2.实验内容

(1)另写一个函数完成strcmp()功能。

(2)另写一个函数完成strcpy()功能。

(3)将一个5×5的矩阵转置,用一个子函数实现该功能。

3.实验仪器设备

微型计算机一套,配置Windows系统和VC++6.0/Turbo C3.0 软件。

4.问题讨论

如何理解指针和数组之间的关系?

实验九 结构体(2学时)

1.实验目的掌握结构体类型变量的定义和使用;掌握结构体类型数组的概念和应用;掌握链表的概念,初步学会对链表进行操作;理解共用体的概念与使用。

2.实验内容

(1)有10个学生,每个学生的数据包括学号、姓名、3门课的成绩。从键盘输入10个学生数据,要求输出每门课的平均成绩。

(2)有n个人围成一圈,顺序排号。从第1个人开始1—3报数,凡报到3的人退出圈子,问 最后留下的是原来第几号的那位。

3.实验仪器设备

微型计算机一套,配置Windows系统和VC++6.0/Turbo C3.0 软件。

4.问题讨论

结构体类型变量有哪几种定义和使用的方法?

实验十 综合程序设计(4学时)

1.实验目的掌握程序设计的基本方法和技能,理解结构化程序设计和模块化设计方法的基本思想,能综合运用C语言的结构和函数等功能编写程序解决实际问题。

2.实验内容

(1)用麦克劳林级数求sin(x),x有键盘输入。

(2)有五个学生,每人有3门课的成绩,从键盘输入学生学号、姓名、3门课成绩,计算出每人平均分并将其和原始数据都存放在磁盘文件“stud.dat”中

3.实验仪器设备

微型计算机一套,配置Windows系统和VC++6.0/Turbo C3.0 软件。

4.问题讨论

数据的不同组织形式对程序有哪些影响?

第二篇:c语言编程题答案

六、编程题参考答案

1.编程,统计在所输入的50个实数中有多少个正数、多少个负数、多少个零。#include “stdio.h” #define N 50 void main(){ float x;unsigned int s1,s2,s3,i;s1=s2=s3=0;for(i=1;i<=N;i++){ scanf(“%f”,&x);if(x<0)s1++;else if(x==0)s2++;else s3++;} printf(“负数%u个,零%u个,正数%u个n”,s1,s2,s3);}

2.编程,计算并输出方程 X2+Y2=1989 的所有整数解。#include “stdio.h” void main(){ int x,y;for(x=-45;x<=45;x++){ y=-45;while(y<=45){ if(x*x+y*y==1989)printf(“%d*%d+%d*%d=%dn”,x,x,y,y,1989);y++;} } }

3.编程,输入一个10进制正整数,然后输出它所对应的八进制、十六进制数。#include “stdio.h” void main(){ unsigned int x;printf(“请输入一个十进制正整数:”);scanf(“%u”,&x);printf(“%d=八进制数 %o=十六进制数%xn”,x,x,x);}

4.编程,找出1000以内的所有完数,并输出其因子。#include “stdio.h” void main(){ int i,j,s=1;for(i=1;i<=1000;i++,s=1){ for(j=2;j<=i/2;j++)if(i%j==0)s+=j;// 求 i的因子和

if(s==i){ printf(“%d=1”,i);// 如果i 是完数则输出其各因子

for(j=2;j<=i/2;j++)if(i%j==0)printf(“+%d”,j);printf(“n”);} } }

5.输入一个正整数,输出它的所有质数因子。#include “stdio.h” void main(){ int m,i=2;printf(“请输入一个整数:”);scanf(“%d”,&m);while(m!=1)if(m%i==0){ printf(“%d ”,i);m/=i;} else i++;printf(“n”);}

6.输入20个整数,输出其中能被数组中其它元素整除的那些数组元素。#include “stdio.h” #define N 20 void main(){ int a[N],i,j;for(i=0;i

7.输入两个数组(数组元素个数自定),输出在两个数组中都出现的元素。#include “stdio.h” #define NA 6 #define NB 8 void main(){ float a[NA],b[NB];int i,j;for(i=0;i

8.输入两个数组(数组元素个数自定),输出在两个数组中都不出现的元素。#include “stdio.h” #define NA 6 #define NB 8 void main(){ float a[NA],b[NB];int i,j;for(i=0;i

9.编程,将字符数组S2中的全部字符拷贝到字符数组S1中。#include “stdio.h” void main(){ char s1[20],s2[]=“Good morning!”;int i=0;while((s1[i++]=s2[i])!='');printf(“%sn”,s1);}

10.给定年份year,判别该年份是否闰年(定义一个宏以判别该年份是否闰年)。#include #define f(year)year%4==0&&year%100!=0||year%400==0 void main(){ int y;printf(“请输入年份:”);scanf(“%d”,&y);if(f(y))printf(“%d 年为闰年n”,y);else printf(“%d 年不是闰年n”,y);}

11.输入一行小写字母后,或输出原文,或将字母变成其下一字母(a变成b、b变成c、„、x变成y、y变成z、z变成a)输出,用条件编译方法实现以上选择。#include #define MAX 80 #define SWITCH 1 void main(){ char str[MAX];int i=0;printf(“请输入文本行:n”);scanf(“%s”,str);#if(SWITCH)while(str[i]!='')if(str[i]>='a'&&str[i]<='z')if(str[i]=='z')str[i]='a';else str[i]++;i++;#endif printf(“%sn”,str);}

12.编写函数,处理n行n列维数组:将每一行的元素同除以该行上绝对值最大的元素。

#include “stdio.h” #include “math.h” void div(float** a,int n){ int i,j;float x;for(i=0;ifabs(x))x=*(*(a+i)+j);for(j=0;j

{ float b[3][3]={{1,2,3},{4,5,6},{7,8,9}};int i,j;float* c[3];for(i=0;i<3;i++)c[i]=b[i];div(c,3);for(i=0;i<3;i++){ for(j=0;j<3;j++)printf(“%f ”,b[i][j]);printf(“n”);} }

13.编写函数,求任意阶多项式 a0+a1X+a2X2+...+anXn 的值并返回多项式的值。#include “stdio.h” float f1(float* a,float x,int n){ int i;float t=1,y=0;for(i=0;i

14.设计一个函数,使给出一个数的原码,能得到该数的补码。

#include // 假定sizeof(int)为2;

unsigned int getbit(unsigned int value)//第1位为0表示数的原码,{ if(value>>15)return(value^0x7fff)+1;//其补码即其原码;若value else return value;//右移15位后为1,表示value是负数的原码,负数

} //的补码为原码按位取反(第1位不变)后加1。

void main(){ unsigned int y=0x800c,k;k=getbit(y);printf(“%xn”,k);}

15.编写函数,求m行、n列的二维数组全体元素中负数的个数。#include int sum(float **a,int m,int n){ int i,j;int y=0;for(i=0;i

{ float b[2][3]={{-1,2,-3},{4,-5,-6}};int i;float* c[2];for(i=0;i<2;i++)c[i]=b[i];printf(“%dn”,sum(c,2,3));} 16.编写函数,返回在一个整数组中出现次数最多的数及其出现次数。#include void fun(float *a,int n,int *k,float *x){ int i,j,y;*k=0;for(i=0;i*k){ *k=y;*x=*(a+i);} } return;} void main()// 函数引用示例

{ float c[10]={0,4,2,4,3,2,4,-3,1.5,7.6},t;int m;fun(c,10,&m,&t);// 若说明float *t;int *m;printf(“元素%f出现次数为%dn”,t,m);// 引用为 fun(c,10,m,t)将

} // 产生悬挂指针的错误,即t、m不只指向确定的存储单元。

17.编一个程序,打入月份号,输出该月的英文月名,要求用指针数组处理。#include void main(){ char *month_name[12]={“January”,“February”,“March”,“April”, “May”, “June”,“July”,“August”,“September”,“October”, “Novenber”,“December”};int n;printf(“请输入月份号:”);scanf(“%d”,&n);if(n<1||n>12)printf(“月份号输入错误!n”);else printf(“%d月的英文表示是%sn”,n,month_name[n-1]);}

18.编写递归函数,将输入的以“?”结束的字符串按与输入相反的顺序输出。#include void pline(){ char ch;if((ch=getchar())!='?'){ pline();putchar(ch);} return;} void main()// 函数引用示例 { pline();printf(“n”);}

19.编写函数,在n个元素的一维数组中,统计比相邻元素大的数组元素个数并将统计数返回(不考虑a[0]和a[n-1]),要求以指针变量而不是数组名作参数。#include int num(float *x,int n){ int i,k=0;for(i=1;i*(x+i-1)&&*(x+i)>*(x+i+1))k++;return k;} void main()// 函数引用示例

{ float a[10]={1,3,4,2,6,7,12,5,9,8};printf(“%dn”,num(a,10));}

20.编写函数,在n个元素的一维数组中,找出最大值、最小值并传送到调用函数。

#include void num(float *b,int n,float *max,float *min){ *max=*b;*min=*b;for(int i=1;i*max)*max=*(b+i);if(*(b+i)<*min)*min=*(b+i);} return;} void main()// 函数引用示例

{ float a[10]={1,3,4,2,6,7,12,5,9,8},x,y;num(a,10,&x,&y);printf(“最大值为%f,最小值为%f。n”,x,y);}

21.编写一个函数,统计m行n列二维数组中有多少个正数、多少个负数,多少个零,并

返回统计结果。

#include void sub(float** a,int m,int n,int *fs,int *lin,int *zs){ int i,j;*fs=*lin=*zs=0;for(i=0;i

{ float b[5][3]={{-1,5,2},{3,0,-2},{0,-3,5}, {4,7,-8},{3,4,5}},*c[5];int i,k1,k2,k3;for(i=0;i<5;i++)c[i]=b[i];sub(c,5,3,&k1,&k2,&k3);printf(“负数%d个,零%d个,正数%d个。n”,k1,k2,k3);}

22.编写函数,在给定的一行以'.'结束的字符中,找出最长的单词并输出。#include void find(char *str){ char *p1,*p2,*p3;int k1=0,k2=0;// k1为最长串的长度,初值为0。

p1=p2=p3=str;// p3指向最长串首字符,p1指向当前处理串首字符,while(*p2!='.')// p2为移动指针,*p2为空格表示查找到单词尾部。

if(*p2!=' '){ k2++;p2++;} else if(k2>k1){ p3=p1;p1=++p2;k1=k2;k2=0;} else { k2=0;p1=++p2;} for(k2=0;k2<=k1;k2++)printf(“%c”,*(p3+k2));printf(“n”);return;} void main()// 函数引用示例 { char a[40];int i=0;while((a[i++]=getchar())!='.');find(a);}

23.编写函数print,打印一个学生的成绩数组,该数组中有若干个学生的数据记录,每个记录包括num,name,score[3]。#include struct student { char num[7],name[9];int score[3];};// 尾部分号不得遗漏

void print(struct student* s,int n){ int i;// 运算符'*'、'&'的优先级均低于运算符'.' for(i=0;i

printf(“%s %s %4d%4d%4dn”,(*(s+i)).num,(*(s+i)).name,(*(s+i)).score[0],(*(s+i)).score[1],(*(s+i)).score[2]);return;} void main(){ struct student t[4];int i;for(i=0;i<4;i++)

scanf(“%s%s%d%d%d”,&t[i].num,&t[i].name,&t[i].score[0], &t[i].score[1],&t[i].score[2]);print(t,4);} 24.把文本文件d1.dat复制到文本文件d2.dat中,要求仅复制d1.dat中的英文字符。

#include void main(){ FILE *fpd1,*fpd2;char ch;fpd1=fopen(“d1.dat”,“r”);fpd2=fopen(“d2.dat”,“w”);while(fscanf(fpd1,“%c”,&ch)!=EOF)if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z')fprintf(fpd2,“%c”,ch);fclose(fpd1);fclose(fpd2);}

25.编程,把文本文件d1.dat复制到d2.dat(其中空格字符不复制)。#include void main(){ FILE *fpd1,*fpd2;char ch;fpd1=fopen(“d1.dat”,“r”);fpd2=fopen(“d2.dat”,“w”);while(fscanf(fpd1,“%c”,&ch)!=EOF)if(ch!=' ')fprintf(fpd2,“%c”,ch);fclose(fpd1);fclose(fpd2);}

26.编程,把文本文件d1.dat复制到d2.dat(其中大写英文字母要转换为小写字母)。

#include void main(){ FILE *fpd1,*fpd2;char ch;fpd1=fopen(“d1.dat”,“r”);fpd2=fopen(“d2.dat”,“w”);while(fscanf(fpd1,“%c”,&ch)!=EOF){ if(ch>='A'&&ch<='Z')ch=ch+32;fprintf(fpd2,“%c”,ch);} fclose(fpd1);fclose(fpd2);}

27.把文本文件d1.dat复制到文本文件d2.dat中,要求仅复制d1.dat中除英文字符和数字以外的其它内容。#include void main(){ FILE *fpd1,*fpd2;char ch;fpd1=fopen(“d1.dat”,“r”);fpd2=fopen(“d2.dat”,“w”);while(fscanf(fpd1,“%c”,&ch)!=EOF)

if(!(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z'||ch>='0'&&ch<='9'))fprintf(fpd2,“%c”,ch);fclose(fpd1);fclose(fpd2);}

28.求出1至100之间的素数(只能被1和自身整除的数)并顺序写入文件su.dat。

#include #include void main(){ FILE *fp;int i,j,k=2;fp=fopen(“su.dat”,“w”);fprintf(fp,“%4d%4d”,2,3);for(i=5;i<100;i=i+2){ for(j=3;j<=sqrt(i);j=j+2)if(i%j==0)break;if(j>sqrt(i)){ fprintf(fp,“%4d”,i);k++;if(k%10==0)fprintf(fp,“n”);} } fclose(fp);}

29.磁盘文件a1和a2,各自存放一个已按字母顺序排好的字符串,编程合并二个文件到a3 文件中,合并后仍保持字母顺序。#include #include void main(){ FILE *fp1,*fp2,*fp3;int i,j,k;char c1,c2;fp1=fopen(“a1”,“r”);fp2=fopen(“a2”,“r”);// 首先从文件a1、a2中各读入一个字符分别送入变量c1、c2,下面将作

// 循环比较,直到读到文件尾标志为止。

fp3=fopen(“a3”,“w”);c1=fgetc(fp1);c2=fgetc(fp2);do { if(c1

30.顺序文件C.DAT每个记录包含学号(8位字符)和成绩(三位整数)两个数据项。从文件读入学生成绩,将大于或等于60分的学生成绩再形成一个新的文件SCORE60.DAT保存在A盘上,并显示出学生总人数、平均成绩和及格人数。#include #include void main(){ FILE *fp1,*fp2;char s[9];int x,zrs=0,pjcj=0,jgrs=0;fp1=fopen(“c.dat”,“r”);fp2=fopen(“a:score60.dat”,“w”);fscanf(fp1,“%s%d”,s,&x);do { zrs++;pjcj+=x;if(x>=60){ jgrs++;fprintf(fp2,“%s %dn”,s,x);} fscanf(fp1,“%s%d”,s,&x);} while(!feof(fp1));printf(“总人数:%d平均成绩:%d 及格人数:%dn”,zrs,pjcj/zrs,jgrs);fclose(fp1);fclose(fp2);} 31.程序清单:

typedef int datatype;typedef struct node {datatype data;struct node *next;}linklist;„„

INVERT(linklist *head){linklisk *p,*q;p=head->next;if(p!=NULL){head->next=NULL;do {q=p->next;p->next=head->next;head->next=p;p=q;} while(p!=NULL);} } 32.程序清单:

PURGE(linklist *head){linklist *p,*q;q=head->next;if(q==NULL)return;p=q->next;while(p!=NULL)if(p->data==q->data){q=p->next;free(p);p=q->next;} else {q=p;p=p->next;} }

33、程序清单: #include main(){static char x[]=”computer”;char *p;for(p=x;p

34、#include #include main(){int m;char str[80],str2[80];printf(“input a string:n”);gets(str2);printf(“intput m:n);scanf(“%d”,&m);if(strlen(str2)

35、程序清单:

float search(float(pointer)[4],int n){float *pt;pt=*(pointer+n);return(pt);}

36、Main(){int score[][4]={{60,76,80,90},{45,86,57,90},{58,95,80,71},{78,50,60,85}};int(*p)[4],j,k,flag;p=score;for(j=0,j<4;j++)if(*(*(p+j)+k)<60)flag=1;if(flag==1){printf(“NO.%dis fail,svoreare:n”,j);for(k=0,;k<4;k++)printf(“%5d”, *(*(p+j)+k);

printf(“n”);} }

37、程序清单: main(){int b[16],x,k,r,I;printf(“enter a integer :n”): scanf(“%d”,&x);

printf(%6d’s binary number is:n”,x);k=-1;do {r=x%2;k++;*(b+k;x/=2;}while(x!=0 for(I=k;I>=0;I--)printf(“%d”,*(b+i)printf(“n”);} 38、float p(int n,int x){flaot t,t1,t2;if(n==0)return(1);else if(n==1)return(x);else {t1=(2*n-1)*x*(p((n-1),x));t2=(n-1)*p((n-2),x);t=(t1-t2)/n);return(t);}}

39、main(){int a[5][5],I,j,k=0,m,n;m=n/2+1;for(I=0,I=I;j--){k++;a[n-I-1][j]=k;} for(j=n-2-I;j>=I+1;j--){k++;a[I][j];}} for(I=0;I main(){int m[16],n,I,t,count=0;long a,k;printf(“result is:n”);for(n=10;n<200;n++){k=0;t=1;a=n*n;for(I=1;a!=0;I++){m[I]=a%10;a/=10;} for(;I>1;I--){k+=m[I-1]*t;t=t*10;} if(k==n*n)printf(“%2d:%10d%10dn”,++count,n,N*n);}}

41、void convert(char *a,int n){int I;if((I=n/10)!=0)convert(a+1,i);*a=n%10+’0’;}

42、#include main(){FILE *fp;char str[100],fikename[10];int I=0;if((fp=fopen(“upper.txt”,”w”))==NULL){printf(“can not open filen”);exit(0);} printf(“enter a string:n”);gets(str);while(str[I]!=’!’)

{if(str[I]>=’a’&&str[I]<=’z’)str[I]=str[I]-32;fputc(str[I],fp);I++;} fclose(fp);}

43、#include “stdio.h” FILE *fp;main(){int p=0,n=0,z=0,temp;fp=fopen(“number.dat”,”r”);if(fp==NULL)printf(“file not foundn”);else {while(!feof(fp)){fscanf(fp,”%d”,&temp);if(temp>0)p++;else if(temp<0)n++;else z++;} fclose(fp);printf(“posive:%3d,negtive:%3d,zero:%3dn:,p,n,z);} }

44、main(){unsigned rightrot(unsigned a,int n)

unsigned int m,b;

int n;

printf(“enter mand n:”);

scanf(%x,%d”,&m,&n);

printf(“m=%x,n=%dn”,m,n);

b=rightrot(m,n);

printf(“b=%xn”,b);} unsigned rightrot(unsigned a,int n){int rb;while(n0){rb=(a&1)<<(16-1);a=a>>1;a=a|rb;} return a;}

45、解:PX(X,N)=X-X2+X3-X4+„„+(-1)N-1XN =X*(1-X-X2+X3-X4+„„+(-1)N-1XN-1 =X*(1-PX(X,N-1)程序清单:

double px(double x,int n){if(n==1)return x;else return(x*(1-px(x,n-1));}

46、程序清单:

double opwer1(double x,int n){if(n==0)return 1;else return(x*power1(x,n-1);}

47、Printfn(int n){if(n=0&&n<=9)printf(“%d”,n);else {printf(“%d”,x%10);printn(x/10);} }

48、程序清单: t(int n){int m;printf(“%d”,x%10);m=x/10;if(m>0)r(m);}

49、程序清单:

int ack(int m,int n){if(m==0)return(n+1);else if(n==0)return(ack(m-1,1);else return(ack(m-1,ack(m,n-1)));} 50、Void intobin(int x){if(x/2>0)intobin(x/2);printf(“%d”,x%2);}

51、Void intobin(int x){if(x/8>0)intobin(x/8);printf(“%d”,x%8);}

52、Void intobin(int x){ if(x/16>0)intobin(x/16);printf(“%c”,(x%16>=9)?x%16+55:x%16+48);}

53、Main(){int x;printf(“enter a number:n”);

scanf(“%d”,&x);if(x!=0){if(x>0){ x=x%2;if(x)printf(“this number is a plus odd numbern”);else printf(“this number is a plus even numbern”);} else { x=x%2;if(x)printf(“this number is a plus odd numbern”);else printf(“this number is a plus even numbern”);} else printf(“this number is zeron”);}

54、Main(){int x,y,max;printf(“please input two number:n”);

scanf(“%d,%d”,&x,&y);if(a>b)max=a;else max=b;printf(“max=%d”,max);}

55、Main(){int j;for(j=999;j>=100;j--)if(555555%j==0)break;printf(“%d”,j);}

56、Main(){int I,count,j,sum;sum=count=0;for(I=0;I<10;I++){printf(“input ingter:n);scanf(“%d”,&j);if(j<0)continue;count++;sum=sum+j;} if(count)printf(“plus number:%d,average value :%.2f”,count,1.0*sum/count);else printf(“plus number:0,average value :0”);}

57、Main(){int year;printf(“%d”,&year);if(year<0)printf(“year is not a yaern”): else if((year%4==0&&year%100!=0)||year%400==0)printf(“year is leap year!n”);else printf(“year is not leap year!n”);}

58、main(){int n,j,k;printf(“input n:n”);

scanf(“%d”,&n);for(j=0;j

printf(“n”);} }

59、main(){int n,I,j,k;printf(“input n:n”);

scanf(“%d”,&n);for(I=0;I

printf(“n”);} } 60、Main(){ int I;float sum=1;for(I=2;I<=1000;I++)sum=sum+1.0/I;printf(“%f”,sum);} 61、Mypower(float x,int n){int I;float po=1;for(I=1,I<=n;I++)po=po*x;printf(“%f”,po);} 62、Main(){int I,j,max;int a[3][4]={};max=a[0][0];for(I=0;I<3;I++)for(j=0;j<4;j++)if(max char *strcat(char *str1,char *str2){}连接后字符串的头指针为str1。#include char *strcat(char *str1,char *str2){char *str1;while(*p!=’’)p++;while(*p++=*str2++);return(str1);} 64、#include char *revstr(char *s){} #include char *revstr(char *s){char *p=s,c;while(*p)p++;p--;while(s

8、略 69、略

70、#include #include main(){char str[80];printf(“input a string :n”);gets(str);insert(str);printf(“result is :%s”,str);} insert(char *s){int I;for(I=strlen(s);I>0;I--){*(s+2*I)=*(s+I);*(s+2*I-1)=’’;} } 71、Main(){int x;scanf(“%d”,&x);if(x%5==0&&x%7==0)printf(“yes”);else printf(“no”);} 72、#include main(){int day=0,buy=2;float sum=0,ave;do { sum=sum+buy*0.8;day++;buy=buy*2;}while(buy<=100);ave=sum/day;printf(“%f”,ave);} 73、#include main(){int I;for(I=1;I<100;I++)if(I*I==I||I*I%100==I)printf(%3d”,I);} 74、#include main(){char s[80]=””;int I,j;for(I=j=0;s[I]!=’’;I++)

if(c[I]!=’c’)s[j++]=s[I];

s[j]=’’;puts(s);} 79、main(){ int a[10];int i,j,m,f,h;int n,s;for(i=0;i<10;i++)a[i]=0;a[9]=1;printf(“please input n:n”);scanf(“%d”,&n);for(i=2;i<=n;i++){m=0;for(j=9;j>=0;j--){if(!(a[j]==0)){ f=a[j];h=(f*i%10+m)/10;a[j]=(f*i%10+m)%10;

m=f*i/10+h;} else { a[j]=a[j]+m;m=0;} } } i=0;while(a[i]==0)i++;printf(“%d!= ”,n);for(j=i;j<10;j++)printf(“%d”,a[j]);printf(“n”);} 80、#include #define N 100 main(){int a,j,jinwei,temp;int num1[N],num2[N];int i;printf(“PLEASE INPUT ONE NUMBER:n”);i=2;while(1){scanf(“%d”,&a);if(a==-1)break;num1[i++]=a;} num1[0]=i-1;i=2;printf(“PLEASE INPUT OTHER NUMBER:n”);while(1){scanf(“%d”,&a);if(a==-1)break;num2[i++]=a;} num2[0]=i-1;for(i=2;i<=num1[0];i++)printf(“%d”,num1[i]);printf(“+”);for(i=2;i<=num2[0];i++)printf(“%d”,num2[i]);printf(“=”);jinwei=0;if(num1[0]>num2[0]){j=num2[0];for(i=num1[0];i>=2;i--){ if(j>=2){ temp=jinwei;jinwei=(num1[i]+num2[j]+jinwei)/10;num1[i]=(num1[i]+num2[j]+temp)%10;

j--;} else { temp=jinwei;jinwei=(num1[i]+jinwei)/10;num1[i]=(num1[i]+temp)%10;

} } num1[1]=jinwei;for(i=1;i<=num1[0];i++)printf(“%d”,num1[i]);} else { j=num1[0];for(i=num2[0];i>=2;i--){ if(j>=2){temp=jinwei;jinwei=(num1[j]+num2[i]+jinwei)/10;num2[i]=(num1[j]+num2[i]+temp)%10;j--;} else {temp=jinwei;jinwei=(num2[i]+jinwei)/10;num2[i]=(num2[i]+temp)%10;} }

num2[1]=jinwei;for(i=1;i<=num2[0];i++)printf(“%d”,num2[i]);} } 81、include #define N 10 main(){int a,j,jinwei,temp;int num1[N],num2[N];int ji[2*N];int i;int k,k1,k2;int jinwei1,jiashu;for(i=0;i<2*N;i++)ji[i]=0;printf(“PLEASE INPUT ONE NUMBER:n”);i=1;while(1){scanf(“%d”,&a);if(a==-1)break;num1[i++]=a;} num1[0]=i-1;

printf(“PLEASE INPUT OTHER NUMBER:n”);i=1;while(1){scanf(“%d”,&a);if(a==-1)break;num2[i++]=a;} num2[0]=i-1;jinwei=0;k=2*N;for(i=num1[0];i>=1;i--){k1=k;k--;k2=k;jinwei=0;for(j=num2[0];j>=1;j--){ k1--;jiashu=(num1[i]*num2[j]+jinwei)%10;jinwei=(num1[i]*num2[j]+jinwei)/10;jinwei1=0;k2=k1;while(1){temp=jinwei1;jinwei1=(ji[k2]+jiashu+temp)/10;ji[k2]=(ji[k2]+temp+jiashu)%10;if(jinwei1==0)break;else {k2--;jiashu=0;} }

} k1--;temp=jinwei;jinwei=(temp+ji[k1])/10;ji[k1]=(temp+ji[k1])%10;if(jinwei!=0)ji[--k1]= jinwei;} printf(“nn”);for(i=1;i<=num1[0];i++)printf(“%d”,num1[i]);printf(“*”);

for(i=1;i<=num2[0];i++)printf(“%d”,num2[i]);printf(“=”);for(i=k1;i<2*N;i++)printf(“%d”,ji[i]);} 82、int count;int perm(char as[],char tem1[],int k,int num,int curr,int m){ int i,t;if(curr==0){if(num==0){printf(“{}”);count++;} else { count++;printf(“{”);for(i=0;i

第三篇:C语言基础题及答案

第一单元

程序设计和C语言

一、选择题

1. C语言的基本构成单位是:。A.函数 B.函数和过程

C.超文本过程

D.子程序

2. 一个C语言程序总是从 开始执行。A.主过程 B.主函数 C.子程序 D.主程序 3. C语言的程序一行写不下时,可以。

A.用逗号换行 B.用分号换行 C.在任意一空格处换行 D.用回车符换行 4. 以下叙述不正确的是:。

A.在C程序中,语句之间必须要用分号“;”分隔

B.若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数 C.在C程序中,无论是整数还是实数都能正确无误地表示 D.在C程序中,%是只能用于整数运算的运算符 5. 以下不正确的C语言标识符是。

A.ABC B.abc C.a_bc D.ab.c 6. 下列字符串是标识符的是:。A._HJ

B.9_student

C.long

D.LINE 1 7. 以下说法中正确的是:。

A.C语言程序总是从第一个定义的函数开始执行

B.在C语言程序中,要调用的函数必须放在main()函数中定义 C.C语言程序总是从main()函数开始执行

D.C语言程序中的main()函数必须放在程序的开始部分 8. 不合法的常量是:。A.„2‟ B.“

C.„3‟

D.„483‟

9. 已知各变量的类型说明如下,则以下不符合C语言语法的表达式是:。

int k,a,b;unsigned long w=5;double x=1.422;A.x%(-3)B.w+=-2 10.

11. 若有定义:int a=7;float x=2.5;y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是:。

C.k=(a=2,b=3,a+b)

D.a+=a=+(b=4)*(a=3)在C语言中,字符型数据在内存中以 形式存放。

A.原码 B.BCD码 C.反码 D.ASCII码 A.2.500000 12. B.2.750000 C.3.500000 D.0.000000 设有说明:char w;int x;float y;double z;

B.char

C.int

D.double 则表达式w*x+z-y值的数据类型为:。A.float 13. 14. 以下 是不正确的转义字符。

若x为int型变量,则执行以下语句后,x的值为。x=6;x+=x-=x*x;B.-60

C.60 D.-24 字符串“"ABC”“的长度是。A.'' B.'' C.'081' D.'' A.36 15.

二、填空题 A.11 B.7 C.5 D.3 1. 一个函数由两部分组成,它们是 和。2. 一个C源程序至少包含一个,即。3. 设int a=12;则表达式a/=a+a的值是。

4. 表达式x=(a=3,6*a)和表达式x=a=3,6*a分别是 表达式和 表达式,两个表达式执行完的结果分别是 和,x值分别是 和。

5. 在C语言中,实数有两种表示形式,即 和。6. 在C语言中,运算符的优先级最小的是 运算符。

第二单元

顺序程序设计

一、选择题

1. 若m为float型变量,则执行以下语句后的输出为。

m=1234.123;printf(”%-8.3fn“,m);printf(”%10.3fn“,m);A.1234.123 B.1234.123 C.1234.123 D.-1234.123 1234.123 1234.123 1234.123 001234.123 2. 若x,y,z均为int型变量,则执行以下语句后的输出为。

x=(y=(z=10)+5)-5;printf(”x=%d,y=%d,z=%dn“,x,y,z);y=(z=x=0,x+10);printf(”x=%d,y=%d,z=%dn“,x,y,z);

B.X=10,Y=10,Z=10 X=0,Y=10,Z=10 D.X=10,Y=10,Z=10

X=0,Y=10,Z=0

A.X=10,Y=15,Z=10 X=0,Y=10,Z=0 X=10,Y=10,Z=0 C.X=10,Y=15,Z=10

3. 若x是int型变量,y是float型变量,所用的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<回车> 4. 已知有变量定义:int a;char c;用scanf(“%d%c”,&a,&c);语句给a和c输入数据,使30存入a,字符‘b’存入c,则正确的输入是:。A.30’b’<回车> B.30 b<回车> C.30<回车>b<回车> D.30b<回车> 5. 已知有变量定义:double x;long a;要给a和x输入数据,正确的输入语句是。若要输出a和x的值,正确的输出语句。

A.scanf(“%d%f”,&a,&x);B.scanf(“%ld%f”,&a,&x);printf(“%d,%f”,a,x);printf(“%ld,%f”,a,x);C.scanf(“%ld%lf”,&a,&x);D.scanf(“%ld%lf”,&a,&x);printf(“%ld,%lf”,a,x);printf(“%ld,%f”,a,x);6. 若有定义double x=1,y;则以下的语句执行的结果是。

y=x+3/2;printf(“%f”,y);A.2.500000 B.2.5 C.2.000000 D.2 7. 若a为整型变量,则以下语句。a=-2L;printf(”%dn“,a);A.赋值不合法 B.输出为不确定的值

二、读程序写结果

1. main()

{ int x,y;scanf(”%2d%*2d%ld“,&x,&y);printf(”%dn“,x+y);

C.输出值为-2 D.输出值为2 } 执行时输入:1234567 2. main(){ int x=4,y=0,z;x*=3+2;printf(”%d“,x);x*=y=z=4;printf(”%d“,x);} 3. main(){ float x;int i;x=3.6;i=(int)x;printf(”x=%f,i=%d“,x,i);} 4. main(){ int a=2;a%=4-1;printf(”%d, “,a);a+=a*=a-=a*=3;printf(”%d“,a);} 5. main(){ int x=02,y=3;printf(”x=%d,y=%%d“,x,y);} 6. main(){ char c1=‟6‟,c2=‟0‟;printf(”%c,%c,%d,%dn“,c1,c2,c1-c2,c1+c2);} 7. main(){ int x,y,z;x=y=1;z=++x-1;printf(”%d,%dn“,x,z);z+=y++;printf(”%d,%dn“,y,z);}

三、填空题

1. 在C语言中,字符型数据和整型数据之间可以通用,一个字符数据既能以 输出,也能以 输出。

2. ”%-ms“表示如果串长小于m,则在m列范围内,字符串向 靠,补空格。3. printf函数的“格式控制”包括两部分,它们是 和。4. 编写程序求矩形的面积和周长,矩形的长和宽由键盘输入,请填空。

#include void main(){ float l,w;

printf(“please input length and width of the rectanglen”);scanf(“%f%f”,&l,&w);area=;girth=;

} 整数存入n,如:字符‘0’所对应的整数就是0。请填空。void main(){ char c;

};printf(“please input a char:n”);c=;n=;printf(,c,n);5. 编写程序,输入一个数字字符(‘0’~‘9’)存入变量c,把c转换成它所对应的第三单元

选择程序设计

一、选择题

1. 若x=0,y=3,z=3,以下表达式值为0的是 A.!x B.x

w=3;z=7;x=10;printf(”%dn“,x>10?x+100:x-10);printf(”%dn“,w++||z++);printf(”%dn“,!w>z);printf(”%dn“,w&&z);A.0 B.1 C.0 D.0 1 1 1 1 1 1 0 0 1 1 1 0 5. 分析以下程序, 下列说法正确的是。

main(){ int x=5,a=0,b=0;if(x=a+b)printf(”* * * *n“);else printf(”# # # #n“);} A.有语法错,不能通过编译 B.通过编译,但不能连接 C.输出* * * * D.输出# # # # 6. 分析以下程序, 下列说法正确的是。

main(){ int x=5,a=0,b=3;if(x=a+b)printf(”* * * *n“);else printf(”# # # #n“);

} A.有语法错,不能通过编译 B.通过编译,但不能连接 C.输出* * * * D.输出# # # # 7. 分析以下程序, 下列说法正确的是。

main(){ int x=0,a=0,b=0;if(x=a+b)printf(”* * * *n“);else printf(”# # # #n“);

} A.有语法错,不能通过编译 B.通过编译,但不能连接 C.输出* * * * D.输出# # # # 8. 分析以下程序, 下列说法正确的是。

main(){ int x=0,a=0,b=0;if(x==a+b)printf(”* * * *n“);else printf(”# # # #n“);

} A.有语法错,不能通过编译 B.通过编译,但不能连接 C.输出* * * * D.输出# # # # 1. include main(){ int a=-1,b=4,k;k=(a++<=0)&&(!(b--<=0));printf(”%d,%d,%dn“,k,a,b);} 2. main(){ int x=4,y=0,z;x*=3+2;printf(”%d“,x);x*=(y==(z=4));printf(”%d“,x);} 3. main(){ int x,y,z;x=3;y=z=4;printf(”%d“,(x>=z>=x)?1:0);printf(”%d“,z>=y && y>=x);} 4. main(){ int x=1,y=1,z=10;if(z<0)if(y>0)x=3;

二、读程序写结果 else x=5;printf(”%dt“,x);if(z=y<0)x=3;else if(y==0)x=5;else x=7;printf(”%dt“,x);printf(”%dt“,z);} 5. main(){ char x=‘B’;switch(x){ case ‘A’: printf(“It is A.”);case ‘B’: printf(“It is B.”);case ‘C’: printf(“It is C.”);default: printf(“other.”);} } 6. main(){ int x=1,y=0,a=0,b=0;switch(x){ case 1: switch(y){ case 0: a++;break;case 1: b++;break;} case 2: a++;b++;break;case 3: a++;b++;} printf(”a=%d,b=%dn“,a,b);}

三、填空题

1. 若a=5,b=6,c=7,d=8,则表达式d=a/2&&b==c||!a的值为 2. 定义 int x=10,y,z;执行y=z=x;x=y==z后,变量x的值为。3. 分段函数:输入x,计算y值,输出y,其中: x<0 y=2x+3 x=0,y=0 x>0,y=(x+7)/3 #include main(){ int x,y;scanf(”%d“,&x);if(x<0)(1);(2)y=0;(3)y=(x+7)/3;printf(“%d”,y);} 4. 由键盘输入三个数,计算以这三个数为边长的三角形面积。(1)main(){(2);printf(”Please enter 3 reals:n“);scanf(”%f%f%f“,&a,&b,&c);if((3)){ s=(a+b+c)*0.5;s1=s*(s-a)*(s-b)*(s-c);s=(4);printf(”nArea of the triangle is %fn“,s);}(5)printf(”It is not triangle!n“);} 5. 有一方程ax+bx+c=0,a,b,c的值由键盘输入,请编程序,打印出以下情况时方程的解。

(1)a=0,b≠0(2)a=0,b=0,c=0(3)a=0,b=0,c≠0(4)a≠0,b-4ac≥0(5)a≠0,b-4ac≤0

222#include ”math.h“ main(){ float a,b,c,d,pr,pi,x1,x2;scanf(”%f%f%f“,&a,&b,&c);printf(”a=%f,b=%f,c=%fn“,a,b,c);if(a==0){ if((1))printf(”only one solution x=%fn“,-c/b);else if((2))printf(”no solutionn“);else printf(”x is any valuen“);} else { d=b*b-4*a*c;if((3)){ x1=(-b+sqrt(d))/(4);x2=(-b-sqrt(d))/(5);printf(”x1=%6.2f, x2=%6.2fn“,x1,x2);} else { pr=-b/(2*a);(6);printf(”x1=%6.2f +%6.2fin“,pr,pi);printf(”x2=%6.2f-%6.2fin“,pr,pi);} } } 6. 投票表决器:

– 输入Y、y,打印agree – 输入N、n,打印disagree – 输入其他,打印lose main(){ char c;scanf(”%c“,&c);(1){

} case ‘Y’: case ‘y’: printf(“agree”);(2);case ‘N’: case ‘n’: printf(“disagree”);(3);(4):printf(“lose”);

第四单元

循环程序设计

一、选择题

1. 程序段如下:则以下说法中正确的是:。

int k=5;do{ k--;}while(k<=0);A.循环执行5次 B.循环是无限循环 C.循环体语句一次也不执行 D.循环体语句执行一次 2. 设i和x都是int类型,则for循环语句。

for(i=0,x=0;i<=9&&x!=876;i++)scanf(”%d“,&x);A.最多执行10次 B.最多执行9次 C.是无限循环 D.循环体一次也不执行 3. 下述for循环语句。

int i,k;for(i=0,k=-1;k=1;i++,k++)printf(”* * * *“);A.判断循环结束的条件非法 B.是无限循环 C.只循环一次 D.一次也不循环 4. 程序段如下:则以下说法中正确的是:。

int k=-20;while(k=0)k=k+1;A.while循环执行20次 B.循环是无限循环 C.循环体语句一次也不执行 D.循环体语句执行一次 5. 下列程序段执行后k值为。

int k=0,i,j;for(i=0;i<5;i++)for(j=0;j<3;j++)k=k+1;A.15 B.3 C.5 D.8 6. 程序段如下:则以下说法中不正确的是:。

#include main(){ int k=2,;while(k<7){ if(k%2){k=k+3;printf(“k=%dn”,k);continue;} k=k+1;printf(“k=%dn”,k);} } A.k=k+3;执行一次 B.k=k+1;执行2次 C.执行后k值为7 D.循环体只执行一次 1. main(){ int num=0;while(num<=2){ num++;printf(”%dn“,num);} } 2. main(){ int i=0,s=0;do { s+=i*2+1;printf(”i=%d,s=%dn“,i,s);i++;} while(s<10);} 3. #include main(){ int i,m=1;for(i=5;i>=1;i--){ m=(m+1)*2;printf(”m=%dn“,m);} } 4. 指出下面三个程序的功能,当输入为:”quert?“时,它们的执行结果是什么? ⑴ #include main(){ char c;c=getchar();while(c!='?'){ putchar(c);c=getchar();} } ⑵ #include main()

二、读程序写结果 { char c;while((c=getchar())!='?')putchar(++c);} ⑶ #include main(){ while(putchar(getchar())!='?');} 5. #include main(){ int i;for(i=1;i<=5;i++){ if(i%2)putchar(‘<’);else continue;putchar(‘>’);} putchar(‘#’);} 6. main(){ int a,b;for(a=1,b=1;a<=100;a++){ if(b>10)break;if(b%3==1){ b+=3;continue;} } printf(”a=%dn“,a);} 7. main()

{ int i=1;while(i<=15)if(++i%3!=2)continue;else printf(”%d “,i);printf(”n“);

} 8. #include void main(){ int i,j;for(i=0;i<=3;i++){ for(j=0;j<=i;j++)printf(”(%d,%d),“,i,j);printf(”n“);} } 9. main()

{ int i,j,k;

char space=' ';for(i=0;i<=5;i++){ for(j=1;j<=i;j++)printf(”%c“,space);for(k=0;k<=5;k++)printf(”%c“,'*');printf(”n“);

10.} #include { int i,j,k=0;for(j=11;j<=30;j++){ if(k%10==0)printf(”n“);for(i=2;i

if(i>=j-1)

{ printf(”%dt“,j);k++;}

三、填空题

1. break语句只能用于 语句和 语句中。2. 计算2+4+6+8+...+98+100 main(){ int i,(1);for(i=2;i<=100;(2))s+=i;} 3. 求满足下式的 x,y,z } } } main()

X Y Z + Y Z Z ────── 5 3 2

main(){ int x,y,z,i,result=532;for(x=1;(1);x++)for(y=1;(2);y++)for((3);(4);z++){ i=(5)+(100*y+10*z+z);if(i==result)printf(”x=%d, y=%d, z=%dn“,x,y,z);} } 4. 求 Sn=a+aa+aaa+...+aa...a之值,其中 a是一个数字。例如 2+ 22 +222+2222(此时n=4),n由键盘输入。

main(){ int a,n,count=1,Sn=0,Tn=0;printf(”请输入 a 和 n 的值:n“);scanf(”%d,%d“,&a,&n);while(count<=(1)){ Tn=(2);Sn=(3);a=a*10;(4);} printf(”a+aa+aaa+...=%dn“,Sn);} 5. 一球从 100米高度自由落下,每次落地后反跳回原来高度的一半,再落下,求它在第十次落地时,共经过多少米?第十次反弹多高?

main(){ float Sn=100.0,hn=Sn/2;int n;for(n=2;n<=(1);n++){ Sn=(2);hn=(3);} printf(”第10次落地时共经过%f米n“,Sn);printf(”第10次反弹%f米n“,hn);} 6. 打印出以下图形 * * * * * * * * * * * * * * * * * * * * * * * * * main(){ int i,j,k;for(i=0;i<=(1);i++){ for(j=0;j<=2-i;j++)printf(” “);for(k=0;k<=(2);k++)printf(”*“);(3)} for(i=0;i<=2;i++){ for(j=0;j<=(4);j++)printf(” “);for(k=0;k<=(5);k++)printf(”*“);printf(”n“);} } 7. 准备客票。某铁路线上共10个车站,问需要准备几种车票? main(){ int i,j,station,total=0;printf(”输入车站数:“);scanf(”%d“,&station);for(i=1;i<(1);i++)for(j=(2);j<=station;j++)total=(3);printf(”车票种类=%d n“,total);}

第五单元

一、选择题

1. 以下关于数组的描述正确的是。

A.数组的大小是固定的,但可以有不同的类型的数组元素。B.数组的大小是可变的,但所有数组元素的类型必须相同。C.数组的大小是固定的,但所有数组元素的类型必须相同。D.数组的大小是可变的,但可以有不同的类型的数组元素。2. 在定义int a[10];之后,对a的引用正确的是。

A.a[10] B.a[6.3] C.a(6)D.a[10-10] 3. 以下能正确定义数组并正确赋初值的语句是。

A.int n=5,b[n][n];B.int a[1][2]={{1},{3}};C.int c[2][]={{1,2},{3,4}} D.int a[3][2]={{1,2},{3,4}} 4. 以下不能正确赋值的是。

A.char s1[10];s1=”test“;B.char s2[]={‟t‟,‟e‟,‟s‟,‟t‟} C.char s3[20]= ”test“;D.char s4[4]={ ‟t‟,‟e‟,‟s‟,‟t‟} 5. 下面程序段运行时输出结果是。

char s[18]= ”a book!“;printf(”%.4s“,s);A.a book!B.a book!C.a bo D.格式描述不正确,没有确定输出 6. 下面程序段运行时输出结果是。

char s[12]= ”A book“;printf(”%dn“,strlen(s));A.12 B.8 C.7 D.6 7. 在执行int a[][3]={1,2,3,4,5,6};语句后,a[1][0]的值是。A.4 B.1 C.2 D.5

二、读程序写结果

1. #include void main(){

} int a[8]={1,0,1,0,1,0,1,0},i;for(i=2;i<8;i++)a[i]+= a[i-1] + a[i-2];printf(“%5d”,a[i]);for(i=0;i<8;i++)2. #include void main(){ float b[6]={1.1,2.2,3.3,4.4,5.5,6.6},t;int i;t=b[0];for(i=0;i<5;i++)b[i]=b[i+1];b[5]=t;for(i=0;i<6;i++)

printf(“%6.2f”,b[i]);} void main(){ int p[7]={11,13,14,15,16,17,18},i=0,k=0;while(i<7 && p[i]%2){ k=k+p[i];i++;} printf(”k=%dn“,k);} 4. void main(){ int a[3][3]={1,3,5,7,9,11,13,15,17};int sum=0,i,j;for(i=0;i<3;i++)for(j=0;j<3;j++){ a[i][j]=i+j;if(i==j)

sum=sum+a[i][j];} printf(”sum=%d“,sum);}

5. void main(){ int a[4][4],i,j,k;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=i-j;for(i=0;i<4;i++){ for(j=0;j<=i;j++)3. #include printf(”%4d“,a[i][j]);printf(”n“);} }

6. #include main(){ int i,s;char s1[100],s2[100];printf(”input string1:n“);gets(s1);printf(”input string2:n“);gets(s2);i=0;while((s1[i]==s2[i])&&(s1[i]!=''))i++;if((s1[i]=='')&&(s2[i]==''))s=0;else s=s1[i]-s2[i];printf(”%dn“,s);} 输入数据 aid and

7. void main(){ } 8. #inlcude #include void main(){

char str[10][80],c[80];int i;for(i=0;i<10;i++)gets(str[i]);strcpy(c,str[0]);for(i=1;i<10;i++)if(strlen(c)

三、填空题

1. 构成数组的各个元素必须具有相同的。

2. 下面的程序是输出数组中最大元素的下标(p表示最大元素的下标)。

void main(){

} 3. 输入20个数,输出他们的平均值,输出与平均值之差的绝对值最小的数组元素。

#include void main(){

float a[20],pjz=0,s,t;int i,k;for(i=0;i<20;i++){ scanf(“%f”,&a[i]);pjz+= ;

} s=fabs(a[0]-pjz);t=a[0];for(i=1;i<20;i++)if(fabs(a[i]-pjz)

}

int s[]={1,-3,0,-9,8,5,-20,3};for(i=0,p=0;i<8;i++)if(s[i]>s[p]);

4. 输出行、列号之和为3的数组元素。

main(){ char ss[4][3]={'A','a','f','c','B','d','e','b', 'C','g','f','D'};int x,y,z;for(x=0;(1);x++)for(y=0;(2);y++){ z=x+y;if((3))printf(”%cn“,ss[x][y]);} } 5. 将一个数组中的元素按逆序重新存放。例如原来的顺序为:8,5,7,4,1, 要求改为:1,4,7,5,8。#define N 7 void main(){ int a[N]={12,9,16,5,7,2,1},k,s;printf(”n初始数组:n“);for(k=0;k

#include void main(){ /*str1表示原来的一行文字,str2表示删除指定字符后的文字*/ char str1[100],str2[100];char ch;int i=0,k=0;printf(“please input an sentence:n”);gets(str1);scanf(”%c“,&ch);for(i=0;(2);i++)if(str1[i]!=ch){ str2[(3)]=str1[i];k++;} str2[(4)]='';printf(”n%sn“,str2);} 7. 找出10个字符串中的最大者。

#include #include #define N 10 void main(){ char str[20],s[N][20];int i;for(i=0;i0)strcpy(str,s[i]);printf(”The longest string is : n%sn“,str);}

8. 某人有四张 3分的邮票和三张 5分的邮票,用这些邮票中的一张或若干张可以得到多少种不同的邮资?

main(){ static int a[27];int i,j,k,s,n=0;for(i=0;i<=4;i++)for(j=0;j<=3;j++){ s=(1);for(k=0;a[k];k++)if(s==a[k])(2);if((3)){ a[k]=s;n++;} } printf(”%d kind:“,n);for(k=0;(4);k++)printf(”%3d“,a[k]);} 9. 求矩阵的马鞍点。马鞍点即它的值在行中最大,在它所在的列中最小。#define N 10 #define M 10 main(){ int i,j,k,m,n,flag1,flag2;int a[N][M],max;printf(”n输入行数 n:“);scanf(”%d“,&n);printf(”n输入列数 m:“);scanf(”%d“,&m);for(i=0;imax)max=a[i][j];for(j=0;j

if((4))flag1=0;

if(flag1)

{ printf(”第%d行, 第%d列的 %d是鞍点n“,(5));

flag2=1;

} } } } if(!flag2)printf(”n矩阵中无鞍点!n“);}

第六单元

一、选择题

1. 在C语言中,当函数调用时。

A.实参和形参各占一个独立的存储单元 B.实参和形参共用存储单元

C.可以由用户指定实参和形参是否共用存储单元 D.由系统自动确定实参和形参是否共用存储单元 2. 以下函数调用语句中实参的个数为。

exce((v1,v2),(v3,v4,v5),v6);A.3 B.4

C.5

D.6 3. 如果在一个函数的复合语句中定义了一个变量,则该变量。

A.只在该符合语句中有效,在该符合语句外无效

B.在该函数中任何位置都有效 C.在本程序的原文件范围内均有效 D.此定义方法错误,其变量为非法变量

A.float型 B.int型 C.long型 D.double型 5. C语言规定,函数返回值的类型是由。

A.return语句中的表达式类型所决定 B.调用该函数时的主调函数类型所决定 C.调用该函数时系统临时决定

D.在定义该函数时所指定的函数类型决定 6. 在C语言程序中,以下描述正确的是。

A.函数的定义可以嵌套,但函数的调用不可以嵌套 B.函数的定义不可以嵌套,但函数的调用可以嵌套 C.函数的定义和函数的调用均不可以嵌套 D.函数的定义和函数的调用均可以嵌套 8.以下程序的运行结果是:

#include void sub(int s[],int y){ static int t=3; y=s[t];t--; } main(){ int a[]={1,2,3,4},i,x=0; for(i=0;i<4;i++){ sub(a,x);printf("%d",x);} printf("\n"); } A)1234

9.以下程序的运行结果是: main(){ int w=5;fun(w);printf("\n");} fun(int k){ if(k>O)fun(k-1); printf(" %d",k); B)432l

C)0000

D)4444 4. C语言允许函数值类型缺省定义,此时该函数值隐含的类型是。} A)5 4 3 2 l B)0 1 2 3 4 5

C)1 2 3 4 5

D)5 4 3 2 1 0 10.以下所列的各函数首部中,正确的是_______。A)void play(vat a:Integer,var b:Integer)C)void play(int a,int b)A)数组的长度

B)void play(int a,b)

D)Sub play(a as integer,b as integer)11.当调用函数时,实参是一个数组名,则向函数传送的是_______。

B)数组的首地址 D)数组每个元素中的值 C)数组每一个元素的地址

12.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是_______。A)地址传递

B)单向值传递

C)由实参传给形,再由形参传回实参 D)传递方式由用户指定

13.以下函数值的类型是_______。

fun(float x){ float y; y=3*x-4; return y; } A)int B)不确定

C)void

D)float

二、读程序写结果 1. fun1(int a,int b){ int c;a+=a;b+=b;c=fun2(a,b);return c*c;} fun2(int a,int b){ int c;c=a*b%3;return c;} main(){ int x=11,y=19;printf(”The final result is:%dn“,fun1(x,y));} 2. int x;main(){ x=5;cude();printf(”%dn“,x);} cude(){ x=x*x*x;} 3. #include long fun(int n){ long s;if(n==1||n==2)s=2;else s=n+fun(n-1);return s;} main()} 4. main(){ int i;for(i=0;i<2;i++)add();} add(){ int x=0;static int y=0;printf(”%d,%dn“,x,y);x++;y=y+2;}

5. main(){ int k=4,m=1,p;p=func(k,m);printf(”%d, “,p);p=func(k,m);printf(”%dn“,p);} func(int a,int b){ static int m=0,i=2;i+=m+1;m=i+a+b;return m;}

6.int t(int x,int y,int cp,int dp){ cp=x*x+y*y; dp=x*x-y*y; { printf(”%ldn“,fun(4));} main(){ int a=4,b=3,c=5,d=6; t(a,b,c,d);

printf("%d%dn",c,d); }

7.fun(int x,int y,int z){z=x*x+y*y;} main(){ int a=31;

fun(5,2,a); printf("%d",a); } 8.int a,b;

void fun(){ a=100;b=200; } main(){ int a=5,b=7; fun();

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

9.int x=3;

main(){int i;

for(i=1;i

printf("%d",x); }

10.int func(int a,intb){ return(a+b); } main(){int x=2,y=5,z=8,r; r=func(func(x,y),z); printf("%d\n",r); }

11.long fib(int n){ if(n>2)return(fib(n-1)+fib(n-2)); else return(2); } main(){ printf("%ldn",fib(3)};}

三、填空题

1. 编写一个验证正整数M是否为素数的函数,若M是素数则把1送到T中,否则零送到T中。在主函数中读入N个正整数,每读入一个则调用函数判断它是否为素数,在主函数中将T的值累加到另一个变量中。用此方法可求出N个数中素数的个数。请填空完成上述功能的程序。#include #include int prime(int m){ int i,pp=1;for(i=2;(1);i++)if(m % i==0)pp=0;if(m==1)(2)return(pp);} main(){ int a[20],i,sum=0;for(i=0;i<10;i++){ scanf(”%d“,&a[i]);sum=(3)} printf(”the number of prime data is:%d“,sum);}

2. 编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述的结果。请填空完成上述功能的程序。#include #include void fltj(char str[],int a[]){ int ll,i;ll=(1)for(i=0;i

1 Pnx((2n1)xp(x)(n1)p(x))/nn1n2

#include main(){ float pn();float x,lyd;int n;scanf(”%d%f“,&n,&x);lyd=(1)printf(”pn=%f",lyd);} float pn(float x,int n){ float temp;if(n==0)temp=(2)else if(n==1)temp=(3)else temp=(4)return(temp);} 4.以下函数的功能是:求x的y次方,请填空。

double fun(double x,int y){int i; double z:

for(i=1,z=x;i

(n0)(n1)

(n1)

第一单元

程序设计和C语言

一、选择题

1.A

2.B

3.C

4.C

5.D

6.A 12.D

13.BC

14..B

15.B

二、填空

1. 函数首部、函数体 2. 主函数、main函数 3. 0 4. 赋值、逗号、18、18、18、3 5. 浮点型、指数型 6. 逗号

第二单元

顺序程序设计

一、选择题 1.C 2.A 3.A

4.D

5.C

6.C 7.C

二、读程序写结果

1. 17 2. 2080 3. X=3.600000,i=3 4. 2,0 5. X=2,y=%d

6. 6,0,6,102 7. 2,1 2,2

三、填空

1. 字符

整数 2. 左

3. 格式说明

普通字符

4.(1)float area,girth;(2)l*w

7.C

8.D 9.A

10.D

11.A(3)2*(l+w)(4)printf(“area=%f,girth=%fn”,area,girth);5.(1)#include “stdio.h”

(2)int n(3)getchar()(4)c-„0‟

或者c-48(5)“%c,%dn”

第三单元

分支程序设计

一、选择题 1.C 2.EB

3.D

4.C

5.D

6.C 7.D 8.C

二、读程序写结果

1. 1,0,3 2. 200 3. 01 4. 1 7 0 5. It is B.It is C.other.6. a=2,b=1

三、填空

1. 0 2. 1 3.(1)y=2*x+3(2)else if(x==0)(3)else 4.(1)#include “math.h”

(2)float a,b,c,s,s1(3)(a+b>c)&&(b+c>a)&&(c+a>b)(4)sqrt(s1)(5)else 5.(1)b!=0(2)c!=0(3)d>=0(4)(2*a)(5)(2*a)(6)pi=sqrt(-d)/(2*a)6.(1)switch(c)(2)break(3)break(4)default

第四单元

循环程序设计

一、选择题

1. D 2. A

.3. B

.4. C 5. A 6. D

二、读程序写结果

1. 1 2

2. i=0,s=1 i=1,s=4 i=2,s=9 i=3,s=16 3. m=4 m=10 m=22 m=46 m=94 4.(1)quert(2)rvfsu(3)quert? 5. <><><># 6. a=5 7. 2 5 8 11 14 8.(0,0),(1,0),(1,1),(2,0),(2,1),(2,2),(3,0),(3,1),(3,2),(3,3), 9.

****** ******

****** ****** ******

****** 10. 11 13 17 19

三、填空

1. switch、循环 2.(1)s=0 29(2)i=i+2 3.(1)x<=9(2)y<=9(3)z=0(4)z<=9(5)x*100+y*10+z 4.(1)n(2)Tn+a(3)Sn+Tn(4)count++ 5.(1)10(2)Sn+hn*2(3)hn/2 6.(1)3(2)2*i(3)printf(“n”);(4)i(5)4-2*i 7.(1)station(2)i+1(3)total+2

第五单元

数组

一、选择题

1.C

2.D

3.D

4.A

5.C

二、读程序写结果

1.0

2.2.20 3.30 4.40 5.50 3. k=24 4. sum=6 5.

0

0

0

0 6.-5 7. “BBB”

8. 没有输入数据

三、填空

1. 类型

2.(1)int i,p(2)p=i(3)printf(“%dn”,p);3.(1)#include “math.h”

6.D

7.A 5 6.60 1.10 20

(2)a[i]/20(3)s=fabs(a[i]-pjz);(4)printf(“%f,%fn”,pjz,t);4.

(1)x<4(2)y<3(3)z==3 5.(1)N/2(2)a[N-1-k](3)a[N-1-k](4)k

第六单元

函数

一、选择题

1.A

2.A

3.A

4.B

二、读程序写结果

1. The final result is:4 2. 125 3. 9 4. 0,0 0,2 5. 8, 17 6. 5 6 7. 31 8. 57 9. 2 6 10. 15 11.4

三、填空

5.D

6.B 8.C 9.B 11.B 13.A

10.C 12.B 1.(1)i

(1)strlen(str);(2)str[i]>=‟A‟ && str[i]<=‟Z‟ || str[i]>=‟a‟ && str[i]<=‟z‟(3)str[i]>=‟0‟ && str[i]<=‟9‟(4)str[i]= =‟ ‟ 3.(1)pn(x,n);(2)1;(3)x;(4)((2*n-1)*x*pn(x,n-1)-(n-1)*pn(x,n-2))/n;4.x

第四篇:《Matlab语言》实验报告

《Matlab语言》实验(报告)题库

1、TDOA信号分析类

(1)已给出一段事先采集的信号,该信号为进行TDOA定位使用的基本信号,其格式为GPS+IQ + GPS+IQ …,即每包数据由GPS头文件和IQ信号构成,GPS头文件共58B,其数据格式为

$HT,20130114,084556,N3606.82273,E10343.59311,M1538.7,11,0*,每包IQ数据共8192B,其数据格式为I0,Q0,I1,Q1,I2,Q2…,I2047,Q2047,即I数据2048点、Q数据2048点交叉出现。换言之,每包数据实际内容为:$HT,20130114,084556,N3606.82273,E10343.59311,M1538.7,11,0* I0 Q0 I1 Q1 I2 Q2 … I2047 Q2047,程序前期已实现读取IQ数据文件并进行关键信息读取分解,请根据程序提醒,完成相关功能(数据及程序见“1-实际IQ信号实验”文件夹)。

2、TDOA时差估计仿真类

(2)在TDOA定位技术中,时差估计是一个非常重要的环节。自行仿真2个具有一定时差的信号,用广义互相关法(GCC)计算该2个信号的时差,并与设定时差进行对比分析(需给出详细过程及适当的仿真图)。

(3)在TDOA定位技术中,时差估计是一个非常重要的环节。自行仿真2个具有一定时差的信号,用互模糊函数法计算该2个信号的时差,并与设定时差进行对比分析(需给出详细过程及适当的仿真图)。

(4)在TDOA定位技术中,时差估计是一个非常重要的环节。自行仿真2个具有一定时差的信号,用广义互相关(GCC)结合多项式拟合方法计算该2个信号的时差,并比较广义互相关法估计时差和广义互相关结合多项式拟合方法估计时差的结果,进行分析(需给出详细过程及适当的仿真图)。

(5)在TDOA定位技术中,时差估计是一个非常重要的环节。自行仿真2个具有一定时差的信号,自选方法计算该2个信号的时差,并与设定时差进行对比分析(需给出详细过程及适当的仿真图)。

3、TDOA时差估计实测类

下面三题使用“3-TDOA实测类-数据”。

(6)在TDOA定位技术中,时差估计是一个非常重要的环节。根据提供的TDOA数据,用广义互相关(GCC)计算该2路信号的时差,统计每包数据计算结果,并分析之(需给出详细解决过程及适当的分析图)。

(7)在TDOA定位技术中,时差估计是一个非常重要的环节。根据提供的TDOA数据,用广义互相关(GCC)结合多项式拟合方法计算该2路信号的时差,比较广义互相关法估计时差和广义互相关结合多项式拟合方法估计时差的结果,并分析之(需给出详细解决过程及适当的分析图)。

(8)在TDOA定位技术中,时差估计是一个非常重要的环节。根据提供的TDOA数据,自选方法计算该2路信号的时差,统计每包数据计算结果,并分析之(需给出详细解决过程及适当的分析图)。

4、信号频域分析类

(9)生成一个带有噪声的正弦波信号,信号的频率、幅度,噪声的幅度自行设定。(将带有噪声的正弦信号放入for循环中,利于pause,实现噪声动态变化效果,并在for循环内画出其时域图和幅频图(采样率和采样点数自行设定),观察动态变化情况),最后总结系统采样率和采样点数对仿真信号效果的影响。

(10)自行生成一段时域信号,要求在不同的时间,信号具有不同的频率(即非平稳信号),用短时傅里叶变换对其进行时频分析,并呈现时频分析结果。

(11)自行生成一段时域信号,要求在不同的时间,信号具有不同的频率(即非平稳信号),用小波变换对其进行时频分析,并呈现时频分析结果。

5、信号调制解调类

(12)自行产生正弦信号作为基带信号、载波,试合成AM信号,在AM信号上加高斯白噪声,并将AM信号解调,画出各信号(基带信号、载波、合成的AM信号、解调后的基带信号)时域图及频谱图,并对比总结解调效果。

(13)自行产生正弦信号作为基带信号、载波,试合成FM信号,在FM信号上加高斯白噪声,并将FM信号解调,画出各信号(基带信号、载波、合成的FM信号、解调后的基带信号)时域图及频谱图,并对比总结解调效果。

(14)自行产生一个正弦信号,以此为载波,生成一段2ASK信号,其中数字序列随机生成,画出数字基带序列、正弦信号、2ASK信号的时域图。

(15)自行产生两个不同频率的正弦信号,以此为载波,生成一段2FSK信号,其中数字序列随机生成,画出数字基带序列、两个正弦信号、2FSK信号的时域图。

(16)用Matlab模拟通信系统收发过程,要求:发射站发射FM调制信号,接收站接收该信号,并进行解调,系统参数及传播环境/过程参数自定。

6、信号分离类

(17)自行生成一个含有3个频率(信号频率相近,如200Hz,210Hz,300Hz)的信号,其他参数自定,直接用FFT难以将不同频率信号,尤其频率较近的信号进行分离,试用AR等高阶功率谱方法,将该信号进行分离,并绘制分离前后的频谱图(即信号的FFT图、信号的AR分离图)。

(18)自行生成一个含有不同频率或不同相位的信号,直接用FFT难以将不同频率信号,尤其频率较近或同频率不同相位的信号进行分离,试用MUSIC方法,将该信号进行分离,并绘制分离前后的频谱图(即原信号的FFT图、信号的MUSIC分离图),并总结现象。

(19)自行产生一段含有低频、高频和噪声成分的信号,尝试设计不同的滤波器,将高频信号及噪声滤掉,并绘制滤波前后的信号对比图(含时域、频域图)。

7、深度学习类

(20)设计一个神经网络(可以是任意类型的神经网络),对手写数字进行分类,要求小组内每个成员至少每人手写一个数字,然后识别,并分析识别准确率。

(21)自行找一个预训练好的网络,对日常生活物品进行识别,要求小组内每个成员拍照1~2个物品,通过网络进行识别,并分析识别效果。

第五篇:c语言实验报告

学号:__________ 姓名:__________ 班级:__________ 日期:__________

指导教师:__________ 成绩:__________

实验一 上机操作初步和简单的C程序设计

一、实验目的1、熟悉C语言运行环境Turbo C++3.02、会简单的程序调试

3、熟悉C语言各种类型数据的输入输出函数的使用方法

4、掌握顺序结构程序设计

二、实验内容

1、上机运行本章3个例题,熟悉所用系统的上机方法与步骤。(习题1.7)

2、编写一个C程序,输入a、b、c 3个值,输出其中最大者。(习题1.6)

3、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字。注意:在Trubo C++ 3.0中不能输入汉字,只能输入英文或拼音。(习题4.8)

4、运行如下程序,写出运行结果。第一┆范文网www.xiexiebang.com整理该文章,版权归原作者、原出处所有...#include

void main()

{

int a=1,b=2;

a=a+b;b=a-b;a=a-b;

printf(“%d,%dn”,a,b);

}

三、实验步骤与过程

四、程序调试记录

下载C语言实验报告题及答案word格式文档
下载C语言实验报告题及答案.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    C语言 实验报告

    C语言程序设计(B) (2010-2011-2) 实验报告 教学班级: 学号: 姓名: 课程教师: 实验辅导教师: 江西理工大学自由编辑的程序 一、实验前的源程序: //任意整数的叠加 #include void main......

    C语言实验报告

    C语言程序设计(B) (2010-2011-2) 实验报告 教学班级: 学号: 姓名:课程教师:王华金 实验辅导教师:王华金 江西理工大学1 P123--五、1、编写函数,找出5*5数组对角线上元素的最小值,并在......

    c语言实验报告

    实验一 熟悉C语言程序的运行环境 一、实验目的 1、了解在该系统上如何编辑、编译、连接和运行一个C 程序; 2、通过运行简单的C程序,初步了解C程序的特点。 二、实验预习1、......

    c语言实验报告

    南昌大学实验报告 学生姓名: 学 号: 专业班级: √ 综合 □ 设计 □ 创新 实验日期: 实验成绩: 实验类型:□ 验证 □一.实验名称 实验3 控制语句 二.实验目的 1.熟练掌握if 、if…el......

    c语言实验报告

    计算机软件技术基础实验报告 实验一:线性表的排序与查找 一.实验内容 a) 键盘输入一组无序数据,添加到线性表中; b) 排序线性表并输出排序结果; c) 键盘输入一个数,并插入到排好......

    C语言实验报告

    郑州轻工业学院 实 践 报 告 实现内容: OJ1123最佳校友(数组)、OJ1158又是升序(指针)、OJ1180成绩统计(结构)、OJ1203做幻方(文件) 学号:541507020140 学生姓名:王红旭 专业班级:电子信......

    C语言实验报告

    实验一 C程序的运行环境和方法 一、实验目的 1.了解所用的计算机系统。 2.了解在该系统上如何进行编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序了解C程序的特点。 二......

    C语言实验报告

    C语言程序设计(B) (2010-2011-2) 实验报告2 教学班级: 学号: 姓名:课程教师: 实验辅导教师: 一、做一个“杨辉三角” 实验前的源程序: /*杨辉三角*/ #include void fun(int Y[][]......