计算机二年级C语言试题库_第1页
计算机二年级C语言试题库_第2页
计算机二年级C语言试题库_第3页
计算机二年级C语言试题库_第4页
计算机二年级C语言试题库_第5页
免费预览已结束,剩余6页可下载查看

下载本文档

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

文档简介

1、试题库1 有以下程序main() int a=1,b=2,m=0,n=0,k;k=(n=b>a)|(m=aprintf("%d,%dn",k,m);程序运行后的输出结果是A) 0,0 B) 0,1 C) 1,0 D) 1,12 在一个 C 程序中A ) main 函数必须出现在所有函数之前B ) main 函数可以在任何地方出现C) main 函数必须出现在所有函数之后D ) main 函数必须出现在固定位置3 有以下程序main() int a=5,b=4,c=3,d=2;if (a>b>c)printf("%dn", d);else

2、 if ( (c-1 >= d) = 1)printf("%dn", d+1);elseprintf("%dn", d+2);执行后输出结果是A) 2 B) 3 C) 4 D)编译时有错,无结果4 有以下程序main() int i;for (i=0; i<3; i+) switch (i) case 1: printf("%d ", i); case 2: printf("%d ", i); default : printf("%d ", i);执行后输出结果是5 有以下程序 ma

3、in() int k=4,n=0;for( ; n n+;if(n%3!=0) continue;k-; printf("%d,%dn",k,n);程序运行后的输出结果是A) 1,1 B) 2,2 C) 3,3 D) 4,46 有以下程序fun(int a, int b) if(a>b) return(a);else return(b);main() int x=3, y=8, z=6, r;r=fun(fun(x,y), 2*z);printf("%dn", r);程序运行后的输出结果是A) 3 B) 6 C) 8 D) 127 有以下程序int

4、 *f(int *x, int *y) if (*x < *y)return x;elsereturn y;main() int a=7,b=8,*p,*q, *r;p=&a; q=&b;r = f(p,q);printf("%d,%d,%dn",*p,*q,*r);执行后输出结果是A) 7,8,8 B) 7,8,7 C) 8,7,7 D) 8,7,88 以下能正确地定义整型变量 a, b 和 c 并为其赋初值 5 的语句是A)int a=b=c=5 ;B)int a,b,c=5 ;C)a=5,b=5,c=5 ;D)a=c=b=5 ;9 若二维数组 a

5、 有 m 列,则在 aij 前的元素个数为A ) j*m+i B)i*m+j C)i*m+j-1 D)i*m+j+110 下面程序段是输出两个字符串中对应相等的字符。请选择填空char x=” programming ” ;char y=” Fortran ” ;int i=0;while(xi!= 0 &&yi!= 0 )if(xi= =yi)printf(“ %c” ,);else i+;A) xi+ B)y+i C)xi D)yi11 若使用一维数组名作函数实参,则以下正确的说法是A)必须在主调函数中说明次数组的大小B 实参数组类型与形参数组类型可以不匹配C 在被调函数中

6、,不需要考虑形参数组的大小D 实参数组名与形参数组名必须一致12 以下程序的正确运行结果是#incluedmain()int k=4,m=1,p;p=func(k,m);printf( “ %d” ,p);p=func(k,m);printf(n“” %,pd);func(int a,int 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,813 若有说明: int *p,m=5,n ;以下正确的程序段是A) p=&n;scanf(“ %d” ,&p);B) p=&n;scan

7、f(“ %d” ,*p);C) scanf(“ %d” ,&n);*p=n;D) p=&n;*p=m;14执行以下程序后,a和b的值为main()int a,b,k=4,m=6,*p1=&k,*p2=&m;a=p1=&m;b=(-*p1)/(*p2)+7;pri ntf(“ a=%nd” ,a);printf( “ b=n%”d ,b);A)-1 ,5 B)1,6 C)0,7 D)4,1015 若要用 fopen 函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是A)” ab+” B) ” wb+” C) ” rb+ ” D ” ab

8、”16 根据定义和数据的输入方式,输入语句的正确形式为已有定义 :float f1,f2;数据的输入方式:A)scanf(“ %f,%f ” ,&f1,&f2);B) scanf(“ %f%f” ,&f1,&f2);C) scanf( “ % %” ,&f1,&f2);D) scanf(“ %” ,&f1,&f2);17 分析以下程序运行结果#includeint func(int n)if(n=1)return 1;elsereturn(n*func(n-1);void main()int x;x=func(5) ;printf

9、(“n%”d ,x);A)100 B)5 C)1 D)12018 分析以下程序运行结果#includevoid main()int y=2,a=1;while(y-!=-1)doa*=y;a+;while(y-);printf(“ %d,n%” d ,a,y);A)1,-2 B)2,1 C)1,0 D)2,-119 下面程序段的运行结果是char a7=” abcdef ” ;charb4= ” ABC” ;strcpy(a,b);printf( “ %c” ,a5);A) 空格B)0 C)e D)f20 下面是对 s 的初始化,其中不正确的是A)char s5=“ abc ” ; B)cha

10、r s5= a , b , c ;C)char s5=”; D)char s5=” abcdef ” ;21 执行语句 for(i=1;i+<4; ) ;后变量 i 的值是A)3 B)4 C)5 D) 不定22 以下程序段x=-1;dox=x*x;while(!x);A)是死循环B)循环执行二次C)循环执行一次 D)有语法错误23 若有以下定义和语句:inion dataint i;char c;float f;a;int n;则以下语句正确的是A)a=5; B)a=2, a ,; C)printf(n” ,a);“D)%n=da;24 下面程序的运行结果是 main()struct c

