logo资料库

专升本C语言试题.doc

第1页 / 共23页
第2页 / 共23页
第3页 / 共23页
第4页 / 共23页
第5页 / 共23页
第6页 / 共23页
第7页 / 共23页
第8页 / 共23页
资料共23页,剩余部分请下载后查看
华东交通大学专升本C语言
华东交通大学专升本 C 语言 (2008-01-10 15:37:36) 转载 标签: 华东交通大学 c 语言 专升本 真题 江西专升本 教育 一.单项选择题 1. 以下定义语句中正确的是 ( ) A)char a='A'b='B'; B)float a=b=10.0; C)int a=10,*b=&a; D)float *a,b=&a; 2. 下列运算符中,优先级最高的是 ( ) 。 A. -> && B. ++ D. = 3. 表达式!(x>0&&y>0)等价于 ( ) 。 C. A. ! (x>0) || ! (y>0) && !y>0 D. !(x>0) && ! (y>0) B. !x>0 || !y>0 C. !x>0 4. 有以下程序 main() { int a=666,b=888; printf("%d\n",a,b); } 程序运行后的输出结果是( ) A)错误信息 B)666 C)888 D)666,888 5. 有以下程序 main() { int i;
for(i=0;i<3;i++) switch(i) { case 0:printf("%d",i); case 2:printf("%d",i); default:printf("%d",i); } } 程序运行后的输出结果是 ( ) A)022111 B)021021 C)000122 D)012 6. 若 x 和 y 代表整型数,以下表达式中不能正确表示数学关系|x-y|<10 的是 ( ) A)abs(x-y)<10 B)x-y>-10&& x-y<10 C)!(x-y)<-10||!(y-x)>10 D)(x-y)*(x-y)<100 7. 数组定义为,int a[11][11]; 则数组 a 的元素个数为: ( ) A. 12 100 B. 144 D. 121 C. 8. 对于以下的变量定义,不正确的表达式是:( )。 struct node { int j , k ; }x,*p=&x; A. k=2 p->k=2; B. (*p).k=2; C. x . D. x->k=2 9. 不正确的赋值或赋初值的方式是 ( ) 。 A. str[10]; char str[ ]=”string”; str=”string”; char *p=”string”; C. *p; p=”string”; B. char D. char 10. 设程序中不再定义新的变量,写出在函数 main 中可以使用的所有变量为: () #include
int z; int p(int x) static int y; return (x+y); { } void main( ) { int a,b; printf(“%dn”, p(a)); ……… } A. a,b a,b,z a,b,x,y,z B. C. a,b,y,z D. 11.有以下程序 main() { int i=0,x=0; for (;;) { if(i==3||i==5) continue; if (i==6) break; i++; s+=i; }; printf("%d\n",s); } 程序运行后的输出结果是 ( ) A)10 B)13 C)21 D)程序进入死循环 12.有以下程序 main() { char a,b,c,d; scanf("%c,%c,%d,%d",&a,&b,&c,&d); printf("c,%c,%c,%c\n",a,b,c,d); } 若运行时从键盘上输入:6,5,65,66<回车>。则输出结果是()
A)6,5,A,B B)6,5,65,66 C)6,5,6,5 D)6,5,6,6 13.s12 和 s2 已正确定义并分别指向两个字符串。若要求:当 s1 所指串大于 s2 所指串时,执行语句 S;则以下选项中正确的是( ) A)if(s1>s2)S; B)if(strcmp(s1,s2))S; C)if(strcmp(s2,s1)>0)S; D)if(strcmp(s1,s2)>0)S; 14.有以下定义和语句 int a[3][2]={1,2,3,4,5,6,},*p[3]; p[0]=a[1]; 则*p[0]+1)所代表的数组元素是 ( ) A)a[0][1] B)a[1][0] C)a[1][1] D)a[1][2] 15.程序中对 fun 函数有如下说明 void *fun(); 此说明的含义是:( ) A)fun 了数无返回值 B)fun 函数的返回值可以是任意的数据类型 C)fun 函数的返回值是无值型的指针类型 D)指针 fun 指向一个函数,该函数无返回值 16.有以下程序 void fun(int *a,int i,int j) { int t; if(inum B)p->num C)(*p).num D)stu[3].age 18.已定义 ch 为字符型变量,以下赋值语句中错误的是 ( )
A)ch='\'; B)ch=62+3; C)ch=NULL; D)ch='\xaa'; 19.以下选项中不能正确把 cl 定义成结构体变量的是 ( ) A)typedef struct B)struct color cl { int red; { int red; int green; int green; int blue; int blue; } COLOR; }; COLOR cl; C)struct color D)struct { int red; { int red; int green; int green; int blue; int blue; } cl; } cl; 20.有以下程序 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("%d\n", r); } 程序运行后的输出结果是 ( ) A)3 B)6 C)8 D)12 21.有以下程序段 main() { int a=5,*b,**c; c=&b; b=&a; …… } 程序在执行了 c=&b;b=&a;语句后,表达式:**c 的值是 ( ) A)变量 a 的地址 B)变量 b 中的值 C)变量 a 中的值 D)变量 b 的地址 22. 设有 int x=11; 则表达式 (x++ * 1/3) 的值是 ( ) A) 3 B) 4 C) 11 D) 12 23. 下列程序的输出结果是 ( ) A) 3 B) 3.2 C) 0 D) 3.07 main() { double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf("%d \n", d*y); } 24. 下列变量定义中合法的是 ( )
A) short _a=1-.le-1; B) double b=1+5e2.5; C) long do=0xfdaL; D) float 2_and=1-e-3; 25. 以下循环体的执行次数是 ( ) A) 3 B) 2 C) 1 D) 0 main() { int i,j; for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i); } 26. 以下叙述正确的是 ( ) A) do-while 语句构成的循环不能用其它语句构成的循环来代替。 B) do-while 语句构成的循环只能用 break 语句退出。 C) 用 do-while 语句构成的循环,在 while 后的表达式为非零时结束循环。 D) 用 do-while 语句构成的循环,在 while 后的表达式为零时结束循环。 27. 下列程序执行后的输出结果是( ) A) G B) H C) I D) J main() { int x='f'; printf("%c \n",'A'+(x-'a'+1)); } 28. 下列程序执行后的输出结果是 ( ) A) 6 B) 7 C) 8 D) 9 void func(int *a,int b[]) { b[0]=*a+6; } main() { int a,b[5]; a=0; b[0]=3; func(&a,b); printf("%d \n,b[0]); } 29. 下列程序的运行结果是 ( ) A) a=%2,b=%5 B) a=2,b=5 C) a=d, b=d D) a=%d,b=%d #include main() { int a=2,c=5; printf("a=%d,b=%d\n",a,c); } 30. 设有数组定义: char array [ ]="China"; 则数组 array 所占的空间为 ( ) A) 4 个字节 B) 5 个字节 C) 6 个字节 D) 7 个字节 31. 下列程序的输出结果是 ( ) A) 5 B) 6 C) 7 D) 8 struct abc { int a, b, c; }; main() { struct abc s[2]={{1,2,3},{4,5,6}}; int t; t=s[0],a+s[1],b; printf("%d \n",t); }
32. 若有以下调用语句,则不正确的 fun 函数的首部是 ( ) A) void fun(int m, int x[]) B) void fun(int s, int h[41]) C) void fun(int p, int *s) D) void fun(int n, int a) main() { … int a[50],n; … fun(n, &a[9]); … } 33. 设已有定义: char *st="how are you"; 下列程序段中正确的是 ( ) A) char a[11], *p; strcpy(p=a+1,&st[4]); B) char a[11]; strcpy(++a, st); C) char a[11]; strcpy(a, st); D) char a[], *p; strcpy(p=&a[1],st+2); 34. 下列程序执行后的输出结果是 ( ) A) you&ne B) you C) me D) err mai() { char arr[2][4]; strcpy(arr,"you"); strcpy(arr[1],"me"); arr[0][3]='&'; printf("%s \n",arr); } 35. 下列程序执行后的输出结果是 ( ) A) 6 B) 8 C) 10 D) 12 #define MA(x) x*(x-1) main() { int a=1,b=2; printf("%d \n",MA(1+a+b));} 36. 变量 a 所占内存字节数是 ( ) A) 4 B) 5 C) 6 D) 8 union U { char st[4]; int i; long l; }; struct A { int c; union U u; }a; 二、填空题 1. 表达式 1<0<5 的值是 。
3. 表达式 ~(10>>1^~5) 的值 是 。 2. 设变量已正确定义,在程序段 B 中填入正确的内容,使程序段 A 和程序段 B 等价。 程序段 A for(k=s=0;k<=10;s+=a[k++]) if(a[k]<0) break; 程序段 B for(k=0,s=0; ; s+=a[k++]) if( ) break; 3. 下列程序的输出结果是 #define T 10 #define MD 3*T printf(“%d”,30/MD); 4. 下列程序的输出结果是 int k,s; k++; for(k=s=0;k<10&&s<=10;s+=k) printf(“k=%d,s=%d”,k,s); 5. 下列程序的输出结果是 #include int f(int m) { static int k=2; k++; 。 。 。
分享到:
收藏