【学历类职业资格】高级语言程序设计-8及答案解析.doc
《【学历类职业资格】高级语言程序设计-8及答案解析.doc》由会员分享,可在线阅读,更多相关《【学历类职业资格】高级语言程序设计-8及答案解析.doc(9页珍藏版)》请在麦多课文档分享上搜索。
1、高级语言程序设计-8 及答案解析(总分:100.00,做题时间:90 分钟)一、B单项选择题/B(总题数:15,分数:30.00)1.若有以下说明,则在 seanf函数调用语句中对结构体变量成员引用方式不正确的是( ) struct pub char name20; int age; int sex; pub5,*P;(分数:2.00)A.scanf(“%s“,pup0nam;B.scanf(“%d“,pup0ag;C.scanf(“%d“,p-se;D.scanf(“%d“,*ag;2.设有以下定义 int a43=1,2,3,4,5,6,7,8,9),10,11,12; int *ptr3
2、=a0,*p=a0; 则以下能正确表达数组元素 a12的表达式是( )(分数:2.00)A.*(*ptr+1)2)B.*(*(p+5)C.*(*ptr+1)+4)D.*(*(p+1)+2)3.不能把字符串“Hello!“符给数组 b的语句是( )(分数:2.00)A.char b10=H,e,l,l,o,!;B.char b10;b=“Hello!“;C.char b10;strcpy(b,“Hello!“);D.char b10=“Hello!“;4.若 x、y 是 int型变量,则执行以下语句后的 x值是( ) #includestdioh main() int x,y; for(y=1,
3、x=1;y50;y+) if(x=10)break; if(x%2=1) x+=5; x-=3; (分数:2.00)A.3B.6C.7D.105.已知有以下定义(假定现有计算机字长为 16) int a=0x48,b=0xf0; ab 的值为( )(分数:2.00)A.184B.183C.290D.2876.若有以下定义: char s20=“programming“,*ps=s; 则不能代表字符 o的表达式是( )(分数:2.00)A.*(ps+2)B.s2C.ps2D.*ps+=27.若有说明语句:int I,;则以下关于 x、*x、x0、x00的描述正确的是( )(分数:2.00)A.x
4、、*x、x0、x00均表示元素 x00的地址B.只有 x、*x 表示元素 x00的地址C.只有 x0、xL0表示元素 x00的地址D.只有x00表示元素的地址8.以下函数的功能是( ) ABC(ps) char *ps; char *P; p=ps; while(*p+); return(p-ps); (分数:2.00)A.比较两个字符串的大小B.求字符串的长度C.将字符串 ps复制到 P中D.以上三种说法都不对9.执行以下程序段后 s的值为( ) int a=5,64,4,8,9,5,8; int s=0; int k; for(k=0;k8;k+=2) s+=*(a+k):(分数:2.00
5、)A.17B.22C.27D.3210.C语言的基本数据类型包括( ) A字符型和数值型 B字符型和逻辑型 c整型和实型 D指针型和数据型(分数:2.00)A.B.C.D.11.下列选项中合法的数组定义是( )(分数:2.00)A.int a=“string“;B.int a5=0,1,2,3,4,5;C.char a=“sting“;D.char a=0,1,2,3,412.执行下列语句后 b的值为( ) int a,b,C,l=4,m=6,n=8; int *p1=1,*p2=m,*p3; a=p1=1;b=3*(-*p1)/(*p2)+7; c=*(p3=n)=*p1*(*p2);(分数
6、:2.00)A.4B.5C.7D.813.若有下列类型说明语句: char w;int x;float y;double z; 则表达式 w*x+z-y的结果的数据类型是( )(分数:2.00)A.charB.intC.floatD.double14.下列关于 C语言的描述正确的是( )(分数:2.00)A.C语言是面向硬件的高级语言B.C语言是面一种面向对象的程序设计语言C.C语言是一种结构化程序设计语言D.C语言的前身是汇编语言15.下列程序正确的运行结果为( ) #includestdioh main() int a=2,6,8,10,14,18); int *ptr-=a0,a1,a2
7、,a3,a4); int i; for(i0;i5;i+) ai=ai/2+ai printf(“%d/n“,*(*(ptr+2); printf(“%d/n“,*(*ptr); (分数:2.00)A.12 21B.21 12C.12 3D.3 12二、B填空题/B(总题数:10,分数:20.00)16.与标准输出设备所对应的文件型指针名为 1。(分数:2.00)填空项 1:_17.将字符串写入文件时,不写入文件的字符串结束标志是 1。(分数:2.00)填空项 1:_18.将字符转换成 ASC代码值的函数是 1。(分数:2.00)填空项 1:_19.文件包含命令是以 1 为开头的编译预处理命令
8、。(分数:2.00)填空项 1:_20. 1是 C语言中唯一的一个三目运算符,它是由两个符号组成。(分数:2.00)填空项 1:_21.数组 int arry59;的第二维下标的最大值是 1。(分数:2.00)填空项 1:_22.在进行程序清单的编译时, 1 是先于编译进行的。(分数:2.00)填空项 1:_23.已知 char str=“ABCD“;,则语句 printf(“%d“,strlen(str);的输出是 1。(分数:2.00)填空项 1:_24.设 int a;float b;char c;long d;double e;unsigned u;,则表达式 a+c/b-d*e+u值
9、的类型是 1。(分数:2.00)填空项 1:_25.设 int x=5; x+=x-=x*x; 则 x的值是_。(分数:2.00)填空项 1:_三、B程序分析题/B(总题数:4,分数:16.00)26.#includestdioh void main() int i; for(i=1;i5;i+) printf(“%d/t%c/n“,i,(A+i); (分数:4.00)_27.#includestdioh void main() int i,j,a44; for(i=0;i4;i+) for(j=0;j4;j+) aij=1+i;-j; for(i=0;i4;i+) for(j=0;j4;j+
10、) if(aij0)printf(“%3 d“,aij); printf(“/n“); (分数:4.00)_28.#includestdioh int f(int n) static int s=1; while(n)s*=n-; return s; main() int i,j; i=f(3);j=f(5); printf(“The output is:/n“); printf(“i=%d j=%d/n“,i,j); (分数:4.00)_29.#includestdioh int trans(int m,int n) int i; if(mn) i=m%n;trans(m,n); else
11、i=m: if(i10)printf(“%d/n“,i): else printf(“%c“,A+i-10): main() int i; printf(“The output is:/n“); printf(“n%d/n“,-23); trans(21,3); printf(“n%d/n“,123); trans(123,16); (分数:4.00)_四、B程序填充题/B(总题数:3,分数:18.00)30.将一个十进制整数转变成一个二进制整数。 #includestdioh main() int i=0j,n,num20;scanf(“%d“,_);/*第一空*/ while(n!=0)
12、numi+=_;/*第二空*/ n=_;)/*第三空*/ for(j=i-1;j=0;j-) printf(“Ha“,numj); printf(“/n“); (分数:6.00)填空项 1:_31.以下程序用来统计从终端输入的字符中大写字母的个数。以“$“作为输入结束标记。 #includestdioh #includectypch main() int num126,i;char c; for(i=0;i26;i+) numi=0; while(_)!=$)/*第一空*/ if(isupper(c)numc-65+=1; for(i=0;i26;i+) if(_)/*第二空*/ printf
13、(“%c:%d/n“,_,numi);/*第三空*/ (分数:6.00)填空项 1:_32.输入 5个字符,从中找出最大的并输出。要求用字符数组存放此字符,并用指针数组元素分别指向这5个字符。 #includestdioh main() char a5,*p5,*max; int I; for(I=0;I5;I+) _;/*第一空*/ for(I=0;I5;I+) scanf(“%C“,pI); max=p0; for(I=0;_;I+)/*第二空*/ if(*max*pI) _;/*第三空*/ printf(“%c“,*max); (分数:6.00)填空项 1:_五、B程序设计题/B(总题数
14、:2,分数:16.00)33.输出 100以内所有个位数字为 7且能被 3整除的数。(分数:8.00)_34.一个二维数组 int a44,请将其填满并输出其四个边的元素。(分数:8.00)_高级语言程序设计-8 答案解析(总分:100.00,做题时间:90 分钟)一、B单项选择题/B(总题数:15,分数:30.00)1.若有以下说明,则在 seanf函数调用语句中对结构体变量成员引用方式不正确的是( ) struct pub char name20; int age; int sex; pub5,*P;(分数:2.00)A.scanf(“%s“,pup0nam;B.scanf(“%d“,pu
15、p0ag;C.scanf(“%d“,p-se;D.scanf(“%d“,*ag; 解析:解析 “的优先级远高于“和“*“。2.设有以下定义 int a43=1,2,3,4,5,6,7,8,9),10,11,12; int *ptr3=a0,*p=a0; 则以下能正确表达数组元素 a12的表达式是( )(分数:2.00)A.*(*ptr+1)2)B.*(*(p+5)C.*(*ptr+1)+4) D.*(*(p+1)+2)解析:解析 “int *ptr3=a0“定义了指针数组 ptr并给这个数组的第一个元素赋值“a0“,“*(*ptr+1)+4)“的含义是:取指针数组 ptr的第一个元素值再加 5
16、所得的指针量指向的内存单元的值。3.不能把字符串“Hello!“符给数组 b的语句是( )(分数:2.00)A.char b10=H,e,l,l,o,!;B.char b10;b=“Hello!“; C.char b10;strcpy(b,“Hello!“);D.char b10=“Hello!“;解析:解析 “char b10;b=“Hello!“;语句中,b 是数组的首地址而不是变量,故字符串“Hello!“的首地址不能赋给 b,也就不能完成把字符串“Hello!“赋给数组 b的任务。4.若 x、y 是 int型变量,则执行以下语句后的 x值是( ) #includestdioh main
17、() int x,y; for(y=1,x=1;y50;y+) if(x=10)break; if(x%2=1) x+=5; x-=3; (分数:2.00)A.3 B.6C.7D.10解析:解析 #includestdioh main() int x,y; for(y=1,x=1;y50;y+)/*以 y为线索进行循环,步进值为 1*/ if(x=10)break;/*如果 x大于 10则中断循环*/ if(x%2=1)/*当 x是奇数时,执行“x+=5;“*/ x+=5;) X-=3;/*循环执行完毕,x 的值减 3*/ 5.已知有以下定义(假定现有计算机字长为 16) int a=0x48
18、,b=0xf0; ab 的值为( )(分数:2.00)A.184 B.183C.290D.287解析:解析 因计算机字长为 16,故 a的二进制表示是 0000000001001000,b 的二进制表示是0000000011110000,进行按位加(ab)所得的结果是:0000000010111000(十进制值为 184)。6.若有以下定义: char s20=“programming“,*ps=s; 则不能代表字符 o的表达式是( )(分数:2.00)A.*(ps+2)B.s2C.ps2D.*ps+=2 解析:解析“*“的运算优先级高于“+-“,故*ps+=2 相当于*ps=p+2。7.若有
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学历 职业资格 高级 语言程序设计 答案 解析 DOC
