- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
34、若有int s[4]={1,2,3,4};,则s[s[0]+2*s[2]-s[3]]的值是()
A)1 B)2 C)3 D)4
35、C语言程序的三种基本结构是()
A)嵌套结构、递归结构、循环结构B)递归结构、循环机构、转移结构
C)顺序结构、选择结构、循环结构D)循环结构、转移结构、顺序结构
36、若函数的调用形式如下:
{ int i=0,sum=0;
while(i++<6) sum+=i;
printf("%d",sum);
}
A)15 B)16 C)21 D)不确定
32、定义如下变量和数组
int i;
int x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++) printf("%d ",x[i][2-i]);则语句的输出结果是()。
22、C语言中,下列叙述正确的是()。
A)既有逻辑类型也有构造类型B)没有逻辑类型,但有构造类型
C)有逻辑类型,但没有构造类型D)没有逻辑类型也没有构造类型
23、下列转义字符中,错误的是()
A)'\0xa5' B)'\031' C)'\b' D)'\"'
24、已知梯形的上底为a,下底为b,高为h,用C语言写的正确的面积公式是()。
27、下列表达式中,值为0的表达式是()
A)3!=0 B)3!=3>4 C)3>4==0 D)6>5>4
28、设int a=3;,则表达式a<1&&--a>1的运算结果和a的值分别是()
A)0和2 B)0和3 C)1和2 D)1和3
29、下列程序的运行结果是()
main()
{ int i=0;
while(i-->0);
printf("%d ",i);
}Leabharlann Baidu
A)10 B)0 C)10987654321 D)-1
30、下面程序的运行结果是()
main()
{ int x=3;
do{ printf("%3d",x-=2; }while(!(--x));
}
A)死循环B)1-2 C)10 D)1
31、下面程序的运行结果是()
main()
main()
{ float x,y;
printf("x=");
scanf("%f",&x);
if(01)) y=x;
else if(02)) y=6*x-1;
else y=03);
printf("y=%f",y);
}
2、某物品原有价值为p,使用后其价值降低,价值的折扣率根据时间t(月数)确定如下:
下面程序根据输入的时间和原有的价值计算物品的现有价值,请填空完善程序。
f((x1,x2,x3),(y1,y2))
则函数形参的个数是()。
A)2 B)3 C)4 D)5
37、执行下列程序后的输出结果是()。
int a=3,b=4;
void fun(int x1,int x2)
{
printf("%d,%d",x1+x2,b);
}
main()
{ int a=5,b=6;
fun(a,b);
21、在一个C程序中()。
A)main函数出现在所有函数之前。C程序不一定都有main函数
B)main函数可以在任何地方出现。一个C程序必须有且仅有一个main函数
C)main函数必须出现在所有函数之后。一个C程序只能有一个main函数
D)main函数出现在固定位置。一个C程序可以有多个main函数
voiddel(char s[], int i, int n)
{
int j,k,length=0;
while(s[length]!='\0')15);
--i;
j=i;
k=i+n;
while(k<length)16);
s[j]='\0';
}
main()
{ char str[]="mangement";
A)1/2*(a+b)*h B)1.0/2*(a+b)*h C)1.0/2.0(a+b)h D)1.0\2*a+b*h
25、已有定义char s1,s2;,下面正确的语句是()
A)scanf("%s%c",s1,s2); B)scanf("%s%c",s1,&s2);
C)scanf("%d%c",&s1,&s2); D)scanf("%c%c",s1,s2);
A)1 5 9 B)1 47 C)3 5 7 D)3 6 9
33、不能把字符串Hello!赋给数组a的语句是()
A)char a[10]={'H','e','l','l','o','!'}; B)char a[10]; a="Hello!";
C)char a[10]; strcpy(a,"Hello!");D)char a[10]="Hello!";
}
printf("Price=%f\n",06));
}
3、根据以下给定公式计算 的值(取前n项),请填空完善程序。
main()
{ double sum=1.0,x=1.0,y=1.0;
int n;
scanf("%d",07));
while(n){
y=y*x;
sum+=08);
x++; n--;
}
printf("sum=%f",sum);
华南农业大学期末考试试卷(A卷)
2010学年第1学期考试科目:程序设计(C语言)
考试类型:(闭卷)考试考试时间:120分钟
学号姓名年级专业
题号
一
二
三
四
总分
得分
评阅人
机读
机读
考生注意:
1、答案必须分别写在“机读卡”和“答卷”上,写在试卷上不得分。
2、必须在机读卡和答卷上正确填写班级、学号、姓名等内容,否则没有考试成绩。
del(17));
printf("The new string is %s",str);
}
8、下面程序是用递归法将一个整数n转换成字符串,譬如:123,应输出“123”,n的为数不固定,可以为任意位数的整数,请填空完善程序。
void tranvers(int n)
{ if(n/10!=0) tranvers(18));
26、运行下面的程序,正确的输出结果是()
main()
{ float x=68.7563,y=-789.125;
printf("%f,%10.2f\n",x,y);
}
A)68.756303, -789.12 B)68.756303, -789.13
C)68.7563, -789.13 D)68.7563,-789.12
8、C语言中,对数组定义大小时,若想在程序运行时改变大小,可用下面的语句段定义:
int m;
scanf("%d",&m);
int x[m];
9、定义数组时,数组下标可以是整型常量或正整型常量表达式。
10、一个函数中有且只能有一个return语句。
11、在一个函数中定义的静态局部变量不能被另一个函数引用。
elseif(md==1){
px(a,10,1);
output(a,10);
}else if(md==2){
17、C语言的所有预编译语句均以#开头。
18、通过函数调用只能得到一个返回值,利用宏替换也只能得到一个结果。
19、被包含文件修改后,凡包含此文件的所有文件都要重新编译。
20、文件包含是不能嵌套的,即在一个被包含文件中不能包含另一个被包含文件。
得分
二
用2B型铅笔涂答题卡!!!按题号顺序,将答题卡上与选项对应的字母涂黑
12、用数组名作为函数调用时的实参,实际上传递给形参的是数组全部元素的值。
13、在C语言中,主函数可以调用任意一个函数,但是不能使用其它函数中定义的变量
14、C语言规定,程序中各函数之间既允许嵌套定义,也允许嵌套调用。
15、宏定义不是C语句,不必在行末加分号,若加了分号,则编译时会出现语法错误。
16、进行宏定义时,可以引用已经定义的宏名进行层层置换。
3、在机读卡的学生代号区只填写学号后10位。
4、考试结束,只需交“机读卡”和“答卷”,本试卷不用交。
得分
一
用2B型铅笔涂答题卡!!!按题号顺序,正确的判断涂黑“A”、错误的判断涂黑“B”
1、能正确表达逻辑关系“0<a<1并且0<b<1”的表达式是(0<a<1)&&(0<b<1)。
2、在switch语句中,switch与case后的表达式可以为任意类型。
3、在逻辑表达式的求解过程中,并非所有的逻辑运算符都被执行。
4、do-while循环语句中,根据情况可以省略关键字while。
5、while循环语句至少无条件执行一次循环体。
6、for循环语句先判断循环条件是否成立,然后再决定是否执行循环体。
7、goto语句和break语句都能实现使程序执行的流程从循环体内跳至循环体外。
}
5、下面程序的功能是对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不同字符的ASCII码之差,请填空完善程序。
#include<string.h>
main()
{ char str1[81],str2[81];
int i;
gets(str1);
gets(str2);
i=0;
while(str1[i]==str2[i]&&11)) i++;
printf("%c",19));
}
main()
{ int n;
scanf("%d",&n);
printf("The string is:");
if(n<0){
printf("-");
n=-n;
}
20);
}
得分
四、
1、编程计算1+3+5+...+99的结果并显示,要求画出算法的流程图。
(程序正确3分,流程图正确2分)。
main()
{ int t,d;
float p;
scanf("%d,%f",&t,&p);
switch(04)){
case 0: d=0;break;
case 1: d=2;break;
case 2:
case 3:d=5;break;
case 4:
case 5:
case 6: d=8;break;
05): d=10;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(s[i][j]>max){
14);row=i;col=j;
}
printf("s[%d][%d]=%d\n",row,col,max);
}
7、函数del(s,i,n)的功能是从字符串s中删除从i个字符开始的n个字符。main函数调用del函数,从字符串"mangement"中删除从第3个字符开始的4个字符,然后输出删除子串后的字符串。请填空完善程序。
printf("%d\n",12));
}
6、下面程序的功能是求数组s中的最大元素及它的下标,请填空完善程序。
main()
{ int s[4][4],max,i,j,row,col;
for(i=0;i<4;i++)
for(j=0;j<4;j++) scanf("%d",&s[i][j]);
13)=s[0][0];
}
A)3,4 B)11,1 C)11,4 D)11,6
38、以下函数值的类型是()
fun(float x)
{ float y;
y=3*x-4;
return(y);
}
A)不确定B)float C)int D)void
39、C编译系统对文件包含命令#include"file.h"的处理通常是()。
A)编译处理之前B)编译处理过程之中
2、编程显示1900年至2500年中是闰年的年份,每行显示10个年份。
3、根据如下main函数要求,编写两个函数:
(1)按指定模式(升序/降序)冒泡排序函数px()。(7分)
(2)输出排序后结果的函数output()。(3分)
#include<stdio.h>
#define TRUE 1
void main()
C)程序连接时D)程序执行的开始
40、设有以下宏定义,则执行语句x=2*(N+Y(5+1));后,x(设x为整型)的值是()
#define N 3
#define Y(n) ((N+1)*n)
A)42B)48C)54D)出错
得分
三、
1、下列程序的主要功能是输入实数x,按照如下公式计算并输出y的值,请填空完善程序。
{
int a[10]={1,9,2,6,5,10,3,7,20,4},md=0;
void px(int x[],int n,int mode);
void output(int y[],int n);
do{
printf("(1.升序2.降序0.结束程序)请选择:");
scanf("%d",&md);
if(md==0) break;
}
4、下面程序完成输入一个整数并判断是否为素数,请填空完善程序。
#include"math.h"
main()
{ int n,k,i=1;
scanf("%d",&n);
k=sqrt(n);
for(i=2;i<=k;i++)
if(09)) break;
if(10)) printf("%d is a prime\n",n);