福建专升本--2006年《C语言》真题
- 格式:doc
- 大小:62.00 KB
- 文档页数:6
更多福建专升本资料和辅导信息,麦豆网(www.mydou.com) 1 福建专升本2006年《C语言》真题
一、单项选择题(本大题共30小题,每小题2分,共60分) 1、设变量已正确定义并赋值,正确的C语言表达式是 ( ) A、a=a+10; B、a=b=c++ C、int (12.3%5) D、a=a+5=b+c 2、表达式18/4*sqrt(4.0)/4的值的数据类型是 ( ) A、int B、float C、double D、不确定 3、下面正确的字符串常量是( ) A、‟a‟ B、”a” C、‟a/0‟ D、‟abc‟ 4、设int a=8;表达式运行后a为0的是( ) A、a/a%5 B、a%=a+5 C、a* =a/5 D、a+=a-=a 5、设 int x=1;执行表达式 - -x&&- -x后,x的值是 ( ) A、-1 B、-2 C、1 D、0 6、两个字符数组 s1,s2,则以下正确输入格式是 ( ) A、gets (s1,s2) B、scanf(“%s%s”, &s1, &s2) C、scanf (“%s%s”, s1, s2) D、gets(“ s1”);gets(“ s2”) 7、若用fopen函数打开一个二进制文件,该文件要既能读又能写,则文件方式字符串应为 ( ) A、”rb+” B、”ab+” C、”wb+” D、”ab” 8、已知整数a=1,b=2,c=3;求表达式执行后a,b,c,d的值,表达式d=––a?b++:++c; ( ) A、0,2,3,3 B、1,2,3,4 C、0,2,4,4 D、1,2,2,3 9、已知整数a=1,b=2,c=3;求表达式执行后a,b,c,d的值,表达式d=––a||b++||c++; ( ) A、0,2,3,4 B、1,2,3,4 C、0,3,4,1 D、0,3,3,1 10、已知整数a=1,b=2,c=3;求表达式执行后a,b,c,d的值, 表达式d=(a++,- -b,b- -,- -c,c- -); ( ) A、1,2,1,2 B、2,0,1,2 C、0,2,0,2 D、1,2,0,1 11、设有变量定义 int a=3, b=4;求表达式 b+ =a+ =a * =a执行后b的值 ( ) A、13 B、15 C、16 D、22 12、下列程序段中,形成无限循环(死循环)的是 ( ) A、int i ; for (i=1;i<=100;i++); B、int i=1 ; while(- -i) for( ; ; ); C、int s=100; while(s);- -s; D、int k=100; do {- - k;} while (k!=0); 13、设 int a=10;则printf(“%d” , (a=a+10, a=a+100, a) );的输出是 ( ) A、10 B、20 C、110 D、120 14、一个函数指针数组p[ ],数组p共有四个元素,其元素指向返回double型值的函数。其定义形式正确的是 ( ) A、double ( * p[4] )( ) B、double * p[4] C、double * p[4] ( ) D、double * p(4) 更多福建专升本资料和辅导信息,麦豆网(www.mydou.com) 2 15、设有变量定义: static int a[10] ={1,3,5,7,9}; int * p = a; 执行语句printf(“%d”, * p + + * * + +p),输出的值是 ( ) A、2 B、3 C、4 D、5 16、利用下列函数与定义: void ex( int * p, int * q) { int t; t =* p; * p=*q; *q=t; } 实现将两个整数a,b的值对换的 调用语句为 ( ) A、ex (a,b) B、ex (*a,*b) C、ex (b,a) D、ex (&a,&b) 17、设有变量定义: int a [ ] ={1,2,3,4}; 执行语句a[3] = - -a[0]?a[1] + +:a[2] + +; 执行后,数组的元素a[0],a[1],a[2],a[3]的值依次为 ( ) A、1,2,3,4 B、0,3,3,4 C、0,2,3,4 D、0,2,4,3 18、如下列程序输出结果是 ( ) #define F(x) x * x * 0.1 main ( ) { float i =2.0; printf(“%5.2f\n”, F( i+1)); } A、3.10 B、4.10 C、5.10 D、6.10 19、设有定义 struct num { int a ,b ;} s [ ] ={{1,6},{2,3}}, * p =s; 执行语句printf(“%d” , p - >b/s[1].a * + + p -> a);输出的值 ( ) A、3 B、4 C、5 D、6 20、C语言中,以下不合法的变量名是 ( ) A、begin B、end C、int D、if_else 21、设x和y均为 int型变量,则以下语句:x + =y ; y= x – y ; x - = y ;的功能是 ( ) A、把x和y按大到小排列 B、把x和y按小到大排列 C、无确定结果 D、交换x和y中的值 22、以下程序的输出结果是 ( ) main ( ) {int i ; x[3][3] = {1,2,3,4,5,6,7,8,9}; for ( i=0; i <3; i + +) printf (“%3d” , x[ i ][ 2-i] ); } A、1 5 9 B、1 4 7 C、3 5 7 D、3 6 9 23、C语言中运算对象必须是整型的运算符是 ( ) A、% B、/ C、= D、< = 更多福建专升本资料和辅导信息,麦豆网(www.mydou.com) 3 24、以下程序的输出结果是 。 main ( ) { int arr [ ]={30,25,20,15,10,5}, * p =arr; p+ +; printf (“%d\n”, * (p +3)) ; } A、20 B、15 C、10 D、5 25、有如下程序段 int a=14, b=15,x; char c=‟A‟ ; x = ( a &&b ) &&(c < „B‟); 执行该程序段后,x的值为 。 A、TRUE B、FLASE C、0 D、1 26阅读以下程序: main() { int x; scanf("%d",&x); if(x--<5)printf("%d\n",x); else printf("%d\n",x++); } 程序运行后,如果从键盘上输入5,则输出结果是______。 A、3 B、4 C、5 D、6 27、已知定义 int a [4][5],( * p) [5] =a ;则数组元素正确的引用是 。 A、p + 1 B、* (p + 3) C、* (p + 1) + 3 D、* (p + 2) 28、以下程序的输出结果是 。 main ( ) { struct st2 { int a; int b; } x [ ] ={1,2,3,4,5,6}, * p = x; printf (%2d”, x[1] . a); printf (%2d”, x[1] . b); printf (%2d”, p + + - >a); printf (%2d”, p + + - >b); } A、3 4 1 5 B、3 4 1 4 C、2 3 4 3 D、3 3 2 4 29、以下程序的输出结果是 。 main ( ) { int a ; unsigned b; a=32768; b= -32768; printf (“%d, %d, %u \n” , a, b ,b ); } A、32768,-32768, -32768 B、32768,-32768, 32768 C、32768,-32768, 32767 D、-32768,-32768, 32768 更多福建专升本资料和辅导信息,麦豆网(www.mydou.com) 4 30、有以下程序 main( ) { int num[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j; for(i=0;i<4;i++) { for(j=1;j<=i;j++) printf("%c",' '); for(j= j<4;j++) printf("%4d",num[i][j]); printf("\n"); } } 若要按以下形式输出数组右上半三角 1 2 3 4 6 7 8 11 12 16 则在程序下划线处应填入的是 B A. i-1 B. i C) i+1 D) 4-i
二、程序阅读题 31、# include < stdio.h> main ( ) { int a[10] = {1,2,3,4,5,6} , * p; p = a; * ( p+3 ) + =2; printf (“%d, %d”, * p , * ( p+3 )); } 答案是: 32、# include < stdio.h> void p( int k) { int m , i ; for (m = 2; m < = k; m + +) { for (i = 2; i < = m; i + +) if (!(m%i)) break; if (i = = m ) printf (“%4d” , m); } printf (“\n”); } main ( ) { p(20); } 答案是: 33、main ( ) { static char st [ ] = {“ABCDEFGH”}, * P ; int i = 0; p = st ; while ( * p ! =‟\0‟) { if (i% 2 ! = 0 ) printf (“%c”, * p );