2012年昆明理工大学817C程序设计考研真题

时间:2017-11-18 19:53 来源:研导师 文加考研

     

2012年昆明理工大学817C程序设计考研真题


资料内容:

 

2012年昆明理工大学817C程序设计考研真题

 

真题原文:

昆明理工大学2012年硕士研究生招生入学考试试题(A卷)

考试科目代码:817             考试科目名称 :C程序设计
试题适用招生专业 :085211 计算机技术  、085212 软件工程
考生答题须知
1. 所有题目(包括填空、选择、图表等类型题目)答题答案必须做在考点发给的答题纸上,做在本试题册上无效。请考生务必在答题纸上写清题号。
2. 评卷时不评阅本试题册,答题如有做在本试题册上而影响成绩的,后果由考生自己负责。
3. 答题时一律使用蓝、黑色墨水笔或圆珠笔作答(画图可用铅笔),用其它笔答题不给分。
4. 答题时不准使用涂改液等具有明显标记的涂改用品。
一、填空题(30分,每题2分)
1.设float x=2.5,y=4.7; int a=7;,则表达式 x+a%3*(int)(x+y)%2/4 的值为         。
2.设 int a=3,b=5,c=7;,则表达式a>c||c>b!=0&&c==b+a 的值为        。
3.已知方程ax2+bx+c=0系数a、b、c且存在两个实根,计算其中一个实根的算术表达式为         。
4.判断变量a、b是否是数值相等而符号相反的逻辑表达式为        。
5.m是值为两位数的整型变量,判断其个位数是奇数而十位数是偶数的逻辑表达式为
         。
6.若 a=13、b=25、c=-17,条件表达式 ((y=(a<b)?a:b)<c)?y:c 的值为        。
7.整型变量x的值为25,语句"printf("%o",x);"的输出结果为        。
8.语句printf("s%s","mall"); 的输出结果为        。
9.若int k=2, 循环语句while (k!=0) { printf("%d",k); k--; } 执行        次。
10.程序段 int s,i; for(i=1;i<=100;s+=i,i++); 能否计算1~100的和? 原因是
        。
11.定义语句为 char a[]="Box",b[]="Boss";strcmp(a,b)结果为        。
12.对下列递归函数,函数调用f(3)的返回值是        。
     int f(int n) { return((n==0)?1:f(n-1)+2);}
13.函数的参数为int类型时,实参向形参传递的方式为        。
14.函数change定义如下,若a=10、b=5,执行 change(a,b)后a、b的值分别为        。
     void change(int a,int b) { int t=0; t=a; a=b; b=t;}
15.函数之间参数传递的方式有        和        。

二、单项选择题:(50分,每题2分)
1.判断字符串s1与字符串s2相等,应当使用:()。
A. if (s1==s2)                   B. if (strcmp(s1, s2))
C. if (!strcmp(s1, s2))             D. if (strcmp(s1, s2) = 0)
2.二维数组a有m行n列,则在a[i][j]之前的元素个数为()。
A. j*n+i    B. i*n+j    C. i*n+j-1    D. i*n+j+1
3.
#include<stdio.h>
#include<string.h>
main()
{
    printf("%d\n", strlen("IBM\n012\t\"\\"));
}
则程序运行后的输出结果是( )。
A.  10      B.  11      C.  16      D.  12
4.有如下程序片段:
int i = 0;
while(i++ <= 2);
printf("%d", i);
则正确的执行结果是:( )
A.  2      B.  3     C.  4      D.  程序陷入死循环
5.下面哪个定义是合法的( )。
A. char a[8] = "language";  B. int a[5] = {0,1,2,3,4,5};
C. char *a = "string";   D. int a[][] = {0,1,2,3,4,5,6};
6.一个C程序的执行是从( )。
A.本程序的main函数开始,到main函数结柬
B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C.本程序的main函数开始,到本程序文件的最后一个函数结束
D.本程序文件的第一个函数开始,到本程序main函数结束
7.以下叙述不正确的是( )。
A.一个C源程序可由一个或多个函数组成
B.一个C源程序必须包含一个main函数
C.C程序的基本组成单位是函数
D.在C程序中,注释说明只能位于一条语句的后面
8.一个C程序是由( )。
A.一个主程序和若干子程序组成         B.函数组成
C.若干过程组成                       D.若干子程序组成
9.若x.i.j和k都是int型变量,则计算下面表达式后,x的值为( )。
        x=(i=4,j=16,k=32)