11、mplxint x;int y;cnum2=1,3,2,7;printf(“n%”d ,cnum0.y/cnum0.x*cunm1.x);A)0 B)1 C)3 D)625 以下程序的运行结果是 main()int k=4,a=3,b=2,c=1;printf( “ n” ,kA)4 B)3 C)2 D)1二 填空1 若有以下定义,则计算表达式y+=y-=m*= 以后 y 的值是 int m=5,y=2;2 若有定义 :int b=7;float a=,c=;: 则下面表达式的值为 a+(int)(b/3*(int)(a+c)/2)%43 有 int a=3,b=4,c=5;, 则以下表达式的

12、值为 !(a+b)+c-1&&b+c/24 条件” 2 或 x<-10 ”的 c 语言表达式是5 以下程序的功能是判断输入的年份是否是闰年. 请在 内填入正确内容main()int y,f;scanf(“ %d” ,&y);if(y%400=0)f=1;else if(5)f=1;else6;if(f) printf( “ %d is ” ,y);else printf( “ %d is not ” ,y);printf( “ a leap yne”ar);6 下面程序的功能是计算100 至 1000 之间有多少个数其各位数字之和是5 。请填空#includema

13、in(0int i,s,k,count=0;for(i=100;i<=1000;i+)s=0;k=i;while(7)s=s+k%10;k=8;if(s!=5)9;else count+;printf( “ %d” ,count);7 下面程序将二维数组a 的行和列元素呼唤后存到另一个二维数组 b 中。请填空main()int a23=1,2,3,4,5,6;int b32,I,j;printf( “ arrany ”a:);for(i=0;i<=1;i+)for(j=0;10;j+)printf( “ %5d” ,aij);11; printf(n“” );printf( “ a

14、rrany ”b:);for(i=0;12;i+)for(j=0;j<=1;j+)printf( “ %5d” ,bij);printf(n”“ );8 以下 search 函数的功能是利用顺序查找法从数组 a 的 10 个元素中对关键字m 进行查找。顺序查找法的思路是: 从第一个元素开始, 从前向后依次与关键字你叫, 直到找到此元素或查找到数组尾部时结束。若找到,返回此元素的下标;若仍未找到,则返回值 -1 。请填空#includeint search(int a10,int m)int I;for(i=0;i<=9;i+) if(1)return(i);return(-1);

15、main()int a13,m,i,no;no=search(14);if(15) printf(nOK F“OUND!%d” ,no+1);else printf( nSo“rry Not Found! ” );9 若有定义:int a尸2,4,6,8,10,12,*p=a;则 *(p+1)的值是16 , *(a+5)的值是1710 将任意输入的一个偶数 n 分解为两个素数之和,并给出各种分解方法#includemain()int n,i;int check(int x); doscanf(“ %d” ,&n);while(n%2!=0);for(i=3;i<=n/2;i+)i

16、f(check(i)&&18)printf(“ %d=%d+%n” d ,n,i,n-i);int check(int x) int i;for(i=2;iif(19) return(0);return(1);11 函数调用语句: fgets ( buf, n, fp );从 fp 指向的文件中读入 20个字符放到 buf 字符数组中。函数 值为 2112 设数组 a 包括 10 个整型元素。下面程序的功能是求出 a 中各相邻元素的和,并将这些和存在数组 b 中,按每行3 个元素的形式输出。请填空main()int a10,b10,i;for(i=0;i<10;i+) s

17、canf(“ %d” ,&ai);for(22;i<10;i+)23for(i=1;i<10;i+) printf( “ %3d” ,bi); if(24=0) printf( n” ); “ 13 如果以下程序输入的是we are students ,则输出的结果是25#include “”void main() char s81,*p;printf( “ Input a sentennc” e: );gets(s);for(p=s;*p;p+)if(*p=32) 100 ;C)#define N 100 ; D)int N=100 ;int numN ;int numN

18、 ;答案 :C评析 : 有二种方法指定数组长度。 其一是直接在数组名后面的方括号内输入数组的长度。 其二是, 在定义数组的同时对其赋值,由实际赋值的元素个数自动确定数组的长度。(31) 有以下程序fun(int a , intm , int n) int I,J ;for(i=m ; i ai+ll=aI+3 ; main() int i,a6l=2,4,6,8,10,12 ;clrscr0 ;fun(a,2,5) ;for(i=O ; i<6 ; i+) printf(" "aI) ; 程序运行后输出的结果是 。答案 :B 评析:在调用函数时,既可以用单个的变量作为

19、参数,也可以用数组名作为参数。还可将数组的下标值作为实参使用。在本题中,是将数组名和数组的下标值作为实参。(32) 以下不正确的叙述是 A)在C程序中,逗号运算符的优先级最低。B) 在 C 程序中, T 和 t 是两个不同的变量C)若a和b类型相同,在执行了赋值表达式a=b后,b中的值将放入a中,而b中的值不变。D) 当从键盘输入数据时,对于整型变量只能输入整型数据。对于实型变量只能输入实型数据。答案 :D评析:在 c 语言中,为方便表达式的运算,对所有的运算符都设定了一定的优先级,其中逗号运算符的优先级最低。 c 语言中的数据有常量和变量之分,其中变量是区分大小写的,也就是说 T 和 t 是两个不同的变量名。将某个变量的值赋给其它的变量之后,并不影响其本身的值。当定义一个整型变 量后,可以从键盘上对其输入整型值,也可以是字符型的数据。如果将字符型的值赋给整型变量,则它 接受的是字符常量的 ASCII 码值。实型变量也可以接收整型值。 (33) 有以下程序 pf(char *p , int n) int i; for(i=0 ; i pi=pI+32 ; main() char a="ABCD" ; int i : clrscr() ;pf(a ,

温馨提示

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

评论

0/150

提交评论