| 您现在的位置: 乐外网 >> 学历类 >> 自学考试 >> 历年真题 >> 2004年 >> 文章正文 |
|
|||||
| 2004年10月自考“高级语言程序设计”试题 | |||||
作者:未知 文章来源:搜狐教育 点击数: 更新时间:2006-8-22 ![]() |
|||||
|
|
|||||
|
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< 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< if(a< if(b< =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< 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 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分) |
|||||
| 文章录入:chuwa 责任编辑:chuwa | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 如何报名参加自学考试 高等教育自学考试专业类型详… 自考与普高同类证书效力相同 自考生如何办理考研手续 自考本科生能否考研? 自考生报考2005年司法考试各… 自考提升学历手册:自考生参加… 如何避开自考中的招生陷阱 自考之路:哪些青年适合选择… 自学考试各专业课程的学分怎… |
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 诚聘英才 | 版权申明 | | ||
![]() |
|
|