A. 4         B. 16         C. 32         D. 52
10.在C语言中,char型数据在内存中的存储形式是( )。
A.补码      B.反码        C.原码        D. ASCll码
11.设有程序段
int k=10;
while(k=0) k=k-1;
则下面描述中正确的是( )。
A. while循环10次            B.循环是无限循环
C.循环体一次也不执行         D.循环体只执行一次
12..下面for 循环的正确描述是( )。
A.for循环只能用于循环次数已经确定的情况
B.for循环是先执行循环体语句后判断表达式
C.在for循环中,不能用break语句结束循环
D.for循环体语句中,可以包含多条语句,但必须用花括号括起来
13.在C语言中,引用数组元素时,其数组下标的数据类型允许是()。
A.整型常量                B.整型表达式
C.整型常量或整型表达式    D.任何类型表达式
14.以下正确的函数首部定义是( )。
A.double fun(int x,int y)       B.double fun(int x;int y)
C.double fun(int x,int y);       D.double fun(int x,y);
15.C语言中,函数返回值的类型是由( )。
A.return语句中的表达式类型所决定
B.调用该函数时的主调函数类型所决定
C.调用该函数时系统临时决定
D.在定义该函数时所指的函数类型所决定
16.若用数组名作为函数调用的实参,传递给形参的是( )。
A.数组的首地址             B.数给的第一个元数
C.数组中全部元素的值      D.数组元素的个数
17.以下有关宏替换的叙述不正确的是( )。
A.宏替换不占用运行时间     B.宏名无类型
C.宏替换只是字符替换       D.宏名必须用大写字母表示
18.用C语言编写的源文件经过编译,若没有产生编译错误,则系统将( )。
A.生成可执行目标文件       B.生成目标文件  
C.输出运行结果             D.自动保存源文件
19.下列各个错误中,属于编译错误的是( )。
  A.数组下标超界    B.“==”误写为“!=”    C.死循环    D.括号不配对
20. 若int类型数据字长为4,其最大值为( )。
  A.231              B.231-1                  C.232-1      D.232
21.常数的书写格式决定了常数的类型和值,03322是( )。
  A.16进制int类型常数             B.8进制int类型常数
  C.10进制int类型常数             D.10进制long int类型常数
22.下列各语句序列中,能够将变量u和s中最大值赋值到变量t中的是()。
  A.if(u>s)t=u; t=s;                B.t=s; if(u>s)t=u;
  C.if(u>s)t=s; else t=u;             D.t=u; if(u>s)t=s;
23.下列各语句中,能够输出整型变量a和b中最大值的是()。
  A.printf("%d\n",(a>b)?a,b);       B.(a>b)? printf("%d",a):printf("%d",b);
  C.printf("%d",if(a>b)a else b);     D.printf("%d\n",(a>b)?a:b);
24.定义如下变量和数组:
     int i;
     int x[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是()。
for(i=0;i<3;i++) printf("%d",x[i][2-i]);
  A.1 5 9          B.1 4 7         C.3 5 7         D.3 6 9
25.不能把字符串:Hello!赋给数组b的语句是()。
  A.char b[10]={'H','e','l','l','o','!'};     B.char b[10];b="Hello!";
  C.char b[10];strcpy(b,"Hello!");     D.char b[10]="Hello!";
三、写出下列程序的运行结果。(15分,每题3分)

则程序运行结果是:

运行结果是:

输出结果:

输出结果:

运行结果

四、程序填空题(共20分,每空2分)
1.下面这个程序的功能是对含有n个元素(最多10个)的一维数组按升序进行排序。

2.下面程序的功能是从键盘输入一行字符,统计其中有多少单词。假设单词之间以空格分开。[提示:判断是否有新单词出现的方法是------当前被检验的字符不是空格,而前一被检验字符是空格,则表示有新单词出现。]

3. 输入一行字符,统计其中的英文字符、数字字符及其它字符的个数。

五、编程(35分)
1. 编程计算1!+2!+3!+……+10!的值。(12分)
2. 从键盘任意输入某班20个学生的成绩,打印最高分,并统计不及格学生的人数。(12分)
要求按如下函数原型进行编程,分别计算最高分和统计不及格学生的人数:
int FindMax(int score[], int n);
int CountFail(int score[], int n);
3. 从键盘任意输入一个4位数x,编程计算x的每一位数字相加之和(忽略整数前的正负号)。例如,输入x为1234,则由1234分离出其千位1、百位2、十位3、个位4,然后计算1+2+3+4=10,并输出10。(11分)


资料截图:



下载地址:
 

2012年昆明理工大学817C程序设计考研真题

 



以上是文加考研(考研一对一辅导品牌)为大家提供的2012年昆明理工大学817C程序设计考研真题,希望对大家有所帮助。考研的过程中,希望大家努力加油,大家备考过程中有任何疑问,可以直接咨询。


上一篇:2012年昆明理工大学816信号与系统考研真题