湖南大学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>后(〈CR>表示回车),x的值是( ) 。
#include〈stdio.h〉
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<stdio。h>
{
int i=10,j=10;
printf(”%d,%d\n”,++i,j——);
湖南科技大学C语言程序设计题库及答案
湖南科技大学
C语言程序设计题库
(考试时间90分钟,总分100分)
准考证号:_________________________姓名:__________________________一、单项选择题(共20题,每题2分,共计40分)
()1、若变量已正确定义并赋值,表达式 -k++ 等价于________。
A、-(k++)
B、-(k+1)
C、-(++k)
D、(-k)++
【答案】A
()2、下列赋值语句错误的是________。
A、A
B、i==0;
C、i=i+1:
D、i+=1:
【答案】B
()3、有以下程序:
main()
{
int a=3,b=4,c=5,d=2;
if(a>b) if(b>c) printf("%d",d+++ 1);
else printf("%d",++d+1);
printf("%d\n",d);
}
程序运行后的输出结果是 ______。
A、2
B、3
C、43
D、44
【答案】A
【解析】
本题考查嵌套if语句中else的配对。本题中else和第二个if即if(b>c)配对。由于a>b不成立,因此整个程序只输出printf("%d\n",d),即输出2。
()4、以下不正确的是 ______。
A、语句for(i=0:;i++)表示无限循环
B、for(; ;)表示无限循环
C、for()也表示无限循环
D、while(1)表示无限循环
【答案】C
()5、c语言中数组名作为参数传递给函数,作为实在参数的数组名被处理为________。
A、该数组的长度
B、该数组的元素个数
C、该数组中各元素的值
D、该数组的首地址
近两年湖南大学829C语言考试部分题目
判断题
16. 递归调用可以直接或间接调用该函数本身 T 17. c 语言的源程序必须翻译为汇编语言后才能正常执行 F,应该是机器码(二
进制文件) 18. 数组中每一元素必须属于统一数据类型 T 19. C 语言中 break 语句只能结束本次循环,而不是终止整个的循环 F,应该是
31. 简述函数的参数传递时传值和传地址的区别:
829 部分考试题目
值传递: 主调函数传递给被调函数的是值的拷贝,不是原值,只是将变量的内容 复制一份而已,函数进行操作的其实是另一个变量,只是另一个变量的值和 传递的变量值是相同的。 地址传递: 主调函数传递给被调函数的是值的地址。直接把变量的地址传递给函数, 这时函数是直接对原来的变量进行操作的,所以值会变化。 区别: 值传递被调函数中的操作不改变主调函数的值,而地址传递则不同。 32. 简述#include<stdio.h>与#include”stdio.h”的区别 用尖括号 #include <>: 一般用于包含标准的库头文件,编译器会去系统配置的库环境变量和者 用户配置的路径去搜索,而不会在项目的当前目录去查找。 用双引号 #include "": 一般用于包含用户自己编写的头文件,编译器会先在项目的当前目录查 找,找不到后才会去系统配置的库环境变量和用户配置的路径去搜索。
湖大c语言机试题
1.某一门课程考试之后,需要统计考生(10人)的平均成绩,并找出其中的最高分和最低分。
2.从键盘输入两个正整数,输出这两个整数的商,要求商的小数点后保留5位。例如输入355和113,输出
3.14159。
3.用while循环结构编写程序打印ASCII码为33-127的字符。
4.用do-while,for循环结构编写程序打印ASCII码为33-127的字符。
5.用for循环结构编写程序打印ASCII码为33-127字符。
6.在1-500中,找出能同时满足用3除余2,用5除余3,用7除余4的所有整数,用循环结构。
7.输入一个整数将其倒着输出,如54321——12345。
8.计算s=1+1/3+1/5+…+1/n,截止到1/n<10-4。
9.从键盘输入一整数n,计算1*1+2*2+...+n*n的值。
10.用 while 循环计算1+2+……+100的和。
11.用 do while循环计算1+2+……+100的和。
12.用 for 循环计算1+2+……+100的和。
13.输入一个小于等于10的整数n ,计算n!。
14.输入两个正整数m和n,计算m!+n!,m和n的值均小于10。
15.用循环语句,计算1~100之间的所有3的倍数之和。
16.用循环语句,计算100-200之间的所有7的倍数之和。
17.输出1-100之间,7的整数倍数或数字尾数为7的数字,统计出这些数字个数。
18.输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。
19.输入一个整数,统计它有几位数。如输入367,则该数有3位数。
大学《C语言程序设计》期末考试试卷及参考答案
大学《C语言程序设计》期末考试试卷及参考答案
《C语言程序设计》期末考试试卷参考答案
一、判断题(10分)
1、对
2、对
3、错
4、错
5、对
6、错
7、错
8、错
9、错10、错
二、填空题(30分,,1到10题1分1空,10到18题2分1空)
1.2.5 2. a!=0&&b!=0 3. m=1b 4. windows 95 5. x[i]>='A'&&x[i]<='Z' 6.234567 7.文件的首纪录前8、struct tree *Ltree,*Rtree 9. i<=100
10. char a[10]="continue"; 11. p*pow(1+r,5) 12. 'D' 13. 10、5
14.#define utol(ch) ch=ch>='A'&& ch<='Z' ? ch+'a'-'A':ch
15.首行第i+1个元素的地址,第i+1行的首地址,a[0][0]的值
16.p=(int*)mallo(n);
17. (-b+sqrt(b*b-4*a*c))/2/a 18. float(*fg)(float **,int,int);
三、单项选择题(在每小题的四个备选答案中选出一个正确的,10分))
1、A
2、B
3、C
4、B
5、D
6、A
7、A
8、B
9、C 10、A
四、程序阅读题(20分,每题4分)
1、 A C E G
2、 x=3 y=2
3、the two string are same:f
the two string are same:r
4、 K=8
5、1
《C语言程序设计》期末考试试卷及参考答案
C语言程序设计期末考试卷及答案
C语⾔程序设计期末考试卷及答案
C 语⾔程序设计期末考试卷及答案
⼀、单项选择题。从A 、B 、C 、D 四个选项中,选择⼀个最佳答案填⼊括号内(每⼩题1分,共计30分)。 1.⼀个C 语⾔程序的执⾏是从()。 A )本程序⽂件的第⼀个函数开始,到
本程序⽂件的最后⼀个函数结束
B )本程序的main 函数开始,到main
函数结束
C )本程序的main 函数开始,到本程
序⽂件的最后⼀个函数结束
D )本程序⽂件的第⼀个函数开始,到
本程序的main 函数结束
2.下列选项中不属于...
C 语⾔关键字的
是()。
A )switch
B )printf
C
)
default D )case
3.设有语句inta=4;,则执⾏了语句
a+=a-=a*a;后,变量a 的值是()。
A )24
B )-24
C )4
D )16
4.已知inti;floatd;,则正确的表达
式是()。
A )(intd)
B )int(d)%i
C )(int)d%i
D )int(d%i) 5.已知
inti,a;,执⾏语句
i=(a=3*9,a/5),a+11;后,变量i 的值是()。 A )5 B )16
C )27
D )
38
6.下列选项中合法的字符型常量是()。
A )"a"
B )'\n'
C )
7.下⾯程序的运⾏结果是()。 #include voidmain() {intk=15;
printf("k=%d,k=%o,k=%x\n",k,k,k);
}
A )k=15,k=15,k=15
B )k=15,k=17,k=17
C )k=15,k=017,k=0xf
(完整版)C语言程序设计试卷及参考答案
《C语言程序设计》期末考试模拟试卷及参考答案(B)
2012.6.5整理
一、选择题(每题2分,共30分)
1、# include 〈stdio.h〉的结果是______
void main ( )
{ int a[3][3]={1,2,3,4,5,6,7,8,9};
int s=0,i;
for (i=0;i〈3;i++)
s+=(*(a+i))[i];
printf("%d",s);
}
A.9 B。12 C.14 D。15
参考答案—D
2、设有说明语句:char a= ’\123abc';则变量a __________
A. 包含7个字符
B.包含6个字符 C。包含5个字符 D。包含4个字符
参考答案-D 3、有以下程序段
int k=0
while(k=1)k++;
while 循环执行的次数是_____
A。无限次B。有语法错,不能执行 C。一次也不执行D。执行1次
参考答案—A
4、在C语言中,_____。
A。函数定义可以嵌套,但函数调用不能嵌套 B。函数定义不可以嵌套,但函数调用可以嵌套C.函数定义和调用均不能嵌套 D.函数定义和调用均可以嵌套
参考答案—B 5、以下叙述正确的是________
A)do—while语句构成的循环不能用其它语句构成的循环代替.
B)do-while语句构成的循环只能用break语句退出。
C)用do—while语句构成的循环,在while后的表达式为非零时结束循环.
D)用do—while语句构成的循环,在while后的表达式为零时结束循环。
参考答案—D 6、以下关于函数叙述中,正确的是。
2014湖南大学c语言实验题目及其答案(4)
一 目的和要求 1、掌握结构体类型说明和结构体类型变量、数组、指针的定义方法及使用。 2、学会引用结构体中的成员。 3、掌握利用指向结构体的指针成员构成链表的基本算法。 4、了解联合体类型和枚举类型的说明、其变量的定义及赋初值的方法。 5、了解联合类型变量中各成员的存储结构,学会引用各成员中的数据。 6、学习正确引用枚举类型常量,了解如何对枚举类型变量进行操作。
二 相关知识 1、结构型变量的定义和引用 构造类型是由相同或不同的数据类型组合而成。用户自己定义的一种用来存放类型 不同的数据的数据类型,称为结构型。 ⑴ 结构型的定义 struct <结构体名 > { 类型 1 成员名 1; 类型 2 成员名 2; … 类型 n 成员名 n; }; 结构型是一种数据类型,其中的成员不是变量,系统不会给成员分配内存。已经定 义的某种结构型可以作为一种数据类型,用来定义变量、数组、指针,这时才会给 定义的变量、数组、指针分配内存。 ⑵ 结构型变量的定义 有三种方法:先定义结构型,然后定义变量、数组;同时定义结构型和变量、数组; 定义无名称的结构型同时定义变量、数组。 ⑶ 结构型变量的引用 当某种结构型的变量、数组被定义后,对其只能使用其中的成员,常见的引用方法 如下: ① 结构型变量、数组元素成员的引用 结构型变量名 ?成员名 或 结构型数组名 [ 下标 ] ?成员名 ② 结构型变量、数组元素成员地址的引用 &结构型变量名 ?成员名 或 & 结构型数组名 [ 下标 ] ?成员名 ③ 结构型变量、数组元素地址的引用 &结构型变量名 或 &结构型数组名 [ 下标 ] 结构型数组首地址的引用: 结构型数组名
HNCE网上考试系统 C语言程序设计 选择题答案
一、单项选择题(17道小题,共20分)
1、以下叙述中正确的是( C )。(1分)
A、C语言比其他语言高级
B、C语言可以不用编译就能被计算机识别执行
C、C语言以接近英语国家的自然语言和数学语言作为语言的表达形式
D、C语言出现的最晚,具有其他语言的一切优点
2、以下说法正确的是( C )。(1分)
A、C语言程序总是从第一个函数开始执行
B、在C语言程序中,要调用函数必须在main()函数中定义
C、C语言程序总是从main()函数开始执行
D、C语言程序中的main()函数必须放在程序的开始部分
3、下列可用于C语言用户标识符的一组是( B )。(1分)
A、void define WORD
B、a3_b3 _123 Car
C、For abc case
D、2a DO sizeof
4、设int a=3,b=4,c=5;表达式(a+b)>c&&b==c的值是( C ) 。(1分)
A、2
B、-1
C、0
D、1
5、以下关于循环体的描述中,( C )是错误的。(2分)
A、循环体中可以出现break语句
B、循环体中还可以出现循环语句
C、循环体中不能出现continue语句
D、循环体中可以出现switch语句
6、While(x)中的x相当于( D )。(2分)
A、x==0
B、x==1
C、x!=1
D、x!=0
7、以下关于switch语句和break描述中, ( A) 是正确的。(2分)
A、在switch语句中,可以根据需要使用或不使用break语句
B、switch语句中必须用break语句
C、break语句只能用于switch语句
C语言程序设计期末考试试题(含答案)
C语言程序设计
期末考试试题及其答案
一、单项选择题(本大题共20题,每题2 分,共40分)
1、以下不是C语言的特点的是( B)
A、C语言简洁、紧凑
B、能够编制出功能复杂的程序
C、C语言可以直接对硬件进行操作
D、C语言移植性好
2、以下不正确的C语言标识符是(D )
A、ABC
B、abc
C、a_bc
D、ab.c
3、一个C语言程序是由(B )
A、一个主程序和若干子程序组成
B、函数组成
C、若干过程组成
D、若干子程序组成
4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是(B )
A、有零个或多个输入
B、有零个或多个输出
C、有穷性
D、可行性
5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为(C )
A、int
B、float
C、double
D、不确定
6、在C语言中,char型数据在内存中的存储形式是(D )
A、补码
B、反码
C、源码
D、ASCII码
7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( B) 。
#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,则正确的赋值语句是(B )
A、a=1,b=2
B、b++;
C、a=b=5
D、b=int(x);
9、以下程序的执行结果是( A)
#include
{
int i=10,j=10;
printf("%d,%d\n",++i,j--);
}
A、11,10
(完整版)C语言程序设计试卷及参考答案
《C语言程序设计》期末考试模拟试卷及参考答案(B)
2012.6.5整理
一、选择题(每题2分,共30分)
1、# include 的结果是______
void main ( )
{ int a[3][3]={1,2,3,4,5,6,7,8,9};
int s=0,i;
for (i=0;i<3;i++)
s+=(*(a+i))[i];
printf("%d",s);
}
A.9
B.12
C.14
D.15
参考答案—D
2、设有说明语句:char a= '\123abc';则变量a __________
A. 包含7个字符
B.包含6个字符
C. 包含5个字符
D. 包含4个字符
参考答案—D
3、有以下程序段
int k=0
while(k=1)k++;
while 循环执行的次数是_____
A. 无限次
B.有语法错,不能执行
C. 一次也不执行
D. 执行1次
参考答案—A
4、在C语言中,_____。
A.函数定义可以嵌套,但函数调用不能嵌套
B.函数定义不可以嵌套,但函数调用可以嵌套
C.函数定义和调用均不能嵌套
D.函数定义和调用均可以嵌套
参考答案—B 5、以下叙述正确的是________
A)do-while语句构成的循环不能用其它语句构成的循环代替。
B)do-while语句构成的循环只能用break语句退出。
C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D)用do-while语句构成的循环,在while后的表达式为零时结束循环。
参考答案—D
6、以下关于函数叙述中,正确的是。
A.在函数体中可以直接引用另一个函数中声明为static类别的局部变量的值
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>后(<CR>表示回车),x的值是( ) 。
#include<stdio.h>
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<stdio.h>
C语言程序设计期末考试试卷一及答案
模拟试卷一
(时间90分钟,满分100分)
一、选择题(1~10、21—40每小题2分,11~20每小题1分,共70分)
1.下列叙述中正确的是( )。
A.栈是“先进先出”的线性表
B.队列是“先进先出”的线性表
C.循环队列是非线性结构
D.有序链表既可以采用顺序存储结构,也可以采用链式存储结构
2.支持子程序调用的数据结构是( )。
A.栈B.树C.队列D.二叉树
3.某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是( )。
A. 10 B.8 C.6 D.4
4.下列排序方法中,最坏情况下比较次数最少的是( )。
A.冒泡排序B.简单选择排序
C.直接插入排序D.堆排序
5.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )。
A.编译软件B.操作系统
C.教务管理系统D.汇编程序
6.下面叙述中错误的是( )。
A.软件测试的目的是发现错误并改正错误
B.对被调试的程序进行“错误定位”是程序调试的必要步骤
C.程序调试通常也称为Debug
D.软件测试应严格执行测试计划,排除测试的随意性
7.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是( )。
A.提高耦合性降低内聚性有利于提高模块的独立性
B.降低耦合性提高内聚性有利于提高模块的独立性
C.耦合性是指一个模块内部各个元素间彼此结合的紧密程度
D.内聚性是指模块间互相连接的紧密程度
8.数据库应用系统中的核心问题是( )。
A.数据库设计B.数据库系统设计
C.数据库维护 D.数据库管理员培动
9.有两个关系R,S如下:
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>后〔<CR>表示回车〕,x的值是( ) 。
#include<stdio.h>
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<stdio.h>
{
int i=10,j=10;
湖大C语言程序设计期末试卷 含答案
考试用
湖南大学课程考试试卷
课程名称:C 语言程序设计 ;试卷编号:( ) ;考试时间:120 分钟
题号 一 二 三 四 五 六 七 八 九 十 应得分 10 10 20 20 20 20 实得分
总分 100 评分:
评卷人
专业班级:
学号:
一、选择题(每题 2 分,共 10 分)
1.以下叙述中正确的是( )
z=x+y; return(z); }
process(
)
{
}
第 6 页(共 6 页)
考试中心填写: 年月日
考试用
湖南大学课程考试答题纸
课程名称:C 语言程序设计 ;试卷编号:( ) ;考试时间:120 分钟
题号 一 二 三 四 五 六 七 八 九 十 应得分 10 10 20 20 20 20 实得分
超
C) scanf(“%d,%d,%d”,&i,&j,&k);
过
此
D) scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);
线 4.若 x 为 unsigned int 型变量,则执行下列语句后 x 值为(
)
)
x = 65535;
printf(“%d\n”,x);
A)65535
B)1
湘大C程序设计题库答案(3套)
if(x[i]<0) {
sum=sum+x[i]; c++; } i++; } /***********FOUND***********/ sum=sum\c; return sum; } int main() { int x[1000]; int i=0;
x[i]=rand()%50; printf("%4d",x[i]); /*输出一个随机数组*/ } printf("\n"); fun(x,n,&max,&index); printf("Max=%5d,Index=%4d\n",max,index);
wwjt (); } void wwjt() {
功能:编写函数求 2!+4!+6!+8!+10+12!+14!。
------------------------------------------------------*/
#include <stdio.h>
long sum(int n) {
/**********FOUND**********/ int i,j long t,s=0; /**********FOUND**********/ for(i=2;i<=n;i++) {
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 1 页(共 6 页)
三、写出程序运行结果(每题 5 分,共20分)
1.main()
{ int a=15,b=21,m=0;
switch(a%3)
{ case 0:m++;break;
case 1:m++;
switch(b%2)
{ default:m++;
case 0:m++;break;
}
}
printf(“%d\n”,m);
}
程序运行后的输出结果是:
2.float fun(int x, int y)
{return (x+y);}
main()
{ int a=2,b=5,c=8;
printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}
程序运行后的输出结果是:
3.void fun(char *c,int d)
{ *c=*c+1;d=d+1;
printf("%c,%c,",*c,d);
}
main()
{ char a='A',b='a';
fun(&b,a); printf("%c,%c\n",a,b);
}
程序运行后的输出结果是:
4.struct stu
{ char num[10]; float score[3]; };
main()
{ struct stu s[3]={{"20021",90,95,85},
{"20022",95,80,75},
{"20023",100,95,90}},*p=s;
int i; float sum=0;
for(i=0;i<3;i++)
sum=sum+p->score[i];
printf("%6.2f\n",sum);
}
程序运行后的输出结果是:
第 2 页(共 6 页)
四、程序改错(每题5分,共20分)
1.以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:main()
{ int n,k;
float score ,sum,ave;
sum=0.0;
for(n=1;n<=10;n++)
{ for(k=1;k<=4;k++)
{ scanf("%f",&score); sum+=score;}
ave=sum/4.0;
printf("NO%d:%f\n",n,ave);
}
}
上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是哪条?并将其移到正确的位置。
2.以下函数的功能是计算s=1+1/2+1/3+……+1/n,程序运行后结果不正确,错误的语句是哪条?并改之。
main()
{float s=0.0;
int i;
for(i=1;i<=3;i++)
s=s+1/i;
printf("%f",s);
}
3.以下函数的功能是:输出有10个元素的整型数组a的元素值。程序运行后结果不正确,只增加一条语句使其完成要求功能。
main( )
{ int a[10], *p=a , i;
for ( i=0; i<10; i++) scanf("%d",p++);
printf("\n");
for ( i=0; i<10; i++, p++) printf("%d ",*p);
}
4.以下函数的功能是:打印1到5的阶乘值。程序运行后结果不正确,只修改一条语句使其完成要求功能。
int fac(n)
int n;
{ int f =1;
f = f n ;
return( f );
}
main( )
{ int i;
for (i=1; i<=5; i++)
printf(“%d!=%d\n”, i, fac(i));
}
第 3页(共6页)
五、程序填空(在【】中填空,每题5 分,共20分)
1.fun函数的功能是:首先对a所指的N行N列的矩阵,找出各行中的最大的数,再求这N个最大值中的最小的那个数作为函数值返回。请填空。
#include
#define N 4
int fun(int(*a)[N])
{ int row,col,max,min;
for(row=0;row { for(max=a[row][0],col=1;col if(【】) max=a[row][col]; if( row==0) min=max; else if(【】) min=max; } return min; } 2.函数sstrcmp()的功能是对两个字符串进行比较。当s所指字符串和t所指字符串相等时, 返回值为0;当s所指字符串大于t所指字符串时,返回值大于0;当s所指字符串小于t所指字符串时,返回值小于0(功能等同于库函数strcmp())。请填空。 #include int sstrcmp(char *s,char *t) { while(*s&&*t&&(*s-*t)【】) { s++;t++;} return 【】 } 3.下面的程序是用指针来交换两个数据,请将缺省语句填上。 void exchange( int *p ,int *q) { int t; t=*p; *p=*q; *q=t; } main() { int a,b,*x,*y; a=10;b=20; x=&a;【】 【】 printf(“%d %d\n”,*x, *y); } 4.下面的程序是将字符串a按反向存入字符串b中并输出。(如:串a为"12345",则串b为"54321") main() { char *a={"abcdefg"},b[80],*p=b; int n,m,k; k=strlen(a); n=k-1; m=0; while (n>=0)