C语言程序设计单元测试题三
c语言习题

C语言阶段测试三一、单项选择题1、有以下定义:int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}int (*ptr)[3]=a,*p=a[0];则下列能够正确表示数组元素a[1][2]的表达式是( A )。
A)*((*ptr+1)[2])B)*(*(p+5))C)(*ptr+1)+2 D)*(*(a+1)+2)2、# include <stdio.h> Dvoid main ( ){ int a[3][3]={1,2,3,4,5,6,7,8,9};int s=0,i;for (i=0;i<3;i++)s+=(*(a+i))[i];printf("%d",s);}A)9 B)12 C)14 D)153、设有说明语句:char a= '\123abc';则变量a ( A )A) 包含7个字符 B) 包含6个字符C) 包含5个字符D) 包含4个字符4、有以下程序段int k=0while(k=1)k++;while 循环执行的次数是( C )A) 无限次B) 有语法错,不能执行C) 一次也不执行D) 执行1次5、下面四个选项中,均是合法转义字符的选项是_C___。
a. '\''b. '\'c. '\018'd. '\\0''\\' '\017' '\f' '101'\n' '\"' 'xab' 'xlf'6、下面四个选项中,均是不正确的八进制数或十六进制数的选项是____。
a. 016b. oabcc. 010d. 0a120x8f 017 -0x11 7ff018 0x8 0x16 -1237、设int x;则执行printf(″%x\n″,~x^x);的结果是( )A.0B.1C.ffD.ffff8、设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是( A )A.9,19B.9,20C.10,19D.10,209、对于while语句,错误的说法是(B )A.用条件控制循环体的执行次数B.循环体至少要执行一次C.循环体有可能一次也不执行D.循环体中可以包含若干条语句10、执行下列语句int a=8,b=7,c=6;if(a<b)if(b>c){a=c;c=b;}printf(″%d,%d,%d\n″,a,b,c);后输出的结果是( A )A.6,7,7B.6,7,8C.8,7,6D.8,7,811、设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么( A )A.x数组的长度等于y数组的长度B.x数组的长度大于y数组的长度C.x数组的长度少于y数组的长度D.x数组与y数组的存储区域相同12、设int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++)printf(″%d″,x[i][2-i]);的输出结果是( C )A.147B.159C.357D.36913、设int b[ ]={1,2,3,4},y,*p=b;则执行语句y=*p++;之后,变量y的值为( A )A.1B.2C.3D.414、假设int型变量占两个字节的存储单元,若有定义:int x[10]={0,2,4};则数组x在内存中所占字节数为____D__。
C语言程序设计(山东联盟-青岛大学)智慧树知到答案章节测试2023年

第一章测试1.在C语言中,下面标识符非法的是()。
A:abc3B:_nameC:sum&D:SUM答案:C2.C语言源程序要正确地运行,必须要有()。
A:自定义函数B:Printf函数C:main函数D:scanf函数答案:C3.一个C 语言程序是由()。
A:若干过程组成B:函数组成C:一个主程序和若干子程序组成D:若干子程序组成答案:B4.C语言中数据的基本类型包括()。
A:整型、实型、字符型和结构体B:整型、实型C:整型、实型、字符型和指针型D:整型、实型、字符型答案:D5. C 语言规定:在一个源程序中,main函数的位置()A:可以任意B:必须在最后C:必须在最开始D:必须在系统调用的库函数的后面答案:A第二章测试1.若变量a是int类型,并执行了语句:a=‘A’+1.6;,则对于运算后变量a正确的叙述是()A:a的值是整型B:不允许字符型和浮点型相加C:a的值是浮点型D:a的值是字符型答案:A2.若有定义:int a=8,b=5,c; ,执行语句c=a/b+0.4;后,c的值为()A:2B:1.4C:1D:2.0答案:C3.如果有定义: int k=8 ,x=13;表达式的值为2的是()A:x%=(k-k%5)B:x%=(k%=5)C:x%=k-k%5D:(x%=k)-(k%=5)答案:D4.已知字母’A’的ASCII码为十进制数65,变量ch1为字符型,则执行语句ch1=‘A’+‘5’-‘2’;后,ch1中的值是( )。
A:‘C’B:67C:‘D’D:不确定答案:C5.若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是()A:2.5B:2C:2.0D:1答案:C6.以下关于标识符的说法错误的是()。
A:标识符不能与系统的关键字同名B:标识符由字母、数字和下划线组成C:不区分大小写,s和S是同一个变量D:首字符必须是字母或下划线答案:C第三章测试1.函数putchar()可以输出一个()。
智慧树知道网课《C语言程序设计(西安工程大学)》课后章节测试满分答案

