欢迎您访问重庆自考网! 今天是 登录注册 | 免费课程 | 学习中心

重庆自考网

自考热线
当前位置: 网站首页 > 历年真题 >

全国2004年10月自考(课程代码:00342)高级语言程序设计(一)试题

2018-06-11 13:12来源:重庆自考网 考试必看
全国2004年10月高等教育自学考试
高级语言程序设计(一)试题
课程代码:00342
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.下列不正确的转义字符是(       )
A. ′\\′                                                        B. ′\″
C. ′\086′                                                    D. ′\0′
2.下列运算符中,优先级最高的是(       )
A.[]                                                            B.++
C.%                                                                      D.&&
3.下列标识符中,不是C语言保留字的是(       )
A. char                                                            B. while
C. min                                                            D. default
4.下列数据中,不是C语言常量的是(       )
A. ′\n′                                                       B. ″a″
C. e-2                                                             D. 012
5.若定义了int a;char b;float c;,则表达式a*b-c的类型是(       )
A. float                                                           B. int
C. char                                                            D. double
6.若定义了int a,x,y;,则下列语句中不正确的是(       )
A. x=3,y=5;                                                B. ++x;
C. x=y+=x*30;                                              D. a=y+x=30;
7.调用函数时,若实参是一个数组名,则向函数对应的形参传送的是(       )
A.数组的长度                                                        B.数组的首地址
C. 数组第一个元素的值                                  D. 整个数组元素的值
8.在C语言中,函数返回值的类型是由(       )
A.定义的函数类型决定                                          B.return语句中表达式的类型决定
C.调用该函数的主调函数类型决定                  D. 调用该函数时系统状态决定
9.若定义了int b[][3]={1 ,2,3,4,5,6,7};,则b数组第一维的长度是(       )
A. 2                                                                B. 3
C. 4                                                                D.无确定值
 
10.若定义了char ch[]={″abc\0def″},*p=ch;则执行printf(″%c″,*p+4);语
句的输出结果是(       )
A. def                                                             B. d
C. e                                                                D. 0
11.若定义了x=100;,则表达式x++>100?x+20:x+10的值是(       )
A.110                                                              B.111
C.120                                                              D.121
12.执行printf(″%d\n″,strlen(″t\″066\xee\n″));语句的输出结果是(       )
A.7                                                                 B.12
C.13                                                                      D.输出项不合法,无正常输出
13.在函数中定义的局部变量,若未指定存储类别,则其隐含的存储类别是(       )
A. static                                                          B. anto
C. extern                                                         D. register
14.若定义了unsigned short a=32768;,则执行printf(″a=%d″,a);语句的输出结果是
(       )
A. a=-32768                                                    B. a=-1
C. a=32768                                                      D.数据类型不一致,出错
15.若定义了int m,n=0,*p1=&m;,则下列与m=n;等价的正确语句是(       )
A. m=*p1;                                                    B. *p1=&*n;
C. *&p1=&*n;                                              D. *p1=*&n;
16.下列程序的运行结果是(       )
   main( )
   {int a[][4]={1,3,5,7,9,11,13,15,17,19,21,23};
     int (*p)[4],i=2,j=1;
     p=a;
     printf(″%d\n″,*(*(p+i)+j));
    }
A.9                              B.11                             C.17                                   D.19
17.若有宏定义:#define  MOD(x,y)  x%y
则执行以下语句后的输出结果是
int a=13,b=94;
printf(″%d\n″,MOD(b,a+4));
A.5                              B.7                              C.9                              D.11
 
18.若定义了(       )
       union
        { char a[10];
           short b[4][5];
           long c[5];
        }u;
则执行printf(″%d\n″,sizeof(u));语句的输出结果是(       )
A.10                                   B.20                                   C.40                                   D.70
19.若定义了(       )
enum color
{yellow,green,blue=5,red,brone};
则枚举常量yellow和red的值分别是
A.0,3                                                            B.0,6
C.1,6                                                            D.3,6
20.若定义了(       )
struct num
{ int a;int b;
}d[3]={{1,4},{2,5},{6,7}};
则执行printf(″%d\n″,d[2].a*d[2].b/d[1].b);语句的输出结果是(       )
A.2                              B.2.5                           C.8                              D.8.4
二、填空题(本大题共10小题,每小题2分,共20分)
       请在每小题的空格中填上正确答案。错填、不填均无分。
21.一个C程序一般由若干个函数构成,其中至少应包含一个            函数。
22.在Turbo C中,一个int型变量所能表示的数的范围是            。
23.表达式10<<3+1的值是            。
24.若定义了int a[10],*p;,将数组元素a[8]的地址赋给指针变量p的赋值语句是            。
25.若定义了int a=1;,则执行printf(″%d\n″,((a=a+4,a+5),a+6));语句的输出结
果是            。
26.在C语言中,整型常量的书写形式包括:八进制、十进制和            进制。
27.在C语言中,一个双精度数-5.88在二进制文件里占用的字节数是            。
28.C语言标识符的第一个字符必须为下划线或者            。
29.在C语言中,当定义一个函数的类型为void时,说明执行该函数后            。
 
