武汉科技大学信息学院2011期末C语言程序设计试卷A
试 题
2011 年~ 2012 年第 2 学期
课程名称: C语言程序设计 专业年级: DB电子信息工程2011级
考生学号: 考生姓名:
试卷类型: A卷 ? B卷 ? 考试方式: 开卷 ? 闭卷 ? „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„ 一 单项选择题(每小题2分,共10分)
1. 下面__【1】___是将x的值正确赋值给了数组array的第一个元素。
A)array=x; B) array=x[0]; C) array[0]=x; D) array[1]=x;
2. ___【2】______函数的功能是在一个字符串末尾连接另一个字符串。
A)strAdd B)strcat C)strcpy D)strcmp
3. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为 【3】 。
A) 地址传递 B)由实参传给形参,再由形参传回给实参
C) 单向值传递 D)由用户指定传递方式
4. 以下是正确定义指针变量同时使其指向整型变量x的语句是__【4】____。
A) int *ptr=*x; B) int &ptr=*x; C) int *ptr=x; D)int *ptr=&x;
】 , 5. 以下程序的输出结果为 【5
#define PT 5.5
#define S(y) PT * y * y
main()
{ int a=1,b=2;
printf(“%4.1f\n”,S(a+b));
}
A) 12.0 B) 9.5 C)12.5 D)33.5 二、填空题(每空2分,共28分)
1. 若a是int型变量,且a的初值为6,则计算下列表达式后a的值为 【1】 。
a+=a-=a*a
2. 条件“2
void main()
{
int x;
for(x=12;x>7;x-=2)
printf("x=%d\n",x);
}
2、#include
void main()
{ int List[10]={0};
int i;
for(i=0;i<10;i++)
printf("%d ",List[i]);
printf("\n");
for(i=0;i<5;i++)
List[2*i+1]=i+2;
for(i=0;i<10;i++)
printf("%d ",List[i]);
}
注:1、教师命题时题目之间不留空白; 2、考生不得在试题纸上答题,教师只批阅答题册正面部分,若考
生须在试题图上作解答,请另附该试题图。3、请在试卷类型、考试方式后打勾注明。
(第 2 页)
3、#include
int b=4;
void fun1(int a,int b)
{
int temp;
temp=a; a=b; b=temp;
}
void fun2(int *p1,int *p2)
{ int temp;
temp=*p1; *p1=*p2; *p2=temp; }
void fun3(int *p)
{ static int c=1;
*p=*p+c;
c=c+1;
}
void main()
{ int a=10;
printf("a=%d b=%d\n",a,b);
fun1(a,b); printf("a=%d b=%d\n",a,b);
fun3(&a); printf("a=%d b=%d\n",a,b);
fun2(&a,&b); printf("a=%d b=%d\n",a,b);
fun3(&a); printf("a=%d b=%d\n",a,b);
}
四、程序填空(每空,分,共18分)
1、函数功能:将矩阵a[9][9]左上方数据置1,右下方数据置-1,主对角线元素置0 void setArray(int a[9][9])
{ 1 1 1 1 1 1 1 1 0 int i,j; 1 1 1 1 1 1 1 0 -1
for(i=0;i<9;i++) 1 1 1 1 1 1 0 -1 -1
1 1 1 1 1 0 -1 -1 -1 for(j=0;j< 【1】 ;j++)
1 1 1 1 0 -1 -1 -1 -1 if(i+j==8) 1 1 1 0 -1 -1 -1 -1 -1 【2】 ; 1 1 0 -1 -1 -1 -1 -1 -1
else if( 【3】 ) 1 0 -1 -1 -1 -1 -1 -1 -1
0 -1 -1 -1 -1 -1 -1 -1 -1 a[i][j]=1;
else 【4】 ;
}
注:1、教师命题时题目之间不留空白; 2、考生不得在试题纸上答题,教师只批阅答题册正面部分,若考
生须在试题图上作解答,请另附该试题图。3、请在试卷类型、考试方式后打勾注明。
(第 3 页)
2、函数功能:判断某一字符串是否是回文,回文指正读和反读均一样的字符串,如madam,level就是回文,若是返回1否则返回-1。
【5】 jughw(char *str)
{ char *p1,*p2;
int n;
n=strlen(str);
p1=str;
p2=str+n-1;
while( 【6】 )
{
if(*p1!=*p2) 【7】 ;
else {p1++; 【8】 ;}
}
if( 【9】 ) return(1);
else return(-1);
}
五、编程题:(共26分)
1、编写程序实现如下功能:查询整数数组num中出现整数m的次数,数组元素个数为10,整数m由用户从键盘输入。(12分)
2、编写程序实现将n个整数中前面各数顺序后移m个位置,最后m个变成最前面m个数: (1)编写函数input, 完成功能从键盘输入n个整数
(2)编写函数output,完成功能输出n个整数
(3)编写函数move,完成功能将n个整数中前面各数顺序后移m个位置,最后m个整数变
成最前面m个数;
(3)编写主函数,分别调用以上函数实现功能:对输入的n个整数按照move函数方法调整,
并将调整后的n个数输出。n=10,m由用户从键盘输入(14分)
例如:10个整数为
3 5 8 1 4 9 6 7 2 0
m=5,则调整后为
3 5 8 1 4 9 6 7 2 0
注:1、教师命题时题目之间不留空白; 2、考生不得在试题纸上答题,教师只批阅答题册正面部分,若考生须在试题图上作解答,请另附该试题图。3、请在试卷类型、考试方式后打勾注明。
(第 4 页)
本文档为【武汉科技大学信息学院2011期末C语言程序设计试卷A】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。