《C语言程序设计》A卷(试卷) 联系客服

发布时间 : 星期三 文章《C语言程序设计》A卷(试卷)更新完毕开始阅读22b8fdfcee06eff9aff8074c

( 密 封 线 内 不 答 题 ) ?????????????????密??????????????????封???????????????线?????????????? 姓名: 学号: 系别: 年级专业: 东莞理工学院(本科)试卷(A卷)

2014—2015 学年第 1 学期

《C语言程序设计》试卷

开课单位:计算机学院,考试形式:闭卷,允许带 入场

题序 得分 评卷人 一 二 三 四 总 分 一、单项选择题(共30分 每题2分) 得分 说明:答案必须填写在答题卡单项选择题的相应位置上,否则不得分。 1. 假设m是一个两位数,将m的个位与十位互换的表达式是_______。

A、 m/10*10+m B、m*10+m/10 C、 m*10+m/10 D、m/10+m/10 2. 与数学表达式3xn/(2x-1)对应的C语言表达式是________。

A、3*x^n(2*n-1) B、3*x**n/(2*x-1) C、3*pow(x,n)/(2*x-1) D、3*pow(n,x)/(2*x-1)

3. 设有下列说明语句,执行语句“c=’A’+b+c+d;”后,变量c的数据类型是______。

int c; float b=1.0; double d=1.0;

A、float B、char C、int D、double

_____________ ________ 4. 执行下列程序段后,a的值是( )。

int a,b,c,m=10,n=9;a=(--m==n++)?--m:++n; A、11 B、10 A、14 B、11

C、9 D、8

C、12 D、13

5. 设int a=2,b=3,c=4;则逗号表达式(a==3,a++,3*a+2)的值是________。

6. 设int a=3,b=4,c=5,则下列表达式值为0的是_________。

A、’a’&&’b’ B、a<=b

C、c||c&&b-c D、!(a

7. 下列程序运行时如果输入”-2 2 3 3 4 2<回车>”则输出的结果是_________。

#include void main() {

int t,a,b,i;

for(i=1;i<=3;i++){

scanf(\ if (a>b) t=a-b; else if(a=b) t=1; else t=b-a;

printf(\

《C语言程序设计》试卷 第1页 共6页

A、 412 B、112 C、 114 D、413

8. 执行下列程序段时,下列说法正确的是______。

x=-1;do{ x=x*x; }while(!x);

A、循环体将执行一次 B、循环体将执行两次 C、循环体将执行无限次 D、系统将提示有语法错误

9. 若有定义“int a[4][3] ”,以下哪个是对数组a的正确应用_________ 。

A、 a[4][0] B、 a[1>2][2] C、 a(0)(0) D、 a[0][3] 10. 定义一个一维数组char a[]=”chi\\n\\\\t”,则在数组a所占的空间为______。

A、5个字节 B、6个字节 C、7个字节 D、8个字节 11. 设有以下定义:#define F(n) 2*n ,则表达式F(3+1)的值是______。 A、6 B、7 C、8 D、9 12. 有以下函数定义“void fun(int n, double x) {...}”,若以下选项中的变量都已正确定义并

赋值,则对函数fun的正确调用语句是______。

A、fun(int y, double m); B、k=fun(10,14.5);

C、fun(x,n); D、void fun(n,x);

13. C语言中,函数值类型的定义可以为默认,此时函数值的隐含类型是______。

A、void B、int C、float D、double

14. 若有以下定义,并在以后的语句中未改变p的值,则不能表示a[1]地址的表达式是_______。

int a[9],*p=a;

A、p+1 B、a+1 C、a++ D、++p

15. 有以下定义,则下面叙述中不正确的是______。

struct ex{

int x; float y; char z;

}example;

A、struct是定义结构类型的关键字 B、example是结构类型名 C、x、y、z都是结构成员名 D、struct ex是结构类型名

二、程序填空题(共20分,每空2分)得分 说明:每空必须且只能填写一个语句或一个预处理。答案必须填写在答题卡程序填空题的相应位置上,否则不得分。

1、下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环,阅读程序并填空。 #include void main() {

int n=0,c;

c=getchar();

while(____(1)_____){

if(____(2)_______) n++;

c=getchar(); }

《C语言程序设计》试卷 第2页 共6页

printf(\

}

2、在数组a中查找与x相同的元素,若找到,输出x在数组a中的下标位置; 若未找到,则输出\未找到与x相同的元素!\。阅读程序并填空。 #include void main( ) {

int i, x, a[10],sub;

for(i = 0; i < 10; i++)

scanf(\

scanf(\ ____(3)_____;

for(i = 0; i < 10; i++){

if(x==a[i]){ sub=i;

____(4)_____; }

}

if(sub==-1)

printf( \未找到与%d相等的元素!\\n\ else

printf( \和%d相同的数组元素是a[%d]=%d\\n\}

3、在主函数输入两个正整数x和y,求x和y的最大公约数。子函数gys(m,n)求m和n的最大公约数。阅读程序并填空。 #include void main() {

int x,y,j;

int gys(int m,int n );

printf(\输入两个正整数m和n:\ scanf(\ (5) ;

printf(\与%d的最大公约数是%d\\n\}

int gys(int m,int n) {

int r;

while( (6) ){ m=n; n=r;

}

《C语言程序设计》试卷 第3页 共6页

}

4、以下程序调用findmax函数求数组中值最大的元素在数组中的下标,请补充填空。 #include

void findmax (int *s ,int t ,int *k ) {

int i;

for(i=0,*k=i; i

if (s[i] > s[*k]) (7) ;

}

void main() {

int a[10] , i , k ;

for ( i=0 ;i<5 ; i++ ) scanf(\ (8) ;

printf ( \}

5、下列程序输入某班学生的姓名及数学、英语成绩,计算每位学生的平均分,然后输出平均分最高的学生的姓名及数学、英语成绩,请填空。

struct student{ char name[10]; int math,eng; float aver; };

#include void main() {

int i,n,maxsub=0; struct student s[50];

scanf(\ for(i=0;i

scanf(\

for(i=0;i

(9) =(s[i].math+s[i].eng)/2.0; if( (10) ) maxsub=i; }

printf(\}

《C语言程序设计》试卷 第4页 共6页

return n;