1、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、203. 以下
2、符合C语言语法的实型常量是( ) A、 1.2E0.5 B、 3.14.159E C、 .5E-3 D、 E154.若以下选项中的变量已正确定义则正确的赋值语句是( ) A、x1=26.8%3 ; B、1+2=x2 ; C、x3=0*12 ; D、x4=1+2=3; 5、判断char型变量ch是否为大写字母的正确表达式是( )。 A、A=ch=A)&(ch=A)&(ch=Z) D、(A=ch)6. 下面程序段int n=0; while(n+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
3、,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 a23=0; B、int a3=1,2,0; C、int
4、 a23=1,2,3,4,5,6; D、int a3=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程序后,要上机运行得到结果,必须要经过 、 、 和 四
5、个步骤。4要使以下程序段输出10个整数,请填入一个整数。for(i=0;i= ;printf(%dn,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(偶数之和=%dn,a);printf(奇数之和=%dn, );2下面程序从键盘输入一个
6、整数,然后将它逆序输出。#includemain( ) int a; scanf(“%d”,&a); while(a!=0) printf(“ %d ”, ); ; 3以下程序用来输出结构体变量ex所占存储单元的字节数,请填空。struct st char name20; double score; ;main() struct st ex;printf(ex size: %dn,sizeof( );四、 读程序,写结果。(每题5分,共15分)。1有如下程序main() int x=1,a=0,b=0; switch(x) case 0: b+; case 1: a+; case 2: a+;
7、b+; printf(“a=%d,b=%dn”,a,b);该程序的输出结果是 2下面程序的输出结果是 A) 0 B) 1 C) 10 D) 9main() int a =1,2,3,4,5,6,7,8,9,0,*p;p=a;printf(%dn,*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 %dn,i1,i2); 五程序设计。(共40分)1 任意一个5位数判断它是不是回文数。所谓5位数的回文数就是个位与万位相同十位与千位相同如任意一个5位数判断它是不是回文数。所谓5位数的回文数就是,个位与万位相同,十位与千位相同。如:12321是回文数。(本小题10分)2 任意输入一行字符串找出其中字母、数字及其它字符各有多少(要求编写一个自定义函数实现)(本小题15分)3 某公司使用某种原材料加工两种规格的产品其中生产每件A产品消耗原材料56kg生产每件B产品消耗原材料64kg。假设该公司现有800kg的原材料编写程序计算A、B各生存多少件剩余的原材料最少(本小题15分)