- 43.75 KB
- 2022-04-22 11:48:31 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
'任务一C程序设计概述一,填空题1.用C语言编写的程序称为源程序。2.C语言源程序的基本单位是若干函数。3.一个C语言源程序只能包含一个主函数。4.在C语言中,输入操作是由库函数scanf()完成的,输出操作是由库函数printf()完成的。5.C语言源程序文件的扩展名是.C,经过编译后,生成文件的扩展名是.obg,生成文件的扩展名是.exe。6.C语言注释所用到的符号是/**/和////。二,选择题1.C语言规定在源程序中,主函数的位置(C)A.必须在开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后2.下列程序错在(C)处A.main()B.floatx,yC.a=3:b=8D.a=b+c
3.以下说法正确的是(D)A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用一个定义的函数必须在主函数中定义C.C语言程序中的主函数必须在程序的开始部分D.C语言程序总是从主函数开始执行4.以下叙述正确的是(B)A.在C程序中,main函数必须位于程序的最前面B.C语言本身没有输入输出函数C.C程序的每行只能写一条语句D.在对每一个C程序进行编译的过程中,可发现注释中的拼写错误5.C语言程序的语句如果一行写不下时,可以(D)A.用分号换行B.在任意空格处换行C.用逗号换行D.用回车符换行任务二C语言程序设计的基本概念一.选择题1.下面不是C语言中整型常量的是(C)。A.03B.12C.059D.0xA8
2.下面程序段的输出结果是(B)。inti=65535;printf(“%d”,i);A.65535B.-1C.1D.03.以下不能用来表示整形常熟的进制形式为(A)。A.二进制B.八进制C.十进制D.十六进制4.下列程序段的输出结果是(D)。Inta=1,b=1,c=1;a=a+++b+++c;printf(“%d”,a);A.6B.5C.4D.35.C语言中的预算对象必须是整形的运算符是(C)。A.*=B.-C.%D.>=6.以下选项中的非法的表达式是(C)。A.a+1B.x=y=6C.7.9%8D.(int)6.587.若有以下程序段:Inta=1,b=2,c;
C=1.0/b*a;则执行后c的值为(D)。A.0B.0.5C.1D.无结果8.C语言中的标识符只能有字母,数字和下划线组成,切第一个字符必须为(C)。A.字母B.下划线C.字母或下划线D.字母,数字或下划线9.若有以下定义,则能使职位3的表达式为(C)。Inta=7,b=12;A.B%=(A%=5)B.b%=(a-a%5)C.(b%=a)-(a%=5)D.b%=a-a%510.若有说明语句:charc=’ab’;则变量才(D)。A.包含一个字符‘a‘B.包含2个字符‘a’和‘b’C.包含3个字符‘a’,‘b’和‘ ’D.c的值不确定二丶填空题1.c语言的基本数据类型为整型变量,实行变量和字符型变量。
2.若有以下程序段:Inta=2,b=2;b+=(a++)+(++a)+(a++);则执行后c的值为11。3,以下程序的输出结果是2,3。main(){charx=’a’;y=x-32;printf(“%c”,y);}5.若有定义intx=3,y=2;floata=2.5,b=3.5;则表达式(x+y)%2+(int)(int)b的值为1。6.若a和b都是int类型的变量,切a=5,b=5,则执行表达式a+=b++后a的值为10,b的值为6。任务三顺序结构程序设计一,选择题1.使用scanf函数输入数据时,若输入数据的的类型与格式说明的类型不匹配时,系统将(B)。A.给出出错信息B.不给出出错信息,但最终不能得到正确的输入数据
C.不给出出错信息,但最终能得到正确的输入数据D.拒绝用户输入数据2.Putchar函数可以向终端输入(C)。A.一个字符串B.一个实型变量C.一个字符D..多个字符3.a,b,c被定义为int类型变量,若从键盘给a,b,c输入数据,正确的输入语句为(C)A.scanf(“%d%d%d”,&a,&b,&c);B.read(“%d%d%d”,&a,&b,&c);C.scanf(“%d%d%d”,a,b,c);C.write(“%d%d%d”&a,&b,&c);4.以下程序段的输出结果是(C)。inta=5678;printf(“%2d”,a);A.56B.78C.5678D.无结果显示5.printf函数中用到格式符%6s,其中的数字6表示输出的字符串占用6列。如果字符串长度大于6,则(B);如果字符串长度小于6,则(D)。A输出错误信息B.按原字符长度从左到右全部输出
C.按左对齐输出该字符,右补空格D.按右对齐输出该字符,左补空格6.阅读以下程序,当输入数据的形式为5,6,7,则正确的输入结果为()。Main(A){inta,b,c;scanf(“%d,%d,%d”,&a,&b,&c);printf(“a+b+c=%d”,a+b+c);}A.a+b+c=18B.a+b+c=11C.5+6+7=18D.无结果显示7.设a和b为float类型变量,则以下不合法的赋值语句为(B)A.++a;B.b=(a%5)/5;C=a+=b+8;D.a=b=6;8.若有以下程序段:Intx=0x6c,y=0x6c;x-=y;printf(“%x”,x);执行后输出结果是(B)。A.0x0B.0C.0x6cD.x9.若有以下程序:
Main(){intk=2,i=2,m;m=(k+=i*=k);printf(“%d,%d”,m,i);}执行后输出结果是(D)。A.8,6B.7,4C.8,3D.6,410.若有如下程序:Inta=2010,b=2011;Printf(“%d”,(a,b));11.则以下描述中正确的是(C)A.输出语句中格式说明符的个数少于输项的个数,不能输出正确结果B.运行时产生错误信息C.输出结果为2011D.输出结果为2010二、填空题1.复合语句在语法上被认为是合法的。空语句的书写形式为””。2.假设变量X和Y均为整型变量,填写以下语句,使其可以实现不借助任何变量把X和Y中的值进行交换。
X+=Y;y=x-Y;x-=Y;3.若a为int类型的变量,则执行以下语句后X的值为-12。A=6;a+=a-=a+a4.以下程序的输出结果为11,013,OXB.Main(){Inta=11;Printf(“%d,%o,%x”,a,a,a);}5.执行以下程序时,如果从键盘上输入:aBcDeFg,则屏幕上的输出结果为ABCDEFG。#includemain(){charch;while((ch=getchar())!=`n`){If(ch>=`a`&&ch<=`z`)ch=ch-32;printf(“%c”,ch);}
}6.有以下程序段:inta=0,b=0;charc=`a`;scanf(“%d,%d,%c”,&a&b&c);printf(“%d,%d,%c”,a,b,c);若从键盘上输入:6,8,则输入结果为6,8,’。任务四选择结构程序设计1.若变量c为char类型,能正确判断出c为小写字母的表达式是(D)。A.’a’<=c<=’z’B.(c>=’a’)||(c<=’z’)C.(‘a’<=c)and(‘z’>=c)D.(c>=’a’)&&(c<=’z’)2.下列程序的运行结果是(B)。Main(){inrx=6;If(x++>6)Printf(“%dn”,x);ElsePrintf(“%dn”,--x);}A.5B.6C.7D.8
3.如果a大于3并且小于等于8时为真,否则为假,一下表示正确的表达式是(C)。A.33||a<=8C.a>3&&aa<=8D.a>3&&a<84.下列条件语句中,功能与其他语句不同的是(D)。A.if(b)printf(“%dn”,x);elseprintf(“%dn”,y);B.if(b==0)printf(“%dn”,y);elseprintf(“%dn”,x);C.if(b!=0)printf(“%dn”,x);elseprintf(“%dn”,y);D.if(b==0)printf(“%dn”,x);elseprintf(“%dn”,y);5.设a,b和c都是int类型的变量,且a=3,b=4,c=5,则下列表达式中值为0的是(D)。A.a&&bB.a<=bC.a||++b&&b-cD.!(a=5)。4以下程序的输出结果是1。Main(){intp,a=35;If(p=a!=0)Printf(‘%dn”.p+10);}5.以下程序输出的结果是4。
Main(){intn=0,a=5,b=10;If(!n)b-=1;If(a)b-=2;If(b)b-=3;Printf(“%dn”,b);}6.以下程序输出的结果是Big!。Main(){intx;X=9If(x>3)If(x<5)Printf(“smail!”):ElsePrintf(“big!”):任务五循环程序结构设计一,填空题1.在C语言中有三种可以构成循环结构的循环语句,它们分别是while语句、do-while语句和for语句。2.用while语句来实现当型循环结构,用do-while语句来实现直到型循环结构。
3.在一个循环体内又完整地包含了另一个循环结构,称为嵌套。4.Break语句的功能跳出swiech语句或循环语句,除了可以在循环中使用外,还可以在switch结构中使用;continue语句的功能是结束本次循环。5.Goto语句一般常与关键字if在一起组合使用。二.阅读程序或程序段填写运行结果。1.设有以下程序:main(){intm1,m2;scanf(“%d”,&m2);while(m2!=0){m1=m2%10;M2=m2/10;Printf(“%3d”,m1);}}若从键盘上输入3286,程序运行后,结果为68232、以下程序运行后输出的结果是52main(){
Inti=10,j=0;do{J=j+I;i--;}while(i>2);printf(“%dn”,j);}3、定义有如下变量:intn=10:,则下列循环的输出结果是9,8,7While(n>7){n--;Printf(“%d”,n);}4、若有以下程序:main(){intm=2;do{printf(“%d”,++m);}while(!m);}
运行输出结果是36、运行下列程序后的输出结果是0main(){intn=4;while(n--)printf(“%3d”,--n);}任务六数组一.选择题1.以下能正确定义一堆数组的选项是(B)。A.ingnum[];B.#defineM5intN[M];C.intnum[0…15];D.intN=100;Intnum[N];2.下面对一维数组a初始化的正确方式(C)。A.inta[4]=(1,0,1,2);B.inta[4]={}C.inta[]={0};D.inta[4]={1,2,3,4,5};3.在语句Inta[8];之后,对a的正确引用是(A)。A.a[8]B.a[5.3]C.a(5)D.a[8-3]4.以下能正确定义二维数组的选项是(C)。A.intN=10,num[N][N];B.Inta[][];C.inta[2][3];D.
inta[2][];5.以下能正确定义数组并正确赋值的语句是(A)。A.intN=10,num[N][N];B.inta[2][3]={{1,2},{3,4},{5,6}};C.inta[1][2]={{0},{1}};D.inta[2][]={{1,2},{3,4}};6.下面关于数组的描述正确的是(C)。A.数组的长度是固定的,数组元素的类型可以不同。B.数组的长度是可变的,数组元素的类型必须相同。C.数组的长度是固定的,数组元素的类型必须相同。D.数组的长度是可变的,数组元素的类型可以不同。7.不能把字符串“stud”赋给数组b的语句是(A)。A.charb[15];b=“stud”;B.charb[15]=“stud”;C.charb[15];strcpy(b,“stud”);D.charb[15]={‘s’,‘t’,‘u’,‘d’};8.若有以下说明:Inta[12]={1,2,3,4,5,6,7};charc=‘a’,d,g;则数值为4的表达式是(D)。A.a[g-c]B.a[4]
C.a[‘d’-‘c’]D.a[‘d’-c]9.若有以下定义:charm[]=“number”;charn[]={‘n’,‘u’,‘m’,‘b’,‘e’,‘r’};则正确的叙述是(D)。A.数组m与数组n等价B.数组m与数组n长度相等C.数组m的长度大于数组n的长度D.数组m的长度小于数组n的长度10.判定字符串str1和str2是否相等,正确的语句是(C)。A.if(str1==str2)B.if(str1=str2)C.if(strcpy(str1,str2))D.if(!strcmp(str1,str2))二阅读程序填写运行结果1.设有以下程序:#include“stdio.h”#include“string.h”main(){
charss[10]=“12345”;stract(ss,“6789”);gets(ss);printf(“%sn”,ss);}当执行上面的程序,输出ABC时,输出的结果是ABC。2.设有以下程序:#include“stdio.h”#include“string.h”main(){chars1[20],s2[20];scanf(“%s%s”,s1,s2);if(strcmp(s1,s2))printf(“#”);elseprintf(“&”);printf(“%dn”,strlen(strcat(s1,s2)));}若从键盘输入number<回车>和number1<回车>,该程序运行后的结果是#25。
3.若有以下程序:main(){ints[4]={1,2,3,4},kfor(k=0;s[k]!‘ ’;k++)switch(k){case3:printf(“%d”,s[k-3]);continue;case2:printf(“%d”s[k-1]);continue;case1:printf(“%d”,s[k+1]);continuecase0:printf(“%d”,s[k+3]);}}则程序的运行结果是4321。4有以下程序:main(){ints[7]={11,13,14,15,16,17,18},i=0,k=0;while(i<7&&s[i]%2){k=k+s[i];i++;}print(“%dn”,k);}
该程序的运行结果是24。5.以下程序的输出结果是sun=10。main(){ints[4]={1,2,3,4},i,j=1,sum=0;for(i=3;i>=0;i--){sum+=s[i]*j;j*=10;}Printf(“sum=%dn”,sum);}任务七函数1.在定义函数时,若函数名后面的括号内包含若干个参数,则称该函数为有参函数;若函数名后面的括号内无任何参数,则称该函数为无参函数2.在C语言中,一个函数一般由两个部分组成,他们是函数名和函数体。3.实参位于主调函数中,而形参位于被调用函数中。4.在C语言中,只能通过return语句把函数的返回值带回给主调函数。5.实参函数的调用主要是为了执行某些特定的操作,主调函数与被调用函数之间不进行参数的传递。
6.一般被调用函数应放在主调函数之前定义,否则必须在调用函数之前,对被调用函数加以说明,但当函数的返回值为int型时,可以不必特别说明,系统对他们自动按整型处理。7.在发生函数调用时,数据的传递是单方向的,即只能由实参传给形参。二,选择题1.以下正确的函数定义形式是(C)A.intmax(intx,y)B.intmax(intx,inty);C.intmax(intx,inty)D.intmax(intx;inty)2.对于C语言函数,下列描述正确的是(C)A.C语言函数都是用户自定义的B.函数必须有返回值,否则函数将无法使用C.在C语言中,调用函数时,只能将实参的值传递给形参,形参的值不能传递给实参D.在一个C程序中,存在调用关系的所有函数必须放在同一个源程序文件中3.函数的实参不能是(A)A.变量B.常量C.语句D.函数调用表达式4.函数的返回值的类型是(A)A.函数的类型B.函数类型与return语句中表达式类型中较高的类型
C.return语句中表达式的类型D.函数的类型5.下列情况中,函数在调用前必须说明的是(A)A.定义函数时有类型说明,并且定义在后B.定义函数时有类型说明,并且定义在前C.具有int类型返回值D.定义函数时没有任何类型说明6.函数在传递值调用时,要求(C)A.实参与形参类型任意,个数相等B.实参与形参类型完全一致,个数相等C.实参与形参对应类型一致,个数相等D.实参与形参类型完全一致,个数不等7.下列说法错误的是(A)A.一个函数的类型为void,那么函数一定没有返回值B.函数的形参和实参可以是表达式C.只能调用已经定义了的函数,不能调用不存在的函数D.主函数可以调用任何类型的函数,包含用户自定义的函数8.返回值为void的函数,其定义是(B)A.调用函数之后,被调函数不返回B.调用函数之后,被调函数没有返回值
C.调用函数之后,被调函数的返回值为整形D.调用函数之后,被调函数的返回值为任意类型任务八指针一、选择题1、变量的指针,其含义是指该变量的()。A.值B.地址C.名D.一个标志2、函数的指针,其含义是指该函数的()。A.值B.一个标志C.入口地址D.语句地址3、如下程序段执行后,变量a的值是()。int*p,a=9,b=2;p=&a;a=*p+b;A.12B.11C.10D.编译错误4、以下程序的运行结果是()。voidpry(int*x){printf(“%dn”,++*x);}main(){inta=28;Pry(&a);}
A.28B.29C.30D.315如下程序段中对数组元素的错误引用是()inta[10]={0,1,2,3,4,5,6,7,8,9},*p[3],**pp,i;clscr();for(i=0;i<3;i++)p[i]=&a[i*3];pp=p;App[1][1]Ba[9]Cp[3][1]D*(*(p+1)+2)6有以下程序段:ints[4][5],(*ps)[5];ps=s;对s数组元素的正确引用方式是()Aps+1B*(ps+3)Cps[0][2]D*(ps+1)+3二阅读程序填写运行结果1.执行下列程序后的输出结果是(3073)main(){staticinta[5]={104,206,3073,1654,278};int*p,max;p=a;
for(p=a+1;pmax)max=*p;printf("%dn",max);}2.执行下列程序后的输出结果是876.main(){chars[]="9876",*p;for(p=s;p。二.选择题1.以下程序的输出结果是16。#defineMCRA(m)2*m#defineMCRB(n,m)2*MCRA(n)+mmain(){inti=2,j=3;printf("%dn",MCRB(j,MCRA(i)));}2.以下程序运行后输出的结果是8。#defineMA(x)x*(x-1)main(){inta=1,b=2;
printf("%dn",MA(1+a+b));}3.以下程序运行后输出的结果是28。#definef(x)x*xmain(){inti;i=f(4+4)/f(2+2);printf("%dn",i);}4.以下程序运行后输出的结果100010。#defineN10#defines(x)x*x#definef(x)(x*x)main(){inti1,i2;i1=1000/s(N);i2=1000/f(N);printf("%d%dn",i1,i2);}5.以下程序运行后输出的结果是4,3。#definef(x)(x*x)main()
{inti1,i2;i1=f(8)/f(4);i2=f(4+4)/f(2+2);printf("%d,%dn",i1,i2);}'
您可能关注的文档
- 《ARM嵌入式系统结构与编程》课后习题答案.doc
- 《ASPNET动态网站开发教程(第三版)》各章习题参考答案.doc
- 《AutoCAD简明教程》第2版-习题答案.doc
- 《C++程序设计教程 第2版》教学素材习题04答案.doc
- 《C程序设计》课后习题答案(4-6章).doc
- 《C程序设计》课后习题答案(第8章).doc
- 《C语言》期末考试模拟复习题一(含答案).doc
- 《C语言程序设计(何钦铭 颜晖 主编)》习题8答案.doc
- 《C语言程序设计》第6章习题答案.doc
- 《EDA技术与VHDL基础》课后习题答案.doc
- 《IBM-PC汇编语言程序设计 第二版》部分习题答案(第5章).doc
- 《JavaScript 程序设计基础教程(第2版)》习题答案.doc
- 《JavaWeb程序开发入门》课后练习(含答案).docx
- 《Java基础入门》_课后习题答案1-6.doc
- 础入门》_课后题答案_stu.doc
- 础入门》_课后题答案_仅供参考.doc
- 《Java程序设计》练习题答案.doc
- 《Java程序设计》课后习题参考答案.doc
相关文档
- 施工规范CECS140-2002给水排水工程埋地管芯缠丝预应力混凝土管和预应力钢筒混凝土管管道结构设计规程
- 施工规范CECS141-2002给水排水工程埋地钢管管道结构设计规程
- 施工规范CECS142-2002给水排水工程埋地铸铁管管道结构设计规程
- 施工规范CECS143-2002给水排水工程埋地预制混凝土圆形管管道结构设计规程
- 施工规范CECS145-2002给水排水工程埋地矩形管管道结构设计规程
- 施工规范CECS190-2005给水排水工程埋地玻璃纤维增强塑料夹砂管管道结构设计规程
- cecs 140:2002 给水排水工程埋地管芯缠丝预应力混凝土管和预应力钢筒混凝土管管道结构设计规程(含条文说明)
- cecs 141:2002 给水排水工程埋地钢管管道结构设计规程 条文说明
- cecs 140:2002 给水排水工程埋地管芯缠丝预应力混凝土管和预应力钢筒混凝土管管道结构设计规程 条文说明
- cecs 142:2002 给水排水工程埋地铸铁管管道结构设计规程 条文说明