文档详情

历届C语言考试的选择题2.doc

发布:2018-02-07约3.25千字共4页下载文档
文本预览下载声明
2 语句 k=(m=5,n=++m); 运行之后,变量k、m、n的值依次为( ) A 5,5,6 B 6,6,5 C 5,6,5 D 6,6,5 应为6,6,6 D一个字符 7以下程序段运行后变量k的值为(C)。 int a=3,b=2; int k; k=(--a==b++)?a:b+1; A 1 B 3 C 2 D 0 9. (D)是合法的数组定义。 A int a[ ]=string; B int a[5]={0,1,2,3,4,5}; C char str[ ]=‘string’; D char str[ ]={48,49,50,51,52,53}; 14 下面程序的运行结果是( B)。 main( ) { int a,b; int *p1=a,*p2=b,*t; a=10; b=20; t=p1; p1=p2; p2=t; printf(%d,%d\n,a,b); } A 20,10 B 10,20 C 10,10 D 20,20 15 若有以下定义: struct node { int data; struct node *next; } *p,*q; 已建立如下图所示的链表: ┌──┬──┐ ┌──┬──┐ ... p →│data│next┼→│data│NULL│ └──┴──┘ └──┴──┘ ┌──┬──┐ q →│data│next│ └──┴──┘ 不能将指针q所指结点连到上图所示链表末尾的语句是(D)。 A p=p-next; p-next=q; q-next=NULL; B p=p-next; q-next=p-next; p-next=q; C q-next=NULL; p=p-next; p-next=q; D q-next=p-next; p=p-next; p-next=q; 16 设有如下定义: typedef int *INTEGER; INTEGER p,*q; 下列叙述正确的是(B)。 A 不能用INTEGER来定义变量 B p是基类型为int的指针变量 C p是int型变量,q是基类型为int的指针变量 D 程序中可用INTEGER代替int类型名 17 下面程序的运行结果是(B)。 #include stdio.h main() { FILE *fp; int a=2,b=4,c=6,k,n; fp=fopen(test.dat,w); fprintf(fp,%d\n,a); fprintf(fp,%d %d\n,b,c); fclose(fp); fp=fopen(test.dat,r); fscanf(fp,%d%*d%d,k,n); printf(%d %d\n,k,n); fclose(fp); } A 2 4 B 2 6 C 4 2 D 6 2 28 以下程序运行后输出结果是(C)。 #include stdio.h int fun(int a, int b) { return(a-b); } main() { int x=5,y=3,k; k=fun(x,y); printf(%d-%d=%d\n,x,y,k); } A 0 B x-y=2 C 5-3=2 D 2 39 以下程序的功能是(C)。 #include stdio.h main() { FILE *fp; long int n; fp=fopen(exam.txt,rb); fseek(fp,0,SEEK_END); n=ftell(fp); fclose(fp); printf(%ld,n); } A 将文件指针从地址为0处移动到文件末尾 B 计算文件指针的当前地址 C计算文件exam.txt的字节数 D计算文件exam.txt的终止地址 50 以下程序段运行后,表达式*(p+4)的值为(B)。 char a[]=china; char *p; p=a; A 存放n的地址 B a C n D 存放a的地址 51以下程序段运行后变量ans的值为( A )。 int a[]={1,2,3},b[]={3,2,1}; int *p=a,*q=b; int k,ans=0; for(k=0;k3;k++) if(*(p+k)==*(q
显示全部
相似文档