阅读程序写结果(指针)

合集下载

2018NOIP普及组初赛试题答案解析

2018NOIP普及组初赛试题答案解析

第二十四届全国青少年信息学奥林匹克联赛初赛普及组C++语言试题竞赛时间:2018年10月13日14:30~16:30选手注意:●试题纸共有7页,答题纸共有2页,满分100分。

请在答题纸上作答,写在试题纸上的一律无效。

●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。

一、单项选择题(共15题,每题2分,共计30分;每题有且仅有一个正确选项)1.以下哪一种设备属于输出设备:()A.扫描仪B.键盘C.鼠标D.打印机解析:这是一道送分题,会就会,不会就不会。

所以选D。

2.下列四个不同进制的数中,与其它三项数值上不相等的是()。

A.(269)16B.(617)10C.(1151)8D.(1001101011)2解析:这题考核的是进制转换。

(269)16=2*16^2+6*16^1+9*16^0=617,(1151)8=1*8^3+1* 8^2+5*8^1+1*8^0=617,而(1001101011)2=619。

所以选D。

3.1MB等于()。

A.1000字节B.1024字节C.1000X1000字节D.1024X1024字节1KB=1024B1MB=1024KB解析:这题考核的是字节之间的转换。

1MB=1024KB=1024*1024B。

所以选D。

4.广域网的英文缩写是()。

NB.WANC.MAND.LNA解析:这题是送命题,,会就会,不会就不会。

WAN全称为Wide Area Network。

所以选B。

5.中国计算机学会于()年创办全国青少年计算机程序设计竞赛。

A.1983B.1984C.1985D.1986解析:这题是送命题,会就会,不会就不会。

NOI是全国青少年信息学奥林匹克竞赛(National Olympiad in Informatics)的简称。

NOI是国内包括港澳在内的省级代表队最高水平的大赛,自1984年至今,在国内包括香港、澳门组织竞赛活动。

所以选B。

6.如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照CapsLock、字母键A、字母键S、字母键D、字母键F的顺序循环按键,即CapsLock、A、S、D、F、CapsLock、A、S、D、F、……,屏幕上输出的第81个字符是字母()。

教材课后题答案-第6章_指针习题答案

教材课后题答案-第6章_指针习题答案

习题解答一、单项选择题1.若定义了int n=2, *p=&n, *q=p;则下面【】的赋值是非法的。

A.p=qB. *p=*qC. n=*qD. p=n【答案】D2.若定义了double *p, a;则能通过scanf函数给输入项读入数据的程序段是【】。

A.p=&a; scanf(“%1e”,p);B. *p=&a; scanf(“%1f”,p);C. p=&a; scanf(“%f”,p);D. p=&a; scanf(“%1f”,a);【答案】C3.若定义了int a[10], i=3, *p; p=&a[5];下面不能表示为a数组元素的是【】。

A.p[-5]B. a[i+5]C. *p++D. a[i-5]【答案】D4.若有如下定义:int n[5]={1,2,3,4,5},*p=n;则值为5的表达式是【】。

A.*+5B. *(p+5)C. *p+=4D. p+4【答案】C5.设变量b的地址已赋给指针变量ps,下面为“真”的表达式是【】。

A.b==&psB. b==psC. b==*psD. &b==&ps【答案】C6.设有以下定义和语句:int a[3][2]={1,2,3,4,5,6},*p[3];p[0]=a[1];则*(p[0]+1)所代表的数组元素是【】。

A.a[0][1]B. a[1][0]C. a[1][1]D. a[1][2]【答案】C7.若定义了char *str=”Hello!”;下面程序段中正确的是【】。

A.char c[ ], *p=c; strcpy(p,str);B.char c[5], *p; strcpy(p=&c[1],&str[3]);C.char c[5]; strcpy(c,str);D.char c[5]; strcpy(p=c+2,str+3);【答案】B8.若有下面的程序段,则不正确的fxy函数的首部是【】。

