C语言试卷(含答案)_第1页
C语言试卷(含答案)_第2页
C语言试卷(含答案)_第3页
C语言试卷(含答案)_第4页
C语言试卷(含答案)_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

单项选择题(每小题2分,共40分)1、sizeof(float)是()A.一个双精度型表达式B.一个整型表达式C.一种函数调用D.一个不合法的表达式2、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:

scanf("i=%d,f=%f",&i,&f);

为了把100和分别赋给i和f,则正确的输入为()。A.100

B.i=100,f=765.12

3、#include<>

voidmain()

{

inta=3,b=2,c=1;

intx=10,y=20;

if(a<b)

if(b!=0)

if(!x)

y=1;

elseif(x)

y=0;

y=-1;

printf("%d",y);

}

上面的C程序的输出结果是()。A.20

B.1

C.0

D.-14、C语言中,while和do…while循环的主要区别是()。

A.do…while的循环体至少无条件执行一次B.while的循环控制条件比do…while的循环控制条件严格

C.do…while允许从外部转到循环体内

D.do…while的循环体不能是复合语句5、执行下面的C程序段后,输出结果是()。

inta=5;

while(a--);

printf("%d",a);A.54321

B.4321

C.0

D.-16、在C语言中,()是在所有函数外部声明的。A.全局变量

B.局部变量

C.形参D.实参7、分析下面的C程序:

#include<>

voidmain()

{

intnum=0;

while(num<=2){

num++;

printf("%d",num);

}

}

输出结果是()。

A.123

B.012

C.23

D.128、下面的C语言代码段的输出结果是()。

intj;

for(j=1;j<10;j+=2)

printf("%d",j);

A.123456789

B.2468

C.13579

D.124689、在C语言中,表达式:10!=9的值是( )。

A.true

B.非零值

C.0

D.110、分析下面的C代码段:

charstr1[15]="SeaView";

charstr2[15]="SeaBreeze";

strcpy(str1,str2);

printf("%s\n",str1);

则输出结果是( )。A.SeaView

B.SeaBreeze

C.SeaViewSeaBreeze

D.SeaBreezeSeaView10、若w=1,x=2,y=3,z=4,则条件表达式w<xw:y<zy:z的值是( )。A.4

B.3

C.2

D.111、表达式18/4*sqrt/8值的数据类型为( )。

A.int

B.float

C.double

D.不确定12、在C语言中,不正确的int类型的常数是()。

A.32768

B.0

C.037

