1、int *px = &a;其中指针变量的名字应该是( )。 A*pz Ba Cpx D&a12若指针 px为空指针,则 ( )。 Apx指向不定 Bpx的值为零 Cpx的目标为零 Dpx的地址为零13对于语句int *px10,以下说法正确的是( ) 。A. px是一个指针,指向一个数组,数组的元素是整数型。B. px是一个数组,其数组的每一个元素是指向整数的指针。C. A和B均错,但它是C语言的正确语句。D. C语言不允许这样的语句。14具有相同基类型的指针变量P和数组变量Y,下列写法中不合法的是 ( ) 。AP = Y B*P = Yi CP + &Yi DP = &Y15已知static
2、 int a=5,4,3,2,1,*p=a+3,a+2,a+1,a,*q=p,则表达式 *(p0+1)+*(q+2)的值是( )。 A5 B4 C6 D716已知for(;n=1;n-),下列语句实现将S2所指字符数组中前n个字符复制到S1所指字符数组中,其中代码不正确的是( )。 A*S1+=*S2+ BS1n-1=S2n-1 C*(S1+n-1)=*(S2+n-1) D*(+S1)=*(+S2)17调用函数的实参与被调用函数的形参应该有如下关系( ) 。 A只要求实参和形参个数相等 B只要求形参和实参顺序相同 C只要求实参和形参数据类型相同 D上述三点均需具备18联合体成员的数据类型 (
3、)。A相同 B可以不同也可以相同 C长度一样 D是结构体变量19由系统分配和控制的标准输出文件为( ) 。 A键盘 B磁盘 C打印机 D显示器20C语言标准库函数fread(fd,buffer,n)的功能是( )。 A从文件fd中读取长度不超过n个字节的数据送入buffer指向的内存区域 B从文件fd中读取长度不超过n-1个字节的数据送入buffer指向的内存区域 C从文件fd中读取长度不超过n个字符送入buffer指向的内存区域 D从文件fd中读取长度不超过n-1个字符送入buffer指向的内存区域第二部分:简单程序(12项,共30分)21下列程序main() int x,y,z; x=y=
4、2;z=3;y=z+-1; printf(“%dt%dt”,x,y); y=+x-1;printf(“%d t%dn”,x,y); y=z-1; printf(“%dt%dt”,z,y); y=-z-1; printf(“%dt%dn”,z,y);运行后输出的数据为_。A. 3 1 4 2 B. 3 1 3 3 C. 2 2 3 2 D. 2 1 3 2 2 4 1 3 2 4 2 2 3 3 2 1 1 3 1 222.下列程序 int i,j;char *a,c;a=”computer”;printf(“%s”,a);for(i=0,j=7;i%sn”,a);c=aj-1,i=2+j;pr
5、intf(“a%d=%cn”,i,c);运行后输出的数据为_ .A. computer-computer B. computer-retupmoca3=u a5=mC. computer-retupmoc D. computer-a4=p a2=t23.下列程序int sum(int n) int p=1,s=0,i;for(i=1;=n;i+) s+=(p*=i);return s; printf(“sum(5)=%dn”,sum(5);运行后输出的数据为_ _A.sum(5)=151 B.sum(5)=152 C.sum(5)=153 Dsum(5)=15524.下列程序 static i
6、nt a=5,6,7,3,2,9;int s1,s2,i,*ptr;s1=s2=0;ptr=&a0;for(i=0;5;i+2=2) s1+=*(ptr+i);s2+=*(ptr+i+1);printf(“s1=%d,s2=%dn”,s1,s2);运行后输出的数据为_A.s1=18,s2=14 B.s1=14,s2=32 C.s1=14,s2=18 D.s1=15,s2=1925.下列程序int c=1;static int a=5;int b=6;printf(“a=%d b=%d c=%dn”,a,b,c);func();printf(“a=%d,b=%d,c=%dn”,a,b,c);fu
7、nc() static int a=4;int b=10;a+=2;c+=10;b+=c;printf(“a=%d,b=%d,c=%dn”,a,b,c);运行后输出的数据为_ _.A. a=5 b=6 c=1 B. a=5 b=6 c=1 a=6 b=21 c=11 a=7 b=17 c=11 a=5 b=6 c=11 a=5 b=6 c=11 a=8 b=31 c=21 a=9 b=17 c=21 C. a=5 b=6 c=1 D. a=5 b=6 c=1a=6 b=21 c=11 a=7 b=17 c=11a=8 b=31 c=21 a=9 b=38 c=2126已知struct stud
8、entchar name; int student_n; char grade; struct student temp,*p=&temp;temp.name=”chou”;则下面不正确的是_。 表达式 值A.pname chou B.(*p)name+2 h C.*pname+2 e D.*(pname+2) o27.下列程序 #define MAX 10 main() int i,sum,a =1,2,3,4,5,6,7,8,9,10; sum=1;MAX;i+)sum-=ai;printf(“SUM=%d”,sum); 程序运行结果是: A.SUM=55 B.SUM=-54 C.SUM=
9、-55 D.SUM=5428.下列程序 void inv(int*x,int n) int *p,t,*i,*j,m=(n-1)/2;i=x;j=x+n-1;p=x+m;for(;p; t=*i;*i=*j;*j=t; return; main( ) static int i,a10=3,7,9,11,0,6,7,5,4,2; inv(a,10);10;i+) printf(“%d,”,ai); 程序运行结果: A.0,2,3,4,5,6,7,7,9,11 B.11,9,7,7,6,5,4,3,2,0 C.3,7,9,11,0,6,7,5,4,2 D.2,4,5,7,6,0,11,9,7,32
10、9.下列程序 int a10,b10,*pa,*pb,i; pa=a;pb=b; for(i=0;3;i+,pa+,pb+) *pa=i;*pb=2*i; printf(“%dt%dn”,*pa,*pb);printf(“n”);pa=&pb=&b0; *pa=*pa+i; *pb=*pb*i; printf(“%dt%dn”,*pa+,*pb+); 运行后输出的数据为_。A. 0 0 B.0 0 C. 0 0 D. 0 0 1 2 1 2 1 2 2 2 2 4 2 4 2 4 2 4 0 0 0 0 0 0 0 0 2 2 2 2 1 2 1 2 4 8 2 4 2 4 4 830.下列程
11、序 copy_string(from,to) char *from,*to; while(*from) *to+=*from+; *to=0; static char s1 =”c_program.”; static char s280; copy_string(s1,s2); printf(“%sn”,s2);copy_string(“123”,s2);printf(“%sn”,s2); 运行后输出的数据为( )。 A. c_program 123 B.123 C. c_program123 D. c_program 12331.下列程序: #include char a40,b40; in
12、t i,j;printf(“Enter the string:”);scanf(“%s”,a); i=j=0;while(ai!=0) if(!(ai=0&ai=9) bj=ai; j+; +i;bj=0;printf(“%s”,b); 运行后输出的结果是( ) 。A. 把键盘输入的字符串显示在屏幕上B. 把键盘输入的字符串中的数字字符删掉,然后显示该字符串C. 把键盘输入的字符串中的字符0和9删掉,然后显示该字符串D. 只保留由键盘输入的字符串中的字母数字,然后显示该字符串32下列程序#include=A&=Z) ai=ai-A+a;运行后输出的结果是( )。A. 把键盘输入的字符串中的大写
13、字母变换成小写字母,然后显示变换后的字符串。B. 把键盘输入的字符串中的数字字符删除掉,然后显示该字符串。C. 把键盘输入的字符串中的小写字母变换成大写字母,然后显示变换后的字符串。D. 把键盘输入的字符串原封不动地显示在屏幕上。第二卷说明:(1)第二卷含二大题,均属填空题,每题各有5个空栏,在阅读和理解原题程序的基础上,在空栏处填入适当的字符、语句,以构成一个正确的C语言程序。 (2)每空栏填对得3分,两大题共10个空栏,全填对得30分。试题一一个整数称为完全平方数,是指它的值是另一个整数的平方。如81是个完全平方数,因为它是9的平方。下列程序是在三位的正整数中寻找符合下列条件的整数:它既是
14、完全平方数,且三位数字中又有两位数字相同:例如144(12*12)、676(26*26)等,从程序中找出并输出所有满足上述条件的三位数。程序如下: int n,k,a,b,c; for(k=1; ;k+)_ if(n1+2&2|2*44-!0后,x的值为( )。(A)-l (B)O (C)1 (D)56、以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子:(x)/(yz)的c语言表达式是( )。(A)x/y*z (B)x*(1/(y*z) (C) x/y*1/z (D)x/y/z7、设有以下说明语句struct exint x;float y; char z;exampl
15、e;则下面的叙述不正确的是( )。(A)struct是结构体类型的关键字 (B)example是结构体类型名(C)x,y,z都是结构体成员名 (D)struct ex是结构体类型8、假定w、x、y、z、m均为int型变量;有如下程序段:w=1;x=2;y=3;z=4;m=(wx)?w:x; m=(mpup.sex (C)(*p).pup.sex (D)(*p).sex18、若已定义了如下的共用体类型变量x,则x所占用的内存字节数为( ) 。union data int i; char ch; double f; x;(A) 7 (B) 11 (C)8 (D) 1019、若有下面的说明和定义:s
16、truct test int m1;char m2;float m3; union uu char u15;int u22;ua; myaa;则sizeof(struct test)的值是 ( ) 。 (A) 12 (B) 16 (C) 14 (D)920、若要打开:A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是( ) 。 (A)fopen(A:userabc.txt,r) (B) fopen(r+ (C)fopen(,rb) (D) fopen(userlabc.txtw简单程序(12题,共30分)21、以下程序的运行情况是( ) 。 int i=1,sum=0; while(i10) sum=sum+1;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1