大学计算机C语言期末试题A
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
专业班级:学号:姓名:
一、选择题(用铅笔把选中的方格涂黑40×1=40分)
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 26 27 28
29 30 31 32
33 34 35 36
37 38 39 40
二、填空题(25×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)
三、编程题(10分)
求10个数的最大公约数和最小公倍数(定义两个函数,求两个数的最大公约数和两个数的最小公倍数)
一、选择题 ( 40×1分=40分)
1.以下叙述中正确的是 (1) 。
A .在编译时可以发现注释中的拼写错误
B .
C 语言程序的每一行只能写一条语句 C .main( ){}必须位于程序的开始
D .C 语言程序可以由一个或多个函数组成
2.以下选项中不能用作变量名的是 (2) 。
A ._float
B .switch
C .sum
D ._123 3.已知sizeof(int)的值为2,为将10!的值存储到变量f 中(10!=3628800),变量f 的类
型应声明为
(3) 。
A .long int
B .int
C .short int
D .unsigned int
4. 以下表示中,不能用作C 语言常量的是 (4) 。
A. 0UL
B. (long)123
C. 1e0
D.‘\x2a’ 5.数学式
b
a
2在C 程序中正确的表示形式为 (5) 。 A .sqrt(a)/2*b B .sqrt(a)/2/b C .sqrt(a)/2b D .sqrt a/(2*b)
6.已知有程序段“char str[][10]={"Aoyun","Beijing"},*p=&str[0][0];
printf("%s\n",p+10);”,则执行printf 语句后输出为 (6) 。 A .Beijing B .Aoyun C .ing D .ng 7.以下声明中错误的是 (7) 。
A .int a[2];
B .int a[]={0,1};
C .int a[3]=0;
D .int a[3][4]={0}; 8.以下表示数学式“a
A. a
B. a
C. !(a>=b)&&!(b>=c)
D. !(a>=b||b>=c)
9.已有声明“int a=3,b=3,c=2;”,以下选项中值为0的表达式是 (9) 。
A. !a&&!b&&c
B. !a||!b||c
C. a==b&&b>=c
D. a>=b&&b>c 10.若有声明“char ss[8]="Red";”,则sizeof(ss)的值是 (10) 。
A .8
B .4
C .3
D .1 11. 以下程序运行后的输出结果是 (11) 。
A. 2 2
B. 7 2
C. 7 5
D. 6 2 main()
{ char a[7]="a0\0a0\0"; int i,j; i=sizeof(a); j=strlen(a); printf("%d %d",i,j); }
12. 下面关于循环语句for 、while 、do_while 的叙述中,正确的是 (12) 。
A. 三种循环语句的循环体都必须放入一对花括号中
B. 三种循环语句中都可以缺省循环终止条件表达式
C. 三种循环语句的循环体都至少被无条件地执行一次
D.三种循环语句都可能出现无穷循环
13. 若有声明“int a[]={1,2,3,4},*p,i;”,则以下程序段中不能输出13的是(13)。
A.for(i=0;i<4;i+=2) printf("%d",a[i]);
B.for(p=0;p<4;p+=2) printf("%d",a[p]);