第一章测试1【单选题】(1分)C语言程序的基本单位是()A.程序行B.函数C.语句D.字符2【单选题】(1分)C语言规定,在一个源程序中main函数的位置()A.必须在最开始B.必须在最后C.必须在预处理命令的后面D.可以在其他函数之前或之后3【单选题】(1分)对于一个正常运行的C程序,以下叙述中正确的是()A.程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束B.程序的执行总是从main函数开始,在程序的最后一个函数中结束C.程序的执行总是从main函数开始,在main函数结束D.程序的执行总是从程序的第一个函数开始,在main函数结束4【单选题】(1分)以下叙述的是()A.C程序的主函数必须用main作为函数名B.C程序在书写时,有严格的缩进要求,否则不能编译通过C.一个C程序只能有一个主函数D.一个C程序可以包含多个不同名的函数5【单选题】(1分)下列说法正确的是()A.一个函数的函数体必须要有变量定义和执行部分B.C程序的书写格式自由,一个语句可以分写在多行上C.一个函数的函数体必须要有执行部分,可以没有变量定义D.C程序的书写格式严格限制,一行内必须写一个语句6【多选题】(1分)下列关于注释行的描述中,正确的是()A.单行注释以“//”开头,“//”后面是注释内容B.注释只在C语言源程序中有效,在编译时会被编译器忽略C.单行注释以符号“/*”开头,以符号“*/”结尾D.注释只能对程序中的某一行代码进行解释7【单选题】(1分)关于计算机语言的描述,正确的是()A.机器语言由0和1组成,执行速度快B.汇编语言比机器语言执行速度快C.汇编语言已将机器语言符号化,所以它与机器无关D.机器语言因为是面向机器的低级语言,所以执行速度慢8【单选题】(1分)用C语言编写的程序()A.可直接被执行B.是一个源程序文件C.经过编译或解释才能被执行D.经过编译、连接后被执行9【单选题】(1分)连接程序将一个C程序的所有目标程序和系统的库文件以及系统提供的其他信息连接起来,最终生成一个可执行的二进制文件,它的后缀是()A..objB..cppC..libD..exe第二章测试1【单选题】(1分)C语言提供的数据类型关键字有()A.DoubleB.CharC.shortD.integer2【单选题】(1分)若有说明和语句:inta=5;a++;此处表达式a++的值是()。
C语言程序设计智慧树知到答案章节测试2023年西安工商学院

