当前位置:首页 > 2013-2014-1 C语言6套复习题
模拟题一
一、单项选择题(每题2分, 30分)
1. 结构化程序设计方法中有三种基本结构,不正确的是____D_____。 A.顺序结构 B.选择结构 C.循环结构 D.数组结构 2. 在C语言中,下列变量名称中合法的是___C______。 A.7x B.int C.ELse D.a-b 3. 合法的字符常量是_C___。 A. ?\\084? B. ?ab? C. ?\\x43? D. “\\0” 4. 下列变量的定义及赋值正确的是___ C ___。 A. int i=0;j; B. char c=”A”; C. double x,y,z; D. float a=b=100;
x=y=z=100;
5.如有以下变量定义:int a=5,b=6,c=12;那么下列表达式结果为真的是____A_____。 A. a-b B. a>b C. b/c D. c%b 6. 下列的数组定义中合法的是( A ) A.int a[]=\; B.int a[5]={0,1,2,3,4,5}; C.char s=\; D.char a[]={0,1,2,3,4,5}; 7.下列循环语句中,不能够正常结束的是___C______。 A. int i=0; B. int i=0;
for(;i<100;i++); for(;;){if(i++>100)break;} C. int i=0,j=0; D. int i=0,j=0;
while(i<=j)j++; do{i+=j;i++;j++;}while(i 8. 若有:int a[ ]= {1,2,3,4,5,6,7,8},*p=a ; 不能正确表示a[5]的表达式是____A____。 A. p + 5 B. p[5] C. *(a +5) D. *(p +5) 9. 设有int x=15,y=20则表达式(x/=2+1,y*5),y+25的值和执行表达式后x、y的值分别是____B_____。 A. 125 8 100 B. 45 5 20 C. 125 5 100 D. 45 8 20 10. 以下程序运行后,输出结果是_____C____。 #include int b=1; int f() { int b=-5; return b*b; } void main() { printf(\ } A. -5,25 B. 1,1 C. 1,25 D. 1,1 第1页,共29页 11. 以下程序运行后,输出结果是____D_____。 #include #define S(a,b) a*b main() { int a=3 ,area; area=S(a,a+1) ; printf(\; } A. 15 B. 12 C. 9 D. 10 12. 能正确表示a≥10或a≤ 0的关系表达式是__C __。 A. a>=10 or a<=0 B. a>=10│a<=0 C. a>=10 || a<=0 D. a≥10 || a≤ 0 13. 以下叙述中正确的是___D______。 A.主函数中定义的变量子函数可以使用 B.局部变量都是自动变量 C.只要是全局变量,所有函数都可以使用 D.不同位置定义的变量有效范围不一样 14. 当a=1,b=3,c=5,d=4,x=3时,执行下面一段程序后,x的值为____A_____。 if(a if(c>d) x=1; else if(a if(b>d)x=2; else x=0; A. 1 B. 2 C. 3 D. 0 15. 现有一个文本文件,想以追加方式打开,下列方式正确的是___D_______。 if((fp=fopen(\{printf(\!\\n\; exit(0);} A. w B.ab C.b D.a 二.判断题:本大题共10个小题,每小题1分,共10分。 1、函数既可以嵌套定义,也可以嵌套调用。 N 2、表达式i++表示对变量i自身加1。 Y 3、 while语句的循环体至少执行一次。 N 4、函数的递归调用不过是一个函数直接或间接的调用自己。 Y 5、通过return语句 可以带回一个或多个值。 N 6、字符串只能存放到字符型数组中。 Y 7、在标准C中“=”是判断2个数是否相等。 N 8、静态外部变量只能在本文件使用。 Y 9、C 语言是一种结构化的程序设计语言。 Y 10、语句scanf(“%7.2f”,&x)是合法的。 N 三.填空题:本大题共15个小题,每空2分,共30分。 1.下面程序的运行结果是 4 #include 第2页,共29页 void main( ) { int i=3; switch(i) { case 1: printf(\break; case 2: printf(\ break; case 3: printf(\break; default: printf(\ } } 2.输入一个不超过3位的正整数,判断它是个几位数, weishu ()是判断位数的函数,将程序补充完整。 #include else if( x0/10>0 ) /*答案不唯一*/ return(2); else return(1); } void main() { int a; do{ scanf(\; printf(\是%d位数\\n\ weishu(a) ); } while(a!=0) ; } 3.计算100到188之间的所有奇数的平均值,将程序补充完整。 #include { int i,j=0; float average=0,sum=0; for(i=101, i+=2 ;i<188;i+=2) {sum+=i; j++ ;} average =sum/j; printf(\,average); } 4.判断数组中的整数是不是素数, 将程序补充完整。 #include for(i=2; i if(n%i==0) { flag=0;break;} return flag; } 第3页,共29页 void main() { int i,a[6]={3,7,9,11,10,6}; for(i=0;i<6;i++) if( prime(a[i]) )printf(\是素数\\n\; } 5.下面程序的运行结果是 2 5 8 #include { static int b=1; int m; b=b+1; m=k*2+b; return m; } void main( ) { int i, s; for(i=0; i<=2; i++) { s=fun(i); printf(\ %d \ /* %d前有空格 */ } printf(\} 6.下面程序的运行结果是 8, 3 #include { int a[10]={3,9,7,8,5,10,1,2,4,6}, *p; for ( p=a; p 7.以下程序的功能是:在一个3×4的二维数组中,将每行中的最小值与第0列元素对调,请填空。 #include void main( ) { int a[3][4]={{6,3,5,8}, {10,4,2,9}, {1,7,15,11}}, i, j, t, k; for( i=0; i<3; i++ ) { k=0; for ( j=1; j < 4 ; j++ ) if(a[i][j] k = j ; if(k!=0) 第4页,共29页
共分享92篇相关文档