当前位置:首页 > 2010福建专升本C语言试题
2010年福建专升本C语言
一、单项选择题。
1.在C语言中,浮点型常量的表示方法错误的是 A.12.565 B.0.0 C.1.2521e2 D.5.3^8
2.下面程序执行后的结构是 #include
float b=189.22;printf(\}
A.189.22 B.189 C.18 D.89_
3.如果要对a,b,c三个变量赋予同一个初值5.如下语句错误的是 A. int a,b,c;a=b=c=5; B.int a=5,b=5,c=5; C. inta=5;b=5;c=5; D.int a=5,b=a,c=b;
4.设所有变量均是int类型,运行完表达式((a=4*6,a-3),a+22)后a的值为 A.46 B.43 C.24 D.20
5.下列不能够正确得到a,b两个值中最大值,并把最大值赋予max的语句为 A.if(a>b) max=a;else max=b; B.a>b? max=b:max=a; C.a>b? max=a:manx=b; D.a
6.已知float x=6.5;int a=8;float y=3.5;,则表达式x+a%3*(int)(x+y)%2/4最后的值是 A.10 B.6.5 C.31.5 D.0
7.关于算法的描述,错误的是 A.算法应该具有零个或多个输入/输出 B.算法中的每一个步骤都必须是确定的
C.算法可以是无限的,也可以是无限不停止的
D.算法的输出可以是屏幕上显示,也可以是通过打印机打印
8.设a,b初始值分别是3和5,则如下程序执行完后,a和b的值分别是 if((a=b)>0) b=a++;else a=++b;
A.6,5 B.5,6 C.5,5 D.3,6
9.设a,b都是整数类型,要在键盘上输入a,b的值,则格式化输入函数应为 A.scantf(\ B.scantf(\C.scantf(\ D.scantf(\
1
10.已知a和b值分贝是4和5,关于如下逻辑表达式,值为0的是 A.a||b B.!a||b C.(a&&b)||0 D.!!(a>b)
11.以下程序的输出结果是 #include
do{tmp*=top;} while(--top); printf(\
A.0,120 B.1,120 C.0,0 D.1,0
12.已知有定义int a[10];,如下对数组a第5个元素引用中(数组的首元素为第1个元素),正确的表达式是
A.a[0]+4 B.*a+4 C.*(a+4) D.a[5]
13.假设二维数组a定义为float a[3][4],下列对数组第二行,第二列元素引用方法中,错位的为
A.*(a[0]+5) B.a[2][2] C[1][1] D.*(a[1]+1)
14.以下程序输出结果正确的是 #include
{ int sum=0;for(int n=0;n<10;n++){if(n%2==0) continue; if(n%5==0) break; sum+=n;} printf(\
A.4,5 B.45,10 C.2,1 D.5,8
15.如下对字符串赋初值的方式中,错误的是 A.char t[10]={'h','e','r','e'}; B.char t[]=\C.char t[]={\ D.char t[10]='here';
16.如下常用的字符串操作中,实现连个字符串链接操作的是 A.strcmp B.strcat C.strcpy D.strstr
17.以下程序的输出结果正确的是 int f(inta,int*b)
{ if(a>*b) *b=a; return *b;} main()
{ int a=9;int b=6;int c=f(a,&b);printf(\A.9,6,9 B.9,9,6 C.9,6,6 D.9,9,9
18.一维数组a的定义为int a[10],对于如下函数定义,不能用f(a)调用的为 A.int f(int *x) B.int f(int x[]) C.int f(int x[10]) D.int f(int x)
2
19.以下程序的输出结果正确的是 int p=1;int q=2;
int f(int p){p++;q++;return p;} int g(int x){p+=x;return p;} void main()
{ f(3);g(5);printf(\
A.6,3 B.7,3 C.6,2 D.7,2
20.当函数中的局部变量在函数调用结束后不消失而保留原值,在下次调用该函数时,该函数已经有值,那么申明该变量时需要使用何种关键字加以修饰 A.register B.const C.static D.extern
21.以下程序的输出结果正确的是 void main()
{ int a[5]={0,1,2,3,4} printf(\A.0,3,2,3 B.0,4,4,3 C.0,1,2,3 D.2,3,2,3
22.假设变量a,b初始值为4,5,通过swap(a,b)可以实现a和b值互换的函数定义为 A.void swap(int p1,int p2){int tmp;tmp=&p1;*p1=*p2;*p2=tmp;} B.void swap(int *p1,int *p2){int *tmp;*tmp=*p1;*p1=*p2;*p2=tmp;} C.void swap(int p1,int p2){int tmp;tmp=p1;p1=p2;p2=tmp;}
D.void swap(int *p1,int *p2){int tmp;tmp=*p1;*p1=*p2;*p2=tmp;}
23.以下表达式中,不能够实现结构体stu中age域值加1的表达式是 A.stu.age++ B.++stu.age C.stu.age+1 D.stu.age+=1
24.要打开一个文本文件,并且向文本文件中写入相关信息,那么如下打开文件方式正确的是
A.FILE fp=fopen(\B.FILE fp=fopen(\C.FILE fp=fopen(\D.FILE fp=fopen(\
25.以下程序的输出结果正确的是 int f(int n)
{int(n<=1) retur n;else return(n+f(n-1));} void main(){printf(\
A.10 B.5 C.120 D.15
26.有如下宏定义 #define A 100 #define B 2*A
对于表达式pritf(\宏展开后的语句为 A.printf(\
3
B.printf(\C.printf(\D.printf(\
27.关于结构体的叙述中,错误的是 A.一个结构体变量的指针就是该变量所占据的内存起始位置 B.一个结构体变量中可以存放一组数据 C.结构体变量可以作为函数传递的参数
D.用结构体变量作实参时,采取的不是“值传递”的方式
28.以下程序的输出结果正确的是
struct room{char.roomName[20];int L,W;}r[2]={\main(){printf(\A.printf(\语句错误 B.102 area is 16 C.101 area is 12 D.102 area is 12
29.C语言提供的数据类型中,属于构造类型的是 (1)整型 (2)字符型(3)浮点型(4)枚举类型(5)结构体类型(6)共用体类型(7)指针类型
A.(1)(2)(3) B.(5)(6) C.(4)(5)(6) D.(7)
30.组成结构化程序设计的三种基本控制结构中,不包括 A.顺序结构 B.选择结构 C.循环结构 D.嵌套结构
二、程序阅读题
阅读下列程序,写出程序运行输出结果。 31.
#include
ch[i]=(ch[i]>='A'&&ch[i]<='Z')?(ch[i]+32):ch[i]; printf(\ 32.
#include
printf(\{f2=f1+f2;f1=f2-f1;printf(\
4
33.
#include
{ int f[][3]={{1,2,3},{4,5,6},{7,8,9}};int tmp; for(int i=0;i<3;i++){ for(int j=0;j
{tmp=f[i][j];f[i][j]=f[j][i];f[j][i]=tmp;}} for(i=0;i<=3;i++)
{printf(\ = =\\n\} 34.
#include
int f(int n) {static int f=1;f=f*n;return f;} void main()
{for(int i=1;i<=5;i++) printf(\
三、完善下列程序
35.下面程序首先输入一个十进制数,通过程序的转化,输出一个与之对应的八进制数。 #include
do{k= ;i= ; a[j++]=k;}while(i>0); for( ){printf(\
36.下面程序要求两个数的最大公约数,并输出该公约数。 #include
{if(L>R)return R;else returnL;} void main()
{ intL,R;int Result;scanf(\ ;
for(int tmp=1;tmp<=min;tmp++){if( ) Result=tmp;}printf(\
5
共分享92篇相关文档