




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MOOC程序设计基础-周口师范学院中国大学慕课答案课堂练习1、问题:在计算机上可以直接运行的程序是()。选项:A、高级语言程序B、汇编语言程序C、机器语言程序D、C语言程序正确答案:【机器语言程序】2、问题:C程序由()组成。选项:A、子程序B、主程序和子程序C、函数D、过程正确答案:【函数】3、问题:C语言中主函数的个数是()。选项:A、2个B、1个C、任意个D、10个正确答案:【1个】4、问题:下列关于C语言注释的叙述中错误的是()。选项:A、以“/*”开头并以“*/”结尾的字符串为C语言的注释内容B、注释可出现在程序中的任何位置,用来向用户提示或解释程序的意义C、程序编程时,不对注释作任何处理D、程序编程时,需要对注释进行编译处理正确答案:【程序编程时,需要对注释进行编译处理】5、问题:C语言以()标志语句结束。选项:A、逗号B、分号C、句号D、冒号正确答案:【分号】课堂练习1、问题:编译程序就是()。选项:A、调试程序B、建立并修改源程序文件C、将源程序变成目标程序D、命令计算机执行程序正确答案:【将源程序变成目标程序】2、问题:下列关于C语言的说法错误的是()选项:A、C程序的工作过程是编辑、编译、连接、运行B、C语言不区分大小写C、C程序的三种基本结构是顺序、选择、循环D、C程序从main函数开始执行正确答案:【C语言不区分大小写】3、问题:C语言的函数体由()括起来。选项:A、B、{}C、[]D、()正确答案:【{}】4、问题:程序编译链接后显示0error,0warning代表()。选项:A、程序中可能存在语法错误B、程序是不正确的C、程序中没有语法错误D、程序中有语义错误正确答案:【程序中没有语法错误】5、问题:C程序中一般可以包含几个函数()选项:A、至少1个B、0个C、只有1个D、必须多于2个正确答案:【至少1个】第1章单元测验1、问题:写好一个C语言程序后,程序运行的基本步骤为()。选项:A、编辑、连接、编译、运行B、编译、连接、编辑、运行C、编译、编辑、连接、运行D、编辑、编译、连接、运行正确答案:【编辑、编译、连接、运行】2、问题:C语言程序是从()开始执行。选项:A、程序中第一条可执行语句B、程序中第一个函数C、程序中的main函数D、包含文件中的第一个函数正确答案:【程序中的main函数】3、问题:下列关于C语言的说法错误的是()。选项:A、C程序的工作过程是编辑、编译、连接、运行B、C语言不区分大小写C、C程序的三种基本结构是顺序、选择、循环D、C程序的语句以分号结束正确答案:【C语言不区分大小写】4、问题:下面叙述不正确的是()。选项:A、在程序中任意合适的地方都可以加上注释以便阅读B、C语言中的每条执行语句需要用分号结束C、include命令所在行后面需要加分号D、C语言具有高级语言的功能,也具有低级语言的一些功能正确答案:【include命令所在行后面需要加分号】5、问题:C语言属于程序设计语言的哪个类别()选项:A、面向对象语言B、汇编语言C、机器语言D、高级语言正确答案:【高级语言】6、问题:以下叙述不正确的是()。选项:A、在C程序中,注释说明只能位于一条语句的后面B、注释符“/”和“*”之间不能有空格C、注释说明必须跟在“//”之后不能换行或者括在“/*”和“*/”之间且注释符必须配对使用D、注释说明被计算机编译系统忽略正确答案:【在C程序中,注释说明只能位于一条语句的后面】7、问题:构成C语言源程序的基本单位是()。选项:A、命令B、过程C、子程序D、函数正确答案:【函数】8、问题:程序设计语言的发展通常被划分为三个阶段,其中不包括()。选项:A、机器语言B、汇编语言C、数据库语言D、高级语言正确答案:【数据库语言】9、问题:C语言源程序通常的扩展名是“.c”或“.cpp”。选项:A、正确B、错误正确答案:【正确】10、问题:在C语言中,注释语句是可执行语句。选项:A、正确B、错误正确答案:【错误】课堂练习1、问题:下列合法的字符常量为()。选项:A、aB、“b”C、‘abc’D、'a'正确答案:【'a'】2、问题:下列变量中合法的是()。选项:A、_a1B、intC、t-1D、3c正确答案:【_a1】3、问题:下列不属于基本数据类型的是()。选项:A、空类型B、整型C、字符型D、浮点型正确答案:【空类型】4、问题:下列不合法的变量名是()。选项:A、Ab1B、a_2C、intD、_Cd3正确答案:【int】5、问题:C语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须是字母或下划线。选项:A、正确B、错误正确答案:【正确】6、填空题:字符型数据在内存中占___个字节?(用阿拉伯数字填写)正确答案:【1】课堂练习1、问题:inta,b;a=6;b=a++;则a,b的值分别为()。选项:A、6,6B、6,7C、7,6D、7,7正确答案:【7,6】2、问题:设a、b、c为int型变量,且a=3,b=4,c=5,下面表达式值为0的是()。选项:A、abB、a=bC、a||b+cb-cD、(ab)!c正确答案:【(ab)!c】3、问题:设intx=10;表达式“3=x=5”的结果为()。选项:A、0B、10C、1D、3正确答案:【1】4、问题:设inta=2,b=0;表达式“(ab)(a||!b)”的结果为()。选项:A、0B、1C、2D、2.0正确答案:【0】5、问题:表达式“10+5*4%3*2+3/2”的结果为()。选项:A、14B、15C、15.5D、14.5正确答案:【15】6、问题:12/5.0的运算结果为2。选项:A、正确B、错误正确答案:【错误】7、填空题:8/5的结果是___。正确答案:【1】8、填空题:11%(-3)的运算结果为___。正确答案:【2】课堂练习1、问题:读程序段:inty;floatx=3.5;y=(int)x,那么y的值为()。选项:A、3B、4C、3.5D、4.0正确答案:【3】2、问题:已知intm=3,n=4,t=5;则表达式“m*n/t+’A’+(mn)”的值为()。选项:A、67B、99C、68D、100正确答案:【67】3、问题:给定以下程序段:intm,n=0;则m的初始值是___。选项:A、1B、-1C、0D、不确定正确答案:【不确定】4、问题:表达式“i=3*5,i*4,i+5”的值为()。选项:A、15B、60C、65D、20正确答案:【20】5、填空题:设intx=2,y=4;表达式“x*=y+3”的结果为___。正确答案:【14】6、填空题:设floata=69.86,b=76.06,max;则表达式“max=(ab)?a:b”的结果为___。(保留2位小数)正确答案:【76.06】7、填空题:表达式“’a’+10-9.5”的结果为___('a'的ASCII为97,结果保留1位小数)。正确答案:【97.5】8、填空题:已知“inta=2,b=2,c=3;”,则执行完语句“a*=18+b-c;”后,a的值是_____。正确答案:【34】课堂练习1、问题:设doublex=2.5,y=4.7;inta=7;执行语句“printf(%.1f,x+a%3*(int)(x+y)%2/4)”的结果为()。选项:A、2.5B、2.8C、3.5D、3.8正确答案:【2.5】2、问题:设inta;下列输入语句正确的是()?选项:A、scanf(%d,a);B、scanf(%d,a);C、scanf(%f,a);D、scanf(%d,a);正确答案:【scanf(%d,a);】3、问题:设intm=200,n=10;则语句“printf(m=%d,n=%d,m,n)”的输出结果为()?选项:A、200,10B、m=200,n=10C、m=200n=10D、m=200n=10正确答案:【m=200,n=10】4、问题:设inti=3000,则语句printf(%3d,i);的结果为()?选项:A、3000B、300C、+30D、-30正确答案:【3000】5、问题:设doublet=3.12345678,则语句“printf(%f,t);”的结果为()?选项:A、3.12345678B、3.123457C、3.123456D、3.1234567正确答案:【3.123457】6、问题:设doublet=3.12345678,则语句“printf(%5.3f,t);”的结果为()?选项:A、3.123B、3.1234C、3.1235D、3.12345678正确答案:【3.123】7、问题:利用scanf输入一实数,如:doublea,输入格式为()。选项:A、scanf(%f,a);B、scanf(%d,a);C、scanf(%lf,a);D、scanf(%lf,a);正确答案:【scanf(%lf,a);】8、问题:printf(%d\n,'a'-32);的结果为()。选项:A、aB、AC、65D、97正确答案:【65】第2章单元测验1、问题:在C语言中,下列类型不属于基本类型的是()。选项:A、整型B、空类型C、实型D、字符型正确答案:【空类型】2、问题:下面合法的标识符是()。选项:A、12_3B、doubleC、a.55D、_abc正确答案:【_abc】3、问题:在C语言程序中,表达式5%2的结果是()。选项:A、2.5B、2C、1D、3正确答案:【1】4、问题:如果inta=3,b=4;则条件表达式“ab?a:b”的值是()。选项:A、3B、4C、0D、1正确答案:【3】5、问题:下面()表达式的值为4。选项:A、11/3B、11.0/3+1C、(float)11/3+1D、(int)(11.0/3+1)正确答案:【(int)(11.0/3+1)】6、问题:若“intn;floatf=13.8;”,则执行“n=(int)f%3”后,n的值是()。选项:A、1B、4C、4.333333D、4.6正确答案:【1】7、问题:在C语言中,换行符是()。选项:A、\nB、\tC、\vD、\b正确答案:【\n】8、问题:表达式10+'a'+1.5-567.345/'b'的结果是()型数据。选项:A、intB、floatC、doubleD、char正确答案:【double】9、问题:已知a=1,b=2,则表达式(ab)!b||b的结果为()。选项:A、0B、1C、2D、true正确答案:【1】10、问题:若有doublea;,则下列输入语句正确的是()。选项:A、scanf(%lf,a);B、scanf(%lf,a);C、scanf(%f,a);D、scanf(%lf,a);正确答案:【scanf(%lf,a);】11、问题:若运行时给变量x输入12,则以下程序的运行结果是()。intmain(){intx,y;scanf(%d,x);y=x12?x+10:x-12;printf(%d\n,y);}选项:A、1B、12C、22D、0正确答案:【0】12、问题:在C语言中,程序运行期间,其值不能被改变的量叫常量。选项:A、正确B、错误正确答案:【正确】课堂练习1、问题:请阅读以下程序:intmain(){inta=5,b=0,c=0;if(a=b+c)printf(“***\n”);elseprintf(“$$$\n”);}以下描述哪个是正确的(ꢀꢀ)。选项:A、有语法错不能通过编译B、可以通过编译但不能通过连接C、输出***D、输出$$$正确答案:【输出$$$】2、问题:以下if语句语法正确的是(ꢀꢀ)选项:A、if(x0)printf(“%f”,x)elseprintf(“%f”,-x);B、if(x0){printf(“%f”,x);}elseprintf(“%f”,-x);C、if(x0);{printf(“%f”,x);}elseprintf(“%f”,-x);D、if(x0){printf(“%f”,x)}elseprintf(“%f”,-x);正确答案:【if(x0){printf(“%f”,x);}elseprintf(“%f”,-x);】3、问题:能表示整数x符合下面两个条件的语句是()。(1)能被4整除,但不能被100整除。(2)能被400整除。选项:A、(x%4==0x%100!=0)||x%400==0B、(x%4==0x%400!=0)||x%100==0C、(x%4==0||x%100!=0)x%400==0D、(x%100==0||x%4!=0)x%400==0正确答案:【(x%4==0x%100!=0)||x%400==0】4、问题:已知“intx=10,y=20,z=30;”,则执行下列语句后,x、y、z的值是()。if(xy){z=x;x=y;y=z;}选项:A、x=10,y=20,z=30B、x=20,y=20,z=10C、x=20,y=10,z=30D、x=30,y=20,z=10正确答案:【x=10,y=20,z=30】5、问题:以下程序的输出结果是()。intmain(){inta=100;if(a100)printf(%d\n,a100);elseprintf(%d\n,a=100);}选项:A、a=100B、100C、0D、1正确答案:【1】6、问题:运行下面程序后,输出结果是()。#includestdio.hintmain(){intk=-3;if(k=0)printf(****\n);elseprintf(####\n)}F、****K、****L、有语法错误不能通过编译正确答案:【有语法错误不能通过编译】7、问题:判断变量ch中的字符是否为大写字母,以下表达式正确的是()。选项:A、ch>='A'ch<='Z'B、A<=ch<=ZC、'A'<=ch<='z'D、ch>=Ach<=Z正确答案:【ch>='A'ch<='Z'】课堂练习1、问题:为了表示关系x=y=z,应使用C语言表达式()。选项:A、(x=y)(y=z)B、(x=y)AND(y=z)C、(x=y=z)D、(x=y)(y=z)正确答案:【(x=y)(y=z)】2、问题:以下叙述中正确的是()。选项:A、if语句只能嵌套一层B、不能在else子句中再嵌套if语句C、if子句和else子句中可以是任意的合法的C语句D、改变if-else语句的缩进格式,会改变程序的执行流程正确答案:【if子句和else子句中可以是任意的合法的C语句】3、问题:输入一个字符,如果是大写字母,则把其变成小写字母;如果是小写字母,则变成大写字母;其它字符不变。请在()内填入缺省的内容。#includestdio.hintmain(){charch;scanf(%c,ch);if(________)ch=ch+32;elseif(ch='a'ch='z')ch=ch-32;printf(%c\n,ch);}选项:A、ch='A'||ch='Z'B、ch=Ach=ZC、ch='A'ch='Z'D、ch=A||ch=Z正确答案:【ch='A'ch='Z'】4、问题:elseif子句用于解决多分支选择问题。选项:A、正确B、错误正确答案:【正确】5、问题:在C语言中,运算符“=”与“==”的含义都是等于。选项:A、正确B、错误正确答案:【错误】6、填空题:以下程序的运行结果是_______。#includestdio.hintmain(){inta=2,b=3,c;c=a;if(ab)c=1;elseif(a==b)c=0;elsec=-1;printf(%d\n,c);}正确答案:【-1】课堂练习1、问题:下面程序的正确结果是()。#includestdio.hintmain(){inta=2,b=-1,c=2;if(ab)if(b0)c=1;elsec++;printf(%d\n,c);return0;}选项:A、0B、1C、2D、3正确答案:【2】2、问题:在嵌套使用if语句时,C语言规定else总是()。选项:A、和之前与其具有相同缩进位置的if配对B、和之前与其最近的if配对C、和之前与其最近的且不带else的if配对D、和之前的第一个if配对正确答案:【和之前与其最近的且不带else的if配对】3、问题:阅读以下程序:#includestdio.hintmain(){intm;scanf(%d,m);if(m=0){if(m%2==0)printf(%disapositiveeven\n,m);elseprintf(%disapositiveodd\n,m);}else{if(m%2==0)printf(%disanegativeeven\n,m);elseprintf(%disanegativeodd\n,m);}}运行时,若输入-9,则运行结果为()。选项:A、-9isapositiveevenB、-9isapositiveoddC、-9isanegativeevenD、-9isanegativeodd正确答案:【-9isanegativeodd】4、问题:在if语句中又包含一个或多个if语句称为if语句的嵌套。()选项:A、正确B、错误正确答案:【正确】5、填空题:下面程序的正确结果是()。#includestdio.hintmain(){floatc=3.0,d=4.0;if(cd)c=5.0;elseif(c==d)c=6.0;elsec=7.0;printf(%.1f\n,c);}正确答案:【7.0】课堂练习1、问题:若a和b均是整型变量,以下正确的switch语句是()。选项:A、switch(a/b){case1:case3.2:y=a+b;break;case0:case5:y=a-b;}B、switch(a*a+b*b);{case3:case1:y=a+b;break;case3:y=b-a;break;}C、switcha{default:x=a+b;case10:y=a-b;break;case11:y=a*d;break;}D、switch(a+b){case10:x=a+b;break;case11:y=a-b;break;}正确答案:【switch(a+b){case10:x=a+b;break;case11:y=a-b;break;}】2、问题:下列程序段的输出结果是()。intn='c';switch(n++){default:printf(error);break;case'a':case'A':case'b':case'B':printf(good);break;case'c':case'C':printf(pass);case'd':case'D':printf(warn);}选项:A、errorB、goodC、passD、passwarn正确答案:【passwarn】3、问题:C语言的switch语句中case后b()。选项:A、可为任何量或表达式B、只能为常量或常量表达式C、可为常量或表达式或有确定值的变量及表达式D、只能为常量正确答案:【只能为常量或常量表达式】4、问题:下列程序段的输出结果为()。intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++;}printf(“a=%d,b=%d\n”,a,b);选项:A、a=2,b=1B、a=1,b=1C、a=1,b=0D、a=2,b=2正确答案:【a=2,b=1】5、问题:下列说法中,不正确的是()。选项:A、若用于比较的数据类型为double,则不可以用switch语句实现B、在switch语句中,可以根据需要使用或不使用break语句C、case子句可以有多条语句,并且可以不用大括号括起来D、凡是能够使用if语句的地方就可以使用switch语句,反之亦然正确答案:【凡是能够使用if语句的地方就可以使用switch语句,反之亦然】第3章单元测试1、问题:if语句的控制条件可以是()。选项:A、可以是任何表达式B、只能用关系表达式C、只能用逻辑表达式D、只能用关系表达式或逻辑表达式正确答案:【可以是任何表达式】2、问题:以下能正确表达x在区间[-3,3]的C语言逻辑表达式是()。选项:A、x=-3||x=3B、-3=x=3C、x=-3x=3D、x=-3ANDx=3正确答案:【x=-3x=3】3、问题:两次运行下面的程序,如果从键盘上每次分别输入6和4,则输出结果是()。#includestdio.hintmain(){intx;scanf(%d,x);if(x++5)printf(%d,x);elseprintf(%d\n,x--);}选项:A、7和5B、7C、6D、6和4正确答案:【7和5】4、问题:若有以下函数关系x0→y=2xx0→y=xx=0→y=x+1下面程序段能正确表示以上关系的是()。选项:A、y=2*x;if(x!=0)if(x0)y=x;elsey=x+1;B、y=2*x;if(x=0)if(x==0)y=x+1;elsey=x;C、if(x=0)if(x0)y=x;elsey=x+1;elsey=2*x;D、y=x+1;if(x=0)if(x0)y=2*x;elsey=x;正确答案:【if(x=0)if(x0)y=x;elsey=x+1;elsey=2*x;】5、问题:从键盘输入一个字符,判断它是否是英文字母。#includestdio.hintmain(){charc;printf(inputacharacter:);c=getchar();if(_____________||c='a'c='z')printf(Yes\n);elseprintf(No);}选项:A、c='A'c='Z'B、c='A'||c='Z'C、c=Ac=ZD、A=c=Z正确答案:【c='A'c='Z'】6、问题:输入一个字符,判断该字符是数字、空格还是其他字符。#includestdio.hintmain(){charch;ch=getchar();if(ch='0'ch='9')printf(Itisadigitcharacter\n);elseif(__________)printf(Itisaspacecharacter\n);elseprintf(Itisothercharacter\n);}选项:A、ch==“”B、ch='空格'C、ch==''D、ch=='\n'正确答案:【ch==''】7、问题:用C语言描述下列命题,哪一个是正确的()。a或b中有一个小于c。选项:A、acbcB、ac||bcC、abcD、abc正确答案:【ac||bc】8、问题:在嵌套使用if语句时,C语言规定else总是()。选项:A、和之前与其具有相同缩进位置的if配对B、和之前与其最近的if配对C、和之前与其最近的且不带else的if配对D、和之前的第一个if配对正确答案:【和之前与其最近的且不带else的if配对】9、问题:已知intx=10,y=20,z=30;,以下语句执行后x、y、z的值是()。if(xy)z=x;x=y;y=z;选项:A、x=20,y=30,z=20B、x=20,y=30,z=30C、x=10,y=20,z=30D、x=20,y=30,z=10正确答案:【x=20,y=30,z=30】10、问题:若执行程序时从键盘上输入34,则输出结果是()。main(){inta,b,s;scanf(%d%d,a,b);s=a;if(ab)s=b;s*=s;printf(%d\n,s);}选项:A、20B、18C、16D、14正确答案:【16】课堂练习1、问题:C语言中while和do-while循环的主要区别是()。选项:A、do-while循环体至少无条件执行一次。B、while的循环控制条件比do-while的循环控制条件严格。C、do-while允许从外部转到循环体内。D、do-while的循环体不能是复合语句。正确答案:【do-while循环体至少无条件执行一次。】2、问题:在C语言中,以下说法正确的是()。选项:A、不能使用do-while语句构成循环。B、do-while语句构成的循环体可一次也不执行。C、do-while语句构成的循环,当while语句中的表达式值为非零时结束循环。D、do-while语句构成的循环,当while语句中的表达式值为零时结束循环。正确答案:【do-while语句构成的循环,当while语句中的表达式值为零时结束循环。】3、问题:定义如下变量,intn=10;则下列循环的输出结果是()。while(n7){n--;}printf(%d\n,n);选项:A、10B、9C、8D、7正确答案:【7】4、问题:以下程序段循环结束后,循环变量x的值为()。intx=1,y=1;do{y=y*2;x++;}while(x=10);选项:A、10B、11C、12D、13正确答案:【11】5、问题:以下程序的输出结果是()。#includestdio.hintmain(void){intnum=0;while(num=2){num++;printf(%d,num);}return0;}选项:A、1B、12C、123D、1234正确答案:【123】6、问题:对于循环语句,循环体循环()次。inti=1;while(i=10){i++;printf(%d,i);}选项:A、10B、9C、8D、11正确答案:【10】7、问题:while的循环控制条件比do-while的循环控制条件严格。选项:A、正确B、错误正确答案:【错误】8、问题:do-while循环的while后的分号不可以省略。选项:A、正确B、错误正确答案:【正确】9、问题:do-while循环中,根据情况可以省略while关键字。选项:A、正确B、错误正确答案:【错误】课堂练习1、问题:下面有关for循环描述正确的是()。选项:A、for循环只能用于循环次数已经确定的情况。B、for循环是先执行循环体语句,后判定表达式。C、for循环体语句中,可以包含多条语句,但要用花括号括起来。D、for循环体语句中,只能包含一条语句。正确答案:【for循环体语句中,可以包含多条语句,但要用花括号括起来。】2、问题:以下程序执行后sum的值是()。#includestdio.hintmain(void){inti,sum;sum=0;for(i=1;i6;i++)sum+=i;printf(%d\n,sum);return0;}选项:A、15B、14C、不确定。D、0正确答案:【15】3、问题:执行语句for(i=1;i4;i++);后变量i的值是()。选项:A、3B、4C、5D、不确定。正确答案:【4】4、问题:设i,j,k均为int型变量,则执行完下面的for循环后,k的值为()。for(i=0,j=10;i=j;i++,j--)k=i+j;选项:A、12B、10C、11D、9正确答案:【10】5、问题:下面程序的输出结果为()。#includestdio.hintmain(void){inti;for(i=10;i=0;i=i-2)printf(%d,i);return0;}选项:A、1086420B、108642C、0D、86420正确答案:【1086420】6、问题:输出1---100以内能被3整除的整数,下列()代码是正确的。B、includestdio.hintmain(void){inti;for(i=1;i=100;i=i+3){printf(%d,i);}return0;}D、includestdio.hintmain(void){inti;for(i=1;i=100;i++){if(i%3!=0)printf(%d,i);}return0;}F、includestdio.hintmain(void){inti;for(i=1;i=100;i++){if(i%3==0)printf(%d,i);}return0;}H、includestdio.hintmain(void){inti;for(i=100;i=0;i=i-3){printf(%d,i);}return0;}正确答案:【#includestdio.hintmain(void){inti;for(i=1;i=100;i++){if(i%3==0)printf(%d,i);}return0;}】7、问题:for循环的三个表达式可以任意省略,括号内的分号也可以任意省略。选项:A、正确B、错误正确答案:【错误】课堂练习1、问题:以下程序的输出结果是()。#includestdio.hintmain(void){inti;for(i=4;i=10;i++){if(i%3==0)continue;printf(%d,i);}return0;}选项:A、45B、457810C、69D、678910正确答案:【457810】2、问题:设i,j均为int类型的变量,则一下程序段中执行完成后,打印出的*数是()个。#includestdio.hintmain(void){inti,j;for(i=5;i0;i--){for(j=0;j4;j++){printf(*);}}return0;}选项:A、20B、24C、25D、30正确答案:【20】3、问题:以下叙述正确的是()。选项:A、continue语句的作用是结束整个循环的执行。B、break语句一般在循环体内和switch语句体内使用。C、在循环体内使用break语句和continue语句的作用是一样的。D、从多层循环嵌套中,break语句不是跳出就近一层的循环,而是跳出整个循环。正确答案:【break语句一般在循环体内和switch语句体内使用。】4、问题:6.对下面程序段,描述正确的是()。for(t=1;t=100;t++){scanf(%d,x);if(x0)continue;printf(%d\n,t);}选项:A、当x0时,整个循环结束。B、当x=0时,什么也不输出。C、printf函数永远也不执行。D、最多允许输出100个非负整数。正确答案:【最多允许输出100个非负整数。】5、问题:下列循环体循环次数为()。#includestdio.hintmain(void){inti,j;for(i=1;i=10;i++){for(j=1;j=5;j++){printf(%d,i*j);}}return0;}选项:A、50B、15C、10D、5正确答案:【50】6、问题:下列说法错误的是()。选项:A、嵌套循环的内层和外层循环的循环控制变量不能同名。B、执行嵌套循环时是先执行内层循环,后执行外层循环。C、如果内外层循环的次数是固定的,则嵌套循环的循环次数等于外层循环的循环次数与内层循环的循环次数之积。D、如果一个循环的循环体中又完整地包含了另一个循环,则成为嵌套循环。正确答案:【执行嵌套循环时是先执行内层循环,后执行外层循环。】7、问题:只有for语句才能进行循环嵌套,while语句和do...while语句不能进行相互嵌套。选项:A、正确B、错误正确答案:【错误】8、问题:在while循环中允许使用嵌套循环,但只能是嵌套while循环。选项:A、正确B、错误正确答案:【错误】课堂练习1、问题:下面说法错误的是()。选项:A、do...while循环先执行循环体后判断条件。B、while循环和for循环都是先判断条件后执行循环体。C、do...while循环至少执行一次循环体。D、for语句只能用于循环次数固定的循环。正确答案:【for语句只能用于循环次数固定的循环。】2、问题:在下列选项中,没有构成死循环的程序段是()。选项:A、inti=100;while(1){i=i%100+1;if(i100)break;}B、for(;;);C、intk=1000;do{++k;}while(k=1000);D、ints=36;while(s)--s;正确答案:【ints=36;while(s)--s;】3、问题:for循环的三个表达式可以任意省略,while、do...while后的表达式也可以省略。选项:A、正确B、错误正确答案:【错误】4、问题:在实际的编程中,do...while循环不能完全用for循环替换。选项:A、正确B、错误正确答案:【错误】第4章单元测试1、问题:下面关于循环语句for、while、do-while的叙述,正确的是()。选项:A、三种循环语句的循环体都必须放入一对花括号中。B、三种循环语句中都可以缺省循环终止条件表达式。C、三种循环语句的循环体都至少被无条件地执行一次。D、三种循环语句都可能出现无穷循环。正确答案:【三种循环语句都可能出现无穷循环。】2、问题:下列程序段执行后,变量x的值是()。for(x=2;x10;x+=3)选项:A、2B、9C、10D、11正确答案:【11】3、问题:以下程序输出的结果是()。#includestdio.hintmain(void){inty=9;for(;y0;y--){if(y%3==0){printf(%d,--y);continue;}}return0;}选项:A、543B、121C、450D、852正确答案:【852】4、问题:以下for循环是()。for(x=0,y=0;(y!=123)(x4);x++)选项:A、无限循环。B、循环次数不定。C、执行4次。D、执行3次。正确答案:【执行4次。】5、问题:以下程序执行结果为()。#includestdio.hintmain(void){inti,j,k;for(i=0,j=5;i=j;i++,j--);printf(k=%d,k=i+j);return0;}选项:A、k=0B、k=1C、k=5D、k=8正确答案:【k=5】6、问题:以下程序的运行结果为()。#includestdio.hintmain(void){intk,j,s;for(k=2;k6;k++){s=1;for(j=k;j6;j++)s+=j;}printf(%d\n,s);return0;}选项:A、9B、6C、11D、10正确答案:【6】7、问题:下列程序段执行时,若从键盘输入23,则输出为()。#includestdio.hintmain(void){intc,num;scanf(%d,num);do{c=num%10;printf(%d,c);num=num/10;}while(num0);printf(\n);return0;}选项:A、32B、3C、2D、23正确答案:【32】8、问题:以下程序的运行结果为()。#includestdio.hintmain(void){inti;for(i=1;i=5;i++){if(i%2)printf(*);elsecontinue;printf(#);}printf($\n);return0;}选项:A、*B、*C、*D、$F、*G、*H、*$I、*J、*K、$L、.M、*N、*$正确答案:【*#*#*#$】9、问题:下面程序的运行结果是()。#includestdio.hintmain(void){ints=0,i=1;while(s=10){s=s+i*i;i++;}printf(%d,i);return0;}选项:A、4B、3C、5D、6正确答案:【4】10、问题:以下循环体的执行次数是()。#includestdio.hintmain(void){inti,j;for(i=0,j=1;i=j+1;i+=2,j--)printf(%d\n,i);}选项:A、3B、2C、1D、0正确答案:【1】课堂练习1、问题:以下关于数组的描述正确的是()。选项:A、数组的大小是固定的,但可以有不同的类型的数组元素B、数组的大小是可变的,但所有数组元素的类型必须相同C、数组的大小是固定的,所有数组元素的类型必须相同D、数组的大小是可变的,可以有不同的类型的数组元素正确答案:【数组的大小是固定的,所有数组元素的类型必须相同】2、问题:在C语言中,引用数组元素时,其数组下标的数据类型允许是()。选项:A、只能是整型常量B、实型表达式C、整型常量或整型表达式D、任何类型的表达式正确答案:【整型常量或整型表达式】3、问题:以下正确定义一维整型数组a的是()。选项:A、inta(10);B、intn=10,a[n];C、intn;scanf(%d,n);inta[n];E、defineSIZE10inta[SIZE];正确答案:【#defineSIZE10inta[SIZE];】4、问题:以下对一维数组m进行正确初始化的是()。选项:A、intm[10]=(0,0,0,0);B、intm[10]={};C、intm[]={0};D、intm[3]={1,2,3,4};正确答案:【intm[]={0};】5、问题:假定int类型变量占用4个字节,其有定义:intx[10]={0,2,4};,则数组x在内存中所占字节数是()。选项:A、3B、6C、20D、40正确答案:【40】6、问题:inta[4]={5,3,8,9};其中a[3]的值为()。选项:A、5B、3C、8D、9正确答案:【9】7、问题:若有以下说明,则数值为4的表达式是()。inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};charc=’a’,d,g;选项:A、a[g-c]B、a[4]C、a['d'-'c']D、a['d'-c]正确答案:【a['d'-c]】课堂练习1、问题:若有定义:intaa[8];,则不能代表数组元素aa[1]地址的是()。选项:A、aa[0]+1B、aa[1]C、aa[0]++D、aa+1正确答案:【aa[0]++】2、问题:下面程序(每行程序前面的数字表示行号)。1main()2{3floata[3]={0};4inti;5for(i=0;i3;i++)scanf(“%f”,a[i]);6for(i=1;i4;i++)a[0]=a[0]+a[i];7printf(“%f\n”,a[0]);8}选项:A、没有错误B、第3行有错误C、第5行有错误D、第6行有错误正确答案:【第6行有错误】3、问题:下面程序的运行结果是()。#includestdio.hintmain(){inta[6],i;for(i=1;i6;i++){a[i]=9*(i-2+4*(i3))%5;printf(%2d,a[i]);}return0;}选项:A、-40404B、-40403C、-40443D、-40440正确答案:【-40443】4、问题:对以下说明语句的正确理解是。inta[10]={6,7,8,9,10};选项:A、将5个初值依次赋给a[1]至a[5]B、将5个初值依次赋给a[0]至a[4]C、将5个初值依次赋给a[6]至a[10]D、因为数组长度与初值的个数不相同,所以此语句不正确正确答案:【将5个初值依次赋给a[0]至a[4]】5、问题:在C语言中,数组名代表的是选项:A、数组中全部元素的个数B、数组中第一个元素的值C、数组中全部元素的值D、数组的首地址正确答案:【数组的首地址】6、问题:下面叙述中错误的是().选项:A、同一个数组中的每一个元素都属于同一个数据类型B、对于实型数组,不可以直接用数组名对数组进行整体的输入或输出C、数组名代表数组所占存储区的首地址,其值不可以改变D、在程序运行时,如果数组元素的下标超出了所定义的下标范围,系统将给出“下标越界”的出错信息正确答案:【在程序运行时,如果数组元素的下标超出了所定义的下标范围,系统将给出“下标越界”的出错信息】课堂练习1、问题:若有定义:inta[2][4];,则引用数组元素正确的是()。选项:A、a[0][3]B、a[0][4]C、a[2][2]D、a[2][2+1]正确答案:【a[0][3]】2、问题:以下对二维数组的定义中正确的是()。选项:A、inta[4][]={1,2,3,4,5,6};B、inta[][3];C、inta[][3]={1,2,3,4,5,6};D、inta[][]={{1,2,3},{4,5,6}};正确答案:【inta[][3]={1,2,3,4,5,6};】3、问题:若二维数组y有m列,则排在y[i][j]前的元素个数为()选项:A、j*m+iB、i*m+jC、i*m+j-1D、i*m+j+1正确答案:【i*m+j】4、问题:以下程序的输出结果是()。main(){inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf(%d%d%d%d\n,a[0][3],a[1][2],a[2][1],a[3][0]);}选项:A、0650B、1470C、5430D、输出值不定正确答案:【0650】5、问题:以下程序的输出结果是()。intmain(){intm[][3]={1,4,7,2,5,8,3,6,9};inti,j,k=2;for(i=0;i3;i++){printf(%d,m[k][i]);}return0;}选项:A、456B、258C、369D、789正确答案:【369】6、问题:若有说明:inta[3][4]={0};则下面正确的叙述是()。选项:A、只有元素a[0][0]可得到初值0B、此说明语句不正确C、数组a中各元素都可得到初值,但其值不一定为0D、数组a中每个元素均可得到初值0正确答案:【数组a中每个元素均可得到初值0】课堂练习1、问题:以下4个字符串函数中,()所在的头文件与其他3个不同。选项:A、getsB、strcpyC、strlenD、strcmp正确答案:【gets】2、问题:对字符数组进行初始化,()形式是错误。选项:A、charc1[]={'1','2','3'};B、charc2[]=123;C、charc3[]={'1','2','3','\0'};D、charc4[]=123;正确答案:【charc2[]=123;】3、问题:下列定义的字符数组中,输出printf(%s\n,str[2]);的输出是()。charstr[3][20]={basic,foxpro,windows};选项:A、basicB、foxproC、windowsD、输出语句出错正确答案:【windows】4、问题:语句strcat(strcpy(str1,str2),str3);的功能是()。选项:A、将字符串str1复制到字符串str2中后再连接到字符串str3之后。B、将字符串str1连接到字符串str2中后再复制到字符串str3之后。C、将字符串str2复制到字符串str1后再将字符串str3连接到字符串str1之后。D、将字符串str2连接到字符串str1后再将字符串str1复制到字符串str3中。正确答案:【将字符串str2复制到字符串str1后再将字符串str3连接到字符串str1之后。】5、问题:设有定义:chars[12]=string;则printf(%d,strlen(s));的输出结果是()。选项:A、6B、7C、11D、12正确答案:【6】6、问题:下面描述正确的是()。选项:A、两个字符串包含的字符个数相同时,才能比较字符串B、字符个数多的字符串比字符个数少的字符串大C、字符串STOP与STOP■相等D、字符串That小于字符串The正确答案:【字符串That小于字符串The】第5章单元测验1、问题:在c语言中,引用数组元素时,其数组下标的数据类型是()选项:A、整型常量B、整型表达式C、整型常量或常量表达式D、任何类型的表达式正确答案:【整型常量或常量表达式】2、问题:下列程序的输出结果是()main(){chara[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;printf(%d,*--p);}选项:A、运行出错B、a[4]的地址C、5D、3正确答案:【5】3、问题:合法的数组定义是()选项:A、inta[3][]={0,1,2,3,4,5};B、inta[][3]={0,1,2,3,4};C、inta[2][3]={0,1,2,3,4,5,6};D、inta[2][3]={0,1,2,3,4,5};正确答案:【inta[2][3]={0,1,2,3,4,5};】4、问题:设有数组定义:chararray[]=China;则数组array所占的空间为()选项:A、4个字节B、5个字节C、6个字节D、7个字节正确答案:【6个字节】5、问题:为了判断两个字符串s1和s2是否相等,应当使用()选项:A、if(s1==s2)B、if(s1=s2)C、if(strcpy(s1,s2))D、if(strcmp(sl,s2)==0)正确答案:【if(strcmp(sl,s2)==0)】6、问题:若有定义inta[10];,则对数组a的引用正确的是()选项:A、a[10]B、a[6、3]C、a(6)D、a[10-10]正确答案:【a[10-10]】7、问题:下列描述中,合法的数组定义是()选项:A、inta[]={String};B、inta[5]={0,1,2,3,4,5};C、chara={String};D、inta[]={0,1,2,3,4,5};正确答案:【inta[]={0,1,2,3,4,5};】8、问题:假定一个int型变量占用四个字节,若有定义:intx[10]={0,2,4};则数组x在内存中所占字节数是()选项:A、3B、6C、10D、40正确答案:【40】9、问题:若有说明:inta[3][4]={0};则下面正确的叙述是()选项:A、只有元素a[0][0]可以得到初值0B、此说明语句不正确C、数组中各元素都可以得到初值,但其值不一定为0D、数组中每个元素均可得到初值0正确答案:【数组中每个元素均可得到初值0】10、问题:下面程序有错误的行是()1main()2{inta[5]={9};3inti;4for(i=0;i5;i++)5scanf(%d,a[i]);6for(i=1;i5;i++)a[0]=a[0]+a[i];7printf(%d\n,a[0]);8}选项:A、第2行有错误B、第6行有错误C、第7行有错误D、没有错误正确答案:【没有错误】课堂练习1、问题:下述函数定义形式正确的是选项:A、intf(intx;inty)B、intf(intx,y)C、intf(intx,inty)D、intf(x,y:int)正确答案:【intf(intx,inty)】2、问题:C语言允许函数值类型缺省定义,此时该函数值隐含的类型是选项:A、float型B、int型C、long型D、double型正确答案:【int型】3、问题:在c语言中以下不正确的说法是:选项:A、实参可以是常量、变量、或表达式B、形参可以是常量、变量或表达式C、实参可以为任意类型D、形参应与其对应的实参类型一致正确答案:【形参可以是常量、变量或表达式】4、问题:C语言中函数返回值的类型由()决定。选项:A、return语句中的表达式类型B、调用该函数的主调函数类型C、定义函数时所指定的函数类型D、系统默认的类型正确答案:【定义函数时所指定的函数类型】5、问题:有以下程序voidfun(inta,intb,intc){a=456;b=567;c=678;}intmain(){intx=10,y=20,z=30;fun(x,y,z);printf(%d,%d,%d\n,x,y,z);return0;}输出结果是:(ꢀꢀ)选项:A、30,20,10B、10,20,30C、456,567,678D、678,567,456正确答案:【10,20,30】6、问题:在一个被调用函数中,关于return语句使用的描述,错误的是()选项:A、被调用函数中可以不用return语句B、被调用函数中可以使用多个return语句C、被调用函数中,如果有返回值,就一定要有return语句D、被调用函数中,一个return语句可返回多个值给调用函数正确答案:【被调用函数中,一个return语句可返回多个值给调用函数】7、问题:在调用函数时,只能将实参的值传递给形参,形参的值不能传递给实参。选项:A、正确B、错误正确答案:【正确】8、问题:若函数类型和return语句中表达式类型不一致时,返回类型以函数类型为准。选项:A、正确B、错误正确答案:【正确】9、问题:设函数调用表达式为:add(sub(a,b),c),则函数add带3个参数。选项:A、正确B、错误正确答案:【错误】课堂练习1、问题:以下正确的说法是:选项:A、函数的定义可以嵌套,但函数的调用不可以嵌套B、函数的定义不可以嵌套,但函数的调用可嵌套C、函数的定义和调用均不可以嵌套D、函数的定义和调用均可以嵌套正确答案:【函数的定义不可以嵌套,但函数的调用可嵌套】2、问题:以下程序的运行结果是()#includestdio.hvoidfun(intk);intmain(){intw=5;fun(w);printf(\n);return0;}voidfun(intk){if(k0)fun(k-1);printf(%d,k);}选项:A、5432lB、012345C、12345D、543210正确答案:【012345】3、问题:以下程序输出的结果是()intfunc(inta,intb){return(a+b);}intmain(){intx=2,y=5,z=8,r;r=func(func(x,y),z);printf(“%d\n”,r);return0;}选项:A、12B、13C、14D、15正确答案:【15】4、问题:由一个函数调用另一个函数,被调用的函数又调用其他函数的关系,称为函数的嵌套调用。选项:A、正确B、错误
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 空调器湿度传感器的选型与优化考核试卷
- 纸板容器盈利模式分析考核试卷
- 森林资源调查方法与实务操作考核试卷
- 组织领导力发展与绩效改进考核试卷
- 苏州工艺美术职业技术学院《幼儿园课程与教学》2023-2024学年第二学期期末试卷
- 四川省自贡市普高2025年招生全国统一考试仿真卷(七)-高考物理试题仿真试题含解析
- 南京财经大学红山学院《传播中的法与理》2023-2024学年第二学期期末试卷
- 新疆艺术学院《环境分析与监测》2023-2024学年第二学期期末试卷
- 江苏省南通市安海中学2024-2025学年高三第一次质量调研普查考试化学试题含解析
- 天府新区信息职业学院《灾害风险评估》2023-2024学年第二学期期末试卷
- 【MOOC】供应链管理-武汉理工大学 中国大学慕课MOOC答案
- 餐饮收货流程
- 消防防烟和排烟系统操作规程
- 矿山工程分包合同模板
- 机械设备润滑油基础知识(一)课件
- 高处安装、维护、拆除高处作业(复审)模拟考试题库试卷
- 五年级语文上册第六单元习作 我想对您说 公开课一等奖创新教学设计
- 胰岛素皮下注射标准解读
- 间歇机构获奖课件
- 常压储罐日常检查记录表
- 中国不宁腿综合征的诊断与治疗指南
评论
0/150
提交评论