//1、用选择法对数组中20个实数进行排序。
int m[20], i , j, t
//随机初值
for(i = 0i <20i++)
m[i]=rand()
//选择排序,升序
for(i = 0i <20i++)
for(j = i + 1j <20j++)
if(m[i] >m[j])
{
t = m[i]m[i]=m[j]m[j]=t
}
//2、编写程序,计算并输出下面级数前n项中(n=50)偶数项的和。
//1*2*3+2*3*4+3*4*5+……+n*(n+1)*(n+2)+…
int i = 0, n = 50
long sum = 0
for(i = 0i <ni++)
{
sum += (i + 1) * (i + 2) * (i + 3)
}
printf("%d", sum)//1756950
//3、写一程序:输入一个正整数,按十进制位从低到高输出。
int n = 0
scanf("%d", &n)
while(n>0)
{
printf("%d", n%10)
n /= 10
}
//4、编写程序,用双循环结构输出下列三角形:
// 1 1 1 1 1 1 1
// 1 1 1 1 1
// 1 1 1
// 1
//
int i = 0, j = 0int mLines = 8
for(i = 0i <mLinesi++)
{
for(j = 0j <2* mLines - 1j++)
{
if(j - i <0)printf(" .")
else if( j <= 2*mLines - i - 2)
printf(" 1")
else printf(" .")
}
printf("\n")
}
//5、写程序完成文件显示功能,把命令行参数作为文件名,显示指定文件内容,要求在显示时加上行号。
void main(int argc, char* argv[])
{
FILE *fp
long nTotalByte, n = 0, nLineIndex = 0
char c
if(argc <2)printf("useage: %s %s", argv[0], "FileName\n")
fp=fopen(argv[1], "rb")
if(fp)
{
fseek(fp, 0, SEEK_END)
nTotalByte=ftell(fp)
fseek(fp, 0, SEEK_SET)
printf("% 3d ", ++nLineIndex)
n = fread(&c, 1,1,fp)
while(n >0)
{
printf("%c", c)
if(c == '\n')
printf("% 3d ", ++nLineIndex)
n = fread(&c, 1,1,fp)
}
fclose(fp)
}
}
//6、编写函数求整数m 的所有素数因子,并输出。例如:m为120时,输出的素数因子为:2,2,2,3,5。
int m = 120, i = 0, n
n = m
for(i = 2i <= sqrt((float)m)i++)
while((n/i)*i == n)
{
printf("%d\t", i)
n /= i
}
二、简答题(6道小题,共30分)1、如何理解指针?(5分)
指向内存地址。对指针的操作,是对地址的操作。
2、函数原型有什么作用?
声明函数,参数,和类型。
3、文件包含的两种格式是什么?有什么区别?
(5分)
#include "xx"
#include <>
不知道区别,可能<>更偏向底层的吧。
4、C语言的预处理有哪几种?各有什么作用?
(5分)
5、二维数组的元素在存储器中是如何存储的?
(5分)
线性存储的。
6、写出冒泡排序法的过程。
(5分)
这个自己搜索下。就是遍历,交换。