内容发布更新时间 : 2024/11/19 13:40:18星期一 下面是文章的全部内容请认真阅读。
ss= 1 ; for(i=0;i<5;i++)
ss= ss* a[i][j] ; printf(\ss=%d\\n\); }
6.以下程序求任意10个实数的最大值和最小值。 #include
float a[10],max,min; for(i=0;i<10;i++) scanf(\max=min=a[0];
for(i=1;i<10;i++)
{ if(max if(min>a[i]) min=a[i] ; } printf(\最大值=%f\\n\printf(\最小值=%f\\n\} 7.以下程序求二维数组中每行元素的最大值。 #include { int a[M][N],amax,i,j; for(i=0;i for(j=0;j scanf(”%d”,&a[i][j]); for(i=0;i { amax=a[i][0] ; for(j=1;j if(a[i][j]>amax) amax=a[i][j]; printf(\ } } 三、上机练习题 1.输入一串字符,统计其中数字字符的个数。 2.输入10个数,将这10个数按由大到小的次序排序后输出。 3.输入一个5行6列的二维数组,求该数组每列元素之和,输出结果。 4.向数组a中输入30个整数,编程序分别将这30个数中的正数存入数组az中,负数存入数组af中,并分别输出az和af中的内容。 四、编程题 1.编写程序,将10个数34、3、29、63、70、16、85、82、90、93存放于一个数组,求出这10个数的和及平均值、最大值、最小值。 2.编写程序,读50个数存放于一数组,求出该数组中最大值、最小值及所在位置。 3.将存放于上题数组中的50个数分别按升序、降序排序。 4.编写程序,从键盘输入某班学生C语言课程考试成绩,评定每个学生C语言成绩等级。如果高于平均分10分,等级为优秀;如果低于平均分10分,等级为一般;否则等级为中等。 5.编写程序,将一个一维数组进行逆置。例如,原来顺序为1、3、5、7,则逆置后的顺序为7、5、3、1。 6.编写程序,从键盘输入两个4×4的矩阵A和B,求出两矩阵的和及差,并按矩阵形式输出。进一步考虑求出矩阵A与B的乘积。 7.编写程序,将一个二维数组的行列互换。进一步考虑用函数实现。 8.编写程序,输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。 9.有一篇文章,共3行,每行有80个字符。编写程序,统计其中大写字母、小写字母、数字空格、其他字符各有多少个。 10.编写n个学生、m门课程的成绩处理程序: ① 实际学生人数、课程门数由键盘输入。 ② n个学生、m门课程的成绩用二维实型数组描述,并可相关考虑学生姓名、学号。 ③ 求出每个学生的总成绩、平均成绩,并按总成绩排序。 ④ 求出每门课程的平均成绩。 习 题 六 一、选择题 1.以下叙述不正确的是( D )。 A.一个C源程序可由一个或多个函数组成 B.一个C源程序必须包含一个main()函数 C.C程序的基本组成单位是函数 D.C程序中的注释说明只能位于一条语句的后面 2.以下关于C语言函数参数的说法不正确的是( B )。 A.实参可以是常量、变量或表达式 C.实参可以为任意类型 A.地址传递 C.单向值传递 A.float型 B.形参可以是常量、变量或表达式 D.形参应与其对应的实参类型一致 B.由实参传给形参再由形参传回给实参 D.由用户指定传递方式 C.long型 D.double型 3.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( C )。 4.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( B )。 B.int型 5.C语言规定,函数返回值的类型是由( D )。 A.return语句中的表达式类型所决定 C.调用该函数时系统临时决定 B.调用该函数时的主调函数类型所决定 D.定义函数时所指定的函数类型所决定 6.在C语言程序中,以下正确的描述是( C )。 A.函数可以嵌套定义,但不可以嵌套调用 B.函数的定义和调用均可以嵌套 C.函数不可以嵌套定义,但可以嵌套调用 D.函数的定义和调用均不可以嵌套 7.若用数组名作为函数调用的实参,传递给形参的是( A )。 A.数组的首地址 B.数组第一个元素的值 D.数组元素的个数 B.在该函数中有效 D.为非法变量 C.数组中全部元素的值 8.如果在一个函数中的复合语句中定义了一个变量,以下关于该变量正确的说法是( A )。 A.只在该复合语句中有效 C.在本程序范围内均有效 9.以下不正确的说法为( D )。 A.在不同函数中可以使用相同名字的变量 B.形式参数是局部变量 C.在函数内定义的变量只在本函数范围内有效 D.在函数内的复合语句中定义的变量在本函数范围内有效 10.以下程序的正确运行结果是( A )。 #include main() { int k=4,m=1,p; p=func(k,m);printf(\p=func(k,m);printf(\} func(int a,int b) { static int m=0,i=2; i+=m+1; m=i+a+b; return(m); } A.8,17 B.8,16 C.8,20 D.8,8 11.在“文件包含”预处理语句的使用形式中,当#include后面的文件名用<>(尖括号)括起时,寻找被包含的文件的方式是( C )。 A.仅仅搜索当前目录 B.先在源程序所在目录搜索,再按系统设定的标准方式搜索 C.直接按系统设定的标准方式搜索目录 D.仅仅搜索源程序所在目录 12.以下程序的正确运行结果是( A )。 int d=1; fun(int p) { int d=5; d+=p++; printf(\} main() { int a=3; fun(a); d+=a++; printf(\} A.84 B.99 C.95 D.44 13.若有以下调用语句,则不正确的fun()函数的首部是( D )。 main() { … int a[50],n; … fun(n,&a[9]); … } A.void fun(int m,int x[ ]) C.void fun(int p,int *s) f(int a) { int b=0; static int c=3; b++;c++; return(a+b+c); } main() { int a=2,i; B.void fun(int s,int h[41]) D.void fun(int n,int a) 14.下面的程序执行后输出的结果是( A )。 for(i=0;i<3;i++) printf(\} A.7 8 9 B.7 9 11 C.7 10 13 D.7 7 7 15.以下程序执行后的输出结果是( B )。 int a, b; void fun() { a=100;b=200; } main() { int a=5,b=7; fun(); printf(\} A.100,200 A.包含文件 B.5,7 C.200,100 C.宏定义 D.7,5 D.连接 16.下列不属于编译预处理的是( D )。 B.条件编译 17.下列语句中正确的是( D )。 A.#define MYNAME=\C.for(i=0;i<10;i++); B.#include string.h D.#include #define Y(n) ((N+1)*n) A.出错 B.42 C.48 D.54 20.以下程序中的for循环执行的次数是( C )。 #include \ #define N 2 #define M N+1 #define NUM (M+1)*M/2 main() { int i,n=0; for(i=1;i<=NUM;i++) printf(\} A.5 二、填空题 B.6 C.8 D.9 1.C语言中的函数,从能否可以返回值上可分为 有返回值 函数和 无返回值 函数。 2.定义函数时,在函数头中除有函数名称外,还应有 函数类型 、 参数类型 和 名称 等信息。 3.必须对函数 定义 才能确立函数可实现的功能,只有对函数 调用 才能实现函数的功能。 4.C语言中,函数的调用有 函数语句 、 函数表达式 和 函数实参 三种方式。 5.C语言中,每个变量都有作用域和生存期,变量的作用域是 变量有效范围 ,变量的生存期是 变量作用域 。 6.对函数或变量的 声明 是告诉系统此程序段要用到在其后面才定义的函数或变量,使函数或变量的作用域得以扩展。 7.C语言中,变量的存储类型有 4 种,存储方式有 2 种。 8.以下程序的输出结果是 246 。 void fun() { static int a=0; a+=2; printf(\} main() { int cc; for(cc=1;cc<4;cc++) fun() printf(\} 9.以下程序的运行结果是 111 。 main() { increment(); increment(); increment(); } increment() { int x=0; x+=1; printf(\} 10.以下程序执行后输出的结果是 34 。 #include main() { int a=2,i,k; for(i=0;i<2;i++) k=f(a++); printf(\} 11.以下程序执行后输出的结果是 4 。 long fib(int n) { if(n>2) return(fib(n-1)+fib(n-2)); else return(2); } main() { printf(\ 12.以下程序执行后输出的结果是 14 。 #include long sum(register int x,int n) { long s; int i; register int t; t=s=x; for(i=2;i<=n;i++) { t*=x; s+=t; } return(s); } main() { int x=2, n=3; printf(\} 13.设有定义如下:#define F(N) 2*N, 则表达式F(2+3)的值是 7 。