c语言期末考试试题及答案文档良心出品_第1页
c语言期末考试试题及答案文档良心出品_第2页
c语言期末考试试题及答案文档良心出品_第3页
c语言期末考试试题及答案文档良心出品_第4页
c语言期末考试试题及答案文档良心出品_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1. 一个C程序的组成局部可以是().A) 一个主函数和一至假设干个其他函数B) 一至假设干个主函数C) 一个主程序和一至假设干个其他函数D) 一个主程序和一至假设干个子程序2. 一个C程序的执行是从().(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束(C)本程序的main函数开始,到本程序文件的最后一个函数结束(D)本程序文件的第一个函数开始,到本程序main函数结束3. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符().A) 必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线

2、中任一种字符4.设有定义:intm=1,n=-1;那么执行语句 printf("%dn",(m-&+n);后的输出结果是().A) - 1 B) 0C) 1 D) 25 .表达式11&10的结果用二进制表示为().A)11B)3C)1D)106 .设有语句int a=3;那么执行语句a+=a-=a*a后,变量a的值是().(A)3(B) 0(C) 9(D) -127 .在以下选项中,不的赋值语句是().A)t/=5;B)n1=(n2=(n3=0) ;C)k=i= =j;D)a=b+c=1;8 .以下()表达式不满足:当 x的值为偶数时值为"真&qu

3、ot;,为奇数时值"假".A)X%2=0C)(x/2* 2-x)= =0D)9.假设有定义:int a=8, b= 5, c;A)1.4 B) 1 C) 2.0D)2B) ! x%2 !=0 !(x%2)执行语句c=a/b+0.4后c的值为()10 .假设a=3,b=4,c=5,那么逻辑表达式:!(a+b)+c-1&&b+c/2 的值是().A)trueB)falseC)0D) 111 .假设 int a=3,b=4;那么执行 c=a+>2|b->=4 之后, b 变量的值为().A)3B)0C)4D)212 .以下哪个表达式的值为4 ()D)(

4、int)(11.0/3+0.5)13 .假设变量a, i已经正确定义,且i已经正确赋值,合法的语句是()A) a=1 B) +i C) a=a+=5 D)a=int (i)14 .以下程序的输出结果是()int a=1234 ;printf ("%2d",a);A) 12 B) 34C)1234 D)提示错误,无结果15 .设x,y分别为单精度和双精度类型变量,那么以下选项()可将表达式x+y的运算结果强制转换为整型数据.A) (int)x+yB) int(x)+y C) int(x+y)D) (int)(x+y)16 .当a=3,b=2,c=1时,表达式f=a>b&

5、gt;c执行完后f的值是()A)1B)0C)3D)217 .假设x=2,y=1 ,那么表达式x>y?1:1.5的值为()A)1B)1.5C)1.0D)218 .在位运算中,操作数每左移一位,其结果相当于()A)操作数乘以2B)操作数除以2C)操作数乘以4D)操作数除以419 .在位运算中,某操作数右移3位淇结果相当于()A)操作数乘以6 B)操作数除以6C)操作数乘以8D)操作数除以820 .在C语言中,假设以下变量均为int型,那么下面程序段的输出结果是().s=6, u=6; u=s+;u+;printf("%d",u);A)7B)6C)5D)421 .假设有定义

6、:int x,y; char a,b,c;并有以下输入数据:x=1 2 A B C<CR>,那么能给x赋整数1,给赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的程序段是A) scanf("x%d y=%d",&x,&y);a=getch();b=getch();c=getch();B) scanf("x=%d%d",&x,&y);a=getch();b=getch();c=getch();C) scanf("x=%d%d%c%c%c,7x,&y,&a,&b,&c)

7、;D) scanf("x=%d%d%c%c%c%c%c",&x,&y,&a,&b,&b,&c,&c);22 .如下程序:#include <STDIO.H>void main() int m,n,k;m=(n=4)+(k=10-7);printf( "m=%dn ,m);)运行后m的值为(A)4(B)323 .结构化程序的三种根本结构是( (A)顺序结构、选择结构、循环结构(C)嵌套结构、递归结构、顺序结构24 .有如下程序main( ) float x=4.0,y;if(x<0.0)y=0

