C语言考试题目3Word格式.docx
《C语言考试题目3Word格式.docx》由会员分享,可在线阅读,更多相关《C语言考试题目3Word格式.docx(21页珍藏版)》请在冰豆网上搜索。
A、<B、十C、%D、!
=
12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是()。
A、’x’&
&
’y’
B、x<=y
C、x||y+z&
y-z
D、!
((x<y)&&!
z||1)
13、判断char型变量cl是否为小写字母的正确表达式为()
A、’a’<=c1<=f’z’B、(c1>=a)&
(c1<=z)
C、(‘a’>=c1)(‘z’<=c1)D、(c1>=’a’)&
(c1<=’z’)
14、字符串"
a"
在内存中占据的字节个数为()
A、0B、1C、2D、3
15、下面有关for循环的正确描述是()
A、for循环只能用于循环次数已经确定的情况
B、for循环是先执行循环体语句,后判定表达式
C、在for循环中,不能用break语句跳出循环体
D、for循环体语句中,可以包含多条语句,但要用花括号括起来
16、下面程序的运行结果是()
{intnum=0;
while(num<
=2)
{num++;
printf(“%d,num);
A、1
B、12
C、123
D、1234
17、以下描述正确的是()
A、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。
B、do-while循环由do开始,用while结束,在while(表达式)后面不能写分号。
C、在do-while循环体中,一定要有能使while后面表达式的值变成零(“假”)的操作。
D、do-while循环中,根据情况可以省略while。
18、以下对一维整形数组a的正确说明是()
A、inta(10);
B、intn=10,a[n];
C、intn;
D、inta[10];
scanf(“%d”,&
n);
inta[n];
19、以下对二维数组a的正确说明是()
A、inta[3][];
B、floata(3,4);
C、doublea[1][4];
D、floata(3)(4);
20、若二维数组a有m列,则在a[j]前面的元素个数为()
A、j*m+i
B、i*m+j
C、i*m+j-1
D、i*m+j+1
二、填空题(本大题共10空,每空2分,共20分)
1、结构化设计中的三种基本结构是___________________
2、在C语言中的实型变量分为两种类型,它们是________和_________
3、当a=5,b=4,c=2时,表达式a>
b!
=c的值是_______
4、下列程序运行后的输出结果是_____________
inti,j;
for(i=4;
i>
=1;
i--)
{printf("
*"
);
for(j=1;
j<
=4-i;
j++)
\n"
5、若有定义:
inta[3][4]={{1,2},{0},{4,6,8,10}};
则初始化后,a[1][2]得到的初值是___________a[2][1]得到的初值是________________
6、在C语言中,二维数组元素的内存中的存放顺序是_______________
三、程序分析题(本大题共2题,每题4分,共8分,描述程序功能并写出程序执行结果)
1、#include<
main()
{inta,s,n,count;
a=2;
s=0;
n=1;
count=1;
while(count<
=7){n=n*a;
s=s+n;
++count;
printf(“s=%d”,s);
2、#include<
{inta=[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j;
for(i=0;
i<
3;
i++)
for(j=0;
if(i==j)sum=sum+a[j];
printf(“sum=%d\n”,sum);
四、编程题(本大题共4题,每题8分,共32分)
1、编写摄氏温度、华氏温度转换程序。
要求:
从键盘输入一个摄氏温度,屏幕就显示对应的华氏温度,输出取两位小数。
转换公式:
F=(C+32)×
9/5。
2、试编程判断输入的正整数是否既是5又是7的正倍数。
若是,则输出yes;
否则输出no。
3、判断数m是否为素数(只能被1和它本身整除的整数)?
4、对15个数进行排序,按从小到大的顺序输出。
《C语言程序设计》期末考试试卷(A卷)评分标准及标准答案
1、B2、D3、B4、B5、C
6、D7、B8、B9、A10、D
11、C12、D13、D14、C15、D
16、C17、C18、D19、C20、B
1、顺序结构分支结构循环结构
2、单精度型(或:
float型)双精度型(或;
double型]
3、1
4、*
**
***
****
5、06
6、按行主顺序存放
三、程序分析题(本大题共2题,每题4分,共8分)
能正确表达出题目的含义、要求,即可得分,部分正确可按比例得分,否则不得分。
1、功能:
求S=0+2+4+8+16+32+64+128和。
输出结果:
s=254
2、功能:
出矩形阵a的主对角线上的元素之和。
27
四、编程题(本大题共4题,每题8分,共32分)
能正确表达出题目的含义、要求,且格式正确,即可得满分,不要求形式完全相同。
部分正确可按比例得分,否则不得分。
1、#include<
{floatc,f;
inputc:
"
…………………………………………….2分
%f"
c);
f=(c+32.0)*9.0/5.0;
F=%.2f\n"
f);
{intx;
%d"
x);
if(x%5==0&
x%7==0)…………………………………………….2分
yes"
…………………………………………….2分
else
no"
3、#include<
#include<
math.h>
{intm,i,k;
%d\n"
m);
k=sqrt(m);
for(i=2;
=k;
i++)…………………………………………….2分
{if(m%i==0)
break;
if(i>
k)
misaprimenumber!
4、#include<
{inti,j,a[15],t;
input15numbers:
for(i=0;
15;
a);
j++)…………………………………………….2分
15-j;
if(a>
a[i+1])
{t=a;
a=a[i+1];
a[i+1]=t;
}…………………………………………….2分
%6d"
a);
一、选择题:
1、一个C程序的执行是从(A)。
A本程序的main函数开始,到main函数结束
B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C本程序的main函数开始,到本程序文件的最后一个函数结束
D本程序文件的第一个函数开始,到本程序main函数结束
2、在C语言中,每个语句必须以(D)结束。
A.
回车符
B.
冒号
C.
逗号
D.
分号
3、C语言规定:
在一个源程序中,main函数的位置(C)。
A.必须在最开始
B.必须在系统调用的库函数的后面
C.可以任意
必须在最后
4、一个C语言程序是由(B)。
A.一个主程序和若干子程序组成
B.函数组成
C.若干过程组成
D.若干子程序组成
5、下列说法中错误的是(
D
)。
主函数可以分为两个部分:
主函数说明部分和主函数体
B.
主函数可以调用任何非主函数的其他函数
C.
任何非主函数可以调用其他任何非主函数
D.
程序可以从任何非主函数开始执行
6、用C语言编写的源文件经过编译,若没有产生编译错误,则系统将(
C
生成可执行目标文件
生成目标文件
输出运行结果
自动保存源文件
二、填空题:
1、C语言只有32
个关键字和
9
种控制语句。
2、每个源程序有且只有一个
main
函数,系统总是从该函数开始执行C语言程序。
3、C语言程序的注释可以出现在程序中的任何地方,它总是以
\*
符号作为开始标记,以
*/
符号作为结束标记。
4、C语言中,输入操作是由库函数
scanf
完成的,输出操作是由库函
数
printf
完成的。
5、系统默认的C语言源程序文件的扩展名是.c
,经过编译后生成的目标文件的扩展名是.obj
,经过连接后生成的可执行文件的扩展名是.exe
。
6、C语言的标识符只能由字母、数字、下划线
三种字符组成。
第三章数据类型、运算符和表达式
1、以下选项中,不正确的C语言浮点型常量是(C)。
A.160.
B.0.12
C.2e4.2
0.0
2、以下选项中,(D)是不正确的C语言字符型常量。
A.'
a'
B.'
\x41'
C.'
\101'
D."
3、在C语言中,字符型数据在计算机内存中,以字符的(C)形式存储。
原码
反码
C.ASCII码
D.BCD码
4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值是(C
x=(i=4,j=16,k=32)
A.4
B.16
C.32
D.52
5、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B)。
算术运算、赋值运算、关系运算
算术运算、关系运算、赋值运算
关系运算、赋值运算、算术运算
关系运算、算术运算、赋值运算
6、若有代数式,则不正确的C语言表达式是(C)。
A.a/b/c*e*3
B.3*a*e/b/c
C.3*a*e/b*c
D.a*e/c/b*3
7、表达式!
x||a==b等效于(
D)。
A.!
((x||a)==b)
B.!
(x||y)==b
C.!
(x||(a==b))
D.(!
x)||(a==b)
8、设整型变量m,n,a,b,c,d均为1,执行(m=a>
b)&
(n=c>
d)后,m,n的值是(A)。
A.0,0
B.0,1
C.1,0
D.1,1
9、设有语句inta=3;
,则执行了语句a+=a-=a*=a;
后,变量a的值是(B)。
A.3
B.0
C.9
D.-12
10、在以下一组运算符中,优先级最低的运算符是(
A.*
=
C.+
D.=
11、设整型变量i值为2,表达式(++i)+(++i)+(++i)的结果是(
B)。
A.6
B.12
C.15
表达式出错
12、若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是(C)。
A.1
B.2
C.2.0
D.2.5
13、sizeof(double)的结果值是(
A
A.8
B.4
C.2
出错
14、设a=1,b=2,c=3,d=4,则表达式:
a<
b?
a:
c<
d?
d的结果为(D)。
B.3
D.1
15、设a为整型变量,不能正确表达数学关系:
10<
15的C语言表达式是(A)。
A.10<
15
B.a==11||a==12||a==13||a==14
C.a>
10&
a<
D.!
(a<
=10)&
!
(a>
=15)
16、设f是实型变量,下列表达式中不是逗号表达式的是(
A.f=3.2,1.0
B.f>
0,f<
10
C.f=2.0,f>
0
D.f=(3.2,1.0)
17、表达式18/4*sqrt(4.0)/8值的数据类型是(C
A.int
B.float
C.double
D.不确定
18、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句
C2=’A’+’6’-‘3’;
后c2中的值是(A)。
A.D
B.68
C.不确定的值
D.C
19、以下用户标识符中,合法的是(B)。
B.nit
C.123
D.a+b
20、C语言中,要求运算对象只能为整数的运算符是(A
A.%
B./
C.>
D.*
21、若有说明语句:
charc='
\72'
;
则变量c在内存占用的字节数是(A)。
C.3
D.4
22、字符串"
ABC"
在内存占用的字节数是(
C.6
D.8
23、要为字符型变量a赋初值,下列语句中哪一个是正确的(B)。
A.chara="
3"
B.chara=’3’;
C.chara=%;
D.chara=*;
24、下列不正确的转义字符是(C)。
A.\\
B.\'
C.074
D.\0
1、C语言中的逻辑值“真”是用
1
表示的,逻辑值“假”是用
0
表示的。
2、若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为
3、设c='
w'
a=1,b=2,d=-5,
则表达式'
x'
+1>
c,'
y'
!
=c+2,-a-5*b<
=d+1,b==a=2的值分别为
、
4、设floatx=2.5,y=4.7;
inta=7;
,表达式x+a%3*(int)(x+y)%2/4的值为
2.5
5、判断变量a、b的值均不为0的逻辑表达式为a!
=0&
=0
6、求解赋值表达式a=(b=10)%(c=6),表达式值、a、b、c的值依次为
4,4,10,6
7、求解逗号表达式x=a=3,6*a后,表达式值、x、a的值依次为18,3,3
8、数学式a/(b*c)的C语言表达式
a/b/c
第7章
数组习题
A卷
1.单项选择题
(1)inta[4]={5,3,8,9};
其中a[3]的值为(
D
A.5
C.8
D.9
(2)以下4个字符串函数中,(
)所在的头文件与其他3个不同。
A
A.gets
B.strcpy
C.strlen
D.strcmp
(3)以下4个数组定义中,(
)是错误的。
D
A.inta[7];
B.#defineN5
longb[N];
C.charc[5];
intn,d[n];
(4)对字符数组进行初始化,(
)形式是错误。
B
A.charc1[]={'
1'
'
2'
3'
};
B.charc2[]=123;
C.charc3[]={'
\0'
D.charc4[]="
123"
(5)在数组中,数组名表示(
A
A.数组第1个元素的首地址
B.数组第2个元素的首地址
C.数组所有元素的首地址
D.数组最后1个元素的首地址
(6)若有以下数组说明,则数值最小的和最大的元素下标分别是(
inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};
A.1,12
B.0,11
C.1,11
D.0,12
(7)若有以下说明,则数值为4的表达式是(
charc=’a’,d,g;
A.a[g-c]
B.a[4]
C.a['
d'
-'
c'
]
D.a['
-c]
(8)设有定义:
chars[12]="
string"
;
则printf("
strlen(s));
的输出是(
B.7
C.11
D.12
(9)设有定义:
则printf("
%d\n"
sizeof(s));
(10)合法的数组定义是(
A.chara[]="
string"
B.inta[5]={0,1,2,3,4,5};
C.chara="
D.chara[]={0,1,2,3,4,5}
(11)合法的数组定义是(
A.inta[3][]={0,1,2,3,4,5};
B.inta[][3]={0,1,2,3,4};
C.inta[2][3]={0,1,2,3,4,5,6};
D.inta[2][3]={0,1,2,3,4,5,};
(12)下列语句中,正确的是(
A.chara[3][]={'
abc'
B.chara[][3]={'
C.chara[3][]={'
"
1"
D.chara[][3]={"
(13)下列定义的字符数组中,输出printf("
%s\n"
str[2]);
的输出是(
C
staticstr[3][20]={"
basic"
foxpro"
"
windows"
A.basic
B.foxpro
C.windows
输出语句出错
(14)下列各语句定义了数组,其中哪一个是不正确的(
A.chara[3][10]={"
China