30.若使用fopen函数打开一个新的二进制文件,对该文件进行读写操作,则文件使用方式字符串应该是            。
三、程序分析题(本大题共5小题,每小题5分,共25分)
阅读下列程序,将输出结果写到各题右侧的空白处。
31.main( )

     int a[3][3]={1,4,17,3,6,19,2,5,18},i,s=0;
     for (i=0;i<=2;i++)
         s=s+a[i][2-i];
         printf(″s=%d\n″,s);
     }
32.main( )
   { int i;
        for(i=0;i<5;i++)
        switch(i%2)
         {case 0:printf(″1″);break;
           case 1:printf(″0″);
          }
   }
33.main( )

     int x=20,y=40,*p;
     p=&x;printf(″%d,″,*p);
     *p=x+10;
     p=&y;printf(″%d\n″,*p);
     *p=y+20;
     printf(″%d,%d\n″,x,y);

34.#include″string.h″
struct worker
{char name[15];
int age;
float pay;
};
main( )
{struct worket x;
char *t=″Lilei″;
int d=20;float f=100;
strcpy(x.name,t);
x.age=d*2;x.pay=f*d;
printf(″%s\t%d\t%.0f\n″,x.name, x.age,x.pay);
}
35.int f(int a)
{
 int b=4
static int c=4
b++;
c++;
return(a+b+c);
}
main( )
{
int a=4,i;
for(i=0;i<3;i++)
   printf(″%4d″,f(a));
}
四、程序填充题(本大题共3小题,每小题6分,共18分)
给出下列程序,将横线处缺少的部分补上,使其能正确运行。
36.求三个数中的最大值和最小值。
void maxmin(a,b,c,m,n)
int,a,b,c,*m,*n;
{ int t;
 if(a<b){t=a;a=b;b=t;}
 if(a<c){t=a;a=c;c=t;}
 if(b<c){t=b;b=c;c=t;}
             =a;  /*第一空*/
             =c;  /*第二空*/
}
main( )
{int a,b,c,max,min;
printf(″Please input a b c:\n″);
scanf(″%d%d%d″,&a,&b,&c);
maxmin(a,b,c,              );/*第三空*/
printf(″a=%d,b=%d,c=%d\n″,a,b,c);
printf(″max=%d,min=%d\n″,max,min);
}
37.下列程序的功能是:统计从键盘输入的字符($作为结束)中每个小写英文字母出现的个数,n[0]、n[1]、···、n[25]分别存放小写字母a、b、···、z。并输出统计结果。
#include″stdio.h″
main( )
{int n[26]={0},k,char c;
 while((               )!= ′$′)   /*第一空*/
 if(c>=′a′&&c<=′z′)
   n[c                 ]+=1;      /*第二空*/
 for(k=0;              ;k++)      /*第三空*/
   printf(″%c:%d\n″,k+′a′,n[k] );
}
38.从键盘输入一个字符串,判断其是否是回文。若是输出“Yes”,否则输出“No”。回文是指正向、反向的拼写都一样。例如:ABCBA、aaaa等是回文;china、ABC等不是回文。
#include ″stdio.h″
main( )
{char string[80];
int i,j,n;
gets (string);
n=                ;                      /*第一空*/
j=n-1;
for (i=0;i<j;i++,j--)
if (string [i]!=string[j])                ;/*第二空*/
if(                )printf(″Yes\n″);       /*第三空*/
else printf (″No\n″);

五、程序设计题(第39小题5分,第40、41小题各6分,共17分)
39.编写一个程序,用循环结构输出以下图形。(5分)
&&&&&&&&&
&&&&&&&
&&&&&
&&&
&
40.输入年份year,如果是闰年,则输出“ Yes!”,否则输出“ No!”。(每400年有97个闰
年,即在4的倍数年份中除去第100、200、300三个年份)(6分)
41.在主函数中定义两个双精度变量x,y,并输入。利用函数交换两个双精度数x,y,并且
要求函数的参数是指针类型。(6分)
本自考试题WORD文档下载:
全国2004年10月自考(课程代码:00342)高级语言程序设计(一)试题

重庆自考网声明:
(一) 由于各方面情况的调整与变化,本网所提供的考试信息仅供参考,敬请以权威部门公布的正式信息为准。
(二) 本网注明来源为其他媒体的稿件均为转载稿,免费转载出于非商业性学习目的,版权归原作者所有。如有内容、版权等问题请与本网联系。联系方式:邮件 2293429207@qq.com
自考网校为您量体裁衣,制定个性化网上辅导课程,课程免费试听!
以年份查找历年真题
2018年   4月  10月 
2017年   4月  10月 
2016年   1月  4月  7月  10月 
2015年   1月  4月  7月  10月 
2014年   1月  4月  7月  10月 
2013年   1月  4月  7月  10月 
2012年   1月  4月  7月  10月 
2011年   1月  4月  7月  10月 
2010年   1月  4月  7月  10月 
2009年   1月  4月  7月  10月 
2008年   1月  4月  7月  10月 
2007年   1月  4月  7月  10月 
2006年   1月  4月  7月  10月 
2005年   1月  4月  7月  10月 
2004年   1月  4月  7月  10月 
2003年   1月  4月  7月  10月 
2002年   1月  4月  7月  10月 
2001年   4月  10月 
2000年   4月  10月 
重庆自考网微信群



重庆自考微信交流群

(扫一扫加入)