8、.0;else if(x<10.0)y=1.0/x;else y=1.0;printf( " %fn " ,y);)该程序的输出结果是()A) 0.0 B) 0.25 C) 0.5)o(C)7(D)14)o(B)递归结构、循环结构、转移结构(D)循环结构、转移结构、顺序结构D) 1.025 .设int a=0,b=5,c=2;选择可执行x+的语句是().(A) if(a) x+(B) if(a=b) x+;(C) if(a=<b) x+;(D) if(!(b-c)x+;26.以下程序段运行后,x的值是().int a,b,c,x;a=b=c=0;x=35;if(

9、!a)x-;else if(b);if(c) x=3;else x=4;A) 3 B) 4C) 34 D) 3527.假设要求在if后一对圆括号中表示 a不等于0的关系,那么能表示这一关系的表达式为A)a<>0B)!aC)a=0D)a28.假设N为整型变量,那么for(N=10;N=0;N-);循环里的循环体被().A)无限循环B)执行10次 C)执行一次D) 一次也不执行29.以下程序段运行后i的值是().int i=10switch(i+1)case 10:i+;break;case 11:+i;case 12: +i;break;default:i=i+1;A) 11 B)

10、13C) 12 D) 1430.以下程序的输出结果为().#include <stdio.h>main() int i;for (i=0;i<10;i+);printf("%d",i);(A) 0(B)123456789(C) 0123456789(D) 1031. C语句for(;)是指().(A)无意义(B)无限循环(C)循环执行1次 (D)循环执行0次32.有如下程序main( ) int x=1,a=0,b=0;switch(x)case0:b+;case1: a+;case2: a+;b+;printf( "a=%d,b=%dn ,a,

11、b);该程序的输出结果是()A) a=2,b=1B) a=1,b=1C) a=1,b=0D) a=2,b=233.如果程序中有 #include "文件名"那么意味着.A将"文件名所指的该文件的全部内容,复制插入到此命令行处.B指定标准输入输出C宏定义一个函数D条件编译说明34.要将一个整数12000分别以ASCII码文件和二进制文件形式存放,各自所占的存储空间 数分别是()字节.A) 5 和 2B)2 和 5 C) 2 和 2 D) 5 和 535.在下面关于一维数组的定义中,其中()有语法错0.A)intx= 1,2,3,4,5; B)intx5= 0;C)i

12、ntx;D)intx5;).(C) scanf("%s",a);(D) gets("a");36.设有字符数组a,那么的输入语句是(A)gets(a");(B) scanf("%c",a);(A)将字符串stn复制到字符串 (B)将字符串stn连接到字符串 (C)将字符串str2复制到字符串 (D)将字符串str2连接到字符串37.函数调用“strcat(strcpy(st1str2),str3)的功能是().str2后再连接到字符串str3之后str2后再复制到字符串str3之后str1后再将字符串str3连接到str1之

13、后str1后再将str1复制到字符串str3中38.定义如下变量和数组:int i;int x33=1,2,3,4,5,6,7,8,9;那么下面语句的输出结果是().for(i=0;i<3;i+) printf("%d ",xi2-i);A)15 9B)1 4 7C)3 5 7D)3 6 939. C语言中,以下表达中错误的选项是().A)主函数中定义的变量是全局变量B)同一程序中,全局变量和局部变量可以同名C)全局变量的作用域从定义处开始到根源程序文件结束D)局部变量的作用域被限定在其所定义的局部范围中40. C语言中,函数调用时假设实参是数组名,那么被调函数对应形

14、参().A)可以是相应类型简单变量 B)必须是相应类型数组名C)可以是相应类型数组名D)必须是相应类型的指针变量41. 在下面C语言的函数说明语句中,的是().A)int fun(int, int); B) int fun(int x,y);C) int fun(x,y);D)int fun(int x; inty);42.假设要用fopen函数翻开一个新的二进制文件,该文件要既能读也能写,那么文件读写方 式字符串应是().A)" a+" B)" r+"C)"wb+" D)“ab43. C语言中规定,简单变量做实参时,它和对应形参之间

