C语言程序设计试题及答案_第1页
C语言程序设计试题及答案_第2页
C语言程序设计试题及答案_第3页
C语言程序设计试题及答案_第4页
C语言程序设计试题及答案_第5页
免费预览已结束,剩余56页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C 语言程序设计 ( 卷)考核班级学生数 印数 考核方式 闭卷 考核时间 120 分钟(本试卷包括第一卷和第二卷,答卷时间总共 120分钟) 第一卷 第一部分:基础知识( 20 项,共 1 .一个 C 语言程序是由( )A .主程序 B .子程序2转换说明符x的输出形式是(A .十进制 B .八进制3. 若 a、b 均为 int 型变量,且printf ( “ “A .循环体只执行一次 C .循环体一次也不执行4. 若 x、 y、 z 均为 int 型变量,则执行下列语句后的 z 值为 x=1; y=2; z=3; z=(x>y)z :y ; z = (z<y)z:x;A . 1

2、B . 4 C . 25.A6.A7.语句 char str20;A . 20 个字符 B将int型变量n转换成float型变量的方法是float n B . (float)n C . float(n) D 以下不正确的描述是 ()。使用 while 和 do-while 循环时,循环变量初始化的操作应在循环语句之前完成 while 循环是先判断表达式后执行循环体语句do-while 和 for 循环均是先执行循环体语句,后判断表达式 for 、while 、do-while 循环中的循环体均可以由空语句构成10. 在循环中使用 break 语句的功能是(A.B.C.D.11.A . *pz

3、B . a12.若指针 px 为空指针,则 (A . px 指向不定 B . px 的值为零C. px的目标为零 D . px的地址为零 13对于语句 int *px10, 以下说法正确的是(A. px 是一个指针,指向一个数组,数组的元素是整数型。B. px 是一个数组,其数组的每一个元素是指向整数的指针。C. A和B均错,但它是 C语言的正确语句。40 分)组成的。C .函数)。C .十六进制a=100,则关于循环语句) ; 的正确说法是(B.死循环.输出 -过程二进制 for(b=100;a!=b;+a,+b) ))。8A9A B C DB 面标识符中,合法的用户标识符为( P#Ad B

4、 12a C char A' + 3 的结果是()。.'A' BD'的 ASCH 码说明 str 是一个字符串, . 19 个字符 C . 18 个字符(3)。 D_int65最多能表示D)。(213)。 个字符21 个字符)。 使程序的执行跳出 break 所在的那一重循环 使程序执行结束 跳出包含此 break 语句的所有循环 终止本次循环,继续下次循环 下面是一个初始化指针的语句:Bint *px = &a; px )。其中指针变量的名字应该是(D &a)。)。D. C 语言不允许这样的语句。 14具有相同基类型的指针变量 AP = YCP

5、 + &Yi15 已 知 *(p0+1)+*(q+2)A 5BstaticDint的值是4:P和数组变量Y,下列写法中不合法的是*P = YiP = &Y a=5,4,3,2,1,*p=a+3,a+2,a+1,a,*q=p,)。则表达式16已知 for(;n>=1;n-), 符数组中,其中代码不正确的是(A *S1+=*S2+BC *(S1+n-1)=*(S2+n-1)。C 6下列语句实现将D 7S2所指字符数组中前n 个字符复制到 S1 所指字)。S1n-1=S2n-1* (+S1)=*+S2)B 只要求形参和实参顺序相同 D 上述三点均需具备17调用函数的实参与被调用

6、函数的形参应该有如下关系( A 只要求实参和形参个数相等C 只要求实参和形参数据类型相同 18联合体成员的数据类型A相同BC.长度一样D19A20A由系统分配和控制的标准输出文件为( 键盘 B 磁盘 C 打印机C 语言标准库函数 fread(fd,buffer,n) 从文件 从文件 从文件 从文件fd fd fdfd)。可以不同也可以相同是结构体变量)。D 显示器的功能是( )。中读取长度不超过 中读取长度不超过 中读取长度不超过 中读取长度不超过n 个字节的数据送入 buffer 指向的内存区域 n-1 个字节的数据送入 buffer 指向的内存区域 n 个字符送入 buffer 指向的内存