D.0xAF13、语句:printf("%d",(a=2)&&(b=-2);的输出结果是()。

A.无输出

B.结果不确定

C.-1

D.114、下列描述中不正确的是()。

A.字符型数组中可以存放字符串

B.可以对字符型数组进行整体输入、输出

C.可以对整型数组进行整体输入、输出

D.不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值15、以下选项中不能作为C语言合法常量的是()。A. 'cd'B. +6C. "\a"D. '\011'16、以下叙述中错误的是()。A.用户定义的函数中可以没有return语句B.用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值C.用户定义的函数中若没有return语句,则应当定义函数为void类型D.函数的return语句中可以没有表达式17、若有定义语句:intm[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是()。A.m[--i][2*2][m[0]][m[i]]18、已知字母A的ASCⅡ代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是>='A'&&kk<='Z'B.!(kk>='A'‖kk<='Z')C.(kk+32)>='a'&&(kk+32)<='z'(kk)&&(kk<91)19、若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是A.函数的实参和其对应的形参共占同一存储单元B.形参只是形式上的存在,不占用具体存储单元C.同名的实参和形参占同一存储单元D.函数的形参和实参分别占用不同的存储单元20、以下叙述中错误的是A.改变函数形参的值,不会改变对应实参的值B.函数可以返回地址值C.可以给指针变量赋一个整数作为地址值D.当在程序的开头包含文件时,可以给指针变量赋NULL21、以下描述正确的是()。程序的执行是从main函数开始,到本程序的最后一个函数结束程序的执行是从第一个函数开始,到本程序的最后一个函数结束程序的执行是从main函数开始,到本程序的main函数结束程序的执行是从第一个函数开始,到本程序的main函数结束二、将下列程序补充完整。(每空分,共30分)1.输入三角形的三条边a,b,c,求三角形的面积。#include<>#include<>voidmain(){ floata,b,c,d,t,s; printf(“请输入三角形的三条边:”); scanf(“%f,%f,%f”,&a,&b,&c); if(1)printf(“%f%f%f不能构成三角形!”,a,b,c);else{t=(2)/2;s=sqr(t*(t-a)*(t-b)*(t-c));printf(“a=%7.2f,b=%7.2f,c=%7.2f,area=%7.2f\n”,a,b,c,s);}}(1)____a+b<=c&&a+c<=b&&b+c<=a______________________(2)____a+b+c_______________________________________2.输入两个整数,n1,n2(要求n1<n2),统计两整数范围内被3整除的数的个数。#include<>voidmain(){intn1,n2,j=0,n=0;printf(“\n请输入两个数:”);scanf((3));if(n1>n2){(4)}for(j=n1;j<=n2,j++)if(5)n++;printf(“a=%5d,b=%5d,n=%5d\n”n1,n2,n);}(3)______"%d%d",&n1,&n2___(4)_____printf("输出的值非法!enter任意键退出\n");getch();exit(0);___(5)_____j%3==0__________________________________3.输入两个整数,n1,n2(要求n1<n2),统计两整数范围内的素数的个数。#include<>#include<>intprime(intx){ intk;for(6)if(x%k==0)return(0);return(1)}voidmain(){inta,b,j,n=0;printf(“\n请输入两个数:”);scanf(“%d,%d”,&a,&b);if(a>b){(7)}for(j=a;j<=b,j++)if((8))n++;printf(“a=%4d,b=%4d,n=%4d\n”a,b,n);}(6)_k=2;k<=x-1;k++(7)_printf("输出的值非法!enter任意键退出\n");getch();exit(0);(8)prime(j)_____________________________________4.编写程序,输入n个整数(n由键盘输入),统计其中正数、负数和零的个数。#include<>voidmain(){intx,n,k,k1=0,k2=0,k3=0;printf(“inputn=:”);(9)for(k=0;k<n;k++){scanf(“%d”,&x);if(x<0)k1++;(10);elsek3++;printf(“k1=%4d,k2=%4d,k3=%4d\n”,k1,k2,k3)}}(9)scanf("%d",&n);(10)elseif(x==0)k2++;5.设计一个程序完成以下功能:若从键盘输入英文字母,则原样输出;输入其他字符不理会,直到输入Q键结束.#include<>voidmain(){ charch;do{ch=getchar();if((11))break;elseif((12))putchar(ch);}while(1);}(11)ch=='q'||ch=='Q'(12)ch>='a'&&ch<='z'||ch>='A'&&ch<='Z'编程题(从下面的试题中选择其中一题上机完成,两题均作答的,按其中一题给分,30分)1.编写程序,将将矩阵975倒置为 934 312 716 468 5282.求元素个数为10的一维数组元素中的最大值、最小值和平均值。3.编写函数:输入两个正整数m,n,求它们的最大公约数和最小公倍数。编程题1:/*filename:description:编写程序,将将矩阵975倒置为 934 312 716 468 528date:2012-12-26byfxk*/#include<>intmain(void){ inti=0,j=0,a[3][3]={{9,7,5},{3,1,2},{4,6,8}},b[3][3]={0}; /*输出Arra并赋值*/ printf("arraya:\n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf("%d\t",a[i][j]); b[j][i]=a[i][j]; } putchar('\n'); } putchar('\n'); /*输出Arrb:*/ printf("arrayb:\n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf("%d\t",b[i][j]); } putchar('\n'); } return0;}编程题2:/*filename:description:求元素个数为10的一维数组元素中的最大值、最小值和平均值date:2012-12-26byfxk*/#include<>#defineN10intmax_date(intarr[N]);intmin_date(intarr[N]);floatavg_date(intarr[N]);intmain(void){ intarr[10]={1,2,3,4,5,6,7,8,9,10}; intmax=0,min=0; floatavg=0; /*求最大值并输出*/ max=max_date(arr); printf("max=%d\n",max); /*求最小值并输出*/ min=min_date(arr); printf("min=%d\n",min); /*求平均值并输出*/ avg=avg_date(arr); printf("avg=%.2f\n",avg); return0;}intmax_date(intarr[N]){ intm,i; m=arr[0]; for(i=1;i<N;i++) { if(m<arr[i]) { m=arr[i]; } } returnm;}intmin_date(intarr[N]){ intm,i; m=

温馨提示

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

评论

0/150

提交评论