第一章测试1.以下叙述正确的是()。
A:注释语句可以嵌套B:简单C语句必须以分号作为结束符C:C程序每一行只能写一个语句D:C程序基本组成单位是语句答案:B2.一个C语言程序是从()开始执行的。
A:程序中第一个函数B:程序中的第一个语句C:包含文件(头文件)的第一个函数D:名为main的函数答案:D3.下列四个叙述中,正确的是()A:C程序中的标识符都不区分大小写B:C程序中的所有字母都必须小写C:C语言中的标识符是区分大小写的D:C程序中的关键字必须小写,其他标识符不区分大小写答案:C4.下面是C语言合法标识符的是()。
A:a2B:2-aC:2_aD:2a答案:A5.以下叙述不正确的是()。
A:函数是C程序的基本单位B:分号是C语句的必要组成部分C:C程序的注释可以写在语句的后面D:主函数的名字不一定非用main来表示答案:D第二章测试1.以下不能定义为用户标识符的是()。
A:_0B:_intC:sizeofD:Main答案:C2.main(){ int m=12,n=34; printf(“%d%d”,m++,++n); printf(“%d%d”,n++,++m);}程序运行后的输出结果是()。
A:12353513B:12343513C:12343514D:12353514答案:D3.以下能正确定义且赋初值的语句是()。
A:int n1=n2=10;B:char c=32;C:double x=12.3E2.5;D:float f=f+1.1;答案:B4.以下程序的功能是:给r输入数据后计算半径为r的圆面积s。
程序在编译时出错。
main()/* Beginning /{ int r; float s;scanf(“%d”,&r);s=p r r;printf(“s=%f”,s);}出错的原因是()。
A:计算圆面积的赋值语句中使用了非法变量B:输出语句中格式描述符非法C:存放圆半径的变量r不应该定义为整型D:注释语句书写位置错误答案:A5.有以下程序#include <stdio.h>main(){char c1,c2,c3,c4,c5,c6;scanf(%c%c%c%c,&c1,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(c1);putchar(c2);printf(%c%c\n,c5,c6);}程序运行后,若从键盘输入(从第1列开始)123<回车>45678<回车>则输出结果是()。
C语言程序设计(数组)期末单元测试与答案

一、单选题1、C语言中,引用数组元素时,其数组下标的数据类型允许是().A.整型表达式B.任何类型的表达式C.整型常量D.整型常量、整型变量或整型表达式正确答案:D2、若有定义:int a[3][4], 则对数组a元素的正确引用是( )A.a(2)(0)B.a[10-10]C.a[1,3]D.a[2][3]正确答案:D3、以下不正确的定义语句是().A.char c1[ ] = { '1', '2', '3', '4', '5' };B.int y[5] = { 0, 1, 3, 5, 7, 9 };C.double x[5] = { 2.0, 4.0, 6.0, 8.0, 10.0 };D.char c2[ ] = { '\x10', '\xa', '\x8' };正确答案:B4、以下程序的输出结果是().#include<stdio.h>int main(){int n[2] = {0},i,j,k = 2;for (i = 0; i < k; i++)for (j = 0; j < k; j++)n[j] = n[i]+1;printf("%d\n",n[k]);return 0;}A.1B. 2C. 3D.不确定的值正确答案:D5、若二维数组a 有m 列,则在a[ i ][ j ] 前的元素个数为( ).A.j*m+iB.i*m+jC.i*m+j+1D.i*m+j-1正确答案:B6、下面语句的输出结果是().int i,x[3][3] = {1,2,3,4,5,6,7,8,9};for (i = 0; i < 3; i++)printf("%d",x[i][2-i]);A.147B.159C.369D.357正确答案:D7、以下对二维数组a的正确说明是()。
智慧树知到程序设计基础(C语言)测试第三章单元测试参考答案

智慧树知到程序设计基础(C语言)测试第三章单元测试参考答案•总题数: 101【判断题】 (10分)表达式25/3%3的值为2. A.错B.对正确本题总得分10分2【判断题】 (10分)若有定义:int y=2; 则计算表达式y+=y后的y值是2()A.对B.错正确本题总得分10分3【单选题】 (10分)下列不正确的叙述是()。
A.在C语言程序中,SUM和sum是两个不同的变量。
B.若a和b类型相同,在计算了赋值表达式a=b后b中的值将复制到a中,而b中的值不变。
C.在C语言程序中,%运算符的优先级高于/ 运算符。
D.在C语言程序中,进行赋值运算时,先将右侧表达式的值转化左侧变量的类型再赋给变量。
正确本题总得分10分4【单选题】 (10分)在C语言中,要求运算对象必须是整型的运算符是()。
A.-B.%C.*D./正确本题总得分10分5【单选题】 (10分)下列选项中正确的定义语句是()。
A.double a ; b;B.double a=7,b=7;C.double , a , b;D.double a=b=7;正确本题总得分10分6【单选题】 (10分)输入一个3位正整数n,分别输出n的个位a、十位b、百位c。
下面程序的语句填空应为:()#include <stdio.h>int main( ){int n,a,b,c;scanf("%d",&n);a=____;;b=n/10%10;c=n/100;printf("a=%d b=%d c=%d",a,b,c);return 0;}A.n/10B.a%10C.n%10D.b/10正确本题总得分10分7【单选题】 (10分)有下列程序,程序运行后的输出结果是()。
#include <stdio.h>int main(){int a=1,b=0;printf("%d,",b=a+b);printf("%d\n",a=2*b);return 0;}A.3,2B.1,2C.1,0D.0,0正确本题总得分10分8【判断题】 (10分)数据在计算机中是以二进制的形式存储的。
C语言程序设计试卷(含答案)

.2015年春季学期《C 语言程序设计》试卷A一.选择(每道小题2分,合计30分)1、以下选项中合法的标识符是( )。
A)1_1B)1-1C)_11D)1_ _2、若函数中有定义语句:int k;,则( )。
A)系统将自动给k 赋初值0 B)这时k 中的值无定义 C)系统将自动给k 赋初值-1D)这时k 中无任何值3、以下选项中,能用作数据常量的是( ) 。
A)o115B)0118C)1.5e1.5D)115L4、设有定义:int x=2;,以下表达式中,值不为6的是( )。
A)x*=x+1 B)X++,2*x C)x*=(1+x)D)2*x,x+=25、程序段:int x=12; double y=3.141593;printf("%d%8.6f",x,y);的输出结果是( )。
A)123.141593 B)12 3.141593C)12,3.141593D)123.14159306、把2进制数10000111101转化为十进制数为( )。
A)1083B)1084 C)1085D)10867、以下是if 语句的基本形式: if(表达式) 语句 其中"表达式"( )。
A)必须是逻辑表达式B)必须是关系表达式 C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式8、有以下程序#include <stdio.h> main(){ int x; scanf("%d",&x);if(x<=3); elseif(x!=10) printf("%d\n",x);}程序运行时,输入的值在哪个范围才会有输出结果( )。
A)不等于10的整数 B)大于3且不等于10的整数 C)大于3或等于10的整数D)小于3的整数9、有以下程序#include <stdio.h> main(){ int a=1,b=2,c=3,d=0; if (a==1 && b++==2)if (b!=2||c--!=3) printf("%d,%d,%d\n",a,b,c);else printf("%d,%d,%d\n",a,b,c); else printf("%d,%d,%d\n",a,b,c);} 程序运行后输出结果是( )。
C语言程序设计(自定义类型)期末单元测试与答案

一、单选题1、若有以下结构体定义struct A{int x;int y;}a;则正确的引用或定义是()A.struct b;b.x = 10;B.struct A b = [10];C.A.x = 10;D.A b;b.x = 10;正确答案:B解析:B、先定义类型Struct A的一个变量b,使用{}的方式为b提供初值,b正常需要两个值,而这里传一个值10,也是正确的,相当于把10赋值给b.x2、设有以下定义struct Stu{char name [10];int score;}a,b;则以下描述中错误的是()A.Stu为该结构体的类型名,故定义该结构体类型的一个变量c的语法为Stu c;B.a和b为该结构体类型的两个成员C.struct 为结构体类型的关键字D.为变量a的score赋值98的语句可写为a.score = 98;正确答案:A3、设有以下说明语句struct ex{int x;float y;char z;}example;则下面的叙述中不正确的是()A.example是结构体类型名B.x、y、z都是结构体成员名C.struct 是结构体类型的关键字D.struct ex是结构体类型名正确答案:A解析:A、struct example是类型名,只写example并不知道其是函数名还是int变量名还是float变量名4、以下结构体数组的定义格式中正确的是()struct stu{char name[10];char no[15];int score;};A.struct a[10];B.struct stu a[10];C.struct stu [10];D.stu a[10];正确答案:B解析:B、类型名为struct stu 数组名为a 正确5、以下描述中正确的是()typedef struct{int n;char ch[10];A.PER是结构体类型的变量名B.PER是结构体类型的数组名C.PER是结构体类型的类型同义词,代表该结构体类型D.PER是结构体类型的关键字正确答案:C6、以下描述中错误的是()struct Point{float x;float y;}a[5];A.a为struct Point结构体类型的变量,该变量占5个字节B.a为结构体数组名,该数组中含有5个该结构体类型的变量C.struct Point为该结构体类型D.struct为类型关键字正确答案:A7、以下描述中正确的是()struct Point{float x;float y;A.a[5].x = 7.8f;a[5].y = 6.9f;B.a[0].x = 2.1;a[0].y = 4.3;C.a = {1,2}D.a[0] = {2.1,4.3}正确答案:B解析:A、数组下标越界,正确范围0~4 C、数组名是常量,不能为其赋值D、变量a[0]中包含两个成员a[0].x和a[0].y , 不能为变量a[0]整体赋值8、若有以下定义语句,union data{int i;char c;float f;}a;int n;则以下语句中正确的是()A.a= 3.4f;B.a.i = 5;C.a = {3,'e',1.2};D.a.c= "e";正确答案:B解析:A、a.f = 3.4f; C、不能整体赋值D、应为'e'9、下列对枚举类型的定义正确的是()A.enum a{"A","B"=4,"C"};B.enum a{A;B;C};C.enum a={A,B=4;C};D.enum a{A,B=4;C};正确答案:D解析:B、各元素之间用逗号间隔C、不该有赋值号,enum a{A,B=4;C};2、#include<stdio.h>struct abc{ int a, b, c; };int main(void){struct abc s[2]={{1,2,3},{4,5,6}}; int t;t=s[0].a+s[1].b;printf("%d \n",t);return 0;}以上程序的输出结果为:A.8B.5C.7D.6正确答案:D10、struct ex{ int x ; float y; char z ;} example;则下面的叙述中不正确的是()A. x,y,z都是结构体成员名B.struct是结构体类型的关键字C.struct ex是结构体类型D. example是结构体类型名正确答案:D解析:D、example是结构体类型的一个变量,不是类型名11、关于单链表的描述中错误的是()A.结点的指针域中存放下一个数据元素的地址B.为单链表中每个元素分配一个结点,一般结点有两个数据成员,数据域和指针域C.结点的指针域中存放下一个数据元素所在结点的地址D.单链表中头结点可有可无,一般其标志作用,不存储数据元素正确答案:A12、关于单链表基本概念的描述中正确的是()A.单链表中的头结点就是首元结点B.单链表的头指针也就是指向单链表中首元结点的指针C.单链表的头指针是指向单链表中第一个结点的指针D.单链表的头指针也就是指向单链表中头结点的指针正确答案:C二、判断题1、链式存储中每个结点在物理位置上是连续的正确答案:×2、顺序存储结构中,逻辑上相邻的数据元素在物理位置上也相邻正确答案:√3、结构体类型、联合体类型及枚举类型均属于用户自定义的类型正确答案:√。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计_单元测试题三本单元包含“数组、函数”的内容。
一、选择题1.以下为一维整型数组a的正确说明是_________.A)int a(10); B)int n=10,a[n];C)int n; D)#define SIZE 10;scanf("%d",&n); int a[SIZE];int a[n];2.以下对二维数组a的正确说明是________.A)int a[3][]; B)float a(3,4);C)double a[1][4] D)float a(3)(4);3.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为______.(假设a[0][0]位于数组的第一个位置上。
)A)i*m+j B)j*m+i C)i*m+j-1 D)i*m+j+14.若二维数组a有m列,则在a[i][j]前的元素个数为________.A)j*m+i B)i*m+j C)i*m+j-1 D)i*m+j+15.25.若有以下程序段:int a[]={4,0,2,3,1},i,j,t;for(i=1;i<5;i++){t=a[i];j=i-1;while(j>=0&&t>a[j]){a[j+1]=a[j];j--;}a[j+1]=t;}... ...则该程序段的功能是_________.A)对数组a进行插入排序(升序) B)对数组a进行插入排序(降序)C)对数组a进行选择排序(升序) D)对数组a进行选择排序(降序)6.有两个字符数组a、b,则以下正确的输入语句是_______.A)gets(a,B); B)scanf("%s%s",a,B);C)scanf("%s%s",&a,&B); D)gets("a"),gets("b");7.下面程序段的运行结果是_________.char a[7]="abcdef";</P< p>char b[4]="ABC";strcpy(a,B);printf("%c",a[5]);A)空格B)\0 C)e D)f8.判断字符串s1是否大于字符串s2,应当使用_______.A)if(s1>s2) B)if(strcmp(s1,s2))C)if(strcmp(s2,s1)>0) D)if(strcmp(s1,s2)>0)9.下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间用空格分隔,请选择填空。
#include <stdio.h>main(){char s[80],c1,c2='';int i=0,num=0;gets(s);while(s[i]!='\0'){c1=s[i];if(i==0)c2='';else c2=s[i-1];if(___)num++i++;}</P< p>printf("There are %d words.\n",num);}A)c1==''&&c2=='' B)c1!=''&&c2==''C)c1==''&&c2!='' D)c1!=''&&c2!=''10.下面程序的运行结果是________.#include <stdio.h>main(){char str[]="SSSWLIA",c;int k;for(k=2;(c=str[k])!='\0';k++){switch(C){case 'I':++k;break;case 'L':continue;default:putchar(C);continue;}putchar('*');}}A)SSW* B)SW* C)SW*A D)SW11.以下正确的说法是_________.建立函数的目的之一是A)提高程序的执行效率B)提高程序的可读性C)减少程序的篇幅D)减少程序文件所占内存12.以下正确的函数定义形式是________.A)double fun(int x,int y) B)double fun(int x; int y)C)double fun(int x, int y); D)double fun(int x,y);13.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为______.A)地址传递B)单向值传递C)由实参传给形参,再由形参传回给实参D)由用户指定传递方式14.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是______.A)float B)int C)long D)double15.已有以下数组定义和f函数调用语句,则在f函数的说明中,对形参数组array 的错误定义方式为________.int a[3][4];f(A);A)f(int array[][6]) B)f(int array[3][])C)f(int array[][4]) D)f(int array[2][5])16.以下程序的正确运行结果是_________.#include <stdio.h>void num()</P< p>{extern int x,y;int a=15,b=10;x=a-b;y=a+b;}int x,y;main(){int a=7,b=5;x=a+b;y=a-b;num();printf("%d,%d\n",x,y);}A)12,2 B)不确定C)5,25 D)1,1217. 以下对一维整型数组a的正确的说明是_________。
A)int a(10); B)int n=10,a[n];C)int n; D)#define SIZE 10scanf(“%d”,&n); int a[SIZE];int a[n];18. 若有说明:int a[10];则对a数组元素的正确引用是_________。
A)a[10] B)a[3.5] C)a(5) D)a[10-10]19. 以下能对一维数组a进行正确初始化的语句是_________。
A)int a[10]=(0,0,0,0,0) B)int a[10]={};C)int a[ ]={0}; D)int a[10]={10*1};20.下面程序段的运行结果是_________。
char a[7]=”abcdef”;char b[4]=”ABC”;strcpy(a,b);printf(“%c”,a[5]);A)[空格] B)\0 C)e D)f21.对两个数组a和b进行如下初始化char a[ ]=”ABCDEF”;char b[ ]={‘A’,’B’,’C’,’D’,’E’,’F’};则以下叙述正确的是_________。
A)a与b数组完全相同 B)a与b长度相同C)a和b中都存放字符串 D)a数组比b数组长度长22. 对以下说明语句的正确理解是_________。
int a[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)因为数组长度与初值的个数不相同,所以此语句不正确23. 若二维数组a有m列,则在a[i][j]前的元素个数为_________。
A)j*m+i B)i*m+j C)i*m+j-1 D)i*m+j+124. 若有以下程序段:……int a[ ]={4,0,2,3,1},i,j,t;for(i=1;i<5;i++){t=a[i];j=i-1;while(j>=0&&t>a[j]){a[j+1]=a[j];j--;}a[j+1]=t;……}则该程序段的功能是_________。
A)对数组a进行插入排序(升序)B)对数组a进行插入排序(降序)C)对数组a进行选择排序(升序)D)对数组a进行选择排序(降序)25. 下面是对s的初始化,其中不正确的是_________。
A)char s[5]={“abc”}; B)char s[5]={‘a’,’b’,’c’};C)char s[5]=””; D)char s[5]=”abcdef”;二、填空题1.若有定义:double x[3][5];则x数组中行下标的下限为____【1】_____,列下标的上限为____【2】_____.2.下面程序以每行4个数据的形式输出a数组,请填空。
#define N 20main(){int a[N],i;for(i=0;i<N;i++)scanf("%d",____【3】___);for(i=0i<N;i++){if (______【4】_______) _____【5】________printf("%3d",a[i]);}printf("\n");}3. 下面程序可求出矩阵a的主对角线上的元素之和,请填空。
main(){int a[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j;for(i=0;i<3;i++)for(j=0;j<3;j++)if(___【6】__)sum=sum+___【7】____;printf("sum=%d\n",sum);}4. 当从键盘输入18并回车后,下面程序的运行结果是___【8】_____.main(){int x,y,i,a[8],j,u,v;scanf("%d",&x);y=x;i=0;do{u=y/2;a[i]=y%2;i++;y=u;}while(y>=1)for(j=i-1;j>=0;j--)printf("%d",a[j]);</P< p>}5. 下面程序用插入法对数组a进行降序排序。
请填空。
main(){int a[5]={4,7,2,5,1};int i,j,m;for(i=1;i<5;i++){m=a[i];j=____;【9】while(j>=0&&m>a[j]){_______;【10】j--;}_______=m; 【11】}for(i=0;i<5;i++)printf("%d",a[i]);printf("\n");}6. 下面程序的功能是在三个字符串中找出最小的,请填空。