大学C语言考试题库含答案Word格式.docx
《大学C语言考试题库含答案Word格式.docx》由会员分享,可在线阅读,更多相关《大学C语言考试题库含答案Word格式.docx(74页珍藏版)》请在冰豆网上搜索。
} printf("
a=%d,b=%d"
a,b);
}该程序的输出结果是()
A、2,2
B、2,1
C、1,1
D、1,0
4784
设变量a是整型,f是实型,i是双精度型,则表达式10+'
a'+i*f值的
数据类型为()。
A、不确定
B、double
C、int
D、float
1647
以下程序中,while循环的循环次数是______
main()
{
int i=0;
while(i<
10)
{
if(i<
1)continue;
if(i==5) break;
i++;
}
}
A、死循环,不能确定次数
B、6
C、4
D、1
A
191
若有说明语句:
charc='
\72'
;
则变量c()。
A、说明不合法,c的值不确定
B、包含3个字符
C、包含1个字符
D、包含2个字符
1300
下列程序运行结果为:
#define P3
#defineS(a) P*a*a
{intar;
ar=S(3+5);
printf("
\n%d"
,ar);
A、192
B、25
C、29
D、27
判断
==================================================
6755
若i =3,则printf("
%d"
,-i++);
输出的值为-4。
错误
6167
表达式(j=3,j++) 的值是4.
1495
C语言中只能逐个引用数组元素而不能一次引用整个数组。
正确
2921
参加位运算的数据可以是任何类型的数据。
2691
若有int i=10,j=2;
则执行完i*=j+8;
后ⅰ的值为28。
464
若a=3,b=2,c=1则关系表达式"
(a>
b)==c"
的值为"
真"
。
66
若有 # defineS(a,b)a*b则语句area=S(3,2);
area的值为6。
758
若有宏定义:
#defineS(a,b)t=a;
a=b;
b=t由于变量t没定义,
所以此宏定义是错误的。
2158
#define和printf都不是C语句。
5102
关系运算符<
=与== 的优先级相同。
填空
==================================================
1076
表达式3.5+1 /2的计算结果是_____。
空1:
3.5
551
请写出以下程序的输出结果_____。
{ int a =100;
if(a >100) printf(“%d\n”,a>
100);
else printf(“%d\n”, a <
= 100);
空1:
1
3255
表达式(int)((double)(5/2)+2.5)的值是_____.
4
2472
阅读下面程序,程序执行后的输出结果为_____。
#include"
stdio.h"
main()
chara,b;
for(a=′0′,b=′9′;
a<
b;
a++,b--)
printf("%c%c"
,a,b);
printf("
\n"
);
0918273645
937
以下程序段的输出结果是_____。
int i=0,sum=1;
do
{ sum += i++;
} while( i<
5);
printf(“%d\n”,sum);
11
5213
以下程序段的输出结果是_____、_____、_____、_____、_____。
intx=0177;
printf(“x=%3d,x=%6d, x =%6o,x=%6x,x=%6u\n”,x,x, x,x,x);
空 1:
x=127
空 2:
x =127
空3:
x= 177
空 4:
x= 7f
空5:
x=127
3210
以下程序的输出结果是_____。
main()
{inta=3,b=2,c= 1;
c-=++b;
b*= a+c;
{intb=5, c=12;
c/=b*2;
a-=c;
printf(“%d,%d,%d,”, a,b,c );
a+=--c;
}
printf(“%d, %d, %d\n”,a,b,c);
2,5,1,2,3,-2
4474
当计算机用两个字节存放一个整数时,其中能存放的最大十进制整数是_____、最小十进制整数是_____,它们的二进制形式是_____。
空 1:
65535
空2:
-32768
空3:
1111111111111111,1000000000000000
2791
结构化程序由_____、_____、_____三种基本结构组成。
顺序
空 2:
条件分支【或】选择
循环
561
阅读下面程序,程序执行后的输出结果是_____。
#include "
stdio.h"
main()
{
int x,y,z;
x=1;
y =2;
z=3;
if(x>
y)
if(x>
z)printf("
%d"
,x);
else printf("
y);
printf("%d\n"
z);
空1:
3
程序设计
==================================================
2660
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
计算出k以内最大的10个能被13或17整除的自然数之
和。
(k〈3000)。
------------------------------------------------*/
#include<
stdio.h>
#include"conio.h"
voidbky();
intfun(intk)
{
/**********Begin**********/
/**********End**********/
main()
int m;
printf("
Enter m:
"
scanf("
%d"
, &
m);
printf("
\nThe result is%d\n"
, fun(m));
bky();
}
voidbky()
FILE*IN,*OUT;
ints;
int t;
into;
IN=fopen("
in.dat","r"
);
if(IN==NULL)
{
printf("
ReadFILE Error"
OUT=fopen("
out.dat"
"
w"
if(OUT==NULL)
printf("
Write FILEError"
}
for(s=1;
s<
=5;
s++)
{
fscanf(IN,"
%d",&
t);
o=fun(t);
fprintf(OUT,"
%d\n",o);
}
fclose(IN);
fclose(OUT);
示例代码:
inta=0,b=0;
while((k>
=2)&
&(b<
10))
{if((k%13==0)||(k%17==0))
{a=a+k;
b++;
k--;
}
returna;
5854
C语言中不可以嵌套的是()。
A、选择语句
B、循环语句
C、函数调用
D、函数定义
D
1957
C语言中,逻辑"真"
等价于
A、非零的整数
B、大于零的整数
C、非零的数
D、大于零的数
3786
用户定义的函数不可以调用的函数是()。
A、本文件外的
B、main函数
C、本函数下面定义的
D、非整型返回值的
1764
以下叙述中正确的是()。
A、C程序中注释部分可以出现在程序中任意合适的地方
B、分号是C语句之间的分隔符,不是语句的一部分
C、花括号“{“和”}”只能作为函数体的定界符
D、构成C程序的基本单位是函数,所有函数名都可以由用户命名
299
下面四个选项中,均是不合法的浮点数的选项是()。
A、-e3.234 1e3
B、160. 0.12 e3
C、1232e4.2.e5
D、-.18 123e4 0.0
6131
假定所有变量均已正确定义,下列程序段运行后x的值是()。
k1=1;
k2=2;
k3=3;
x=15;
if(!
k1) x--;
else if(k2) x=4;
else x=3;
A、15
B、14
C、3
D、4
3208
若变量已正确定义,以下程序段的输出结果是
x=5.16894;
printf(“%f\n”,(int)(x*1000+0.5)/(float)1000);
A、5.17000
B、输出格式说明与输出项不匹配,输出无定值
C、5.168000
D、5.169000
5043
以下选项中合法的实型常数是()。
A、5E2.0
B、1.3E
C、E-3
D、.2E0
5608
有以下程序
main()
{inti;
for(i=0;
i<
3;
i++)
switch(i)
{case1:
printf("
i);
case 2:
printf("
i);
default :
printf("%d"
i);
执行后输出结果是
A、011122
B、120
C、012020
D、012
572
对以下说明语句int a[10]={6,7,8,9,10};
的正确理解是()。
A、将5个初值依次赋给a[1]至a[5]
B、将5个初值依次赋给a[6]至a[10]
C、因为数组长度与初值的个数不相同,所以此语句不正确
D、将5个初值依次赋给a[0]至a[4]
==================================================
1325
若有说明int c;
则while(c=getchar());
是正确的C语句。
3386
若有int ⅰ=10,j=0;
则执行完语句
if (j=0)ⅰ++;
elseⅰ--;
ⅰ的值为11。
若a=3,b=2,c=1 则关系表达式"
b)==c"
的值为"真"
2316
while和do…while循环不论什么条件下它们的结果都是相同的.
2989
charc[]="
VeryGood"
;
是一个合法的为字符串数组赋值的语句。
5034
语句scanf("
%7.2f"
,&
a);
是一个合法的scanf函数。
2067
如果想使一个数组中全部元素的值为0,可以写成
int a[10]={0*10};
5263
x*=y+8等价于x=x*(y+8)。
3862
如果函数值的类型和return语句中表达式的值不一致,则以
函数类型为准。
3558
整数 -32100可以赋值给int型和longint型变量。
==================================================
请写出以下程序的输出结果_____。
main()
{inta= 100;
if(a>
100) printf(“%d\n”,a>100);
else printf(“%d\n”,a<=100);
1575
对以下数学式,写出三个等价的C语言表达式是_____、_____、_____
a/c/b【或】a/(b*c) 【或】a/b/c
空 2:
a/c/b【或】a/b/c【或】 a/(b*c)
a/b/c【或】a/c/b 【或】a/(b*c)
1076
表达式3.5 +1/2的计算结果是_____。
2758
若x为double型变量,请写出运算x=3.2,++x后表达式的值_____和变量的值_____。
4.2
空2:
4.2
582
以下程序的执行结果是_____。
intk=8;
switch(k)
case9:
k+=1;
case10:
k+=1;
case 11:
k+=1;
break;
default:
k+=1;
printf("%d\n",k);
9
2868
若要通过以下语句给a、b、c、d分别输入字符A、B、C、D,给w、x、y、z分别输入
10、20、30、40,正确的输入形式是_____。
请用<
CR>
代表Enter键。
scanf(“%d%c%d%c%d%c%d%c”,&
w,&
a,&x,&b, &
y, &c,&
z,&
d);
10A20B30C40D<
CR>
4063
以下程序段的输出结果是_____、_____、_____、_____
double a=513.789215;
printf(“a=%8.6f,a=%8.2f, a=%14.8f,a=%14.8lf\n”, a, a,a,a);
a = 513.789215
a =513.79
空3:
a= 513.78921500
空4:
a=513.78921500
5076
{ int a=0;
a+=(a=8);
printf("
%d\n"
a);
}
16
5410
{
inta, b,*p= &a,*q = &
a =10;
b= 20;
*p=b;
*q=a;
printf(“a= %d,b=%d\n”,a, b);
}
a=20,b = 20
6975
以下程序的输出结果是_____。
{ int x=2;
while( x--);
printf(“%d\n”,x);
-1
==================================================
58
/*------------------------------------------------
--------------------------------------------------
将字符串中的小写字母转换为对应的大写字母,
其它字符不变。
------------------------------------------------*/
#include"
string.h"
#include <
stdio.h>
voidbky();
void change(charstr[])
/**********Begin**********/
/**********End**********/
voidchange();
charstr[40];
gets(str);
change(str);
puts(str);
bky();
voidbky()
FILE*IN,*OUT;
chari[200];
IN=fopen("
in.dat"
"r"
if(IN==NULL)
{
printf("
ReadFILEError");
OUT=fopen("
out.dat","w"
if(OUT==NULL)
printf("
Write FILE Error"
fscanf(IN,"
%s",i);
change(i);
fprintf(OUT,"
%s\n",i);
fclose(IN);
fclose(OUT);
inti;
for(i=0;
str[i]!
='
\0'
i++)
if(str[i]>
='
a'
&
&
str[i]<
z'
)
str[i]=str[i]-32;
"a≥10或a≤0"
的C语言表达式是
A、a>
=0| a<
=10
B、a>=10ora<
=0
C、a>
=10&
&a<=0
=10||a<
=0
53
若已定义x为int类型变量,下列语句中说明指针变量p的正确语句是()。
A、int*p=&
x;
B、int p=&
C、*p=*x;
D、int*p=x;
2244
字符串指针变量中存入的是
A、第一个字符
B、字符串
C、字符串的首地址
D、字符串变量
3722
下列字符数组长度为5的是
A、charc[10]={'
h'
'
b'
'
c', '
d'
};
B、char b[]={'h'
b'
,'c'
C、char a[]={'h'
a','
b','
c'
};
D、char d[6]={'
'a','b'
,'
'\0'
};
2703
从键盘上输入某字符串时,不可使用的函数是()。
A、getchar()
B、scanf()
C、fread()
D、gets()
3402
以下对整型数组a的正确说明是:
A、int n=10, a[n];
B、
C、
D、inta(10);
130
若char a[10];
已正确定义,以下语句中不能从键盘上给a数组的
所有元素输入值的语句是()。
A、scanf("
%s"
,a);
B、for(i=0;
i<
10;
i++)a[i]=getchar();
C、a=getchar();
D、gets(a);
191
若有说明语句:
charc='\72'
则变量c()。
A、说明不合法,c的值不确定
B、包含3个字符
C、包含1个字符
4539
以下程序的输出结果是
{ inti=1,j=3;
printf(“%d,”,i++);
{int i= 0;
i +=j *2;
printf(“%d,%d,”,i,j);
pritnf(“%d,%d\n”,i, j);
A、1,6,3,2,3
B、2,7,3,2,3
C、1,7,3,2,3
D、2,6,3,2,3
300
以下对一维整型数组a的正确说明是()。
A、#defineSIZE10(换行) inta[SIZE];
B、inta(10);
C、intn;
scanf("%d"
n);
int a[n];
D、int n=10,a[n];
==================================================
2691
若有 inti=10,j=2;
则执行完i