C语言程序设计复习题(一)1的阅读程序部分

C语言程序设计复习题(一)1的阅读程序部分
3
} case 2: printf("third\n"); } } 结果:first third 4.下列程序运行结果是【 -1 】 。 #include<stdio.h> main( ) { int n=4; do n--; while (n); printf("%d\n",--n); } 5.下列程序运行结果是【 】 。 #include<stdio.h> dec( ) { static int x=5; x--; printf("%d",x); } main( ) { int k; for(k=0;k<3;k++) dec( ); } 结果:4 3 2 五.程序填空(请依题意,将程序中括号部分补充完整。每题 3 分,共 15 分) 1. 一个正整数与 3 的和是 5 的倍数,与 3 的差是 6 的倍数,编写一个程序求符合条件的最 小数。 #include <stdio.h> main() { int n; n=1; while (1) { n=n+1; if 【 (1) (n+3)%5==0&&(n-3)%6==0 】break; } printf("n=%d",n); } 2.将两个字符串合并成一个字符串。 #include <stdio.h> main() { char s1[20],s2[20],s3[40]; int i,j; printf("String1:"); gets(s1); printf("String2:》复习题(二)
一.单选题(在本题的每一小题的备选答案中,只有一个答案是正确的,请把你认为正确答 案的题号,填入题中的括号内。多选不给分。每题 1 分,共 20 分) 1.在 C 语言中,不同类型数据混合运算时,要先转换成同一类型后进行运算。设一表达式 中包含有 int、 long、 unsigned、 char 类型的变量和数据, 则表达式最后的运算结果是 【 ④ 】 类型数据。 ① int ② char ③ unsigned ④ long 2.若 int 型数据占 2 个字节,则以下语句的输出为 【 ④ 】 。 int k=-1; printf(“%d,%u\n”,k,k); ① -1,-1 ② -1,32767 ③ -1,32768 ④ -1,65535 3.设 x 和 y 均 为 int 型 变 量 , 则 执 行 以 下 语 句 后 的 输 出 为 【 ① 】 。 x=1 5; y=5 ; pri ntf( “ %d\n ” ,x%= (y%= 2)); ① 0 ② 1 ③ 6 ④ 12 4.若 x 为 uns igned in t 型 变 量 , 则 执 行 以 下 语 句 后 的 x 值 为 【 ④ 】 。 x=6 5535; pri ntf( “ %d\n ” ,x); ① 65535 ② 1 ③ 无定值 ④ -1 5 . 判断 char 型变量 c1 是否为小写字母的最简单且正确的表达式为【 ④ 】 。 ① ’a’<=c1<=’z’ ② (c1>=a)&&(c1<=z) ③ (‘a’<=c1)||(‘z’>=c1) ④ (c1>=’a’)&&(c1<=’z’) 6 . 以下不正确的 if 语句是【 ③ 】 。 ① if (x>y); ② if (x= =y) x+=y; ③ if (x!=y)scanf(“%d”,&x) else scanf(“%d”,&y); ④ if (x<y) {x++;y++;} 7 . C 语言对嵌套 if 语句的规定是:else 总是与【 ④ 】 配 对 。 ① 其 之 前 最 近 的 if ② 第 一 个 if ③ 缩 进 位 置 相 同 的 if ④ 其 之 前 最 近 且 不 带 else 的 if 8 . 设有说明语句:int a=2,b=7,c=5;则执行以下语句后,输出为【 ② 】 。 switch(a>0) { case 1: switch(b<0) { case 1: prin tf(“@”); break; case 2: p rintf(“!”); b reak; } case 0: switch(c==5) { case 0: prin tf(“*”); break; case 1 : p rintf(“#”); b reak; default:printf(“$”); break; } defau lt: p rin tf(“&”); } ① @#& ② #& ③ *& ④ $& 9 . 若有说明语句:int w=2,x=3,y=3,z=4;则表达式 w>x?w:z>y?z:x 的值是 【 ① 】 。 ① 4 ② 3 ③ 2 ④ 1 10.下面有关 for 循环的正确描述是【 ④ 】 。 ① for 循环只能用于循环次数已经确定的情况 ② for 循环是先执行循环体语句,后判定表达式

C语言读程序写结果练习题

C语言读程序写结果练习题

读程序写结果一、数组1.#include <stdio.h>void main(){int a[8]={1,0,1,0,1,0,1,0},i;for(i=2;i<8;i++)a[i]+= a[i-1] + a[i-2];for(i=0;i<8;i++)printf(“%5d”,a[i]);}2.#include <stdio.h>void main(){float b[6]={1.1,2.2,3.3,4.4,5.5,6.6},t;int i;t=b[0];for(i=0;i<5;i++)b[i]=b[i+1];b[5]=t;for(i=0;i<6;i++)printf(“%6.2f”,b[i]);}3.#include <stdio.h>void main(){ int p[7]={11,13,14,15,16,17,18},i=0,k=0;while(i<7 && p[i]%2){ k=k+p[i]; i++;}printf("k=%d\n",k);}4. void main(){ int a[3][3]={1,3,5,7,9,11,13,15,17};int sum=0,i,j;for (i=0;i<3;i++)for (j=0;j<3;j++){ a[i][j]=i+j;if (i==j)sum=sum+a[i][j];}printf("sum=%d",sum);}5.void main(){ int a[4][4],i,j,k;for (i=0;i<4;i++)for (j=0;j<4;j++)a[i][j]=i-j;for (i=0;i<4;i++){ for (j=0;j<=i;j++)printf("%4d",a[i][j]);printf("\n");}}6. #include <stdio.h>main(){ int i,s;char s1[100],s2[100];printf("input string1:\n"); gets(s1); printf("input string2:\n"); gets(s2); i=0;while ((s1[i]==s2[i])&&(s1[i]!='\0')) i++;if ((s1[i]=='\0')&&(s2[i]=='\0')) s=0; else s=s1[i]-s2[i];printf("%d\n",s);}输入数据 aidand7.void main(){char ch[3][5]={ "AAAA","BBB","CC"};printf("\"%s\"\n",ch[1]);}1.1 0 2 2 5 7 13 20 2.2.20 3.30 4.40 5.50 6.60 1.103.k=244.sum=65.1 02 1 03 2 1 06.-57.“BBB”二、指针1、char cchar(char ch){ if (ch>=‘A’&&ch<=‘Z')ch=ch-‘A'+‘a';return ch;}void main(){ char s[]="ABC+abc=defDEF",*p=s;while(*p){ *p=cchar(*p);p++;}printf("%s\n",s);}2、void main( ){ int a[5]={2,4,6,8,10},*p,* *k;p=a; k=&p;printf("%d",*(p++));printf("%d\n",* *k);}3、funa(int a,int b ) { return a+b;}funb(int a,int b ) { return a-b;}sub( int (*t)( ),int x,int y ){ return ((*t)(x,y));}void main( ){ int x ,(*p)( );p=funa;x=sub(p,9,3);x+=sub(funb,8,3);printf("%d\n",x);}4、void main( ){ char *s="12134211";int v[4]={0,0,0,0} ;int k,i;for(k=0;s[k];k++){ switch(s[k]){ case '1':i=0;case '2':i=1;case '3':i=2;case '4':i=3;}v[i]++;}for(k=0;k<4;k++) printf("%d",v[k]);}5、# include "ctype.h"void space(char *str){ int i ,t ;char ts[81];for(i=0,t=0 ;str[i]!='\0' ;i+=2)if(! isspace(*(str+i))&&(*(str+i)!='a')) ts[t++]=toupper(str[i]) ;ts[t]='\0' ; strcpy(str ,ts) ;}void main( ){ char s[81]={"abcdefg"} ;space(s); puts(s);}6、#include<stdio.h>sub1(char a ,char b) { char c ; c=a ;a=b ;b=c ;}sub2(char * a ,char b) { char c ; c=*a ;*a=b ;b=c ;}sub3(char * a ,char *b){ char c ; c=*a ;*a=*b ;*b=c ;} void main(){ char a ,b ;a='A' ;b='B' ;sub3(&a ,&b) ;putchar(a) ;putchar(b) ;a='A' ;b='B' ;sub2(&a ,b) ;putchar(a) ;putchar(b) ;a='A' ;b='B' ;sub1(a ,b) ;putchar(a) ;putchar(b) ;}7、void main(){ char b[ ]="ABCDEFG";char *chp=&b[7];while(--chp>&b[0])putchar(*chp);putchar('\n');}8、void prtv(int * x){ printf("%d\n",++*x);}void main(){ int a=25 ;prtv(&a);}9、int aa[3][3]={{2},{4},{6}};void main(){ int i ,*p=&aa[0][0];for(i=0;i<2;i++){ if(i==1) aa[i][i+1]=*p+1;else ++p;printf("%d",*p);}}10、int f(int b[ ],int n){ int i ,r=1;for(i=0;i<=n;i++) r=r*b[i];return r;}void main(){ int x,a[]={2,3,4,5,6,7,8,9};x=f(a,3);printf("%d\n",x);}1、abc+abc=defdef2、243、174、00085、CEG6、BABBAB7、GFEDCB8、269、0010、120三、结构体1、#include <stdio.h>struct abc { int a, b, c; };main(){ struct abc s[2]={{1,2,3},{4,5,6}};int t;t=s[0].a+s[1].b;printf("%d \n",t);}2、#include <stdio.h>struct stu{ int num;char name[10]; int age;};void fun(struct stu *p){ printf("%s\n" ,(*p).name); }void main(){ struct stu students[3]={{9801,"Zhang",20} ,{9802,"Wang", 19} , {9803,"Zhao",18} };fun(students+2);}3、#include <stdio.h>void main(){ enum team { my ,your=4 ,his ,her=his+10};printf("%d%d%d%d\n",my,your,his,her);}4、#include <stdio.h>struct st { int x;int *y;} *p ;int dt[4]={10,20,30,40};struct st aa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3] };void main(){ p=aa;printf("%d, ", ++p->x);printf("%d, ",(++p)->x);printf("%d\n",++(*p->y));}5、#include <stdio.h>union myun{ struct{ int x, y, z; } u;int k;} a;void main(){ a.u.x=4; a.u.y=5; a.u.z=6;a.k=0;printf("%d\n",a.u.x);}6、#include <stdio.h>struct STU{ char num[10]; float score[3]; };void main(){ struct STU s[3]={{“20021”,90,95,85},{“20022”,95,80,75}, {“20023”,100,95,90}},*p=s;int i; float sum=0;for(i=0;i<3;i++)sum=sum+p->score[i];printf(“%6.2f\n”,sum);}7、#include <stdio.h>#include <stdlib.h>struct NODE{ int num; struct NODE *next; };void main(){ struct NODE *p,*q,*r;p=(struct NODE*)malloc(sizeof(struct NODE));q=(struct NODE*)malloc(sizeof(struct NODE));r=(struct NODE*)malloc(sizeof(struct NODE));p->num=10; q->num=20; r->num=30;p->next=q;q->next=r;printf(“%d\n”,p->num+q->next->num);}8、#include <stdio.h>typedef union student{ char name[10];long sno;char sex;float score[4];} STU;void main(){ STU a[5];printf(“%d\n”,sizeof(a));}1、 62、 Zhao3、 045154、 51, 60, 215、 06、 270.007、 408、 80。

c语言程序设计双色版答案

c语言程序设计双色版答案

c语言程序设计双色版答案第一章基础知识一、填空1. 每个 C 程序都必须存有且仅有一个________ 函数。

2. C 语言程序开发到执行通常要经过 6 个阶段即编辑、预处理、________、链接、加载和执行。

3. 软件就是程序,以及______、采用和保护所须要的所有文档。

4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。

5. 程序设计语言按照书写形式,以及思维方式的相同通常分成低级语言和________两大类。

6. C 语言是由________组成的。

7. C 语言的函数可以分后居多函数 main、标准库函数和_________。

8. 一个函数是由两部分组成的,即:________和函数体。

9. 编程就是将 C 语言所撰写的源程序________成机器代码,也称作创建目标代码程序的过程。

10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。

不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA) 、管理信息系统(MIS) 、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。

11. 机器语言就是以__________形式则表示的机器基本指令的子集,就是计算机系统唯一不须要甩译作可以轻易辨识和继续执行的程序设计语言。

12. 与机器语言较之,采用汇编语言去编写程序可以用_______去则表示指令的操作码和操作方式对象,也可以用标号和符号去替代地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。

14. C 程序的继续执行均是由继续执行_________已经开始。

15. 函数体即为涵盖在{ }内的部分。

它分成________和为顺利完成功能任务由若干个 C 语句共同组成的继续执行部分。

C语言试卷2及答案

C语言试卷2及答案

扬州大学试题纸系课程C语言程序设计(A)卷2002—2003学年第2学期班级_________学号________姓名__________得分___________一、选择题(每题分,共30分):1、已知:char a; int b; float c; double d;则执行语句:c=a+b+c+d; 后,变量c的类型为。

A. charB. intC. floatD. double2、已有定义int x; float y; 且执行scanf(“%2d%f”,&x,&y);语句时,从第一列开始输入数据12345 67<回车>,则y的值是。

A. 无定值B. 345.00000C.D.3、设有以下程序段int x=0; s=0;while (!x!=0) s+=++x;printf(“%d”,s);则。

A. 运行程序段后输出0B. 运行程序段后输出1C. 程序段中的控制表达式是非法的D. 程序段执行无限次4、若i为整型变量,则以下循环执行次数是。

for(i=2; i==0;) printf(“%d”, i--);A. 无限次B. 2次C. 1次次5、假设char ch=’a’, *p=&c h; ,以下语句中,有语法错误的是.A. (*p)++;B. ch+=—‘a’+’A’;C. toupper(ch)=ch;D. ch++;6、若说明:char *language[ ]={“VFP”,”C”,”VB”,”VC”,”JAVA”};则language[2]的值是。

A. 一个字符B. 一个地址C. 一个字符串D. 一个不定值7、C语言程序中,当调用函数时。

A. 实参和虚参可以共用存储单元B. 实参和虚参各占一个独立的存储单元C. 可以由用户指定是否共用存储单元D. 由计算机系统自动确定是否共用存储单元8、在程序中要使用语句:printf(“%s\n”, STRING);输出提示信息:“OK! ”(包括双引号),则应使用宏定义语句。

数据结构(专)阶段练习2

数据结构(专)阶段练习2

华东理工大学网络学院(专科)《数据结构》------第3章、第4章、第5章班级学号姓名成绩一、填空题(每空1分,共20分)1. 栈和队列是两种特殊的线性表,栈的特点是先进后出,表达式求值,栈的典型应用有和实现递归过程。

2. 在具有n个单元的循环队列中,队列满时共有n-1 个元素。

3. 若串的长度不能确定,可采用动态存储结构,为串值分配一个存储空间,同时建立一个串的描述子以指示串值的长度和串在存储空间中的位置,称该结构为堆/堆结构。

4. 稀疏矩阵一种常用的压缩存储方法称为三元组表方式,即每个三元组表中的元素由、行、列、值、三部分组成。

5. 二维数组A[10][20]采用列序为主方式存储,每个元素占10个存储单元,且A[0][0]的存储地址是2000,则A[6][12]的地址是3260 。

6.进栈序列为a,b,c,则通过出栈和进栈操作可能得到的a,b,c的不同的排列序列有5 种。

7. 广义表((a,b),c,d)的表头是(a, b) ,表尾是(c,d) 。

8.已知二维数组A[20][10]采用行序为主方式存储,每个元素占2个存储单元,并且A[10][5]的存储地址是1000,则A[18][9]的存储地址是1168 。

9. 广义表((((a),b),c),d)的表头是(((a),b),c) ,表尾是(d) 。

10. 设s=’YOU ARE JUDGING IT RIGHT OR WRONG’,顺序执行下列操作:SubString(sub1,s,1,8);SubString(sub2,s,20,5);StrCat(sub1,sub2); 则最后sub1的值为:’YOU ARE RIGHT’。

11. 假设用循环单链表实现队列,若队列非空,且队尾指针为R, 则将新结点S加入队列时,需执行下面语句:S->next=R->next ;R->next=S ;R=S 。

12.设有两个串p和q,求q在p中首次出现的位置的运算称作子串定位。

c语言题目及答案

c语言题目及答案

考试题型一、单项选择题(30分)二、填空题(20分)三、阅读程序写结果(20分)四、编程序题(30)复习题一一、选择题1.下列说法中正确的是。

A.C语言程序由主函数和0个或多个函数组成B.C语言程序由主程序和子程序组成C.C语言程序由子程序组成D.C语言程序由过程组成2.执行语句“x=(a=3,b=a-—)"后,x,a,b的值依次为 .A.3,3,2 B.3,2,2 C.3,2,3 D.2,3,23.设有int i=010,j=10;则printf(”%d,%d\n",++i,j--);的输出的是。

A.11,10 B.9,10 C.010,9 D.10,9 4.设a、b为字符型变量,执行scanf("a=%c,b=%c”,&a,&b); 后使a为’A', b为'B',从键盘上的正确输入是。

A.'A’’B' B.’A’,’B' C.A=A,B=B D.a=A,b=B5.已知int x=12, y=3;执行下述程序后,变量x的值是____。

do{ x/=y—-;}while(x〉y);A.1 B.2 C.3 D.程序运行有错误6.C语言中while和do-while循环的主要区别是。

A.do—while的循环体至少无条件执行一次B.while的循环控制条件比do—while的循环控制条件严格C.do—while允许从外部转到循环体内D.do-while的循环体不能是复合语句7.设x和y均为int型变量,则执行下面的循环后,y的值为。

for (y=1,x=1;y<=50;y++) {if (x>=10 ) break;if (x%2==1){x+=5;continue;}x - =3;}A.2 B.4 C.6 D.88.以下正确的说法是____。

A.用户若需调用标准函数,调用前必须重新定义B.用户可以重新定义标准库函数,若如此,该函数将失去原有含义C.系统根本不允许用户重新定义标准函数D.用户若需要调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调9.若调用一个函数,且此函数中没有return语句,则关于该函数正确的说法是__ _。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1. 下列程序段执行后的输出结果是【1】void func(int *a,int b[]){ b[0]=*a+6; } main(){ int a,b[5]; a=0; b[0]=3;func(&a,b); printf("%d\n",b[0]); } 2. 已定义以下函数,函数的功能是【2】fun(char *p2, char *p1){ while((*p2=*p1)!=’\0’){ p1++; p2++; } } 3. 下列程序段执行后的输出结果是【3】void ss(char *s,char t){ while(*s){if(*s= =t)*s=t-’a’+’A’; s++; } } main(){ char str1[100]="abcddfefdbd",c=’d’;ss(str1,c); printf("%s\n",str1); } 4. 执行以下程序段后,a,b的值分别为【4-1】【4-2】main(){ int a,b,k=4,m=6,*p1=&k,*p2=&m;a=p1==&m; b=(*p1)/(*p2)+7;printf("a=%d\n",a); printf("b=%d\n",b);}5.假定以下程序段经编译和连接后生成可执行PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:PROG ABCDEFGH IJKL<回车>,则输出结果为【5】main(int argc, char *argv[]){ while(--argc>0)printf("%s",argv[argc]);printf("\n"); }6. 下面程序段的运行结果是【6】char a[]="lanuage",*p; p=a;while(*p!=′u′){printf("%c",*p-32);p++;}7. 函数fun的返回值是【7】fun(char *a,char *b){ int num=0,n=0;while(*(a+num)!=′\0′)num++;while(b[n]){ *(a+num)=b[n]; num++;n++; } return num; }8. 下面程序段的运行结果是【8】main(){ int a[5]={2,4,6,8,10},*p,**k;p=a; k=&p; printf("%d",*(p++));printf("%d\n",**k); }9. 下面程序段的运行结果是【9】void fun(int *a, int *b){ int *k; k=a; a=b; b=k; }main(){ int a=3, b=6, *x=&a, *y=&b; fun(x,y);printf("%d %d", a, b); }10. 下面程序段的运行结果是【10】sub(int x,int y,int *z){ *z=y-x; }main(){ int a,b,c; sub(10,5,&a);sub(7,a,&b); sub(a,b,&c);printf("M,M,M\n",a,b,c); }11. 下面程序段的运行结果是【11】main(){ char *p1="abc",*p2="ABC",str[50]= "xyz";strcpy(str+2,strcat(p1,p2));printf("%s\n",str); }12. 下面程序段的运行结果是【12】main(){ char ch[2][5]={"6937","8254"},*p[2];int i,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>′\0′;j+=2)s=10*s+p[i][j]-′0′;printf("%d\n",s); }13. 下面程序段的运行结果是【13】#define N 10#define M 10char *find(char (*a)[M],int n){ char *q; int i; q=a[0];for(i=0;i<n;i++)if(strcmp(a[i],q)<0)q=a[i];return q; }main(){ char s[N][M]={"tomeetme","you","and","he","china"}; char *p; int n=5,i; p=find(s,n); puts(p); }14. 下面程序段的运行结果是【14】#define M 100void fun(int m, int *a, int *n){ int i,j=0;for(i=1;i<=m;i++)if(i%7==0||i ==0)a[j++]=i;*n=j; }main(){ int aa[M],n,k; clrscr(); fun(10,aa,&n);for(k=0;k<M;k++)if((k+1)==0)printf("\n");else printf("M",aa[k]);printf("\n"); }15. 若给fun函数的形参s传送字符串:“]]6354abcc”(其中]表示空格字符),则函数的返回值是【15】。

long fun(char s[]){ long n;int sign;for(;isspace(*s);s++);sign=(*s==′-′)?-1:1;if(*s==′+′||*s==′-′)s++;for(n=0;isdigit(*s);s++)n=10*n+(*s-′0′); return sign*n; }16. 下面函数的功能是:【16】char *fun(char *str1,char*str2){ while((*str1)&&(*str2++=*str1++));return str2; } 17. 下列程序段是用来判断数组中特定元素的位置所在。

如果输入如下整数, 则输出结果为【17】876 675 896 101 301 401 980 431 451 777int fun(int *s, int t, int *k){ int i; *k=0;for(i=0;i<t;i++)if(s[*k]<S[i])*K=i;return s[*k]; }main(){ int a[10]={ 876,675,896,101,301,401,980,431,451,777},k;clrscr(); fun(a, 10, &k);printf("%d, %d\n ", k, a[k]); }18. 有以下程序段, 若从键盘输入:abc def<回车>,则输出结果是【18】main(){ char *p,*q;p=(char *)malloc(sizeof(char)*20); q=p; scanf("%s %s",p,q); printf("%s %s\n",p,q); }19. 有以下程序段, 程序段运行后的输出结果是【19】main(){ char *p="abcde\0fghjik\0 ";printf("%d\n ",strlen(p));}20.阅读下面程序段,执行后的结果为【20】void fun(int *a,int *b){ int k; k=5; *a=k; *b=*a+k; } main(){ int *a,*b,x=10,y=15; a=&x; b=&y; fun(a,b);printf("%d,%d\n",*a,*b); }21.阅读下面程序段,在程序段执行后的结果为【21】int *fun(int *a,int *b){ int m; m=*a; m+=*b-3; return(&m); } main(){ int x=21,y=35,*a=&x,*b=&y; int *k;k=fun(a,b); printf("%d\n",*k); }22. 阅读下列程序段,则执行后的结果为【22】main(){ int c[][4]={ 1 , 2, 3, 4, 5, 6, 7, 34, 213,56, 62,3, 23,12,34, 56 };printf("%x,%x\n",c[2][2],*(*(c+1)+1)); }23.下面程序段的文件名为t.exe,在DOS下输入的命令行参数如下:t to meet me<回车>则程序段输出的结果是【23】main(int argc, char *argv[]){ printf("%d\n",argc); }24.现有如下程序段,执行后的结果为【24】int *fun(int *a,int *b){ int c; c=*a%*b; return &c; }main(){ int a=5,b=19,*c;c=fun(&a,&b); printf("%d\n",++*c); } 25.现有如下程序段,执行后的结果为【25】main(){ int a[5][6]={23,3,65,21,6,78,28,5,67,25, 435,76,8,22,45,7,8,34,6,78,32,4,5,67,4,21,1};int i=0,j=5;printf("%d\n",*(&a[0][0]+2*i+j-2)); } 26.现有如下程序段,执行后的结果为【26】main(){ char a[]="acfijk"; /*这里是有序的字符序列*/char b[]="befijklqswz";/*这里是有序的字符序列*/ char c[80],*p; int i=0,j=0,k=0;while(a[i]!=′\0′&& b[j]!=′\0′){ if(a[i]<b[j])c[k++]= a[i++];else if(a[i]>b[j])c[k++]=b[j++];else {c[k++]=b[j++]; i++; }}while(a[i]==′\0′&& b[j]!=′\0′)c[k++]=b[j++];while(a[i]!=′\0′&& b[j]==′\0′)c[k++]=a[i++];c[k]=′\0′; puts(c); }27. 阅读下面程序段,则执行后输出的结果为【27】void fun(int *a,int *b){ int m;m=(*a+*b)*(*a+*b); m+=(*a-*b)*(*a-*b);printf("%d\n",m);}main(){ int a=5,b=6,*x=&a,*y=&b; fun(x,y); }28. 阅读下面程序段,则执行后的结果为【28】main(){ char *str="abcdefghijklmnopq";while(*str++!=′e′); printf("%c\n",*str); }29.现有如下程序段,执行后的结果为【29】int fun(int k,int *m){ if(k%3)*m=k*k;else *m=k/3; } main(){ int (*p)(int,int *),m; p=fun;(*p)(78,&m); printf("%d\n",m); } 30.阅读如下程序段,则执行后的结果为【30】main(){ int a,*p,*q,**w; p=&a; q=&a;w=&p; *p=5%6; *q=5; **w=3; printf("%d\n",a); }31.现有下列程序段,执行后的结果为【31】void JFT(int *a,int *b,int *c,int *d,int *e){ int i,j,k,m;for(i=0;i<*a;i++)for(j=0;j<*b;j++)for(k=0;k<*c;k++)for(m=0;m<*d;m++)*e++; }main(){ int a=10,b=10,c=10,d=10,e=0;JFT(&a,&b,&c,&d,&e); printf("%d\n",e); } 32.阅读下面程序段,则程序段的输出结果为【32】main(){ int c[]={1,2,3,4,5,6}; int *p;p=c; printf("%d,",*p);printf("%d\n",*++p); }。

相关文档
最新文档