[自考类试卷]全国自考(高级语言程序设计)模拟试卷15及答案与解析.doc

上传人:boatfragile160 文档编号:916414 上传时间:2019-02-28 格式:DOC 页数:15 大小:44.50KB
下载 相关 举报
[自考类试卷]全国自考(高级语言程序设计)模拟试卷15及答案与解析.doc_第1页
第1页 / 共15页
[自考类试卷]全国自考(高级语言程序设计)模拟试卷15及答案与解析.doc_第2页
第2页 / 共15页
[自考类试卷]全国自考(高级语言程序设计)模拟试卷15及答案与解析.doc_第3页
第3页 / 共15页
[自考类试卷]全国自考(高级语言程序设计)模拟试卷15及答案与解析.doc_第4页
第4页 / 共15页
[自考类试卷]全国自考(高级语言程序设计)模拟试卷15及答案与解析.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、全国自考(高级语言程序设计)模拟试卷 15 及答案与解析一、单项选择题1 按照 C 语言规定的用户标识符命名规则,不能出现在标识符中的是( )(A)数字字符(B)连接符(C)下画线(D)小写字母2 设已有定义:f1oat x;,则以下对指针变量 p 进行定义并且赋初值的语句中正确的是( )(A)f1oat*p=100;(B) f1oat p=&x;(C) f1oat*p=&x;(D)int*p=(f1oat)x;3 以下不能正确表示 1/4sin1/2sin1/2 值的 C 语言表达式是( )(A)1/4*sin(1/2)*sin( 1/2)(B) sin(05)*sin(05)/4(C) p

2、ow(sin(05),2)/4(D)1/40*pow(sin(05),2)4 有以下程序段:int n,t=1 , s=0;scanf(“d“,&n);dos=s+t;t=t-2;while(t! =n);为使程序段不陷入死循环,从键盘输入的应是( )(A)任意正奇数(B)任意正偶数(C)任意负奇数(D)任意负偶数5 以下叙述正确的是( )(A)调用 printf 函数时,必须要有输出项(B)在 C 语言中,整数可以十二进制、八进制或十六进制的形式输出(C)调用 getchar 函数读人字符时,可以从键盘上输入字符对应的 ASCII 码(D)调用 getchar 函数时,必须在之前包含文件 s

3、tdioh6 函数调用“strcpy(str3, strcat(str1,str2)”的功能是( )(A)将字符串 str1 复制到字符串 str2 中,再连接到字符串 str3 后(B)将字符串 str2 连接到 str1 后,再复制到 str3 中(C)将字符串 str1 连接到字符串 str2 后,再复制到 str3(D)将字符串 str2 复制到 str1 中,再连接到 str3 后7 有以下程序:main() int k=4,n=0;while (k 0)switch(k)default: break ;case 1:n+ =k;case 2:case 3:n+ =k;k - -;p

4、rintf(“d“,n) ;程序运行结果是( )(A)0(B) 7(C) 6(D)48 若有定义:int a5 6;则对 a 数组的第 i 行第 j 列(假设 i,j 已正确说明并赋值)元素的正确引用是( )(A)*(*(a+i)+j)(B) (a+i)j(C) *(a+i+j)(D)*(a+i)9 有如下程序:#include main()unsigned char a=8,c;c=a3;printf(“d/n“,c);程序运行结果为( )(A)32(B) 16(C) 0(D)110 以下程序的输出结果是( )#define f(x)x*xmain()int a=5,b =2; int c;

5、c=f(a)/f(b);printf(“dn“,c);(A)10(B) 5(C) 25(D)1511 以下叙述正确的是( )(A)在 C 语言中,预处理命令执行都以“#” 开头(B)预处理命令行必须位于 C 源程序的起始位置(C) #include必须放在 C 程序开头(D)C 语言的预处理不能实现宏定义和条件编译功能12 若有语句:int *apple, a=4;和 apple=&a;下面均代表地址的一组选项是( )(A)a,apple, *&a(B) &*a,&a ,*apple(C) *&apple,*apple,&a(D)&a,&*apple ,apple13 下列程序的输出结果是(

6、)main() char b=“Hel10,friend“;b5=0;printf(“s“,b);(A)Hel10, friend(B) Hel10(C) you(D)以上都错14 存储整数- 3421 时,在二进制文件和文本文件中占用的字节数分别是( )(A)2 和 2(B) 2 和 6(C) 6 和 6(D)6 和 215 设有下列数据定义语句,structint x,int y;d2=1 ,4 ,2,7;则“printf(“dn“,d0y/d0x*d1 x);“ 的输出是( )(A)0(B) 1(C) 8(D)4二、填空题16 成员变量可以像一般的_一样进行各种运算,只是在运算时要加上“

7、,”运算符。17 P 一name 代表 P 指向结构体变量中的 _的值。18 fopen 函数函数打开一个文本文件,在 “使用方式”这一项中,为输出而打开需填入_,为输入而打开需填入_。19 C 语言中调用_函数关闭文件。20 函数调用“exit(0)”的功能是_。21 用 typedef 定义整型一维数组:typedef int apple10,则对整型数组 a10可以定义为_。22 fputc( ch,fp) 函数中的 ch 代表的是_。23 专门判断文件是否结束的函数 feof(),如果返回值为 0,则表示文件_。24 已知:struct int x,y;apple2=l ,3,5, 7

