当前位置:文档之家› C语言期末试卷A12_13_1(含答案)

C语言期末试卷A12_13_1(含答案)

黄冈职业技术学院2012~2013学年度第1学期 《 C 语言程序设计》期末考试试卷(A 卷) (本试卷适用班级:2012级软件外包服务专业) 一、选择题(本大题共20小题,每小题1.5分,共30分) 1、C 语言中最简单的数据类型包括( ) A )整型、实型、逻辑型 B )整型、实型、字符型 C )整型、字符型、逻辑型 D )字符型、实型、逻辑型 2、以下关于C 语言程序执行的描述,正确的是( )。

A)C 语言执行的程序总是从main()函数开始,到main()函数结束 B)C 语言程序的执行是从第一个函数开始,到程序文件的最后一个函数结束 C)C 语言程序的执行是从第一个函数开始,到main()函数结束 D)C 语言程序的执行总是从main()函数开始,到程序文件的最后一个函数结束 3、C 语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( )A )必须为字母B )必须为下划线C )必须为字母或下划线D )可以是字母,数字和下划线中任一字符 4、下列可用于C 语言用户标识符的一组是( ) A )void, define, WORD B )a3_b3, _123,Car C )For, -abc, IF Case D )2a, DO, sizeof 5、以下描述错误..的是( )。

A)C 语言源程序经编译后生成后缀名为.obj 的目标程序( ) B)C 语言程序经过编译、连接等步骤之后才形成一个真正可以执行的二进制机器指令文件 C)用C 语言编写的程序被称为源程序,它以ASCII 代码的形式存放在一个文本文件中 D)C 语言每条可执行与非执行语句最终都将被转换成二进制机器指令 6、在C 语言中,char 型数据在内存中的存储形式是( )A )补码B )反码C )原码D )ASCII 码7、C 语言中运算对象必须是整型的运算符是( )A )%B )/C )=D )<=8、设有定义char a,b;若通过a&b 运算保留a 的第3位和第6位的值,则b 的二进制数应是( ).A) 00100100 B) 11011011 C) 00010010 D) 01110010命题人 题 号 一 二 三 四 五 总 分 黄国军 应得分 30 20 24 10 16 100 实得分 评卷人 得 分 -----------------------------------装------------------------------------订------------------------------------线------------------------------------教学学院:___________年级:____________专业班级:____________姓名:______________学号:______________ -------------------------------密-----------------------------------------封--------------------------------线----------------------------------------9、.若有定义:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为( ).A) 1.0 B) 1 C) 2.0 D) 210、设int x=1,int y=1,则表达式(! x||y--)的值是( ).A) 0 B) 1 C) 2 D) -111、试从以下选项中选择能够正确表示逻辑关系“a>=5或a<=0”的C语言表达式。

( ).A) a>=5 or a<=0 B) a>=5 | a<=0C) a>=5 && a<=0 D) a>=5 || a<=012、以下对以为数组正确的初始化方式是A) int a[10]=(0,0); B) float a(3,4);C) int a[]={0}; D) int a[10]=[10*1]13、以下表达式中的()能够正确表示代数式(a+b)/c*d。

A) a+b/c*d% B) (a+b)/c*dC) float(a+b)/c*d D) 1.0*(a+b)/c/d14、下述循环次数是()int k=2while(k=0)printf("%d",k);k--;printf("\n");A)无限次B)0次C)1次D)2次15、以下描述中正确的是()A)函数的定义不可以嵌套,但是函数的调用可以嵌套B) 函数的定义可以嵌套,但是函数的调用不可以嵌套C)函数的定义和函数的调用均不可以嵌套D) 函数的定义和函数的嵌套都可以嵌套16、在C语言中,函数的返回值类型由()决定。

A) return语句中的表达式类型B) 调用函数的主调函数类型C) 调用函数时的临时值D) 定义函数时所指定的函数类型17、在函数调用fun(x+y,(a+b),fun(x,y,(a,b)))中,实参的个数是()A)3 B)4 C)6 D)818、在源文件中定义的外部变量的作用域为()。

