《 程序设计基础 》期中考试试卷

绝世美人儿
956次浏览
2020年09月09日 04:21
最佳经验
本文由作者推荐

关于传统节日的作文-辞职报告咋写


《 程序设计基础 》期中考试试卷
班级 姓名 学号
题号

得分








总得分

评卷人

审核人




一、填空题(每题1分,共5分)
1.上机运行C程序大致分四个步骤,分别是编辑、编译、 和运行。
2.结构化程序设计方法的基本思想是自顶向下,逐步细化, 和结构化编码。
3.C语言的控制结构有:顺序结构、 和循环结构。
4.算法特点包括确定性、可行性、输入、输出和
5. 77的2字节补码是 ,-77的2字节补码表示为 (用十六进制表示)

二、选择题(每题1分,共15分)
1.判断下面标识符中哪个是C语言中合法的用户定义标识符( )
A. 2a1b B. a%bd C. _123 D. char

2.设有以下定义
 int a=0; double b=1.25; char c=‟A‟; #define M 2
 则下面语句中错误的是( )
 A. a--; B. b--; C. c--; D. M--;
3.有两条语句: static char x[]=”abcde”;
static char y[]={„a‟,‟b‟,‟c‟,‟d‟,‟e‟};
则下列说法中正确的是( )
A. 数组x和数组y长度相同 B. 数组x长度大于数组y长度
C. 数组x长度小于数组y长度 D. 以上三种说法均错误;
4.设整型变量a=13,则经运算a+= a=a%=5后,a的值为( )
A. 17.333 B. 17 C. 0 D. 2
5. 已知:int n,i=1,j=2;执行语句n=iA. 1,2 B. 1,3 C. 2,2 D. 2,3
6.有函数定义如下:当自变量x<0时y=-1;当x=0时y=0;当x>0时y=1;以下程序片段能实现 该
函数功能的是( ):
A. if(x>=0) B. y=-1; C. if(x>=0) D. y=0;
if(x>0) y=1; if(x!=0) if(x>0) y=1; if(x>=0)
else y=-1; if(x>0) y=1 else y=0; if(x>0) y=1;
else y= 0; else y=0; else y= -1; else y=-1; 7.当a=2,b=1,c=3,d=4,m和n值为1时,(m=a>b)||(n=c>d)的值是( )
A. TRUE B. FALSE C. 1 D.0
8.在C语言程序中,以下说法正确的是( )
A. main函数内部可嵌套定义子函数
B. main函数必须出现在所有函数之前
C. main函数必须出现在所有函数之后
D. main函数是程序执行的入口
9.关于局部变量和全局变量说法正确的是( ):
A. 在main函数中定义的变量都为全局变量
B. 当全局变量与局部变量同名时,全局变量起作用
C. 当全局变量与局部变量同名时,局部变量起作用
D. 以上说法都不正确
第 1 页共 4 页


10.下列关于switch和break语句的讨论中,只有( )是正确的。
A. break语句是switch 语句的一部分
B. 在switch语句中可以根据需要使用或不使用break语句
C. switch语句中必须使用break语句
D. 以上三种说法都不正确。
11.设main函数中有定义float a[8],此外,程序中还定义了以下函数
 void printarray(float a[8],int n){ int i; for(i=0;i并将其放在调用语句之后,则以下说法错误的是( )
A. 调用之前的函数声明可以写为void printarray(float a[], int n);
B. 调用之前的函数声明可以写为void printarray(float [], int)
C. 调用语句可以为printarray(a[8],8);
D. 调用语句可以为printarray(a,8);
12.以下说法正确的是( )
A. 若在某函数中用static声明一个局部变量,则该变量在此函数外也起作用
B. 若用static声明一个函数,则该函数可被其它文件中的函数调用
C. 若用static声明一个函数,则该函数不能被其它文件中的函数调用
D. 以上说法都不正确
13. 有以下程序段
int k=0
while(k=1)k++;
则while 循环执行的次数是( )
A. 无限次 B. 有语法错,不能执行 C. 一次也不执行 D. 执行1次
14 以下程序执行后sum的值是()
void min()
{ int i , sum;
for(i=1;i<6;i++) sum+=i;
printf(
}
A.15 B. 14 C. 不确定 D.0
15. 当调用函数时,实参是一个数组名,则向函数传送的是( )
A. 数组的长度 B. 数组的首地址 C. 数组每一个元素的地址 D. 数组每个元素中的值

二、读程序写执行结果(每题5分,共20分)
1.#include
void main()
{
int x=3
do
{
printf(
}while (!(--x));
}
3、
void main()
{
double d=3.2;
int x,y;
x=1.2;
y=(x+3.8)5;
printf(“%dn”,d*y);
}
三、程序改错题
(每题5分,共20分)

第 2 页共 4 页
2、#include
void swap(int x, int y)
{ int temp;
temp=x; x=y; y=temp;

void main()
{ int a[]={3,5};
swap a[0], a[1]);
printf(“%d,%dn” ,a[0],a[1]);
}
4、#include
void main()
{ short a, b;
unsigned short c,d;
a=-90;b=90;
c= a; d=b;
printf(“%d , %dn”,a, b);
printf(“%X , %Xn”,a, b);
printf(“%u, %un”,c, d);
}


1、以下程序的功能是:给r输入数据后计算半径为r的圆面积s。
#include
#define PI 3.14
void main(){
int r;
float s;
scanf(
s=PI*r^2;
printf(
}
1 当n>5
2、以下程序用语实现分段函数cost=
0.7







3 的功能
#include
0.5 当n<3
void main(){
int n; float cost;
if(n>5) cost=1;
if(n>3) cost =0.7;
else cost=0.5;
}
3、以下程序用于从终端接收一个字符赋给c,如c不为换行符就循环输出,为换行符则停止
#include
void main(){
c=getchar();
while(c!=‟n‟)
printf(“%c”,c);
}
4、以下程序用于实现矩阵的转置
#include
void main(){
int a[][2]={{1,2},{3,4}};
int i,j,temp;
for(i=0;i<2;i++)
for(j=0;j<2;j++)
{ a[i][j]=a[j][i]; a[j][i]= a[i][j];
}
}

四、程序填空(共10分)
1.本程序用于求100-500之间的素数并输出
# include
#include
void main()
{
int n,i;
i=2;
for(n=100;n<=500;n++)
{
;
while(i if(n%i= =0)
i++;
}
if( )
printf(“%d ”,m);
第 3 页共 4 页


}
}
2.本程序用于将字符串s2链接到字符串s1末尾
#include
#include
void main()
{
char s1[100],s2[40];
int i,j;
printf(
gets(s1);
printf(
scanf(
i=0;
while( ')
i++;
j=0;
while(s2[j]!='0')
{
s1[i]=s2[j];
i++;

}

printf(
}

五、编程题(每题10分,共30分)
1.编程求1-13!+15!-17!+……+197!-199!的值并输出。
2.主函数中定义含8个元素的整数数组,调用子函数对其由小到大排序,之后输出排序结果。
3.读入正整数n与整数x,用非递归法和递归法求P(n,x)并输出,已知

1 当n=0时
P(n,x)=
x 当n=1时

((2n-1)*x*P(n-1,x)-(n-1)*P(n-2,x))n 当n>1时
第 4 页共 4 页

快乐的一天作文-工作联系函范本


印尼地震-篮球拉拉队口号


阿拉斯加州-教师节的诗


石家庄在职研究生-骨质瓷


福建师范大学协和学院教务部-辞职信的范文


张家口市人事人才网-陈维琳


三亚南山-主持词大全


湖北省教育考试网-少数民族手抄报