8、,* p=apple;则表达式(+p)一x 的值为_。25 成员运算符“ ” 是一个双目中缀运算符,前一个运算对象必须是_。三、程序分析题26 #include void prty(int *x)main()int a =5;prty( &a) ;printf( “ dn“,a) ;27 main () int i=0,s =0 ;do if( j2) i +,continue ,i + ; while(i main()printf( “ dn“,s) ;29 #define N 10#define s(x) x * x -5#define f(x) (x * x) * s(x)main()

9、int a,b,a = 1000/s(N) ;b = 1000/f(N) ;四、程序填充题30 下面程序的功能是输出 1000 以内能被 7 整除,且个位为 5 的所有整数。main() int i,m;for(i =1;_;i+) /*第一空*/m =1*10 +5;if(_)continue; /*第二空*/printf(“dn“,_); /*第三空*/31 以下程序能将字符串 Program!反向打印出来,请填空。#includevoid out( char*str)char*s=_;/*第一空*/if(*s=NULL) retum;while(_)s+;/*第二空*/s- -:prin

10、tf(“cn“,*s);*s= NULL;_;/*第三空*/main() char c=“Pirogram!“ ;out(c);32 给定程序中,函数 fun 的功能是将形参 std 所指结构体数组中年龄最大者的数据作为函数值返回,并在 rruun 函数中输出。#includetypedef struct char name10;int age; STD;STD fun( STD std,int n) STD max,int i;max=_; /*第一空*/for(i=1;i3 的位运算是把 a 向右移动了 3 位,结果为 00000001,输出其十进制值为 1。10 【正确答案】 C 【试题

11、解析】 c=f(a)/f(b)展开为 c=a*a/b*b,即 c=5*5/2*2=25,因此选 C。11 【正确答案】 A【试题解析】 预处理命令是以“#”开头的命令,它们不是 C 语言的可执行命令,这些命令应该在函数之外书写,一般在源文件的最前面书写,但不是必须在起始位置书写,所以 B,C 错误。C 语言的预处理能够实现宏定义和条件编译等功能,所以 D 错误。12 【正确答案】 D【试题解析】 由 int *app1e 可知 app1e 为指针,代表地址;*app1e 代表该地址中的元素。&为求址符,&a 代表变量 a 的地址,求 a 的地址仍有一种方法。当为&*app1e;*a 时是无意义

12、的,同样&*a 也是无意义的,因为 a 不是指针。13 【正确答案】 B【试题解析】 b5=0,ASCII 码 0 对应的字符为0 ,则把字符串中的逗号换成空格0,“s”打印输出字符串时,遇到0停止,故选择 B。14 【正确答案】 B【试题解析】 二进制文件是把数据整体化为二进制存储,题中- 3421 为短整型占两个字节,而文本文件是把数据转换成对应的 ASCII 码来存放的。15 【正确答案】 C【试题解析】 题中定义了结构体类型数组 d2,并初始化。 d0为1,4,d1为2,7,d0y 引用的是 4,d0x 引用的是 1, d1x 引用的是 2,所以输出值为 4/1 *2=8。二、填空题1

13、6 【正确答案】 变量【试题解析】 结构型变量成员的使用和一般的普通变量或数组的使用方法完全相同。17 【正确答案】 name【试题解析】 通过结构型指针引用结构型变量的方式有两种:(*指针变量)成员名和指针变量-成员名。18 【正确答案】 “r”,“w” 【试题解析】 “r” 打开一个已存在的文本文件,只能读取数据;“w”打开一个文本文件,只能写入数据。19 【正确答案】 fc10se【试题解析】 关闭文件时使用 fc10se 函数。20 【正确答案】 关闭当前已经打开的所有文件,收回分配的所有内存,结束程序的运行【试题解析】 exit (0) 函数所在头文件是 stdlib h,该函数的功

14、能是关闭所有已经打开的文件,然后终止程序的运行。21 【正确答案】 app1e a; 【试题解析】 通过 typedef 基本数据类型符用户类型符数组长度;定义一个用户类型符,以后可以使用用户类型符定义由基本数据类型符组成的数组,其长度为定义时确定的。22 【正确答案】 要写入的字符【试题解析】 ch 为写到文件中的字符,可以是字符常量、字符变量、字符表达式。23 【正确答案】 没有结束【试题解析】 若当前是文件尾,返回非 0,否则返回 0。24 【正确答案】 5【试题解析】 *p= app1e,p 指向 app1e0,+p 指向了 app1e1,即第二个结构型。25 【正确答案】 结构型的变

15、量【试题解析】 成员运算符是双目中缀运算符,前一个对象必须是结构型的变量,后一个对象是该结构型的成员名。三、程序分析题26 【正确答案】 627 【正确答案】 1628 【正确答案】 2129 【正确答案】 995995四、程序填充题30 【正确答案】 i99i7! =0m31 【正确答案】 8tr*sout( 8tr)32 【正确答案】 8td08tdiagemaxname五、程序设计题33 【正确答案】 main() 10ng s=0L;int k,m,f1ag;for (k =10;k1001;k+) f1ag=1;for(m=2;m=k/2;m+)if( km=0)f1ag =0;break;if(f1ag) s+ =k;printf(“s= ldn“,s);34 【正确答案】 double power( double x,int n)if(n= 0) retum(1);/*当 n=0 时返回值 1*/e1se return(x*power(x, n=1));/*递归调用函数 power()本身,整个递归调用过程的操作请参见课本。*/

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 大学考试

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1