if(strcmp(argv[k],p)>0)p=argv[k];
printf("%sn",p);
11.下列程序调用swap函数交换a和b的值,并输出交换后的a和b的值。
程序的输出结
是:
Afterswap5,3。
voidmain()
{inta=3,b=5;
swap(&a,&b);
printf("Afterswap%d,%d",a,b);
}
swap(int*p,int*q)
{intt;
t=*p;;
*p=*q;
*q=t;
}
专升本C语言历年考试题及答案-、单项选择题
1.c语言源程序文件经过c编译程序编译连接之后生成一个后缀为__c―的文件。
A、”.c”B、“.obj”C、“.exe”D、“.bas”
2.以下选项中不正确的整型常量是_C。
A、12LB、-10C、1,900D、123U
3.表达式_C___的值是0。
A3%5B、3/5.0C、3/5D、3<5
4.表达式!
(x>0||y>0)等价于_D___。
A!
x>0||!
y>0B、!
(x>0)||!
(y>0)C、!
x>0&&!
y>0D、!
(x>0)&&!
(y>0)
5.若变量已正确定义并赋值,表达式__D不符合C语言语法。
A4&&3B、+aC、a=b=5D、int(3.14)
6.若变量已正确定义,执行语句scanf("%d%d%d",&k1,&k2,&k3);时,___B―正确的输入。
A、2030,40B、203040C、20,3040D、20,30,40
7.执行语句printf(”__D”,2);将得到出错信息。
A%dB、%oC、%xD、%f
8.设变量定义为“ints[]="hello\nworld\n";",则数组s中有__B■个元素。
A12B、13C、14D、15
9.设变量定义为“inta[2]={1,3},*p=&a[0]+1;”,_则*p的值是___B__。
A2B、3C、4D、&a[0]+1
10.若变量已正确定义并赋值,表达式-k++等价于A。
A-(k++)B、(-k)++C、-(k+1)D、-(++k)
11.在C语言程序中,在函数内部定义的变量称为__D。
A、全局变量
B、全程变量C、外部变量D、内部变量
12.若x是整型变量,表达式(x=10.0/4.0)的值是__D___。
A2.5B、2.0C、3D、2
13.对于以下的变量定义,表达式A是正确的。
structnode{
chars[10];
intk;
}p[4];
14.下列运算符中,优先级从高到低依次为_D.
A&&,!
||B、||,&&,
C、&&||,!
D、!
&&,||
int*p,*q.
k=1,j=10;
p=&j;q=&k;
p=q;(*P)++;
printf("%d",*q);
A1
B、2
15.下列程序段的输岀结果是__B—。
C、10D、11
(C)
xaa
16.以下各选项企图说明一种新的类型名,其中正确的是水量
—}
A)101B)6C)5D)4
21.以下程序的输岀结果是(D)
unionmyun
{struct
{intx,y,乙}u;
intk;
}a;
main()
{a.u.x=4;a.u.y=5;a.u.z=6;
a.k=0;
printf(%d\n”,a.u.x);
}
A)4B)5C)6D)0
22.以下程序段的输出结果是(A)
chars[]="\\141\141abc\t";
printf("%d\n",strlen(s));
A)9B)12C)13D)14
23.以下程序的输出结果是(B)
main()
{charch[3][5]={"AAAA","BBB","CC"};
printf("\"%s\"\n",ch[1]);
}
A)"AAAA"B)"BBB"C)"BBBCC"D)"CC"
24.不合法的main函数命令行参数表示形式是(C)
A)main(inta,char*c[])B)main(intarc,char**arv)
C)main(intargc,char*argv)D)main(intargv,char*argc[])
25.有以下程序
main()
{char*s[]={"one","two","three"},*p;
p=s[1];
printf("%c,%s\n",*(p+1),s[O]);
二}
|执行后输出结果是(C)
A)n,twoB)t,oneC)w,oneD)o,two
26.设有如下说明
typedefstruct
{intn;charc;doublex;}STD;
(A)
则以下选项中,能正确定义结构体数组并赋初值的语句是
ASTDtt[2]={{1,'A',62},{2,'B',75}};
B)STDtt[2]={1,"A",62},2,"B",75};
C)structtt[2]={{1,'A'},{2,'B'}};
D)structtt[2]={{1,"A",62.5},{2,"B",75.0}};
27.若变量c为char类型,则能正确判断出c为小写字母的表达式是(D)
A)'a'v=c<='z'B)(c>='a')||(c<='z')
C)('a'v=c)and('z'>=c)D)(c>='a')&&(c<='z')
二、填空题
1.设ch是字符型变量,判断ch为英文字母的表达式是:
(ch>='A'&&ch,='Z)||(ch>='a'&&ch<=z')_。
2.计算下列分段函数的if语句是_if(x>0)y=1;elseif(x=0)y=0;elsey=-1;
1x>0
y=0x=0
-1x<0
3.表达式!
!
5的值是__1。
4.下列程序段的输岀结果是—12—。
printf("%xn",(0x19<<1)&0x17);
5.下列程序段的输出结果是_k=4s=6_。
intk,s;
for(k=0,s=0;k<10;k++)
if(s>k)break;
elses+=k;
printf("k=%ds=%d",k,s);
6.下列程序段的输岀结果是_15—。
#defineMIN(x,y)(x)<(y)?
(x):
(y)
printf("%d",10*MIN(10,15));
7.下列程序在运行时可能会岀错,原因是_指针变量s未赋初值
#include
voidmain()
{char*s;
gets(s);
puts(s);
}
8.下列程序段的输岀是—60_。
#include
intf(intm)
{staticintk=0;
ints=0;
for(;k<=m;k++)s++;
returns;
}
voidmain()
{ints1,s2;
s1=f(5);
s2=f(3);
printf("%d%d\n",s1,s2);
}
9.下列程序段的输出结果是_fgh—。
char*st[]={"abcd","efgh","ijkl","mnop"};
printf("%s",*(st+1)+1);
10.用typedef定义一个含10个元素的整型数组ARR
typedefintARR[10];
11•以下程序调用findmax函数返回数组中的最大值,请填空。
findmax(int*a,intn)
三、程序(段)填空题
1.设变量x,y,z已正确定义和赋值,请仔细阅读程序段A,然后在程序段E中填入正确的内容,使程序段A和程序段E有相同的功能。
程序段A
程序段B
x=x+y;
y=x-y;
x=x_y;
z=x+y;
z=x;
x=y;
y=z;
z=x+y;
2•请仔细阅读函数fl,然后在函数f2中填入正确的内容,使函数fl和函数f2有相同的功能。
char*f1(chars[],chart[])
{intk;
for(k=0;t[k]!
='';k++)
s[k]=t[k];
s[k]='';
returns;
}
专升本C语言历年考试题及答案
一、用C语言描述下列命题(共8小题,每小题3分,计24分)
1..y为int型,满足能同时被3,5整除的表达式。
2.把下列数学表达式转换为C语言表达式。
1
11
.R2(wL)2
3.表示CH不是小写英文字母的表达式。
4.条件10<|a-b|<20的C语言表达式。
5.x,y和z均为int型,x和y中仅有一个小于z。
6.定义一个数组a[10],其数组元素为指向float的指针。
7.定义一个交通信号灯(Transportation_light)的枚举类型及其变量light。
其中列举的常量有红,黄,绿(red,yellow,green三色控制灯。
8..写出一个函数f1()的说明部分,函数的返回值为指向int数据的指针。
二、根据要求画出NS图或流程图(共1小题,每小题6分,计6分)
1.有一分数序列:
235813
—?
—?
—?
—?
・・・
12358
试求前10项之和。
三、程序阅读题(共4小题,每小题5分,计20分)
1.#include
voidmain()
{intx,y;
for(x=1;x<3;x++)
{for(y=1;y<3;y++)
printf("%2d",x*y);
printf("\n");
}
}程序运行后的输出结果为:
2.#include
inta[]={0,1,2,3,4,5,6,7,8,9};
intf(intn)
{if(n==1)returna[0];
elsereturn((n*f(n-1)+a[n])/(n+1));
}
voidmain()
{intn=6;printf("f(%d)=%d",n,f(n));
}程序运行后的输出结果为:
3.#includestructtype{intnum;
intage;
floatwage;
};
voidmain(){structtypeteac;teac.num=105;
teac.age=28;teac.wage=342.5;pr(teac);
}
voidpr(structtypeparm)
{printf("%d,%d,%6.2f\n",parm.num,parm.age,parm.wage);
}程序运行后的输出结果为:
4.#include
charprn_str(char*str,intm,intn)
{inti;for(i=1;i<=m-n;i++)printf("");
for(i=1;i<=n;i++)printf("%c",*str++);printf("\n");
}voidmain(){char*p="Teacher";
prn_str(p,6,4);
}程序运行后的输出结果为:
四、程序填空(共3小题,每小题6分,计18分)
1.#includevoidmain(){inta,b,c,i;
a=c=0;for(i=0;i<=20;i+=2){a+=i;
c+=b;
}
printf("偶数和=%d\n",a);printf("奇数和=%d\n",);
}
2.#includevoidsort(chara[],intn){inti,j,post;
chart;
for(i=0;i{;
for(j=i+1;jt=a[post];a[post]=a[i];a[i]=t;
}
}
voidmain()
{chars[10];
inti;for(i=0;i<10;i++)scanf("%c",&s[i]);
printf("thesortedarray:
\n");
for(i=0;i<10;i++)printf("%c",s[i]);printf("\n");
}
3.#include
intmaxvalue(int(*p)[4])
{inti,j,min;
min=;
for(i=0;i<3;i++)