




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C 语言程序设计( 卷)考核班级学生数 印数 考核方式 闭卷 考核时间 120 分钟( 本试卷包括第一卷和第二卷,答卷时间总共 120 分钟)第一卷 第一部分:基础知识( 20 项,共 40 分)1一个C语言程序是由() 组成的A 主程序 B 子程序 C 函数D 过程2. 转换说明符x的输出形式是()A 十进制B .八进制 C .十六进制D .二进制3. 若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;+a,+b)printf () ; 的正确说法是( )A .循环体只执行一次B.死循环C .循环体一次也不执行D.输出 4. 若 x、 y、 z 均为 int
2、 型变量,则执行下列语句后的 z 值为 ()x=1; y=2; z=3; z=(xy)?z :y ; z = (z=1;n-),下列语句实现将S2所指字符数组中前n个字符复制到S1所指字符数组中,其中代码不正确的是( )。A *S1+=*S2+BS1n-1=S2n-1C *(S1+n-1)=*(S2+n-1)D*(+S1)=*(+S2)17调用函数的实参与被调用函数的形参应该有如下关系() 。A 只要求实参和形参个数相等 B 只要求形参和实参顺序相同C 只要求实参和形参数据类型相同 D 上述三点均需具备18联合体成员的数据类型 ()。A.相同B.可以不同也可以相同C长度一样D.是结构体变量19
3、. 由系统分配和控制的标准输出文件为() 。A .键盘 B .磁盘 C .打印机 D .显示器20. C语言标准库函数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=2;z=3
4、;y=z+-1;printf( “%dt ”,x,y);y=+x-1;printf( “%dn” ,x, y);y=z-1;printf( “%dt ”,z,y);y=-z-1;printf( “%dn”,z,y);运行后输出的数据为 ?A. 3 1 4 2 B. 3 1 3 3 C. 2 2 3 2 D. 2 1 3 222. 下列程序main() int i,j;char *a,c;” - ”a=”computer ”;printf( “%s”,a);for(i=0,j=7;icomputer B. computer-retupmoca3=ua5=mC. computer-retupmoc
5、 D. computer-retupmoca4=pa2=t23. 下列程序int 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);运行后输出的数据为 _ _A.sum(5)=151 B.sum(5)=152 C.sum(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;i5;i+2=2) s1+=*(
6、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;main()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);func();func() static int a=4;int b=10;a+=2;c+=10;b+=c;printf( “ a
7、=%d,b=%d,c=%dn” ,a,b,c);运行后输出的数据为 _ _.A. a=5 b=6 c=1B. a=5 b=6 c=1a=6 b=21 c=11a=7 b=17 c=11a=5 b=6 c=11a=8 b=31 c=21C. a=5 b=6 c=1a=6 b=21 c=11a=6 b=21 c=11a=8 b=31 c=2126已知struct studentchar * name;int student_n;char grade;a=5 b=6 c=11a=9 b=17 c=21D. a=5 b=6 c=1a=7 b=17 c=11a=7 b=17 c=11a=9 b=38 c
8、=21;struct student temp,*p=&temp;=”chou”;则下面不正确的是 。表达式A.p f n amechouB. (*p) fname+2hC. *p fname+2eD. *(p fname+2)o27. 下列程序#define MAX 10main() int i,sum,a =1,2,3,4,5,6,7,8,9,10;sum=1;for(i=0;iMAX;i+)sum-=ai;printf( “SUM=%”d,sum);程序运行结果是 :A.SUM=55 B.SUM=-54 C.SUM=-55 D.SUM=5428. 下列程序void in
9、v(int*x,int n)int *p,t,*i,*j,m=(n-1)/2;i=x;j=x+n-1;p=x+m;for(;ip;i+,j-) 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);for(i=0;i10;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,0C.3,7,9,11,0,6,7,5,4,2 D.2,4,5,7,6,0,11,9,7,329. 下列程序main() in
10、t a10,b10,*pa,*pb,i;pa=a;pb=b;for(i=0;i3;i+,pa+,pb+)*pa=i;*pb=2*i;printf( “ %dn”,*pa,*pb);printf( “ n”);pa=&a0;pb=&b0;,*pa+,*pb+);D. 0 024028for(i=0;i3;i+)*pa=*pa+i;*pb=*pb*i;printf( “%dn运行后输出的数据为 _A. 0 0 B.0 0 C. 0 01 2121 222 4242 420 0000 002 2221 214 8242 4430. 下列程序copy_string(from,to)char *from
11、,*to; while(*from) *to+=*from+;*to= 0;main() static char s1 =” c_program. ”;static char s280;copy_string(s1,s2) ;printf(“ %sn” ,s2) ;copy_string( “123”,s2);printf( “%s n” ,s2);运行后输出的数据为( )。A. c_program 123 B.123 C. c_program123 D. c_program31. 下列程序:#include 123main() char a40,b40;int i,j;printf( “En
12、ter 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下列程序#includemain() char a80;int i,j;printf( “Enter the string: ”);sc
13、anf( “%s” ,a);i=0;while(ai!= 0) if(ai= A &ai= Z)ai=ai- A + a;printf( “%s”,a);运行后输出的结果是( )。A. 把键盘输入的字符串中的大写字母变换成小写字母,然后显示变换后的字符串。B. 把键盘输入的字符串中的数字字符删除掉,然后显示该字符串。C. 把键盘输入的字符串中的小写字母变换成大写字母,然后显示变换后的字符串。D. 把键盘输入的字符串原封不动地显示在屏幕上。第二卷说明:(1)第二卷含二大题,均属填空题,每题各有 5 个空栏,在阅读和理解原题程序的基础上,在空栏处填入适当的字符、语句,以构成一个正确的C语言程序。(
14、2)每空栏填对得 3分,两大题共 10个空栏,全填对得 30 分。试题一一个整数称为完全平方数,是指它的值是另一个整数的平方。如 81 是个完全平方数,因为 它是 9 的平方。下列程序是在三位的正整数中寻找符合下列条件的整数:它既是完全平方 数,且三位数字中又有两位数字相同:例如144(12*12 )、 676(26*26)等,从程序中找出并输出所有满足上述条件的三位数。程序如下:main() int n,k,a,b,c;for(k=1; ;k+)if(n100) if(n1+2&2|2*44-!0 后, x 的值为( )。(A)-l (B)O (C)1 (D)56、以下变量 x、y、z 均为
15、 double 类型且已正确赋值,不能正确表示数学式子: (x)/(y 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;example;则下面的叙述不正确的是( )。(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=
16、(my)?m: y; m=(mz)?m : z;则该程序段执行后,m的值是()。(A)4 (B)3 (C)2 (D) 19、在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()o单向值传递传递方式由用户指定(A) 地址传递 (B)(C) 由实参传给形参,再由形参传回实参 (D)10、以下定义语句中,错误的是 ( )。(A)int a=1 ,2; (B) char *a3;(C)char s10=text ; (D) int n=5,an;11、下列程厅执行后的输出结果是() 。main() char arr24 ; strcpy(arr,you); strcpy(arr1,m
17、e);arr03=& ;printf(%sn,arr) ;(A)you&me (B)you (C) me (D)err12、标有 /* */ 的语句的执行次数是( )。int y , i ;for(i=O ;i20 ;i+) if(i%2=0)continue;y+=i; /* */(A) 20 (B) 19 (C) 10 (D) 913、若用数组名作为函数调用的实参,传递给形参的是()(A)数组的首地址(B)数组第一个元素的值(C)数组中全部元素的值(D)数组元素的个数14、下列语句执行后的结果是()。y=5; p=&y;x=*p+;(A) x=5 , y=5 (B) x=5,y=6(C)
18、x=6 ,y=5 (D) x=6 , y=615、执行下面的语句后,表达式 *(p0+1)+*(q+2) 的值为 ( )int a=5,4,3,2,1,*p=a+3,a+2,a+1,a ,*q=p ;(A) 8 (B) 7 (C) 6 (D) 516、经过下面的语句后int i,a10 ,*p ;定义后,下列语句中合法的是 ( )。(A) p=100 : (B) p=a5 ; (C) p=a+2 ; (D) p=&(i+2) ;17、若有以下说明和语句,则对 pup中sex域的正确引用方式是()。struct pupilchar name20 ;int sex ;pup , *p;p=&pup
19、;18、 若已定义了如下的共用体类型变量x,则x所占用的内存字节数为()union data int i;char ch ;double f;x ;(A) 7 (B) 11(C)8 (D) 10 19、若有下面的说明和定义:struct 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 的文本文件进行读、写操作,下面符合 此要求的函数调
20、用是( ) 。(A)fopen(A :userabc.txt ,r) (B) fopen(A:userabc.txt,r+)(C)fopen(A :userabc.txt,rb) (D) fopen(A:userlabc.txt,w)第二部分:简单程序 (12 题,共 30 分)21、以下程序的运行情况是() 。main()int i=1,sum=0 ;while(i=85);caseB:caseC: printf(=60);caseD: printf(=85 (B)=60 (C)=6060error (D) error23. 有如下程序 main() int x=23;do printf(%
21、d, x-);while(!x); 该程序的执行结果是( ) 。陷入死循环(A) 321 (B)23 (C) 不输出任何内容 (D)24. 有如下程序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) ; 该程序的输出结果是 ( ) 。(A) 12 (B) 13 (C)14 (D)1525. 以下程序的输出结果是() 。main() int a , b;for(a=1 ,b=1; a=10) break ;if(b%3=1) b+=3 ; cont
22、inue ; printf(%dn,a);(A)101 (B) 6 (C)5 (D)426. 以下程序的输出结果是()int a , b;void fun() a=100 ; b=200;main() int a=5 , b=7;fun()(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);for(i=0 ;istrlen(st);i+)fputc(sti,myf) ;fc
23、lose(myf) ;main() fun(test.t,new world);fun(test.t,hello,);(D)hello,rld(A) hello , (B)new,worldhello (C) new,world28. 以下程序的运行结果是( ) 。#include main()static char s30=abcdefg ;static char t=abcd ;int i,j ;i=0 ;while(si!=0)i+;j=0;whi1e(tj!=0) si+j=tj ;j+ ; si+j=0 ;printf(%sn,s) ;有如下程(A) abcdabcdefg (B)a
24、bcdefg (C)abcd (D)abcdefgabcd 29. 序main()31. 请选择正确的运行结果填入()中int i, j, s=0;for(i=0 ; i2;i+) pi=chi;for(i=0; i0; j+=2)s=10*s+pij-0 ;printf(%dn, s);该程序的输出结果是( ) 。(A)69825 (B)63825 (C)6385 (D)69382530. 若已建立如下图所示的单向链表结构在该链表中 ,指针 p,s 分别指向图中所示结点, 则不能将 s 所指的结点插入到链表末尾仍构 成单向链表的语句组是( ) 。(A) p=p-next;s-next=p;p
25、-next=s;(B) p=p-next;s-next=p-next;p-next=s;(C) s-next=NULL;p=p-next;p-next=s(D) p=(*p).next;(*s).next=(*p).next; (*p).next =s;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=5 ;x=a+b ;y=a-b;num() ; printf(%d,%dn,x,y) ;(A) 12,2 (B) 5,25 (C)2,12 (D) 不确定32. 以下程序的输出
26、结果是( ) 。#define M(x,y,z) x*y+zmain() 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,digi
27、t,space,others ; /* 是全局变量 */ main()for(i=O ;stri!=0;i+)int count(char (1);char text80 ;printf(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 i ;if
28、(4)=a&stri=A&stri=0&stri=9)digit+ ;else if(stri= )space+ ;else(5) ;试题二:把下列程序补充完整,实现两个字符串的比较,即自己写个 strcmp 函数,函数原型为:int strcmp(char *p1,char *p2)设pl指向字符串si , p2指向字符串s2。要求:当s仁s2时,返回值为0。当sls2时,返回它们两者的第一个不同的字符的ASCII码差值(如“ BOY与“ BAD,第二个字母不同,“O与“A”之差为79-65=14);如果s1s2,贝U输出正值;如果sls2,则输出负值。main() int m ;char
29、_(6) , str220 , *p1,*p2 ;printf(Input two string: n) ;scanf(%s,strl) ;scanf(%s , _(7);p1=&strl0;p2=(8);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) ;ASCII 码的差值 */return(*(pl+i)-*(p2+i); /*不等时返回结果为第一个不等字符参考
30、答案 第一卷第一部分:基础知识1. A 2.B 3.B 4.A 5.C 6.A 7.B 8.D 9.B 10.D11.A 12.C 13.A 14.A 15.D 16.C 17.D 18.C 19.A 20.B第二部分:简单程序21.D 22.C 23.B 24.D 25.D 26.B 27.A 28.D 29.C 30.A 31.A 32.D 第二卷试题一:1、str 2、gets(text) 或 scanf( “%s”,text) 3、count(text)4、stri5、others+、i=0试题二: 6、str120 7、str28、&str20 9 、 *p1 10C 语言程序设计(
31、 卷)考核班级 学生数 印数 考核方式 闭卷 考核时间 120 分钟( 本试卷包括第一卷和第二卷,答卷时间总共 120 分钟)第一卷 本卷共 70分,其中第 126题每题 2分,第 2732题每题 3 分第一部分:基础知识1、 一个C语言程序是从开始执行的。A、程序中的第一个语句B、包含文件(头文件)的第一个函数C、名为main的函数D、程序中的第一个函数2、语句while(!E) 中的条件! E等价于A、 E=0 B、 E!=1 C、 E!=0 D、 E3、若有以下类型说明语句:char w;int x;float y;double z;则表达式 w*x+z-y 的结果为 类型。A、floa
32、t B 、double C 、 int D 、char4、一个函数返回值的类型是由 决定的A、return 语句中的表达式类型; B 、定义函数时所指定的函数类型C、调用该函数的函数的类型 D、调用函数时临时类型5、设 x、y、z 和 k 都是 int 型变量,则执行下列表达式后,变量 x 的值为 x=(y=4,z=16,k=32);A、 4 B、 16 C、 32 D、 526、有以下程序:main( ) int i=10,j=1;printf( “%d,%dn”,i -,+j);执行后输出的结果是 A、 9,2 B、 10,2 C、 9,1 D、 10,17、以下指针 s 的指字符串的长度
33、为 char *s= ”Namen”;A、19 B 、15 C、18 D、-128、设有语句 int a=3 ;则执行了语句 a+=a-=a*a ;后,变量 a 的值是A、3 B、0 C、9 D、-129、对于下面的 for 循环语句,可以断定它 。for(x=0,y=0;(y!=123)&(x4);x+)printf( “ “);A、是无限循环(死循环)B、循环次数不定C、共执行4次循环D、共执行3次循环10、设有以下语句,则 是对a数组元素的正确引用,其中0? i?10.int a10=0, 1 , 2, 3, 4, 5, 6, 7, 8, 9 ;int *p=a;A、 ap-5 B 、
34、*(&ai) C 、 ai D 、 *(a+i)11、为了判断两个字符串si和s2是否相等,应当使用 A、 if(s1=s2) B 、 if(s1=s2)C、 if(strcmp(s1,s2) D 、 if(strcmp(s1,s2)=0)12、对于C语言程序中的函数,下列叙述中正确的是 A、函数的定义不能嵌套,但函数调用可以嵌套B、函数的定义可嵌套,但函数的调用不能嵌套C、函数的定义和调用均不能嵌套D函数的定义和调用均可嵌套13、有以下程序main() int i;for(i=0;i5)printf(“%d n”,m);elseprintf(“%d n”,m-);A、7 B、6 C、5 D、
35、423、当 a=1, b=3, c=5, d=4 时,执行下面一段程序后, x 的值为 if (ab)if(cd)x=1;else if(ac)if(bd)x=2;elsex=3;elsex=6;else x=7;A、1 B、2 C、3 D、624、以下程序企图把从终端输入的字符输出到名为 abc.txt 的文件中, 直到从终端读入字符 #号时结束输入和输出操作,但程序有错。出错的原因是 #include main( ) FILE *fout;char ch;fout=fopen( abc.txt , w );ch=fgetc(stdin);while(ch!= #)fputc(ch,fout
36、);ch=fgetc(stdin);fclose(fout);A、函数fopen调用形式有误B、输入文件没有关闭C、函数fgetc调用形式有误D、文件指针stdin没有定义25、有以下程序,执行后输出结果是 main() union unsigned int n;unsigned char c;ul;ul.c =A;printf( “%c n” ,ul.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; i3; i+)printf(“%d ”, mki);A、
37、4 5 6 B 、 2 5 8 C 、 3 6 9 D 、 7 8 927、以下程序运行后,输出结果是 int func(int a, int b) static int m=0,i=2;i+=m+1; m=i+a+b; return(m);main() int k=4,m=1,n;n=func(k, m);printf( “%d, ”, n);n=func(k, m);printf( “%d ”, n);A、8, 15 B 、8, 16 C 、8, 17 D 、8, 828、在执行以程序时,如果从键盘上输入:ABCdef,则输出结果为:#include main( ) char ch;while(ch=getchar()!= n) if(ch= A &ch= a & ch= z)ch=ch-32;printf( “%c”,ch);printf( “ n”);A、ABCdef B 、abcDEF C、abc D、DEF29、有以下程序,执行后输出结果是 _int *f(int *x, int *y) if(*x*y)return x;elsereturn y;main( ) int a=7,b=8,*p,*q,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年工程经济重要考点试题及答案
- 自考行政管理本科信息分析试题及答案探讨
- 快速拿证水利水电考试试题及答案总结
- 2025年工程经济课程动态试题及答案
- 2025年建筑工程考前冲刺试题及答案
- 现代管理学实战案例试题及答案
- 2025年经济师复习知识要点试题及答案
- 2025年老字号餐饮品牌餐饮行业竞争格局与品牌战略研究报告
- 绥化2025年黑龙江绥棱县事业单位招聘工作人员笔试历年参考题库附带答案详解
- 行政管理学多元视角试题及答案
- 广东旅游车队公司一览
- 模具加工3数控加工_图文.ppt课件
- 河南省确山县三里河治理工程
- 水利工程合同工程完工验收工程建设管理工作报告
- 基于PLC的温室大棚控制系统设计说明
- 多级泵检修及维护(1)
- 涵洞孔径计算
- 测量未知电阻的方法
- 中国民主同盟入盟申请表
- 观感质量检查表
- 最全半导体能带分布图
评论
0/150
提交评论