资源描述
(word完整版)武汉纺织大学10年C语言试题
C语言程序设计
武 汉 纺 织 大 学
√ √
一 二 三
请注意:
①答案一律写在答题纸上,写在试卷上无效
②答题纸要写上学号、班级、姓名
③交卷时,试卷和答题纸一起提交
一.选择题:(单选, 每题2分, 共40分)
1.以下叙述不正确的是(D )
A)一个C源程序可由一个或多个函数组成。
B) C语言程序的基本组成单位是函数。
C)一个C语言程序必须包含一个main函数。
D) C语言程序经过编译后生成的文件名的后缀为 。exe。
2,一个C程序的执行是从(C ).
A) 本程序的main函数开始,到本程序文件的最后一个函数结束.
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束.
C)本程序的main函数开始,到main函数结束.
D)本程序文件的第一个函数开始,到本程序main函数结束。
1. 在C语言提供的不合法的关键字是:(A)
A)swicth B)INT C)case D)default
2. 在C语言中,合法的字符常量是(B)
A)’\084' B) ’ab' C) ’\x43’ D)″b″
3. 若int a;则表达式“(a=2*5,a*2),a+6”的值是:(26)AD什么是一样?
A)20 B)6 C)16 D)20
4. 假设x和y都是double数据,则表达式x=1,y=x+7/2的值是:(A)
A)4。500000 B)4 C)2.000000 D)4.000000
5. 若有语句scanf("%d%d",&a,&b),要使变量a、b分别得23、45,则正确的输入形式为: (C )
A) 23;45 B) 23,45 C) 23 45 D) 2345
6. 已知程序段:
int x; f1oat y;
scanf("%3d%f",&x,&y);
若从第一列开始输入数据98765 321(回车),则x 的值为: (A )
A)98765 B)987 C) 65 D) 745
7. 以下叙述正确的是( D )
A) 在C程序中,语句之间必须要用分号“,"分隔。
B)若a是实型变量,C程序中允许赋值a =10;因此,实型变量中允许存放整型数。
C)在C程序中,无论是整数还是实数,都能准确无误地表示。
D)在C程序中,%是只能用于整型运算的运算符。
8. 若有以下定义和语句
char c1=’b’ ,c2='f’;
printf(”%d ,%c\n” ,c2-c1 ,c2—’a'+’A');
则输出结果是:( B )
A)3 ,G B)4 ,F C)5 ,F D)输出结果不确定
12。 能正确表示x的取值在[-1,60]之间的C语言表达式是(C )
A) 60≥x≥-1 B)x>=—1 || x〈=60
C) x〉=-1 && x〈=60 D) 60〉=x〉=-1
13. 下面程序段的输出结果是:( A)
short int i=32769;
printf(”%d\n”,i);
A)32769 B)-32767 C)32767 D)输出不是确定的数
14。 假定x、y、z、m均为int型变量,有如下程序段:
int x=1, y=2, z=4;m=(x<y)?x:y;
则该程序运行后,m的值是(D )
A) 4 B) 3 C) 2 D) 1
15。 下列运算符中优先级最高的是(B ).
A) < B) ++ C) && D) !=
16。 逻辑运算符两侧的运算对象_C_____。
A) 只能是0和1 B) 只能是0或非0正数
C) 只能是整型或字符型数据 D) 可以是任何类型的数据
17。 以下程序段运行后x,y,z的值是___B___。
int x = 30, y = 40, z = 50;
if (x 〉 y)
z = x;
x = y;
y = z;
A) x = 40, y = 30, z = 30 B) x = 40, y = 50, z = 50
C) x = 30, y = 40, z = 50 D) x = 50, y = 30, z = 40
18. 以下程序的运行结果是__A____.
#inlcude <stdio。h〉
void main()
{
int x = 1, a = 0, b = 0;
switch (x)
{
case 0:
b++;
case 1:
a++;
case 2:
a++;
b++;
}
printf("a = %d, b = %d\n”, a, b);
}
A) a = 2, b = 1 B) a = 1, b = 1
C) a = 1, b = 0 D) a = 2, b = 2
19. 以下程序的输出结果是:( C)
#include <stdio。h〉
void main()
{
int a, b;
for(a=1, b=1; a〈=100; a++)
{
if(b〉=10) break;
if (b%3= =1)
{ b+=3; continue; }
}
printf(”%d\n",a);
}
A)101 B)6 C)4 D)7
20. 以下关于数组的描述正确的是(A )。
A。 数组的大小是固定的,但可以有不同的类型的数组元素
B. 数组的大小是可变的,但所有数组元素的类型必须相同
C. 数组的大小是固定的,所有数组元素的类型必须相同
D. 数组的大小是可变的,可以有不同的类型的数组元素
21.若有以下说明:
int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};
char c=’a’,d,g;
则数值为4的表达式是(A )
A。 a[g—c] B。 a[4] C。 a['d’—’c'] D. a['d'—c]
22。 以下程序的输出结果是(C )
#include <stdio.h>
void main()
{
int i, a[10];
for(i=9;i>=0;i--) a[i]=10-i;
printf(”%d%d%d",a[2],a[5],a[8]);
}
A. 258 B. 741 C。 852 D。 369
23。 关于return语句,下列正确的说法是(A )。
A。 在主函数和其他函数中均要出现
B。 必须在每个函数中出现
C。 可以在同一个函数中出现多次
D. 只能在除主函数之外的函数中出现一次
}
while(!x);
A 循环体将执行一次 B 循环体将执行两次
C 循环体将执行无限次 D 系统将提示有语法错误
24。 以下程序段执行后,n的值是(C )。
int a = 1, b = 2, c = 3, d = 4, m = 2, n = 5;
if ((m = a 〉 b) && (n = c 〉 d))
printf(”OK\n”);
else
printf(”ERROR\n");
A) 1 B) 2 C)5 D) 4
25。 下面四个选项中不是合法的浮点数的是:(B )
A)160。 B)e5 C)123e4 D)—7e3
二.填空题(每空2分,共20分)请将每空的正确答案写在答题卡1至10序号的空格内.
1.在C语言中,对于一个表达式的值,【 O 】表示假,【 非0 】表示真。
2.任何复杂的程序都可以由顺序、分支和【 循环 】这三种基本结构组成。
3。 C语言基本数据类型有整数型,浮点型和【 字符型 】。
4.C语言源程序文件的后缀名一般为【 cpp】。
5.从函数定义的角度看,函数可以分为用户自定义函数和【 库函数 】两种。
6.当a=3,b=2,c=0时,表达式“f=a〉b>c”的值是【 1 】。
7.以下程序运行结果为:【 a=9 】
#include <stdio.h〉
void main ( )
{
int a = 10, b = —10;
if (a 〉 0)
if (b > 0)
a ++;
else
a ——;
printf (”a = %d\n",a);
}
8.以下程序运行结果为:【 a=3,b=6】
#include<stdio.h>
void main()
{
int a=6,b=3;
void swap(int x,int y);
swap(a,b);
printf(”a=%d,b=%d",a,b);
}
void swap(int x, int y)
{ int t;
t=x;x=y;y=t;
}
9. 以下程序判断输入的一个整数是否能被3整除,若能整除,输出“YES”,若不能整除,输出“NO”,将程序代码补充完整
#include 〈stdio。h〉
void main( )
{
int k;
printf(”Enter a int number:”);
scanf("%d",&k);
if 【 10%3==0 】
printf("YES\n");
else
printf(”NO\n”);
}
三。 编程题(每小题10分,共30分)
1.编程计算10!。
# include 〈stdio。h〉
int main()
{int a, s;
s=1;
for(a=10;a>0;——a)
s=s*a;
printf(”%d”,s);
return 0;
}
2.输入学生成绩score (0-100之间整数),按如下规则转换输出。当score在
a. [90—100]之间, 输出为“优”
b。 [80—90 ) 之间, 输出为“良"
c. [70—80 ) 之间, 输出为 “中“
d。 [60-70 ) 之间, 输出为 “及格“
e. 60分以下为不及格
3.从键盘输入8个数,用冒泡法从小到大排序列.
《C语言程序设计》期末考试答题卡
注意:1,请将答案写在答题卡相应位置,写在试卷上不得分;
2,请将姓名、班级、学号写在装订线内,否则视为无效;
得分
一
二
三
总分
一. 单选题(每题2分,共50分)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
二。 填空(每题2分,共20分空与序号要对应)
1
6
2
7
3
8
4
9
5
10
三. 编程题(每小题10分,共30分)
1.编程计算2+4+6+8+…+96+98+100的值。
# include <stdio。h>
int main()
{int a, s;
s=0;
for(a=2;a〈101;a+=2)
s=s+a;
printf("%d”,s);
return 0;
}
2.输入学生成绩score (0-100之间整数),按如下规则转换输出。
a. [90—100] 输出为“优"
b. [80-90 ) 输出为“良”
c. [70-80 ) 输出为 “中“
d。 [60-70 ) 输出为 “及格“
e. 60分以下为不及格
# include <stdio.h〉
int main()
{int score;
printf("请输入学生成绩score:");
scanf(”%d”,&score);
if((score〈=100)&&(score〉=90))
printf(” 优”);
else if(score〉=80)
printf("良”);0
else if(score〉=70)
printf("中");
else if(score>=60)
printf(”及格");
else("不及格");
printf(”\n”);
return 0;
}
3.从键盘输入10个数,用选择法从小到大排序列。
2.从键盘输入10个数,编程实现将其中最大的数与最小的数位置对换后,再输出调整后的数组。
9
展开阅读全文