资源描述
一、选择题(1) 在C语言中,如果下面的变量都是int类型,则输出的结果是sum=pad=5; pad=sum + + ,pad + + , + + pad;printf(%dn,pad);A) 7 B) 6 C) 5 D) 4(2) 以下程序的输出结果是# include main() int i=010 , j = 10;printf(%d,%dn,+ +i , j - -); A) 11,10 B) 9,10 C) 010,9 D) 10,9(3) 已知在ASCII代码中,字母A的序号为65,以下程序的输出的结果是# include main() char c1=A, c2=Y;printf(%d,%dn,c1,c2); A) 因输出格式不合法,输出错误信息 B)65,90 C)A,Y D)65,89(4) 指针s所指字符串的长度为char *s=NameAddressn;A) 19 B) 15 C) 18 D) 说明不合法(5) 设有说明int(*ptr)m;其中的标识符ptr是A)M个指向整型变量的指针B)指向M个整型变量的函数指针C)一个指向具有M个整型元素的一维数组的指针 D)具有M个指针元素的一维指针数组,每个元素都只能指向整型量(6) 语句while(!E);中的条件!E等价于A)E = = 0 B)E!=1 C)E!=0 D)E(7) 以下程序的输出结果是# include main() printf(%dn,NULL); A) 不确定的(因变量无定义) B)0 C)-1 D)1(8) 以下函数调用语句中含有的实参个数为。func(exp1,exp2),(exp3,exp4,exp5);A) 1 B) 2 C) 4 D) 5(9) 设有以下语句:char a=3,b=6,c;c=ab2;则c的二进制值是A) 00011011 B)00010100 C)00011100 D)00011000(10) 下面的程序中第几行有错误(每行程序前面的数字是行号)。1 #include 2 main()3 4 float a3=0,0;5 int i;6 for(i=0;i3;i + + ) scanf(%d,&ai);7 for(i=1;i3;i + + ) a0=a0+ai;8 printf(%fn,a0);9 A) 没有 B)第4行 C)第6行 D)第8行(11) 设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值是A)3 B)0 C)9 D)-12(12) 以下的for循环for(x=0,y=0; (y!=123)&(x4); x + + );A) 是无限循环 B)循环次数不定 C)执行4次 D)执行3次(13) 设有语句char a=72;则变量aA)包含1个字符 B)包含2个字符 C)包含3个字符 D)说明不合法(14) 以下程序的输出结果是# include # include main() int a=1,b=4,c=2;float x=10.5 , y=4.0 , z;z=(a+b)/c+sqrt(double)y)*1.2/c+x;pritnf(%fn,z); A) 14.000000 B) 015.400000 C) 13.700000 D) 14.900000(15) sizeof(double)是A)一种函数调用 B)一个双精度型表达式C)一个整型表达式 D)一个不合法的表达式(16) C语言中A)不能使用do-while语句构成的循环 B)do-while语句构成的循环必须用break语句才能退出C)do-while语句构成的循环,当while语句中的表达式值为非零时结束循环D)do-while语句构成的循环,当while语句中的表达式值为零时结束循环(17) 以下程序的输出结果是# include # include main() char str12=s,t,r,i,n,g;printf(%dn,strlen(str); A) 6 B) 7 C) 11 D) 12(18) 以下程序的输出结果是# include main() int a=2,c=5;printf(a=%d,b=%dn,a,c); A) a=%2,b=%5 B) a=2,b=5 C) a=%d,b=%d D) a=%d,b=%d(19) 以下程序的输出结果是# includemain() int a ,b,d=241;a=d/100%9;b=(-1)&(-1);printf(%d,%dn,a,b); A) 6,1 B) 2,1 C) 6,0 D) 2,0(20) 以下程序的输出结果是# include main() int i; for ( i=1;i=5;i + + ) if ( i%2 ) printf(*);else continue; printf(#);printf($n); A) *#*#*#$ B) #*#*#*$ C) *#*#$ D) #*#*$(21) 以下for语句构成的循环执行了多少次# include # define N 2# define M N+1# define NUM (M+1)*M/2main() int i , n=0;for ( i=1;i=NUM;i + + );n + + ; printf(%d,n); printf(n); A) 5 B) 6 C) 8 D) 9(22) 设有以下语句,则不是对a数组元素的正确引用的选项是(其中0i10)int a10=0,1,2,3,4,5,6,7,8,9, *p=a;A) ap-a B) *(&ai) C) pi D) *(*(a+i)(23) 有以下程序:# include # define N 6main() char cN; int i=0;for ( ;iN ; ci=getchar () , i + + );for ( i=0 ; iN ; putchar(ci) , i + + ); 输入以下三行,每行输入都是在第一列上 开始,代表一个回车符:abcdef程序的输出结果是A) abcdef B) a C) a D) a b b b c cd cdef d e f(24) 以下程序调用findmax函数求数组中值最大的元素在数组中的下标,请选择填空。# include findmax ( s , t , k )int *s , t , *k; int p; for(p=0,*k=p;p s*k )_; main() int a10 , i , k ;for ( i=0 ; i10 ; i + + ) scanf(%d,&ai);findmax ( a,10,&k );printf ( %d,%dn , k , ak ); A) k=p B) *k=p-s C) k=p-s D) *k=p(25) 有以下程序:#includeunion pw int i; char ch2; a;main() a.ch0=13; a.ch1=0; printf(%dn,a.i); 程序的输出结果是(注意: ch0在低字节,ch1在高字节。)A) 13 B) 14 C) 208 D) 209(26) 有以下程序:# includemain() int c;while(c=getchar()!=n) switch(c-2) case 0:case 1: putchar(c+4);case 2: putchar(c+4);break;case 3: putchar(c+3);case 4: putchar(c+2);break; printf(n); 从第一列开始输入以下数据,代表一个回车符。2743程序的输出结果是A) 668977 B) 668966 C) 6677877 D) 6688766(27) 以下程序的输出结果为main() char *alpha6=ABCD,IJKL,MNOP,QRST,UVWX;char *p; int i;p=alpha;for(i=0;i4;i + + ) printf(%s,pi); printf(n); A) ABCDEFGHIJKL B) ABCD C) ABCDEFGHIJKLMNOP D) AEIM(28) 以下程序的输出结果是# include# define FUDGE(y) 2.84+y# define PR(a) printf(%d,(int)(a)# define PRINT1(a) PR(a);putchar(n)main()int x=2; PRINT1(FUDGE(5)*x); A) 11 B) 12 C) 13 D) 15(29) 以下程序的输出结果是# includemain() int i=1,j=3;printf(%d,i + + ); int i=0; i+=j*2; printf(%d,%d,i,j); printf(%d,%dn,i,j); A) 1,6,3,1,3 B) 1,6,3,2,3 C) 1,6,3,6,3 D) 1,7,3,2,3(30) 以下程序的输出结果是# include main() int k=4,m=1,p;p=func(k,m); printf(%d,p); p=func(k,m); printf(%dn,p);func(a,b)int a,b; static int m=0,i=2;i+=m+1; m=i+a+b; return(m); A) 8,17 B) 8,16 C) 8,20 D) 8,8(31) 设有以下语句:char str412=aaa,bbbb,ccccc,dddddd,*strp4;int i; for(i=0;i4;i + + )strpi=stri;不是对字符串的正确引用的选项是(其中0kn B) p-n + + C) (*p).n + + D) + + p-n(35) 以下四个程序中,哪一个不能对两个整型变量的值进行交换A)# include main() int a=10,b=20; swap(&a,&b); printf(%d %dn,a,b);swap(p,q)int *p,*q;int *t; t=(int )malloc(sizeof(int);t=p;*p=*q;*q=*t; B) # include main()int a=10,b=20; swap(&a,&b);printf(%d %dn,a,b);swap(p,q)int p,q;int *t;t=*p;*p=*q;*q=t;C) # include main() int *a,*b;*a=10,*b=20;swap(a,b);printf(%d %dn,*a,*b);swap(p,q)int *p,*q;int t;t=*p;*p=*q;*q=t;D) # includemain()int a=10,b=20;int x=&a,y=&b;swap(x,y);printf(%d %dn,a,b);swap(p,q)int *p,*q;int t;t=*p;*p=*q;*q=t;二、填空题(1) 以下C语言程序将磁盘中的一个文件复制到另一个文件中,两个文件名在命令行中给出。#include main(argc,argv)int argc; char *argv; FILE *f1,*f2; char ch;if(argc 【1】 ) printf(Parameters missing!n); exit(0); if( (f1=fopen(argv1,r) = = NULL)|(f2=fopen(argv2,w) = = NULL) printf(Can not open file!n); exit(0);while( 【2】 )fputc(fgetc(f1),f2);fclose(f1); fclose(f2); (12) 以下程序中的trap函数是一个用梯形法求定积分的通用函数。梯形法求定积分的公式为:n-1 a-bs=(f(a)+f(b)/2+ f(a+i*h)*h , h=|-|i=1 n其中,n为积分小区间数。以下程序调用trap函数求定积分,被积函数是:f(x)=x*x+3*x+2,且n=1000,a=0,b=4。#include 3include double trap(fun,a,b)double (*fun)(),a,b; double t,h;int i,n=1000;t=0.5*(*fun)(a)+(*fun)(b); h=fabs(a-b)/(double)(n);for(i=1;i=n-1;i + + ) t=t+ 【3】 ;t=t*h; return(t); double mypoly(x)double x; return(x*x+3.0*x+2.0); main() double y,(*pf)(); pf= 【4】 ;y=trap(pf,0.0,4.0); printf(%fn,y); (13) 以下程序求a数组中的所有素数的和,函数isprime用来判断自变量是否为素数。素数是只能被1和本身整除且大于1的自然数。#include main() int i,a10,*p=a,sum=0;printf(Enter 10 num:n);for(i=0;i10;i + + ) scanf(%d,&ai);for(i=0;i10;i + + )if(isprime(*(p+ 【5】 ) = = 1) printf(%d,*(a+i); sum+=*(a+i); printf(nThe sum=%dn,sum); isprime(x)int x; int i; for(i=2;i=x/2;i + + )if(x%i = = 0) return (0); 【6】 ; (14) 以下程序调用invert函数按逆序重新放置a数组中元素的值。a数组中的值在main函数中读入。#include #define N 10invert(s,i,j)int *s,i,j; int t; if(ij) t=*(s+i); *(s+j)=(s+j);*(s+j)=t; invert(s, 【7】 ,j-1);main() int aN,i;for(i=0;iN;i + + ) scanf(%d,a+ 【8】 );invert(a,0,N-1);for(i=0;inext = = NULL).#includestruct list int data;struct list *next;【9】 creatlist() struct list *p,*q,*ph; int a;ph=(struct list *) malloc(sizeof(struct list);p=q=ph; printf(Input an integer number,enter -1 to end:n);scanf(%d,&a):while(a!=-1) p=(struct list *)malloc(sizeof(struct list);p-data=a; q-next=p; 【10】 =p; scanf(%d,&a); p-next=0; return(ph); main() struct list *head; head=creatlist();参考答案选择题:(1)C (2)B (3)D (4)B (5)C (6)A (7)B (8)B (9)A (10)C(11)D (12)C (13)A (14)C (15)C (16)D (17)A (18)D (19)B (20)A(21)C (22)D (23)C (24)D (25)A (26)A (27)C (28)B (29)B (30)A(31)A (32)C (33)A (34)D (35)C 填空题:(1)3(2)!feof(f1)或feof(f1)=0(3)(*fun)(a+i*h)(4) mypoly(5)I(6)return 1 或 return (1)(7)i+1(8) I(9) struct list *(10) q一、选择题(1) 请选出可用作C语言用户标识符的一组标识符A) void B) a3_b3 C) For D) 2adefine _123 -abc DOWORD IF Case sizeof(2) 设 int a=12,则执行完语句 a+=a-=a*a后,a的值是A) 552 B) 264 C) 144 D) -264(3) C语言程序的基本单位是A) 程序行 B) 语句 C) 函数 D) 字符(4) 请选出合法的C语言赋值语句A) a=b=58 B) i+; C) a=58,b=58 D) k=int(a+b);(5) 执行下面程序片段的结果是int x=23;do printf(%2d,x-);while(!x);A) 打印出321 B) 打印出23 C) 不打印任何内容 D) 陷入死循环(6) 请选出以下语句的输出结果printf(%dn,strlen(t065xffn);A) 5 B) 14 C) 8 D) 输出项不合法,无正常输出(7) 设有如下的函数ggg(x)float x; printf(n%d,x*x);则函数的类型A) 与参数x的类型相同 B) 是void C) 是int D) 无法确定(8) 设有如下枚举类型定义:enum language Basic=3,Assembly,Ada=100,COBOL,Fortran;枚举量Fortran的值为A) 4 B) 7 C) 102 D) 103(9) 若有以下说明和语句,请选出哪个是对c数组元素的正确引用int c45, (*cp)5;cp=c;A) cp+1 B) *(cp+3) C) *(cp+1)+3 D) *(*cp+2)(10) 标准函数 fgets(s, n, f) 的功能是A) 从文件f中读取长度为n的字符串存入指针s所指的内存B) 从文件f中读取长度不超过n-1的字符串存入指针s所指的内存C) 从文件f中读取n个字符串存入指针s所指的内存D) 从文件f中读取长度为n-1的字符串存入指针s所指的内存(11) 设有如下一段程序:int *var,ab;ab=100var=&ab;ab=*var+10;执行上面的程序后,ab的值为A) 120 B) 110 C) 100 D) 90(12) 以下程序段给数组所有的元素输入数据,请选择正确答案填入。#includemain() int a10,i=0;while(i10) scanf(%d,_ );A) a+(i+) B) &ai+1 C) a+i D) &a+i(13) 设有如下的程序段:char str =Hello;char *ptr;ptr=str;执行上面的程序段后,*(ptr+5)的值为A) o B) 0 C) 不确定的值 D) o的地址(14) 在宏定义 #define PI 3.14159中,用宏名PI代替一个A) 单精度数 B) 双精度数 C) 常量 D) 字符串(15) 字符(char)型数据在微机内存中的存储形式是A) 反码 B) 补码 C) EBCDIC码 D) ASCII码(16) 执行下面的程序段int x=35;char z=A;int b;B=(x&15)&(za);后,B的值为A) 0 B) 1 C) 2 D) 3(17) C语言规定,程序中各函数之间A) 既允许直接递归调用也允许间接递归调用B) 不允许直接递归调用也不允许间接递归调用C) 允许直接递归调用不允许间接递归调用D) 不允许直接递归调用允许间接递归调用(18) 假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式 的表达式是A) 1/a*b*c B) 1/(a*b*c) C) 1/a/b/(float)c D) 1.0/a/b/c(19) 若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是A) pb=&x B) pb=x; C) *pb=&x; D) *pb=*x(20) 设有static char str =Beijing;则执行printf(%dn, strlen(strcpy(str,China);后的输出结果为A) 5 B) 7 C) 12 D) 14(21) 设有如下程序:#includemain() int *k, *j, i=100;j=&i; k=&j;printf(%dn, *k);上面程序的输出结果是A) 运行错误 B) 100 C) i的地址 D) j的地址 (22) 设 a=5, b=6, c=7, d=8, m=2, n=2, 执行(m=ab)&(n=cd)后n的值为A) 1 B) 2 C) 3 D) 4(23) 下面函数的功能是sss(s, t)char *s, *t; while(*s)&(*t)&(*t+= *s+);return(*s-*t);A) 求字符串的长度 B) 比较两个字符串的大小C) 将字符串s复制到字符串t中 D) 将字符串s接续到字符串t中(24) 请选出以下程序的输出结果#includesub(x,y,z)int x, y, *z; *z=y-x; main() int a, b, c;sub(10,5,&a); sub(7,a,&b); sub(a,b,&c);printf(%d,%d,%dn, a,b,c);A) 5,2,3 B) -5,-12,-7 C) -5,-12,-17 D) 5,-2,-7(25) 下面程序的输出结果是#includemain() int i=2,p;p=f(i,i+1);printf(%d,p);int f(a,b)int a,b; int c;if(ab) c=1;elseif(a=b) c=0;else c=-1;return(c);A) -1 B) 0 C) 1 D) 2(26) 请选出以下程序段的输出结果#include#define MIN(x,y) (x)(y)? (x):(y)main() int i,j,k;i=10; j=15;k=10*MIN(i,j);printf(%dn,k);A) 15 B) 100 C) 10 D) 150(27) 请选出以下程序段的输出结果#includemain() char sl10, s210, s310, s410;scanf(%s%s,s1,s2); gets(s3); gets(s4);puts(s1); puts(s2); puts(s3); puts(s4);输入数据如下:(此处代表回车符)aaaa bbbbcccc ddddA) aaaa B) aaaa C) aaaa D) aaaa bbbb bbbb bbbb bbbb cccc cccc cccc dddd dddd cccc dddd dddd eeee(28) 请选出以下程序的输出结果#includefun(s, n1, n2)int *s, n1, n2; int i, j, t;i=n1; j=n2;while(ij) t= *(s+i); *(s+i)= *(s+j); *(s+j)=t;i+; j-;main() int a10=1,2,3,4,5,6,7,8,9,0,i, *p=a;fun(p,0,3); fun(p,4,9); fun(p,0,9);for(i=0; i10; i+) printf(%d, *(a+i);printf(n);A) 0 9 8 7 6 5 4 3 2 1 B) 4 3 2 1 0 9 8 7 6 5C) 5 6 7 8 9 0 1 2 3 4 D) 0 9 8 7 6 5 1 2 3 4(29) 请选出以下程序的输出结果#includemain() int a = 1,2,3,4 ,i;int x=0;for(i=0; ix );printf(%dn, (+p)-x);printf(%dn, +( *p-y);A) 10 B) 50 C) 51 D) 60 20 60 60 70 20 21 21 31二、填空题(1) 设有如下程序段:int i=0, sum=1;do sum+=i+;while(i6);printf(%dn, sum);上述程序段的输出结果是 【1】 。(2) 阅读下列程序:#includemain() int i, j, row, column,m;static int array33=100,200,300,28,72,-30,-850,2,6;m=array00;for (i=0; i3; i+)for (j=0; j3; i+)if (arrayijm) m=arrayij; row=i; column=j;printf(%d,%d,%dn,m,row,column);上述程序的输出结果是 【2】 。(3) 设a、b、c为整型数, 且a=2、b=3、c=4, 则执行完以下语句:a*=16+(b+)-(+c);后,a的值是 【3】 。(4) 下面程序的输出结果是 【4】 。#includemain() int a=3, b=2, c=1;c-=+b;b*=a+c; int b=5, c=12;c/=b*2;a-=c;printf( %d,%d,%d,a,b,c);a+=-c;printf( %d,%d,%d,a,b,c);(5) 设有如下程序:#includemain(argc,argv)int argc; char *argv ; while( -argc0) printf(%s,argvargc);printf(n);假定上述程序经编译和连接后生成可执行文件PROG.EXE,如果在DOS提示符下键入PROG ABCD EFGH IJKL ,则输出结果为 【5】 。(6) 阅读下列程序:#include#define MAX_COUNT 4void fun();main() int count;for (count=1; count=MAX_COUNT; count+) fun();void fun() static int i;i+=2; printf(%d,i);上述程序的输出结果是 【6】 。(7) 设有下列程序:#include#includemain() int i;char str10, temp10;gets(temp);for (i=0; i4; i+) gets(str);if (strcmp(temp,str)0) strcpy(temp,str);printf(%sn,temp);上述程序运行后,如果从键盘上输入(在此代表回车符):C+BASICQuickCAdaPascal则程序的输出结果是 【7】 。(8) 设有如下程序:#include main(argc,argv)int argc; char *argv ; FILE *fp;void fc();int i=1;while( -argc0)if(fp=fopen(argvi+,r)=NULL) printf(Cannot open file! n);exit(1);else fc(fp); fclose(fp); void fc(ifp)FILE *ifp; char c;while(c=getc(ifp)!=#) putchar(c-32);上述程序经编译、连接后生成可执行文件名为cpy.exe。假定磁盘上有三个文本文件,其文件名和内容分别为:文件名 内容a aaaa#b bbbb#c cccc#如果在DOS下键入cpy a b c则程序输出 【8】 。(9) 若输入3个整数3,2,1,则下面程序的输出结果是【9】 。#includevoid sub( n,uu)int n, uu ; int t;t=uun-; t+=3*uun;n=n+;if(t=10) uun+=t/10; uun=t%10;else uun=t;main( ) int i, n, aa10=0,0,0,0,0,0scanf( %d%d%d,&n,&aa0,&aa1);for(i=1; in; i+) sub(i,aa);for(i=0; i=n; i+) printf(%d,aai);printf(n);(10) 若有以下定义:double w10;则w数组元素下标的上限为 【10】 ,下限为 【11】 。(11) 以下程序统计从终端输入的字符中每个大写字母的个数。用#号作为输入结束标志,请填空。#include #include main( ) int num26,i; char c;for(i=0; i26; i+) numi=0;while( 【12】 !=#) /*统计从终端输入的大写字母个数*/if( isupper(c) numc-65+=1;for(i=0; i26; i+) /*输出大写字母和该字母的个数*/if(numi) printf(%c:%dn,i 【13】 , numi);(12) 下面的程序调用getone函数开辟一个动态存储单元,调用assone函数把数据输入此动态存储单元,调用outone函数输出此动态存储单元中的数据。请填空。#include getone(s)int *s; *s=(int *)malloc(sizeof(int);assone(a)int *a; scanf(%d, 【14】 );outone(b)int *b;printf(%dn, 【15】 );main( ) int *p;getone(&p);assone(p);outone(p); 选择题:(1)B (2)D (3)C (4)B (5)B (6)A (7)C (8)C (9)D (10)B (11)B (12)A (13)B (14)D (15)D (16)B (17)A (18)D (19)A (20)A (21)B (22)B (23)B (24)B (25)A (26)A (27)A (28)C (29)C (30)C 填空题:(1) 16(2) -850,2,0若遗漏逗号扣1分(3) 28(4) 2,5,1,2,3,-2若遗漏逗号扣1分(5) IJKLEFGHABCD 若在字符间嵌入空格扣1分 若在字符间嵌入空格扣1分(6)2468(7) QuickC 若大写字母写成小写字母,或小写字母写成大写字母扣1分(8) AAAABBBBCCCC 若在字符间嵌入空格扣1分若用小写字母扣1分(9) 2 7 2 1 或2721(10) 9(11) 0(12) (c=getchar() 注意,外层括号不得遗漏(13) +65 或 +A(14) a 或&*a(15) *b一、选择题(1) 下列叙述中正确的是A) C语言编译时不检查语法B) C语言的子程序有过程和函数两种C) C语言的函数可以嵌套定义 D) C语言所有函数都是外部函数(2) 以下所列的C语言常量中,错误的是A) 0xFF B) 1.2e0.5 C) 2L D) 72(3) 下列选项中,合法的C语言关键字是A) VAR B) cher C) integer D) default(4) 以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子 的C语言表达式是A) x/y*z B) x*(1/(y*z) C) x/y*1/z D) x/y/z(5) 若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是A) -3 B) 9 C) -12 D) 6(6) 设x、y、t均为int型变量,则执行语句:x=y=3;t=+x|+y;后,y的值为A) 不定值 B) 4 C) 3 D) 1(7) 若变量已正确说明为float类型,要通过语句scanf(%f %f %f ,&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:A) 10 B) 10.0,22.0,33.02233C) 10.0 D) 10 2222.0 33.0 33(8) 若执行以下程序时从键盘上输入9,则输出结果是A) 11 B) 10 C) 9 D) 8Main0 int n;scanf(%d,&n);if(n+10) printf(%dn,n);else printf(%dn,n-);(9) 若a、 b、c1、c2、x、y、均是整型变量,正确的switch语句是A) swich(a+b); B) switch(a*a+b*b) case 1:y=a+b; break; case 3: case 0:y=a-b; break; case 1:y=a+b;break; case 3:y=b-a,break;C) switch a D) switch(a-b) case c1 :y=a-b; break default:y=a*b;breakcase c2: x=a*d; break case 3:case 4:x=a+b;breakdefault:x=a+b; case 10:case 11:y=a-b;break; (10) 有以下程序段int k=0while(k=1)k+;while 循环执行的次数是A) 无限次 B) 有语法错,不能执行C) 一次也不执行 D) 执行1次(11) 以下程序执行后sum的值是A)15 B)14 C) 不确定 D)0min() int i , sum;for(i=1;i6;i+) sum+=i;printf(%dn,sum);(12) 有以下程序段int x=3do printf(%d,x-=2); while (!(-x);其输出结果是A) 1 B) 3 0 C) 1 -2 D) 死循环(13) 若变量c为char类型,能正确判断出c为小写字母的表达式是A) a=c= a)|(c= z)C) (a=c) D) (c= a)&(c= z)(14) 以下所列的各函数首部中,正确的是A) void play(var :Integer,var b:Integer)B) void play(int a,b)C) void play(int a,int b)D) Sub play(a as integer,b as integer)(15) 以下程序的输出结果是A) 0 B) 29 C) 31 D) 无定值fun(int x, int y, int z) z=x*x+y*y; main() int a=31;fun(5,2,a);printf(%d,a);(16) 下列程序段的输出结果是A) 2 1 4 3 B) 1 2 1 2 C) 1 2 3 4 D) 2 1 1 2void fun(int *x, int *y) printf(%d %d, *x, *y); *x=3; *y=4;main() int x=1,y=2;fun(&y,&x);printf(%d %d,x, y);(17) 下列程序的输出结果是A) 非法 B)a4的地址 C)5 D)3main() char a10=9,8,7,6,5,4,3,2,1,0,*p=a+5;printf(%d,*-p);(18) 下列程序的运行结果是A) 6 3 B) 3 6 C) 编译出错 D) 0 0void 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);(19) 下面程序的输出结果是A) 0 B) 1 C) 10 D) 9main() int a =1,2,3,4,5,6,7,8,9,0,*p;p=a;printf(%dn,*p+9);(20) 当调用函数时,实参是一个数组名,则向函数传送的是A) 数组的长度 B) 数组的首地址C) 数组每一个元素的地址 D) 数组每个元素中的值(21) 设有以下说明语句struct ex int x ; float y; char z ; example;则下面的叙述中不正确的是A) struct结构体类型的关键字 B) example是结构体类型名C) x,y,z都是结构体成员名 D) struct ex是结构体类型(22) 以下只有在使用时才为该类型变量分配内存的存储类说明是A) auto和 static B) auto和 registerC) register和 static D) extern和 register(23) 若fp是指向某文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是A) EOF B) 1 C) 非零值 D) NULL(24) 以下程序的输出结果是A) 20 B) 21 C) 22 D)23main() int i, k, a10, p3;k=5;for (i=0;i10;i+) ai =i;for (i=0;i3;i+) pi =ai *(i+1);for (i=0;i3;i+) k+=pi *2;printf(%dn,k);(25) 以下程序的输出结果是A) 1,5,9 B) 1,4,7 C) 3,5,7 D)3,6,9main() int i, x33=1,2,3,4,5,6,7,8,9;for(i=0;i3;i+) printf(%d,xi2-i);(26) 以下程序的输出结果是A) 18 B) 19 C) 20 D)21main() int a33= 1,2,3,4,5,6 ,i,j,s=0;for(i=1;i3;i+) for(j=0;
展开阅读全文