7、区域 n-1 个字符送入 buffer 指向的内存区域第二部分:简单程序( 12 项,共 30 分) 21下列程序 main() int x,y,z;x=y=2;z=3; y=z+-1;printf( “%d y=+x-1;printf( “ %dt ” ,x,y);y=z-1;printf( “ %dt ” ,z,y);y=-z-1;printf( “ %dn”,z,y);,x,y);n”运行后输出的数据为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. 下列程序?main() int

8、 i,j;char *a,c; a=”computer”; printf( “ %s” ,a); for(i=0,j=7;i<j;i+,j-) c=ai; *(a+i)=*(a+j); aj=c;” n”,a); printf( “ c=aj-1,i=2+j;printf( “ a%d=%c n” ,i,c);运行后输出的数据为 _ .A. computer->computer B. computer->retupmoc a3=ua5=mC. computer->retupmoc D. computer->retupmoc a4=pa2=t23. 下列程序 int

9、 sum(int n) int p=1,s=0,i; for(i=1;i<=n;i+) s+=(p*=i); return s;main() printf( “sum(5)=%d n” ,sum(5); 运行后输出的数据为 _ _ (5)=151 (5)=152 (5)=153 Dsum(5)=15524. 下列程序 main() static int a=5,6,7,3,2,9; int s1,s2,i,*ptr; s1=s2=0;ptr=&a0; for(i=0;i<5;i+2=2) s1+=*(ptr+i); s2+=*(ptr+i+1);printf( “s1=%d

10、,s2=%d n”,s1,s2);运行后输出的数据为 =18,s2=14 =14,s2=32 =14,s2=18 =15,s2=1925. 下列程序 int c=1;main()a=%d b=%d c=%d n” ,a,b,c);static int a=5;int b=6; printf(a=%d,b=%d,c=%d n” ,a,b,c);func(); printf( func();func() static int a=4;int b=10;a+=2;c+=10;b+=c;printf( “a=%d,b=%d,c=%d n”,a,b,c);运行后输出的数据为A. a=5 b=6 c=1B

11、. a=5 b=6 c=1a=6 b=21 c=11a=7 b=17 c=11a=5 b=6 c=11a=5 b=6 c=11a=8 b=31 c=21a=9 b=17 c=21C. a=5 b=6 c=1D. a=5 b=6 c=1a=6 b=21 c=11a=7 b=17 c=11a=6 b=21 c=11a=7 b=17 c=11a=8 b=31 c=21a=9 b=38 c=2126已知 struct student char * name;int student_n;char grade;struct student temp,*p=&temp;”I”=”chou”;则下面不

12、正确的是 表达式chouB.(*p)C.*pD.*(p27. 下列程序T n ame+2T name+2Tname+2)#define MAX 10main() int i,sum,a =1,2,3,4,5,6,7,8,9,10; sum=1;for(i=0;i<MAX;i+) sum-=ai;printf( “ SUM=%”d,sum);程序运行结果是 :=55 =-54 =-55 =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(;i<p;i+,j-) t=*i;*i=*

13、j;*j=t;return;main( ) static int i,a10=3,7,9,11,0,6,7,5,4,2; inv(a,10);for(i=0;i<10;i+)printf( “%d,”,ai);程序运行结果 :,9,7,7,6,5,4,3,2,0,4,5,7,6,0,11,9,7,3,2,3,4,5,6,7,7,9,11,7,9,11,0,6,7,5,4,229. 下列程序main() int a10,b10,*pa,*pb,i; pa=a;pb=b; for(i=0;i<3;i+,pa+,pb+) *pa=i;*pb=2*i;n”,*pa,* pb);printf

14、( “%dprintf( “ n” ); pa=&a0; pb=&b0; for(i=0;i<3;i+)*pa=*pa+i;*pb=*pb*i;n”,*pa+,*pb+);printf( “ %d运行后输出的数据为A. 0 012C. 0 012D. 0 02202430. 下列程序 copy_string(from,to) char *from,*to; while(*from) *to+=*from+; *to= ' 0' main() static char s1 = static char s280; copy_string(s1,s2) prin

15、tf(” c_program. ”,s2) ; copy_string( “123”,s2);%s n”,s2);%sn”printf(运行后输出的数据为(A. c_program 123)。C. c_program123 D. c_program12331. 下列程序: #include <> main() char a40,b40;int i,j;”);printf( “ Enter the string: scanf( “ %s” ,a);0')0'&&ai<= '9')i=j=0; while(ai!= ' if

16、(!(ai>= ' bj=ai; j+; +i; bj= ' 0' printf( “%s”,b); 运行后输出的结果是( ) 。A. 把键盘输入的字符串显示在屏幕上B. 把键盘输入的字符串中的数字字符删掉,然后显示该字符串C. 把键盘输入的字符串中的字符 0 和 9 删掉,然后显示该字符串D. 只保留由键盘输入的字符串中的字母数字,然后显示该字符串 32下列程序#include<> main() char a80;int i,j;printf( “ Enter the string:” );' 0') 'A'&

17、&ai<= 'Z')A'+'a'scanf( “ %s” ,a); i=0; while(ai!= if(a i>= ai=ai- printf( “ %s” ,a);运行后输出的结果是( )。A. 把键盘输入的字符串中的大写字母变换成小写字母,然后显示变换后的字符串。B. 把键盘输入的字符串中的数字字符删除掉,然后显示该字符串。C. 把键盘输入的字符串中的小写字母变换成大写字母,然后显示变换后的字符串。D. 把键盘输入的字符串原封不动地显示在屏幕上。5 个空栏,在阅读和理解原题程序的基C语言程序。全填对得第二卷 说明:(1)第二卷含

18、二大题,均属填空题,每题各有 础上,在空栏处填入适当的字符、语句,以构成一个正确的30 分。是个完全平方数,因为 它既是完全平方数, 等,从程序中找出并输(2)每空栏填对得 3分,两大题共 10 个空栏,81试题一 一个整数称为完全平方数,是指它的值是另一个整数的平方。如 它是 9 的平方。下列程序是在三位的正整数中寻找符合下列条件的整数: 且三位数字中又有两位数字相同:例如144(12*12)、676(26*26 )出所有满足上述条件的三位数。程序如下: main() int n,k,a,b,c;for(k=1; ;k+) if(n<100) _ if(n<999) _ a=n/

19、100;b= c=n%10, if(flag(a,b,c) printf( “n=%d=%d*%dn”,n,k,k); flag return(!(x-y)*(x-z)*(y-z); 试题二 以下程序所列函数 replace(char *s1,char *s2,char str1,char *str2) 符串 s1 中的所有与字符串 str1 相同的子串替换成字符串 字符串存于字符数组 s2 中。说明:生成字符串S2的过程是一个循环,顺序访问字符串始不能构成与 str1 相同的子字符时,就把该字符拷贝到数组 一个与 str1 相同的子字符串时,就将字符串 问字符串 s1 中那个子串之后的字符,

20、直至字符串 下列程序运行的结果是输出: ABCXYZdefg abABCXYZd abab 程序如下: replace(char *s1,char *s2,char *str1,char *str2) char *t0,*t1,*t2;while( ) for(t0=s1,t1=str1;*t1!= if(*t1!= ' 0') *s2+=;else for(t1=str2;*t1!= *s2+=' 0 ' ;的功能是将已知字str2 ,并将替换后所生成的新的s1 的每个字符; 当从某个字符开S2,当从某个字符开始能构成 str2的各字符拷贝到字符数组 s2,并

21、继续访 s1 被访问完毕,字符复制即告结束。&& ;t0+,t1+);0')*s2= ' 0' main() char s1= ” char s280;replace(s1,s2, printf( “ %s 参考答案 第一卷 一基础知识(abcdefgababcd abab.n”abc” ,s2);, ” ABCXY”Z );二简单程序第二卷 试题一:y,int z试题二: *s1 或 s1!= '20 项,共 40 分)n=k*k continue break n%100/10 或(n-100*a)/10或 n/10-(n/100)*10int

22、 x,int0 ' *t0=*t1或 *t1=*t0 *s1+ *t1+ s1=t0 或 s1=s1+strlen(str1)C语言程序设计(卷)考核班级学生数 印数 考核方式 闭卷 考核时间 120 分钟(本试卷包括第一卷和第二卷,答卷时间总共120 分钟)第一卷说明: (1) 第一卷全部为选择题,每题可供选择的答案中,只有一个正确答案。(2) 答本卷的题目时, 要在标准答题纸上编号对应的栏口中, 用铅笔将正确答案涂黑。 在试题上直接 勾划不得分。(3) 本卷共分 70分,其中第 126题每题2分,第 27 32题每题 3分。 第一部分:基础知识 (20 题,共 40 分 )1、 一

23、个C语言的源程序中,(A) 必须有一个主函数 (B)(C) 必须有主函数和其他函数 (D)2、下列数据中 , 为字符串常量的是)。 可以有多个主函数可以没有主函数(A) A' (B)“house” (C)How do you do3、若有定义:int a=8 ,b=5, c;,执行语句c=a/b(D) ' $abc'十;后, c 的值为()。(A) (B)1 (C) (D)24、设有 int x=11 ;则表达式 (x+*l/3) 的值为()。(A)3 (B)4 (C)11 (D)125、执行 x=5>1+2&&2|2*4<4-!0 后,x

24、的值为()。(A)-l (B)O (C)1(D)56、以下变量 x、 y、 z 均为 double 类型且已正确赋值,不能正确表示数学式子: 式是(x)/(y X z)的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 则下面的叙述不正确的是( (A)struct 是结构体类型的关键字 (B)example 是结构体类型名 (C)x , y, z 都是结构体成员名 (D)struct ex 是结构体类型 8假定w x、y、z、m均为int型变量;有如下程序段:

25、; example;)。w=1;x=2 ;y=3;z=4 ;m=(w<x)w:x; m=(m<y)m :y; m=(m<z)m :z; 则该程序段执行后,m的值是()。(A)4(B)3 (C)2(D) 19、在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( (A) 地址传递 (B)(C) 由实参传给形参,再由形参传回实参10、 以下定义语句中,错误的是()。单向值传递(D)传递方式由用户指定)。(A)int a=1, 2;(B) char *a3;(C)char s10="text"(D) int n=5,an;11、下列程厅执行后的输

26、出结果是(main() char arr24; strcpy(arr,"you") ; strcpy(arr1,"me");arr03='&'printf("%sn",arr) (A)you&me (B)you (C) me (D)err)。12、标有 /* */ 的语句的执行次数是(int y , i ;for(i=O ;i<20 ;i+) if(i%2=0)continue;y+=i; /* */(A) 20 (B) 19 (C) 10 (D) 913、若用数组名作为函数调用的实参,传递给形参

27、的是()。数组第一个元素的值(A) 数组的首地址(C) 数组中全部元素的值14、下列语句执行后的结果是(B)(D)数组元素的个数y=5 ; p=&y;x=*p+ ;(A) x=5 , y=5 (B) x=515、执行下面的语句后,表达式,y=6(C) x=6*(p0+1)+*(q+2), y=5 (D) x=6 ,y=6 的值为 ( )。int a=5,4,3,2,1, *p=a+3,a+2,a+1,a*q=p ;(A) 8 (B) 7 (C) 6 (D)16、经过下面的语句后int i ,a10 , *p; 定义后,下列语句中合法的是)。(A) p=100 : (B) p=a517、

28、若有以下说明和语句,则对(D) p=&(i+2)pup(C) p=a+2中 sex 域的正确引用方式是()。struct pupil char name20 ;int sexpup , *p; p=&pup; (A) (B)p-> (C)(*p). (D)(*p).sexx ,则 x 所占用的内存字节数为(18、若已定义了如下的共用体类型变量 union data int i;char chdouble f;x ;(A) 7 (B) 11 (C)8 (D) 10 19、若有下面的说明和定义: struct test int m1 ; char m2;float m3; u

29、nion uu char u15;int u22;ua; myaa ;则 sizeof(struct test)的值是 ()(A) 12 (B) 16 (C) 14 (D)920、若要打开:A盘上user子目录下名为的文本文件进行读、写操作,下面符合此要求的函数调用是()。(A)fopen("A: user" ,(C)fopen("A: user","rb")"r") (B) fopen("A(D) fopen("A: user": userl","r+"

30、),"w")第二部分:简单程序 (12 题,共21、以下程序的运行情况是(30分)main()int i=1,sum=0while(i<10)sum=sum+1;i+;printf("i=%d,sum=%d",i,sum) ;(A) i=10, sum=9 (B) i=9,sum=9 (C) i=222、若输入B,以下程序的运行结果为(, sum=l (D)运行出现错误main() char gradescanf("%c",&grade)switch(grade)case'A':printf("

31、>=85");case'B':case'C'printf(">=60")case'D'printf("<60")defaultprintf("error");(A)>=85 (B)>=60 (C)>=60<60error (D) error23. 有如下程序 main() int x=23;do printf("%d",x-);while(!x)该程序的执行结果是(A)321 (B)23 (C)24. 有如下程序不输

32、出任何内容(D)陷入死循环int func(int a,int b) return (a+b);main()int x=2 , y=5,z=8 ,r;r=func(func(x , y) ,z);printf("%dn",r)该程序的输出结果是(C)14(D)15(A) 12(B) 1325. 以下程序的输出结果是(main() int a , b;for(a=1 , b=1; a<=100; a+) if(b>=10) breakif(b%3=1) b+=3;continue ; printf("%dn",a);(D)4(A)101 (B)

33、 6(C)526. 以下程序的输出结果是(int a, b;void fun() a=100; b=200;main() int a=5, b=7;fun()i+;printf("%d%dn",a,b);(A) 100200 (B)57 (C)200100 (D)7527. 下面的程序执行后,文件 test t 中的内容是 ( )#include <> void fun(char *fname,char *st) FILE *myf; int i;myf=fopen(fname,"w");,myf) ;for(i=0 ; i<strle

34、n(st);i+)fputc(sti fclose(myf) main() fun("","new world");fun("","hello,");(A) hello , (B)new,worldhello (C) new,world (D)hello,rld28. 以下程序的运行结果是(#include <> main()static char s30="abcdefg"static char t="abcd"int i,ji=0while(si!='

35、0')j=0;whi1e(tj!='0') si+j=tjj+si+j='0'printf("%sn",s) ;有如下程序(A) abcdabcdefg (B)abcdefg (C)abcd (D)abcdefgabcd 29. main() char ch25="6937","8254",*p2;int i, j, s=0for(i=0; i<2;i+) pi=chi;for(i=0;i<2 ;i+)for(j=0;pij>'0';j+=2)s=10*s+pi

36、j-'0'printf("%dn",s);该程序的输出结果是()。(A)69825 (B)63825 (C)6385 (D)69382530. 若已建立如下图所示的单向链表结构在该链表中 , 指针 p,s 分别指向图中所示结点, 则不能将 s 所指的结点插入到链表末尾仍构成单向链表的语 句组是(A) p=p->next;s->next=p;p->next=s;(B) p=p->next;s->next=p->next;p->next=s;(C) s->next=NULL;p=p->next;p->n

37、ext=s (D) p=(*p).next;(*s).next=(*p).next; (*p).next =s;31. 请选择正确的运行结果填入( ) 中。include <> int x,y num() int a=15,b=10 int x , y; y=a-b ; y=a+b;return main() int a=7,b=5x=a+b ;y=a-b;num() ; printf("%d,%dn",x,y) ;(C)2,12 (D)。不确定(A) 12,2 (B) 5,2532. 以下程序的输出结果是(#define M(x,y,z) x*y+zmain(

38、) int a=1,b=2, c=3;printf("%dn", M(a+b,b+c,c+a) ; (A)19 (B)17 (C)15 (D)12第二卷说明: (1) 第二卷含两大题,均属填空题,每题各有5 个空栏,在阅读和理解原题程序的基础上,在空栏处填入适当的字符、语句,以构成一个正确的 C 语言程序。(2) 每空栏填对得 3 分,两大题共 10 个空栏,全对得 30 分。 试题一:/* 是全局变量 */有一函数,实参传来一个字符串,统计此字符串中字母、数字、空各和其他字符的个数,在主函数中 输入字符串以及输出上述的结果。int letter,digit,space,o

39、thersmain()int count(char(1)char text80printf("nlnput string:n") ;(2)printf("string:") ;puts(text) letter=O digit=O ;space=O ;others=O ;(3)printf("letter:%d,digit : %d,space:%d,other : %dn",letter,digitspace,others); int count(char str)int ifor(i=O ; stri!='0';i

40、+)if(4)>='a'&&stri<='z')|(stri>='A'&&stri<='Z')letter+ ; else if(stri>='0'&&stri<='9')digit+else if(stri=' ')space+else(5)试题二:strcmp 函数,函数原型把下列程序补充完整,实现两个字符串的比较,即自己写个为: int strcmp(char *p1,char *p2)设 p1

41、 指向字符串 s1,p2 指向字符串 s2 。要求:当 s1=s2 时,返回值为 0。当 sl<>s2 时,返回它们两者的第一个不同的字符的 ASCII码差值(如“ BOY与“ BAD,第二个字母不同,“O'与“ A”之差为79-65=14); 如果s1>s2,则输出正值;如果 slvs2,则输出负值。main() int m ; char _(6), str220 ,*p1,*p2 ;printf("Input two string: n") ;scanf("%s",strl)scanf("%s"(7)p1

42、=&strl0;(8)p2=m=strcmp(p1,p2)printf("result:%d,n",m);strcmp(char _(9),char *p2)/* 两个字符串比较的函数 */ int i(10) while(*(pl+i)=*(p2+i)if(*(p1+i+)='0') return(0) ;return(*(pl+i)-*(p2+i); /*不等时返回结果为第一个不等字符 ASCII 码的差值 */参考答案第一卷第一部分:基础知识第二部分:简单程序第二卷 试题一:1、 str4、 stri 试题二:、gets(text)或 scan

43、f( “ %s” ,text)35、 others+6、str1207、str28、 &str20、 count(text)、*p1 10、i=01、AC2、A3、char w;int x;float y;double z;则表达式w*x+z-y的结果为A4、AC5、类型。float B 、double C、int D、char一个函数返回值的类型是由 决定的return语句中的表达式类型;B、定义函数时所指定的函数类型调用该函数的函数的类型 D、调用函数时临时类型设x、y、z和k都是int型变量,则执行下列表达式后,变量x的值为C语言程序设计(卷)考核班级学生数 印数考核方式 闭卷考

44、核时间120分钟(本试卷包括第一卷和第二卷,答卷时间总共120分钟)第一卷 本卷共70分,其中第126题每题2分,第2732题每题3分。 第一部分:基础知识一个C语言程序是从开始执行的。程序中的第一个语句B、包含文件(头文件)的第一个函数名为main的函数D、程序中的第一个函数语句while(!E) 中的条件!E等价于E=0 B、E!=1 C、E!=0 D、E若有以下类型说明语句:x=(y=4,z=16,k=32);A 4 B、16 C、32 D、526、有以下程序:mai n() int i=10,j=1;printf( “d,%d n” ,i -,+j);执行后输出的结果是7、9,2 B、

45、10,2 C、9,1 D、10,1以下指针s的指字符串的长度为_char *s=”' NameA8A9、19 B、15 C、18 D、-12设有语句int a=3;则执行了语句 a+=a-=a*a ;后,变量a的值是3 B、0 C、9 D、-12对于下面的for循环语句,可以断定它for(x=0,y=0;(y!=123)&&(x<4);x+)printf( “ “);A是无限循环(死循环)B、循环次数不定C共执行4次循环D、共执行3次循环10、 设有以下语句,则 不是对a数组元素的正确引用,其中 0 i 10.int a10=0 ,1,2,3,4,5,6,7,8,

46、9 ;int *p=a;A、ap-5 B 、*(&ai) C 、ai D 、*(a+i)11、为了判断两个字符串 s1 和 s2 是否相等,应当使用A、if(s1=s2) B 、if(s1=s2)C、 if(strcmp(s1,s2) D、 if(strcmp(s1,s2)=0)A、B、C、D、13、 有以下程序12、对于 C 语言程序中的函数,下列叙述中正确的是 函数的定义不能嵌套,但函数调用可以嵌套 函数的定义可嵌套,但函数的调用不能嵌套 函数的定义和调用均不能嵌套 函数的定义和调用均可嵌套main() int i; for(i=0;i<3;i+) switch(i)%d”,

47、i);%d”,i);“%d”,i); case 1: printf( case 2: printf( default: printf( 执行后输出的结果是 A、011122 B、012 C、012020 D、12014、假定有以下变量定义: int k=7, x=12; 则能使值为 3 的表达式是 A、x%=(k%=5) B、 x%=(k-k%5)C、x%=(k-k%5) D 、(x%=k)-( k%=5)15、以下程序的输出结果是 main() int x=4,y=8;x+=y;y+=x;printf( “%d %d n”,x,y);A、12 20 B 、4 8 C 、12 12 D 、8

48、416、有以下程序执行后输出的结果是 main() int x8=8,7,6,5,0,0 ,*s;s=x+3;printf( “%d n”, s2);A 随机值 B、0 C、5 D、617、以下函数的功能是 _ fun(char *s1,char *s2) int i=0;while(s1i=s2i &&s2i!=0')i+;return(s1i=0'&&s2i= ' 0' );A、B、C、将 s2 所指字符串赋给 s1 比较 比较 比较s1和s2所指字符串的大小,若 s1比s2的大,函数值为1,否则函数值为 0s1 和 s2 所

49、指字符串是否相等,若相等,函数值为 1,否则函数值为 0s1和s2所指字符串的长度,若 s1比s2的长,函数值为1,否则函数值为0D、18、 以下叙述中正确的是 全局变量的作用域一定比局部变量的作用域范围大 静态( static )类型变量的生存期贯穿于整个程序的运行期间 函数的形参都属于全局变量未在定义语句中赋初值的 auto 变量和 static 变量的初值都是随机值 有以下程序,执行后输出的结果是 main() int i=1,j=1,k=2;if (j+|k+)&&i+)printf( “%d, %d,%dA、1,1,2 B 、2,2,1 C 、20、以下函数 abc

50、的功能是 int abc(char *ps) char *p;p=ps; while(*p+); return (p-ps);A比较两个字符串的大小B、求字符串的长度C将串ps复制到串P中D、以上三种说法都不对 第二部分:简单程序21、以下程序的输出结果是: main( ) int i=10,j=10;printf( “%d ,%d n”,+i+j+,j-);A、 21, 10 B、 20, 10 C、 21, 9 D、 20, 922、以下程序的输出结果是: main( ) int m=5; if (m+>5) printf( else printf( A、 7 B 、A、B、C、D、

51、19、%d%dn”,m);” n”,m-);n”,i,j,k);2,2,2 D 、 2,2,323、当 a=1, b=3, c=5, d=4 时,执行下面一段程序后, x 的值为 if (a<b) if(c<d) x=1;else if(a<c) if(b<d)x=2;elsex=3;elsex=6; else x=7;A、 1 B、 2 C、 3 D、 6直到从终端读入字符 #号时结24、以下程序企图把从终端输入的字符输出到名为的文件中,束输入和输出操作,但程序有错。出错的原因是 #include <> main( ) FILE *fout;char ch

52、;fout=fopen(', 'w');ch=fgetc(stdin);while(ch!= '#')fputc(ch,fout);ch=fgetc(stdin);fclose(fout);A函数fopen调用形式有误B、输入文件没有关闭C函数fgetc调用形式有误D、文件指针stdin没有定义25、有以下程序,执行后输出结果是 main()union unsigned int n;unsigned char c;ul;='A'printf( “%c n”,;A产生语法错B、随机值C、A D、6526、有以下程序,执行后输出结果是 main() int m 3=1,4,7,2,5,8,3,6,9;int i,k=2;for(i=0; i<3; i+)printf( “%d ”, mki);A、4 5 6 B、2 5 8 C、3 6 9 D 、7 8 927、以下程序运行后,输出结果是 _ int func(int a, int b) static i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论