A) 本文件的全部范围B) 本程序的全部范围C) 本函数的全部范围D) 从定义该变量的位置开始至本文件结束19、已知有数组定义如下;int array[][3]={1,2,3,4,5,6};则数组array 第一个维度的大小是( )A)2 B)3 C)4 D)无确定值20、C 语言对嵌套if 语句的规定是:else 总是与( )A)其之前最近的if 语句B )第一个if 配对C)缩进位置相同的if 配对D)其之前最近的且尚未配对的if 配对二、填空题(本大题共10小题,每小题2分,共20分) 1、一个C 语言程序中一定包含一个__main(主)___函数。

2、已知 int x=5,y=3,表达式y+=y-=x*=y 的值是 __-24_。

3、设 x=3.5,y=8,则(int)x+y 的值是 ____11_____。

4、表示“整数x 的绝对值小于5”时值为“真”的C 语言表达式____x<5&&x>-5_______。

5、设x,y,z 均为int 型变量,写出描述“x 或y 中至少有一个小于z ”的表达式___x<z||y<z ______。

6、若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};初始化后, a[2][1]得到的初始值是__6______。

7、以下程序的输出结果是__1234___。

int a=1234;printf ("%2d \n",a );8、若有如下定义,double a [100];则a 数组元素的下标上限是___99____。

9、设x 、y 均为整型变量,且x=10 y=3,则以下语句的输出结果是__10 2______。

printf ("%d %d \n",x--,--y );10、下面程序的功能是输出数组s 中最大元素的下标,请填空。

main (){ int k, p,s []={1, -9, 7, 2, -10, 3};for (p =0, k =p; p< 6; p++)if (s [p ]>s [k ])__k=p_____;printf ("%d \n", k );}三、程序填空题(本大题共4小题,共12空,每空2分,共24分)1、有圆柱,其高为h,半径为r,以下程序求圆柱体的面积,对程序进行填空。

#include<stdio.h>___1__#define PI 3.14_void main(){float h,r,area; //h 表示高度,r 表示半径,area 表示面积printf("请输入圆柱体的高度\n");scanf("%f",&h); 得 分得 分printf("请输入圆柱体的半径\n");___2__scanf(“%d”,&r)___;area =____3__2*PI*r*h+2*PI*r*r__;printf("圆柱体的面积:%f\n",area);}2、以下程序功能是:输出100以内能被3整除且个位数是6的所有整数,试填空。

#include<stdio.h>{int i,j;for(i=0;_ 4i<10(i<=9)_;i++){j=i*10+6;if(j%3 (j%3!=0)__)continue;printf("%d",j);}}3、阅读以下程序并填空,该程序求阶乘的累加和,计算公式如下:S=0!+1!+2!+3!+...+n!#include<stdio.h>long f(int n){int i;long s;s=_1_;for(i=1;i<=n,i++)s=s*i_;return s}void main(){long s;int k,n;scanf("%d",&n);s=0;for(k=0;k<=n;k++)s=s+f(k)_;printf("%ld\n",s);}4、以下程序完成一个十进制数转换为十六进制数,试将以下程序补充完整,实现该功能。

#include<stdio.h>void main(){int i=0,j,n,r;char num[4];printf("Enter a numbei:");scanf("%d",&n);do{i++;r= n%16 ;if(r<10)num[i]= r ;elsenum[i]= …A‟+r-10 (…a‟+r-10) ;n=n/16;}while(n!=0);for(j=i;j>0;j--)printf("%c",num[j]);}四、写出以下程序的运行结果(本大题共2小题,每小题5分,共10分)得分1、#include<stdio.h>viod swap(int a,int b){int temp;temp=a;a=b;b=temp;}viod main(){int x,y;x=10;y=20;swap(x,y);printf('%d %d\n'.x.y);}10 202、#include<stdio.h>void main(){int n[5]={0,0,0},i,k=2;for(i=0;i<k;i++)n[i+1]=n[i]+1;printf("%d\n",n[k]);}2五、编程题(本大题共2小题,每小题8分,共16分)1、已知圆周率计算方法: ...)71513111(4+-+-⨯≈π 试编写程序进行计算。

相关主题