2017年三峡大学硕士研究生招生复试
《C语言程序设计》课程考试试卷
注意:1、考试时间180分钟,满分100分;
2、姓名、准考证号必须写在指定的地方 阅卷负责人签名
姓名: 准考证号:
题号 | 一 | 二 | 三 | 四 | 五 | 六 | 七 | 八 | 九 | 总分 |
得分 | ||||||||||
本试卷 共 3页,请附答题纸,将答案写在答题纸上面
一、选择题。(每题1分,共20分)
1. 一个完整的C源程序是( )
A、要由一个主函数(或)一个以上的非主函数构成
B、由一个且仅由一个主函数和零个以上(含零)的非主函数构成
C、要由一个主函数和一个以上的非主函数构成
D、由一个且只有一个主函数或
2.若x=4 则x*=x+2的值为 ( )
A、36 B、24 C、18 D、20
3. 以下符合C语言语法的实型常量是( )
switch case判断字符串 A、 1.2E0.5 B、 3.14.159E C、 .5E-3 D、 E15
4.若以下选项中的变量已正确定义 则正确的赋值语句是( )
A、x1=26.8%3 ; B、1+2=x2 ; C、x3=0*12 ; D、x4=1+2=3;
5、判断char型变量ch是否为大写字母的正确表达式是( )。
A、'A'<=ch<='z' B、(ch>='A')&(ch<='Z')
C、(ch>='A')&&(ch<='Z') D、('A'<=ch)AND('Z'>=ch)
6. 下面程序段int n=0; while(n++<=2); printf(‚%d‛,n);的运行结果是( C )。
A、2 B、3 C、4 D、有语法错
7. 若有说明 int a[10];则对a数组元素的正确引用是( D )。
A、a[10] B、a[3.5] C、a(5) D、a[10-10]
8. 在C语言中 若对函数类型未加明显式说明 则函数的隐含类型是( )类型.
A、void B、double C、int D、char
9.若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是( )。
A、(exp==0) B、(exp!=0)
C、(exp==1) D、(exp!=1)
10.在C语言中,形参的缺省存储类是( )
A) auto B) register C) static D) extern
11.若有定义 int a[5]; 则对数组中首元素的地址可以表示为( )
A、&a B、a+1 C、a D、&a[1]
12. 若有定义 int a[5], *p=a; 则对a数组元素的正确引用是( )
A、*&a[5] B、a+2 C、*(p+5) D、*(a+2)
13. 若有说明 int a[3][4];则对a数组元素的正确引用是( )。
A、a[2][4] B、a[1,3] C、a[1+1][0] D、a(2)(1)
14. 函数调用结束后 形式参数( ).
A、继续占用相同大小的内存 B、占用的内存减小 C、释放内存 D、不确定
15.当调用函数时,实参是一个数组名,则向函数传送的是
A) 数组的长度 B) 数组的首地址
C) 数组每一个元素的地址 D) 数组每个元素中的值
16.已知int x=10,y=20,z=30;语句if(x>y) z=x;x=y;y=z; 执行后x,y,z的值是( )。
A、x=10,y=20,z=30 B、x=20,y=30,z=30 C、x=20,y=30,z=10 D、x=20,y=30,z=20确定
17. C语言中while和do-while循环的主要区别是( )。
A、do-while的循环体至少无条件执行一次 B、while的循环控制条件比的循环控制条件严格
C、do-while允许从外部转到循环体内 D、do-while的循环体不能是复合语句
18. C语言中函数返回值的类型是由( )决定。
A、return语句中的表达式类型 B、调用函数的主调函数类型
C、调用函数时临时 D、定义函数时所指定的函数类型
19.以下不能对二维整形数组a进行正确初始化的语句是( )。
A、int a[2][3]={0}; B、int a[][3]={{1,2},{0}};
C、int a[2][3]={{1,2},{3,4},{5,6}}; D、int a[][3]={1,2,3,4,5,6};
20.若有语句int *point,a=4,point=&a; 下面均代表a地址的一组选项是( )。
A、a, point, *&a B、&*a, &a, *point C、*&point, *point, &a D、&a,&*point,point
二、填空题。(每空1分,共10分)
1.若有定义int a[]={2,4,6,8,10,12} ; 则*(a+5)的值是( )
2.设char *s=‛abcde‛; 则指针变量s指向的字符串所占的字节数是( ) 个
3.在纸上写好一个C程序后,要上机运行得到结果,必须要经过 、 、
和 四个步骤。
和 四个步骤。
4.要使以下程序段输出10个整数,请填入一个整数。
for(i=0;i<= ;printf("%d\n",i+=2));
5.用于处理一系列类型相同的数据的数据结构是 ;如果需要将不同类型的数据组合成一个有机的整体,需要用到 ;有时需要使几种不同类型的变量共占同一段内存的结构,称为 。
三、程序填空。(每空3分,共15分)
1.下面程序的功能是:计算1到10之间奇数之和及偶数之和,请填空。
main()
{ int a, b, c, i;
a=c=0;
for(i=0;i<=10;i+=2)
{ a+=i;
;
c+=b;
}
printf("偶数之和=%d\n",a);
printf("奇数之和=%d\n", );
}
2.下面程序从键盘输入一个整数,然后将它逆序输出。
#include<stdio.h>
main( )
{ int a;
scanf(“%d”,&a);
while(a!=0)
{ printf(“ %d ”, );
;
}
}
3.以下程序用来输出结构体变量ex所占存储单元的字节数,请填空。
struct st
{ char name[20]; double score; };
main()
{ struct st ex;
printf("ex size: %d\n",sizeof( ));
}
四、读程序,写结果。(每题5分,共15分)。
1.有如下程序
main()
{ int x=1,a=0,b=0;
switch(x){
case 0: b++;
case 1: a++;
case 2: a++;b++;
}
printf(“a=%d,b=%d\n”,a,b);
}
该程序的输出结果是
2.下面程序的输出结果是
A) 0 B) 1 C) 10 D) 9
main()
{ int a[ ]={1,2,3,4,5,6,7,8,9,0,},*p;
p=a;
printf("%d\n",*p+9);
}
3.下面程序的运行结果是:
#define N 10
#define s(x) x*x
#define f(x) (x*x)
main()
{int i1,i2;
i1=1000/s(N);i2=1000/f(N);
printf("%d %d\n",i1,i2);
}
五.程序设计。(共40分)
1.任意一个5位数 判断它是不是回文数。所谓5位数的回文数就是 个位与万位相同 十位与千位相同 如任意一个5位数 判断它是不是回文数。所谓5位数的回文数就是,个位与万位相同,十位与千位相同。如:12321是回文数。(本小题10分)
2.任意输入一行字符串 出其中字母、数字及其它字符各有多少(要求编写一个自定义函数实现)(本小题15分)
3.某公司使用某种原材料加工两种规格的产品 其中生产每件A产品消耗原材料56kg 生产每件B产品消耗原材料64kg。假设该公司现有800kg的原材料 编写程序计算A、B各生存多少件 剩余的原材料最少 (本小题15分)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论