C语言试题Word文档格式.docx
《C语言试题Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言试题Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
![C语言试题Word文档格式.docx](https://file1.bdocx.com/fileroot1/2023-1/10/d285ce4d-747c-4c45-8ad0-5ff3855ef90f/d285ce4d-747c-4c45-8ad0-5ff3855ef90f1.gif)
=0
5、已知m=48,ch=’a’,n=0,则表达式(m>
=n&
!
n&
ch<
’b’)的值是()答案B
(A)0(B)1(C)真(D)假
6、下面不正确的字符串常量()答案A
(A)'
abc'
(B)"
1212"
(C)"
0"
(D)"
"
7、运行完下面的C语言程序段后,k的值是()。
答案D
intk=4;
(k++)+(k++)+(k++)
(A)4(B)5(C)6(D)7
8、数组名作为参数传递给函数,作为实在参数的数组名被处理为()答案D
(A)该数组的长度(B)该数组的元素个数
(C)该数组中个元素的值(D)该数组的首地址
9、为了避免嵌套if...else...语句的二义性,C语言规定else总是与()组成配对。
答案C
(A)缩排位置相同的if(B)在其之前的未配对的if
(C)在其之前的未配对的最近的if(D)同一行上的if
10、调用scanf(“%d,%d”,&
a,&
b);
时,正确的键盘输入是()答案A
(A)12,23(B)a=12,b=23
(C)12:
23(D)1223
11、设有如下程序段
intk=10;
while(k=0)
k=k-1;
则下面描述中正确的是()。
(A)while循环执行10次(B)循环是无限循环
(C)循环体一次也不执行(D)循环体语句执行11次
12、设有说明语句:
chara='
\72'
;
则变量a()答案A
(A)包含1个字符(B)包含2个字符(C)包含3个字符(D)说明不合法
13、假设structstudent
{intnum;
floatscore;
}stu_1;
则下面的叙述不正确的是()答案C
(A)struct是结构体类型的关键字
(B)structstudent是用户定义的结构体类型
(C)stu_1是用户定义的结构体类型名【结构体变量】
(D)num和score都是结构体成员名
14、在TurboC中,设inta[10];
假设数组a开始于内存1000单元,则a[2]的存储始于答案B
(A)1002(B)1004(C)1006(D)1008
15、以下述叙正确的是()答案C
(A)在C程序中注释说明只能位于一条语句的后面
(B)C程序的每行中只能写一条语句
(C)C语言本身没有输入输出语句
(D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误
二、是非判断题(每小题1分,共10分)
1、字符常量是用一对双引号括起来的一个字符。
错【单引号】
2、注释内容太多会影响程序的执行效率。
错
3、循环体中continue语句的作用是结束整个循环的执行。
错【结束本次循环】
4、在main函数中说明的变量,有效范围是main函数。
对
5、对于“while(循环条件){循环体};
”,这个循环结构有可能一次循环体的内容都无法执行。
对【如11】
6、函数的实参和形参可以是相同的名字。
7、C语言中一个float的变量在内存中占4个字节。
8、在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。
9、C语言中的函数可以嵌套调用,也可以递归调用。
10、执行语句for(i=1;
i++<
4;
);
后变量i的值是4。
错【】
三、写出下列程序段的输出结果(每小题5分,共20分)
1、执行下列程序
main()
{intsum,j;
for(j=1;
j<
=10;
j++)
{sum=5;
sum=sum+j;
}
printf(“sumis%d”,sum);
}答案SUMIS15
2、func(intx)
{inty=13;
x=x+y;
returnx;
}
{intx=3;
func(x);
printf("
6%d"
x+x);
}答案6
3、main()
{inta[3][3]={{1,0,2},{2,2},{0,2}},c[3][3],i,j;
for(i=0;
i<
3;
i++)
{
for(j=0;
{c[i][j]=a[a[i][j]][a[j][i]];
printf(“%5d”,c[i][j]);
4、main()
{chargrade;
grade=’B’;
switch(grade)
{case‘A’:
printf(“excellent”);
case‘B’:
printf(“pass”);
case‘C’:
printf(“failure”);
四、程序填空题(每空2分,共20分)
1、输入一个字符,判断它是否为大写字母,如果是大写字母,输出”Upper”,否则输出”LowerorOther?
{
charch;
\nch:
"
scanf("
%c"
(1));
if(
(2)&
(3))
Upper"
else
(4);
1、
(1)&
ch
(2)ch>
=’A’
(3)ch<
=’Z’
(4)prinft(“LowerorOther”);
注释:
(2),(3)顺序可以颠倒
2、
(5)(x<
10)
(6)3*x-1
(7)4*x-11
3、
(8)n<
=m
(9)%d*%d=%2d
(10)printf(“\n”)
2、一个函数如下,用程序实现之。
main()
{floatx,y;
scanf(“%f”,&
x);
if(x<
2)
y=x;
else
if((5))
y=(6);
y=(7);
printf(“y=%f”,y);
3、打印9×
9乘法表。
输出格式要求为:
1*1=1
2*1=12*2=4
3*1=33*2=63*3=9
{intm,n;
for(m=1;
m<
=9;
m++)
for(n=1;
___(8)___;
n++)
printf(“(9)”,m,n,m*n);
_____(10)______;
五、编程题(每题10分,共20分)
1、用公式π/4≈1-1/3+1/5-1/7+...求π的近似值,直到最后一项的绝对值小于10-6为止
#include<
math.h>
ints;
floatn,t,pi;
s=1;
n=1;
t=s/n;
pi=0;
while(fabs(t)>
1e-6){
pi=pi+t;
n=n+2;
s=-s;
t=s/n;
\nPI=%f"
pi*4);
评分细则:
程序思路正确,代码只写出部分的,给5分,其他情况酌情给分
func(intx)
inta,b,c,d;
a=x/1000;
b=(x/100)%10;
c=(x/10)%10;
d=x%10;
printf(“%d%d%d%d”,a,b,c,d);
2、补充函数func,函数func完成如下功能:
通过参数输入一个4位数字,要求输出这4个数字,但各数字间空一个空格。
如输入“1990”,应输出“1990”。
intx;
printf(“Inputanumber:
”);
scanf(“%d”,&
………………
一
二
sumis15
6
3、220002201
4、
passfailure
四、程序填空题(每空2分,共20分)
五、编程题(20分)
一、选择题(每小题2分,共30分)
2、若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是答案C
(A)x-y(B)float(C)x_0(D)123
………………………………………
华南农业大学期末考试答题卡
2005学年第1学期 考试科目:
程序设计
考试类型:
(闭卷) 考试时间:
120分钟
班级学号姓名
题号
一
二
三
四
五
总分
得分
评阅人