15、的数据传递方式是.A地址传递B单向值传递 C有实参传给形参,再由形参传回给实参D由用户指定传递方式44.:int *p; 使用"p = malloc(sizeof(int);语句动态申请int型的存储单元,应当使用().A) int B) int*C) (*int) D) (int*)45.在C函数中,局部变量的隐含存储类型是.A autoB staticC register(D) extern46.有定义:int x,*p;,能使指针变量p指向变量x的语句是A) *p=&x;B) p=&x;C) *p=x;D)°p=*&x;47.有定义:int x

16、,y=10,*p=&y;,那么能使得x的值也等于10的语句是(A) x=p;B) x=&p;C) x=&y;D) x=*p;48.有定义:int *p1,*p2;,那么的赋值语句为().A) p1=p2;B) p1/=p2;C) p1+=p2;D) p1*=p2;49.在C语言中,关于文件存取方式,.A、只能顺序存取 B、只能随机存取也称直接存取C、可以顺序存取,也可以随机存取D、只能从文件开头存取50.有定义:int a尸1,3,5,7,9,*p=a;,那么值为5的表达式是().A) p+=2, *p+ B) p+=2, *+p C) p+=2, (*p)+ D) a

17、+=2, *a填空1.将百分制成绩转化为A-E这5个等级,90以上为A ; 80-89为B ; 70-79为C; 60-69为D,60以下为EVoid main()(Int score;printf("输入一个介于 0-100之间的数);scanf( " _1 , &score);2(score/10)(case 10:printf( n?break;case 9:printf( n乍 break;case 8:printf( n" ")B break;case 7:printf( n" ") break;case 6:pri

18、ntf( n" "口 break;3:printf(n""E,scor); break;)2.输入三角形三条边长度a, b, c,判断能不能组成三角形.如果可以输出 YES ,如果不能输出NOmain()(4_ a, b, c;scanf( " f%f%f",&a,&b,&c);if(a+b>c)&&(a+c>b)&&(b+c>a)printf("YES');_5_printf(" NO');)3计算1-100的和 main

19、()(int i,sum;sum=0;i=6;dosum=sum+i; i+while(i<=7); printf("%dn",sum);4、*计算每个学生成绩的平均分,并把结果保存在数组bb中.例如,当 scoreNM =83.5,82,86,65,67 , 80, 91.5, 84,99,95, 90.5,95,86,95,97时,三个学生的平均分为76.7,89.9,92.7.#include <stdio.h>#define N 3#define M 5void _8(int x,int y,float cc口,float aa5)int i,j;

20、for(i=0;i<x;i+)for(j=0;j<y;j+)cci+=aaij;cci/=y;void main()int i;static float scoreNM=83.5,82,86,65,67,80,91.5,84,99,95,90.5,95,86,95,97;float _9N;for(i=0;i<N;i+)bbi=0;Fun(N,M,bb,score);for(i=0;i<N;i+)printf("nstudent%dtaverage=%5.1f",i+1,bbi);printf("n");5 .判断某个大于2的证书

21、是否是素数main()int n, i, flag;scanf("%d", _10);for(i=2;i<n;i+)if(n%i=0)(flag =0;11_)if(flag!=0) printf("yes");elseprintf("no");)6 .输出程序的运行结果main ()int a, b;int *p_1, *p_2;a=100;b=10;p_1=&a;p_2=&b;printf("%d%d",*p_1,*p_2);运行结果 12 ,137 .打印9*9乘法表,输出格式要求为:1

22、*1=12*1=2 2*2=43*1=3 3*2=6 3*3=9main()(int m,n ;for(m=1; m<=9;m+)(for(n=1;n 14 m;n+)printf("%d*%d=%2d,m,m,m*n);printf("15");编程1. *编写程序:* 计算20到30的每个整数立方根之和(保存小数点后两位) 参考答案:#include <stdio.h>#include <math.h>int main() int i;double s=0;for(i=20; i<=30; i+)s=s+pow(i,1.0/3);如果

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论