《C语言程序设计》试题与答案_第1页
《C语言程序设计》试题与答案_第2页
《C语言程序设计》试题与答案_第3页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

《C语言程序设计》试题与答案《C语言程序设计》试题与答案1.C语言是一种()。A.低级语言B.高级语言C.机器语言D.汇编语言2.以下描述中错误的是()。A.不同的计算机可以理解的机器语言也不同B.机器语言和汇编语言都和具体的硬件平台相关,因此统称为低1.C语言是一种()。A.低级语言B.高级语言C.机器语言D.汇编语言2.以下描述中错误的是()。A.不同的计算机可以理解的机器语言也不同B.机器语言和汇编语言都和具体的硬件平台相关,因此统称为低级语言C.高级语言编写的程序较为简洁,可读性较好D.编译方式执行速度较快,且每次修改源程序后不必重新进行编译处理3.以下描述中正确的是()。A.C语言编程的一个显著特点是以计算机工作方式来思考和组织程序代码B.面向过程的程序设计方法以提高执行效率、少占内存作为目标C.面向过程的程序设计方法一般采用结构化和模块化设计思想D.面向对象的程序设计方法提高了软件开发的可重用性,但增加了程序开发的复杂性4.以下描述中错误的是()。A.编写C程序的过程通常称为编辑,结果将得到.c源文件B. CobjC.链接过程通常是将目标代码文件和程序中使用到的其他代码连接在一起D.D.运行结果不对,通常是由于语法错误引起的5.printf("Welcome\nto\nC!");”将输出()。A.1行B.2行C.3行D.4行6.有以下程序#include"stdio.h"voidmain(){floata=b=2,result;5.printf("Welcome\nto\nC!");”将输出()。A.1行B.2行C.3行D.4行6.有以下程序#include"stdio.h"voidmain(){floata=b=2,result;result=a/b;printf("result=%f\n",result);}正确的说法是()。A.因为变量声明问题导致编译出错B.因为result=a/b;语句有误导致编译出错C.输出结果为result=2.000000D.输出结果为result=1.0000007.下列程序运行时输入34,则程序的输出结果是()。#include"stdio.h"intmulti(inta,intb){returna*b;}voidmain(){ intx,y,t;printf("Pleaseinputtwointegers(xandy):");scanf("%d%d",&x,&y);t=multi(x,y);t=multi(x,y);printf("%d\n",t);}A.3B.4C.7D.128.以下程序的运行结果是()。#include"stdio.h"#defineRATE0.05voidmain(){doublesalary,tax;salary=5000.00;tax=(salary-3000)*RATE;printf("Theresultis:%.2f\n",salary-tax);}A.5000.00B.100.00C.4900.00D.3000.00printf("%d\n",t);}A.3B.4C.7D.128.以下程序的运行结果是()。#include"stdio.h"#defineRATE0.05voidmain(){doublesalary,tax;salary=5000.00;tax=(salary-3000)*RATE;printf("Theresultis:%.2f\n",salary-tax);}A.5000.00B.100.00C.4900.00D.3000.009.以下程序的运行结果为()。#include"stdio.h"voidmain(){ printf("%d\n",sizeof(char)+sizeof(int)+sizeof(double));}A.148B.1,4,8C.144D.1310.有以下程序#include"stdio.h"voidmain(){charch;printf("输入一个大写字母:");scanf("%c",&ch);scanf("%c",&ch);digit=ch-'A';printf("%c,%d\n",digit+'a',digit);}若程序运行时输入B,则程序的输出结果是()。A. digit=ch-'A';printf("%c,%d\n",digit+'a',digit);}若程序运行时输入B,则程序的输出结果是()。A. 编译时出错B.b,BC.b,1D.B,1二、二、自测练习1.已定义:intk,a,b;unsignedlongw=5;doublex=1.42,1.已定义:intk,a,b;unsignedlongw=5;doublex=1.42,不正确)。A.x%(-3)B.w+=)。A.x%(-3)B.w+=-2C.k=(a=2,b=3,a+b)D.a+=a-=(b=4)*(a=3)2.单精度变量x=3.0,y=4.0,下列表达式中的y的值为9.0的是(()。A.y/=x*27/4B.y+=x+2.0C.y-=x+8.0A.y/=x*27/4B.y+=x+2.0C.y-=x+8.0D.y*=x-3.03.已定义intnum=sum=7,(sum=num++,sum++,++num)表达式的结果是()。A.7B.8C.9D.104.若有定义:inta=7;floatx=2.5,y=4.7;x+a%3*(int)(x+y)%2/4的值是()。x+a%3*(int)(x+y)%2/4的值是()。A.2.500000B.4.50000C.3.500000D.0.0000055xijkint型变量,则执行下面表达式k=32)k=32)x的值为()。A.4B.16C.32D.526.设有定义:intx=2;,以下表达式中,值不为6的是()。A.x*=x+1B.x++,2*xC.x*=(1+x)D.2*x,x+=27.D.2*x,x+=27.aii)。A.a==1B.++i;C.a=a++=5;D.a=int(i);8.执行下面程序段的输出结果是()。intx=023,y=5,z=2+(y+=y++,x+8,++x);printf("%d,%d\n",x,z);A.18,13B.19,14C.22,21D.20,229.已知i、j、k为int型变量,若从键盘输入:1,2,3<CR>,使i的值为18.执行下面程序段的输出结果是()。intx=023,y=5,z=2+(y+=y++,x+8,++x);printf("%d,%d\n",x,z);A.18,13B.19,14C.22,21D.20,229.已知i、j、k为int型变量,若从键盘输入:1,2,3<CR>,使i的值为1j的值为2k的值为3()。A.scanf("%2d%2d%2d",&i,&j,&k);B.scanf("%d%d%d",&i,&j,&k);C.scanf("%d,%d,%d",&i,&j,&k);D.scanf("i=%d,j=%d,k=%d",&i,&j,&k);10.执行下面程序段的输出结果为()。intx=13,y=5;printf("%d",x%=(y/=2));A.3B.2C.1D.0三、自测练习三、自测练习1.为表示关系x≥y≥z,应使用C语言表达式()。A.(x>=y)&&(y>=z)B.(x>=y)and(y>=z)C.x>=y>=zD.(x>=Y)&&(Y>=z)2.以下运算符中优先级最低的运算符为()。A.&&B.&C.!=D.||3.1.为表示关系x≥y≥z,应使用C语言表达式()。A.(x>=y)&&(y>=z)B.(x>=y)and(y>=z)C.x>=y>=zD.(x>=Y)&&(Y>=z)2.以下运算符中优先级最低的运算符为()。A.&&B.&C.!=D.||3.()不满足“当x的值为偶数时其值为真,为奇数时其值为假”的要求。A.x%2==0B.!x%2!=0C.(x/2*2-x)==0 D.!(x%2)4.char型变量ch是否为大写字母的正确表达式是()。A.'A'<=ch<='Z'B.(ch>='A')&(ch<='Z')C.ch>='A'&&ch<='Z'D.('A'<=ch)AND('Z'>=ch)5.C语言中,要求运算数必须是整型的运算符是()。A./B.++C.!=D.%6.下述程序段的输出结果是()。inta=2,b=3,c=4,d=5;intm=2,n=2;a=(m=a>b)&&(n=c>d)+5;printf("%d",n);A.0B.1C.2D.57.执行下列程序段后,变量m的值是()。intw=1,x=2,y=3,z=4,m;m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;A.4 B.3C.2D.18.:inta=1,x;,则以下选项中各程序段执行x的值不为38.:inta=1,x;,则以下选项中各程序段执行x的值不为3的是()。A.if(c<a)x=1;elseif(b<a)x=2;elsex=3;B.if(a>3)x=3;elseif(a<2)x=2;elsex=1;C.if(a<3)x=1;if(a<2)x=2;if(a==1)x=3;D.if(a<b)x=b;if(b<c)x=c;if(c<a)x=a;9.执行以下程序时,若从键盘输入一个数字字符“5”,则会输出结果()。#include"stdio.h"voidmain(){charch;printf("\n==========TIME==========\n");printf("\n1.Findsquareofanumber");printf("\n2.Findcubeofanumber");printf("\n3.Findsquarerootofanumber");printf("\n\nEnteryourchoice:");ch=getchar();ch=getchar();switch(ch){ case '1':switch(ch){ case '1':printf("\nGoodmorning!";break;case'2':printf("\nGoodafternoon!";break;case'3':printf("\nGoodnight!";break;default:printf("\nSelectionwrong!\n");default:printf("\nSelectionwrong!\n");}}A.Goodmorning!B.Goodnight!C.Goodafternoon!D.Selectionwrong!10.执行以下程序时,若从键盘输入一个实数5(。A.Goodmorning!B.Goodnight!C.Goodafternoon!D.Selectionwrong!10.执行以下程序时,若从键盘输入一个实数5(。#include"stdio.h"voidmain(){floatx;inty=0;scanf("%f",&x);if(x!=0)if(x>0)y=1;elsey=-1;printf("\n%d\n",,y);}A.15A.15B.0C.-1D.1四、自测练习1.以下不构成无限循环的语句或语句组是()。A.n=0;do{++n;}while(n<=0);B.n=0;while(1){n++;}C.n=10;while(n);{n--;}D.for(n=0,i=1;;i++)n+=i;2.以下描述中正确的是()。A.由于do-while循环中循环体语句只能是一条可执行语句,所以四、自测练习1.以下不构成无限循环的语句或语句组是()。A.n=0;do{++n;}while(n<=0);B.n=0;while(1){n++;}C.n=10;while(n);{n--;}D.for(n=0,i=1;;i++)n+=i;2.以下描述中正确的是()。A.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B.do-whiledo开始,while结束,while表达式)后面不能写分号C.do-while,是先执行一次循环,再进行判断D.do-while循环中,根据情况可以省略while3.若变量已正确定义,有以下程序段i=0;doprintf("%d,",i);while(i++);printf("%d\n",i);其输出结果是()。A.0,0B.0,1C.1,1D.程序进入无限循环4.4.已知intt=0;while(t=1){...}则以下叙述正确的是()。A.循环控制表达式的值为0B.循环控制表达式的值为1C.循环控制表达式不合法D.以上说法都不对5.设有以下程序段intx=0,s=0;while(!x!=0)s+=++x;intt=0;while(t=1){...}则以下叙述正确的是()。A.循环控制表达式的值为0B.循环控制表达式的值为1C.循环控制表达式不合法D.以上说法都不对5.设有以下程序段intx=0,s=0;while(!x!=0)s+=++x;printf("%d",s);则()。A.运行程序段后输出0B.运行程序段后输出1C.程序段中的控制表达式是非法的D.程序段执行无限次6.有以下程序#include"stdio.h"voidmain(){ inti,s=1;for(i=1;i<50;i++)if(!(i%5)&&!(i%3))s+=i;printf("%d\n",s);}程序的输出结果是(程序的输出结果是()。A.409B. 277C.1D.917.以下程序的输出结果是()。#include"stdio.h"voidmain(){ inti,a=0,b=0;for(i=1;i<10;i++){ if(i%2==0){a++;continue;}b++;}printf("a=%d,b=%d",a,b);}A.A.409B. 277C.1D.917.以下程序的输出结果是()。#include"stdio.h"voidmain(){ inti,a=0,b=0;for(i=1;i<10;i++){ if(i%2==0){a++;continue;}b++;}printf("a=%d,b=%d",a,b);}A.a=4,b=4B.a=4,b=5C.a=5,b=4D.a=5,b=58.有以下程序#include<stdio.h>voidmain(){int y=9;for( ;y>0;y--)if(y%3==0)printf("%d",--y);}程序的运行结果是(程序的运行结果是()。A.741A.741B.963C.852D.8754219.有以下程序#include<stdio.h>voidmain(){intk=5,n=0;do{switch(k){case1: case9.有以下程序#include<stdio.h>voidmain(){intk=5,n=0;do{switch(k){case1: case3:n+=1;k--;break;default:n=0;k--;case2: case4:n+=2;k--;break;}printf("%d",n);}while(k>0&&n<5);}程序运行后的输出结果是()。A.235B.0235C.02356D.235610.有以下程序程序运行后的输出结果是()。A.235B.0235C.02356D.235610.有以下程序#include<stdio.h>voidmain(){intx=0,y=0,i;for(i=1;;++i){ if(i%2==0){x++;continue;}if(i%5==0){y++;break;}}if(i%5==0){y++;break;}}printf("%d,%d",x,y);}程序的输出结果是()。A.2,1B.2,2C.2,5printf("%d,%d",x,y);}程序的输出结果是()。A.2,1B.2,2C.2,5D.5,2五、自测练习1.若有定义intnum[10];则对数组元素的正确引用是(()。A.A.num[10]B.num(5)num(5)C.num[2.5]D.num[2×3]2.2.下面关于数组的叙述,正确的是()。A.A.数组元素的数据类型都相同B.B.数组不经过定义即可使用C.C.同一数组中会出现不同类型的数组元素D.D.数组名等同于第一个元素3.3.以下定义合法的是()。A.A.inta[]="string";B.inta[5]={0,1,2,3,4,5};a[5]={0,1,2,3,4,5};C.C.chars[]="string";D.chara()={0,1,2,3,4,5};a()={0,1,2,3,4,5};4.4.以下定义正确的是()。intnum[N];A.intnum[];intnum[N];A.intnum[];B.#defineN100C.intnum[0..100];C.intnum[0..100];D.intN=100;intnum[N];intnum[N];5.5.以下不能正确定义二维数组的是()。A.A.inta[2][2]={{1},{2}};B.inta[][2]={1,2,3,4};inta[][2]={1,2,3,4};C.C.inta[2][2]={{1},2,3};D.inta[2][]={{1,2},{3,4}};inta[2][]={{1,2},{3,4}};6.6.假设按如下方式调用scanf()函数:scanf("%d%s%d",&i,s,&j);scanf("%d%s%d",&i,s,&j);若用户输入若用户输入12abc3456def78,那么调用后s的是(()。A.abcA.abcB.abc34C.abc3456defC.abc3456defD.一个空格7.7.以下程序的执行结果是()。#include"stdio.h"#include"stdio.h"voidmain()voidmain(){int{inta[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};a[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};inti,s=0;inti,s=0;for(i=0;i<4;i++)for(i=0;i<4;i++)s+=a[i][1];s+=a[i][1];printf("%d\n",s);printf("%d\n",s);}A.11A.11B.13C.19D.208.8.以下程序的执行结果是()。#include"stdio.h"#include"stdio.h"#include"string.h"#include"string.h"voidmain()voidmain(){charstr[][10]={"ABCD","EFGH","IJKL","MNO{charstr[][10]={"ABCD","EFGH","IJKL","MNOP"},k;P"},k;for(k=1;k<3;k++)for(k=1;k<3;k++)printf("%s\n",&str[k][k]);printf("%s\n",&str[k][k]);}A.ABCDA.ABCDB.ABCDC.EFGD.FGHFGHFGHEFGJKKLKLKLIJO9.9.执行下列语句后,字符串str的值是()。strcpy(str,"Howareyou");strcpy(str,"Howareyou");strcpy(&str[4],"isyourdayto");strcpy(&str[4],"isyourdayto");strcat(str,"day");strcat(str,"day");A."Howareyou"A."Howareyou"B."Howisyourdayto"to"C."Howisyourdaytoday"C."Howisyourdaytoday"D."Howareyoutoday"today"10.10.执行下列程序的结果是()。#include"stdio.h"#include"stdio.h"voidmain()voidmain(){chars[]="ABCCDA",c;{chars[]="ABCCDA",c;intk;intk;for(k=1;(c=s[k])!='\0';k++)for(k=1;(c=s[k])!='\0';k++){{switch(c){{case'A':putchar('%');continue;case'B':++k;break;case'B':++k;break;default:putchar('*');default:putchar('*');case'C':putchar('&');continue;case'C':putchar('&');continue;}}putchar('#');putchar('#');}}}A.#&*&%B.%&*&#C.%&&*%D.#六、自测练习A.#&*&%B.%&*&#C.%&&*%D.#六、自测练习1.以下叙述中错误的是(1.以下叙述中错误的是()。A.CA.C程序必须由一个或一个以上的函数组成B.B.函数调用可以作为一个独立的语句存在C.C.调用函数前,必须进行函数原型说明D.D.函数形参的类型可以与返回值类型不一致2.2.以下正确的函数定义形式是()。A.floatfun(intxA.floatfun(intxB.floatfun(intx,y)C.floatfun(intx,intC.floatfun(intx,inty)D.floatfun(intx,inty;)y;)3.3.有以下程序:#include#include"stdio.h"fun(floatx,floatfun(floatx,floaty){return(x*y)/3.0;}voidvoidmain(){float{floatk;k=fun(5.2,4.0);k=fun(5.2,4.0);printf("%.2f\n",k);printf("%.2f\n",k);}程序运行后的输出结果为(程序运行后的输出结果为()。A.6.93A.6.93B.6.00C.6.67D.程序出错,无结果错,无结果4.4.有以下程序:#include#include"stdio.h"voidvoidfun(charc){if(c>’b’){if(c>’b’)fun(cfun(c–2);printf("%c",c);printf("%c",c);}voidvoidmain(){fun('h');{fun('h');}程序运行后的输出结果是(程序运行后的输出

温馨提示

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

评论

0/150

提交评论