文档库 最新最全的文档下载
当前位置:文档库 › C语言实验报告

C语言实验报告

有如下程序:
#include"stdio.h"
int main( )
{ int a=-1;
printf("%d,%o,%x,%u",a,a,a,a);
return 0;
}
程序的运行结果是_______________。

你的答案: -1,37777777777,ffffffff,4294967295
参考答案:

2、 有如下程序:
#include"stdio.h"
int main( )
{ char c1=97,c2=98; int a=97,b=98;
printf("%3c,%3c\n",c1,c2);
printf("%d,%d\n",c1,c2);
printf("%c,%c\n",a,b);
return 0;
}
最后一个printf语句的运行结果是_______________。

你的答案: a,b
参考答案:

3、 有如下程序:
#include"stdio.h"
int main( )
{ int i,j; i=3; j=4;
printf("%d %d\n",i++,++j);
printf("%d,%d\n",i,j);
printf("%d,%d\n",-i++,-++j);
return 0;
}
最后一个printf语句的运行结果是_______________。

你的答案: -4,-6
参考答案:

4、 有如下程序:
#include"stdio.h"
int main( )
{ _________a=7;
float x=2.5,y=4.7,z;
z= x + a % 3 * (int) (x + y) % 2 / 4;
printf("%f\n",z);
return 0; }
请在空白处填空,将程序补充完整。
你的答案: int


从键盘上输入:32 18,运行结果是_______________。
#include"stdio.h"
int main( )
{ int i,j;
printf("Enter i,j\n");
scanf("%d%d",&i,&j);
printf("i=%d,j=%d\n",i,j);
return 0;
}


你的答案: i=32,j=18
参考答案:

2、 如果下面程序运行结果是i=12,j=-4,从键盘应输入:_______________。
#include"stdio.h"
int main( )
{ int i,j;
scanf("i=%d,j=%d",&i,&j);
printf("i=%d,j=%d\n",i,j);
return 0;
}


你的答案: i=12,j=-4
参考答案:

3、 输入一个大写字母A,将它转换为小写字母a,输出小写字母a及对应的ASCII值97。
要求输出格式为:j=a,j=97。输出语句应为________________。
#include"stdio.h"
int main( )
{ int j;char i;
scanf("%c",&i);
j=i+32;
输出语句;
return 0;
}


你的答案: printf("j=%c,j=%d\n",j,j);
参考答案:

4、 将a,b两个变量的值交换后,要求按“a=2,b=1”格式输出。
划线处应当填写:__________________。
#include"stdio.h"
int main( )
{ int a=1,b=2,t;
t=a;
a=b;
b=t;
______________ ;
return 0;
}

你的答案: printf("a=%d,b=%d\n",a,b)
参考答案:


下面程序的功能是实现表达式z=( x>=y ? x : y),请将程序填写完整。
#include"stdio.h"
int main( )
{ int x, y, z;
printf("Please input x,y:");
scanf("%d%d",&x,&y);
if (______) z=x;
else z=y;
printf("z=%d",z);
return 0;
}

你的答案: x>=y
参考答案:

2、 下面程序的运行结果为_______________。
#include"stdio.h"
int main( )
{ int a=3,b=5,c=8;
if(a++<3 && c--!=0) b=b+1;
printf("a=%d,b=%d,c=%d\n",a,b,c);
return 0;
}

你的答案: a=4,b=5,c=8
参考答案:


3、 程序填空,从键盘上输入x的值,按下式计算y的值。
┌ x x<1
y= ┤ 2x-1 1≤x<10
└ 3x-11 x≥10
#include "stdio.h"
int main( )
{ float x,y;
printf("x=");
scanf("%f",&x);
if ( ________ ) y=x;
else if( x<10&&x>=1 )
y=2*x-1;
else
y=3*x-11;
printf("y=%f\n",y);
return 0;
}

你的答案: x<1
参考答案:

4、 下面程序运行时从键盘上输入15,20,运行结果为_______________。
#include "stdio.h"
int main( )
{ int a,b,t;
t = 0;
scanf("%d,%d",&a,&b);
if (a>b)
t = a ;
a = b ;
b = t ;
printf("b=%d",b) ;
return 0;
}

你的答案: b=0



求两个正整数x和y的最大公约数,请填空。
#include
#include
int main( )
{ int x,y,t,i;
scanf("%d,%d",&x,&y);
if(x > y) {t = x; x = y; y = t;}
for( _______________ )
{ if( x%i==0 && y%i==0 )
break;
}
printf("Maximal Common Divisor is : %d\n",i);
return 0;
}


你的答案: i=x;i>=1;i--
参考答案:

2、 计算1到100之间的奇数之和及偶数之和。请填空。
#include"stdio.h"
int main( )
{ int a,b,c,i;
a=0, c=0; /* 变量赋初值 */
for(i=0;i<=100;i+=2)
{ a+=i; /* 变量a存放偶数的和 */
_______________ ;
c+=b; /* 变量c存放奇数的和 */
}
printf("Sum of Evens is %d\n",a);
printf("Sum of Odds is %d\n",c-101);
return 0;
}

你的答案: b=i+1
参考答案:

3、 下面程序的功能是:计算正整数num的各位上的数字之和。例如,若输入:252,则输出应该是:9;若输入:202,则输出应该是:4。请将程序补充完整。
#include
int main( )
{ int num,k;
k=0;
printf("Please enter a number:") ;
scanf("%d",&num) ;
do
{ k=____________ ;
num/=10;
} while(num) ;
printf("\n%d\n",k) ;
return 0;
}

你的答案: k+num%10
参考答案:

4、 求两个正整数[m,n]之间所有既不能被3整除也不能被7整除的整数之和。请填空。
#include
#include
int main( )
{ int m,n,i,t;
long int s=0;
scanf("%d,%d",&m,&n);
if( m>n )
{ t=m; m=n; n=t;}
for ( _______________ )
if ( i%3 != 0 && i%7 != 0 )
s += i;
printf("Sum is : %ld\n",s );
return 0;
}

你的答案: i=m;i<=n;i++



下面程序的功能是:输出以下图形:
*-------------->在第11列
***
*****
请把程序补充完整。
#include"stdio.h"
main( )
{ int i,j,k;
for(i=0;i<=2;i++)
{ for( j=0; j<10-i ;j++ ) printf(" ");
for( k=0; _______________ ;k++ ) printf("*");
printf("\n");
}
}


你的答案: k<=2*i

考答案:

2、 下面函数的功能是求出100~300间的素数和,请把程序补充完整。
#include"stdio.h"
main( )
{ int i, j, flag, sum=0;
for( i=100; i<=300; i++ )
{ flag=0;
for( j=2; j<=i-1; j++ )
if( i%j==0 ) { flag=1;break; }
if( ________ ) sum+=i;
}
printf("The sum is %d\n",sum);
}

你的答案: flag==0
参考答案:

3、 下面函数的功能是输出九九乘法表,请把程序补充完整。
#include"stdio.h"
main( )
{ int i,j;
for( i=1; i<=9; i++ )
{ for( j=1; __________; j++ )
printf("%d*%d=%-4d", i,j,i*j);
printf("\n"); }
}

你的答案: j<=i
参考答案:

4、 根据公式:e= 1+1/1!+1/2!+1/3!+.......+1/n!+.....,计算e的近似值,请把程序补充完整。
#include"stdio.h"
main( )
{ long int n,j;
float sum=1,t;
for(n=1; n<=20; n++)
{ t=1.0;
for(j=1; j<=n; j++)
t=t*j;
________________;
}
printf("%10.2f\n",sum);
}

你的答案: sum=sum+1/t



定义一个数组名为ftop且有5个int类型元素的一维数组,同时给每个元素赋初值为0,请写出数组的定义语句_________
你的答案: intftop[5]={0,0,0,0,0}
参考答案:

2、 下面程序的功能是:为一维数组a中的元素赋值,并按照逆序输出。请在程序中的横线上填入正确的内容。
#include "stdio.h"
int main( )
{ int i,a[10]; /* 定义循环变量i和一维数组a */
for(i=0;i<=9;i++)
scanf("%d",&a[i]);
for(_________ ;i>=0;i--)
printf("%d ",a[i]); /* 按照逆序输出 */
printf("\n");
return 0;
}

你的答案: i=9
参考答案:

3、 下面程序的功能是:输出一维数组a中的最小值及其下标。请在程序中的横线上填入正确的内容。
#include"stdio.h"
int main( )
{ int i,p=0,a[10]; /* 定义a为数组名,p为下标名 */
for(i=0; i<10; i++)
scanf("%d",&a[i]);
for(i=1; i<10; i++)
if (a[i]_________ ;
printf("%d,%d",a[p],p); /* 输出一维数组a中的最小值及其下标 */
return 0; }

你的答案: p=i
参考答案:

4、 下面程序的功能是:求一维数组中下标为偶数的元素之和并输出。请在程序中的横线上填入正确的内容。
#include "stdio.h"
int main()
{ int i,sum=0;
int a[ ]={2,3,4,5,6,7,8,9};
for(i=0; i<8;_________)
sum+=a[i];
printf("sum=%d\n",sum);
return 0;
}

你的答案: i=i+2
参考答案:

定义一个5行5列的二维数组a,使主对角线(含主对角线)下的所有元素初始化为1,在划线处填空。
int i,j,a[5][5];
for(i=0; i<5; i++)
for(j=0; j<5; j++)
if( _________ ) a[i][j]=1;

你的答案: i>=j
参考答案:

2、 求一个4×4矩阵的主对角

线元素之和
#include "stdio.h"
int main()
{ int a[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};
int i,sum=0;
for(i=0; i<4; i++)
_________;
printf(“sum=%d\n”,sum);
return 0;
}

你的答案: sum=sum+a[i][i]
参考答案:

3、 求二维数组a中的最大元素及其下标,填空并运行程序。
#include "stdio.h"
int main()
{int a[4][4]={{1,2,3,4},{3,4,5,6},{5,6,7,8},{7,8,9,10}};
int i,j,max,r,c;
max=a[0][0];
for(i=0; i<4; i++)
for(j=0; j<4; j++)
if( maxprintf(“max=%d,r=%d,c=%d%\n”,max,r,c);
return 0;
}

你的答案: max=a[i][j]
参考答案:

4、 统计3个学生,每个学生4门课程的考试成绩,要求输出每个学生的总成绩,每个学生的平均成绩,3个学生的总平均成绩,填空并运行程序。
#include "stdio.h"
int main()
{ int stu[3][4],i,j,t[3];
float a[3],sum=0;
for(i=0; i<3; i++)
for(j=0; j<4; j++)
scanf("%d",&stu[i][j]);
for(i=0; i<3; i++)
{ t[i]=0;
for(j=0; j<4; j++)
{ sum+=stu[i][j];
t[i]+=stu[i][j];
}
printf("%-6d",t[i]);
_________ ;
printf("%-6.2f\n",a[i]);
}
printf("average = %.2f\n",sum/12.0);
return 0;
}


你的答案: a[i]=t[i]/4.0


1. 下面程序运行的结果是:________________
#include "stdio.h"
int main()
{char a[11]={ ’I’, ' ','a’, 'm’,' ', 'a’, ' ', 'b’, 'o’, 'y’};
printf("%s\n",a); return 0;}

你的答案: Iamaboy
参考答案:

2、 2.下面的程序用来实现将两个字符串连接起来。请将源程序补充完整,
#include "stdio.h"
int main()
{char str1[100],str2[100];
int i=0,j=0;
printf("please input the string1:");
gets(str1);
printf("please input the string2:");
gets(str2);
for(i=0;str1[i]!='\0';i++);
for(j=0;str2[j]!='\0';j++)
{str1[i]=str2[j];
i++;}
_____________;
printf("the catenated string is %s",str1);
return 0;
}

你的答案: str1[i]=’\0’
参考答案:

3、 3.下面程序的功能是用strcat函数实现将字符串2连接到字符串1的后面并输出,请补充完整。
#include "stdio.h"
#include "string.h"
int main()
{char str1[80]="This Is a ",str2[80]="c Program";
printf("String1 is: %s\n",str1);
printf("String2 is: %s\n",str2);
_____________;
printf("Result is: %s\n",str1);
return 0;
}

你的答案: strcat(str1,str2)
参考答案:

4、 4.下面的程序用来实现将一个字符串中的所有大写字母转换为小写字母并输出。请将源程序补充完整。
例如,当字符串为"This Is a c Program"
输出:"this is a c program"
#include "stdio.h"
int main()
{char str[80]="This Is a c Program";
int i;
printf("String is: %s\n",str);
for(i=0;str[i]!='\0';i++)
if(str[i]>='A' && str[i]<='Z')
________________;
printf("Result is: %s\n",str);
return 0;

}
你的答案: str[i]=str[i]+32
参考答案:


下面程序的功能是:判别一个整数数组中各元素的值,若大于0 则输出该值,若小于或等于0则输出0值。请在程序中的横线上填入适当的内容,将程序补充完整。
#include "stdio.h"
void nzp(int v)
{ int i=0;
if(v>0) printf("%d ",v);
else printf("%d ",i);
}

int main()
{ int a[5],i;
printf("input 5 numbers\n");
for(i=0;i<5;i++)
{ scanf("%d",&a[i]);
______________ }
return 0;
}
你的答案: nzp(a[i]);
参考答案:

2、 一维数组a中的元素为:1,4,2,7,3,12,5,34,5,9。下面程序的功能是:求一维数组a中的最大元素及其下标。程序的输出应为:The max is: 34,position is: 7 。
请在程序中的横线上填入适当的内容,将程序补充完整。
#include
int max;
int fun( int arr[ ],int n )
{ int pos,i;
max = arr[0];
pos = 0;
for ( i=1; iif (max < arr[i])
{ max = arr[i];
pos=i; }
return(pos);
}

int main()
{ int a[10]={1,4,2,7,3,12,5,34,5,9},n;
n=______________;
printf("The max is: %d ,position is: %d\n", max , n);
return 0;
}

你的答案: fun(a,10)
参考答案:

3、 下面程序的功能是:将字符串1的第1,3,5,7,9,......位置的字符复制到字符串2并输出。
例如,当字符串1为"This Is a c Program",则字符串2为""Ti sacPorm"
请在程序中的横线上填入适当的内容,将程序补充完整。

#include
#include
void fun(char str1[ ],char str2[ ])
{ int i,j;
j=0;
for(i=0;i{ str2[j]=str1[i];
j++;}
str2[j]=’\0’; }

int main()
{ char str1[80]="This Is a c Program",str2[80];
printf("String is: %s\n",str1);
_______________
printf("Result is: %s\n",str2);
return 0;
}

你的答案: fun(str1,str2)
参考答案:

4、 请写出下面的程序的运行结果。
#include "stdio.h"
int d=1;
fun(int p)
{ int d=5; d+=p++; printf("%d ",d);}

int main()
{ int a=3; fun(a);
{ int d=16; d+=a++;
printf("%d ",d); }
printf("%d ",d);
return 0;
}
程序的运行结果是:_______________
你的答案: 8191
参考答案:


相关文档