报名本机构合作学校,赠送复习资料,复习课程,确保录取。并且可以申请学校奖学金500元~1500元不等!
1.2.3 算法-随堂测验
1、【单选题】有效算法不应该具有的特性是_____
A、有穷性
B、确定性
C、有效性
D、冗余性
2、【判断题】与PAD图相比,NS图和流程图更开放、更易修改。
A、正确
B、错误
1.3.3 程序-随堂测验
1、【单选题】哪种语言是计算机能够读懂的语言。
A、 汇编语言
B、机器语言
C、高级语言
D、自然语言
2、【判断题】C语言编写的程序只要编译链接正确,就一定能正确运行得到正确结果。
A、正确
B、错误
第一讲:绪论与程序初步--编程题
第一讲:绪论与程序初步--客观题
1、【单选题】算法是一个计算过程,是程序设计的基础和精髓。一个有效的算法应该具有如下特点,其中错误的是:__________
A、无穷性
B、确定性
C、有效性
D、0个或多个输入及一个或多个输出
2、【单选题】 描述算法有各种多样的方法,下述错误的是:________
A、设计图
B、NS图
C、 PAD图
D、流程图
3、【单选题】下面C语言中不正确的数据类型关键字是 ________。
A、signed
B、int
C、double
D、char
4、【单选题】不是C分隔符的是 ________。
A、!
B、
C、
D、;
E、,
5、【单选题】算法由某些基本成分组成,这些基本成分是一些基本的操作和控制结构。以下不属于基本控制结构的是:__________。
A、多文件结构
B、顺序控制结构
C、循环控制结构
D、分支控制结构
6、【单选题】如下错误的表达为:________。
A、 任何C程序必须包含至少一个主函数main
B、一个C程序由一个或若干个编译单元组成,每个编译单元是一个源程序文件
C、一个编译单元由若干顶层声明组成,每个顶层声明是一个声明或函数定义,其中主要为函数定义
D、声明包括类型定义、变量声明、宏、… 等
7、【单选题】一般编写并执行C程序的过程,第一步应该是________。
A、使用文本编辑程序,录入源程序,保存文件
B、使用连接程序进行连接,把.obj文件以及需要的库函数连接到一起,成为一个程序,生成可执行的机器语言程序
C、使用C 编译程序编译C源程序文件,生成目标代码程序文件.obj
D、执行程序,得到运行结果
8、【单选题】C语言可执行程序从哪里开始执行________。
A、程序中唯一的main函数
B、程序中的第一个函数
C、程序中第一条可执行语句
D、第一个包含文件的第一个函数
9、【单选题】 不是C关键字的是 ________。
A、define
B、sizeof
C、 if
D、double
10、【单选题】不是C运算符的是 ________。
A、
B、
C、++
D、+=
E、==
11、【单选题】有效算法不应该具有的特性是_____。
A、有穷性
B、冗余性
C、确定性
D、确定性
12、【单选题】哪种语言是计算机能够读懂的语言?
A、汇编语言
B、机器语言
C、高级语言
D、自然语言
13、【判断题】与PAD图相比,NS图和流程图更开放、更易修改。
A、正确
B、错误
14、【判断题】C语言编写的程序只要编译链接正确,就一定能正确运行得到正确结果。
A、正确
B、错误
2.3.5 数据-随堂测验
1、【判断题】17,904 是合法的整数字面常量。
A、正确
B、错误
2、【判断题】假设有“#define pai 3.14::” 此时常量标识符pai 代表实数“3.14”。
A、正确
B、错误
2.4.2 语句-随堂测验
1、【判断题】复合语句是多条简单语句的集合,并依次执行; 复合语句中的每条语句要么被执行、要么不被执行,不存在值执行一部分的情况。
A、正确
B、错误
2.5.3 表达式-随堂测验
1、【判断题】C语言中用表达式“a*b”表示a与b相乘。
A、正确
B、错误
2、【填空题】假设整型变量A,B,C的值分别是3、6和9,请问在执行完如下程序片段后, B的值是多少?B=A;A=CC=B
A、
2.7.8 数据类型-随堂测验
1、【判断题】6 / 4和6.0/ 4结果相同。
A、正确
B、错误
2.8.6 输入输出-随堂测验
1、【判断题】使用语句scanf(“%d”,v)可以从键盘读取整型变量v的值。
A、正确
B、错误
2、【填空题】C语言提供的标准输入输出库函数头文件名字是_______。
A、
第二讲:顺序程序设计--编程题
第二讲:顺序程序设计--客观题
1、【单选题】现声明float y,由键盘输入:3.1416,正确的数据输入语句是:________。
A、scanf("%f",&y);
B、scanf("%s",&y);
C、scanf("%d",y);
D、scanf("%f",y);
2、【单选题】C语言中的简单数据类型包括:________。
A、整数类型、浮点类型、字符类型
B、浮点类型、整数类型、字符类型、逻辑类型
C、逻辑类型、整数类型、字符类型
D、整数类型、逻辑类型、浮点类型
3、【单选题】C语言程序中,表达式5%2的结果是 ________。
A、1
B、2
C、5
D、2.5
4、【单选题】语句char ch='\65', 则变量ch ________。
A、值为1个字符
B、值为2个字符
C、值为空
D、值为3个字符
5、【单选题】设x为整型变量,如果要表示数学关系20x25,错误的C语言表达式是 ________。
A、20<x<25
B、!(x<=20)&&!(x>=25)
C、 x==21||x==22||x==23||x==24
D、x>20&&x<25
6、【单选题】设变量A是int 型,B是float型,则表达式A+'q'+B结果的 数据类型是________。
A、float
B、char
C、无法确定
D、int
7、【单选题】下列标识符中不合法的是_______ 。
A、2Dim
B、 Name
C、 Li_Stone
D、DQ
8、【单选题】执行如下语句后,x的值和输出结果分别是 ________。int x=11; printf(%d, x+2);
A、11 13
B、11 11
C、12 12
D、12 13
9、【单选题】如果要表示逻辑关系 “ x≥11或x≤2 ”,下面正确的C语言表达式是 ________。
A、x>=11 || x<=2
B、x>=11 && x<=2
C、x>=2 | x<=11
D、x>=11 and x<=2
10、【单选题】下列转义字符不正确的是:__________。
A、'\9999'
B、'\\'
C、 '\"
D、 '\0'
11、【单选题】下面哪个是非法的C语言标识符?
A、-ab
B、_ab
C、a_b
D、ab12
12、【单选题】假设整型变量A、B和C的值分别是3、6和9,请问在执行完如下程序片段后,A的值是多少? C=B; B=A; A=C;
A、6
B、9
C、0
D、3
13、【单选题】C语言提供的标准输入输出库函数头文件名字是_______。
A、stdio.h
B、string.h
C、math.h
D、limits.h
14、【判断题】6 /4和6.0/ 4结果相同。
A、正确
B、错误
15、【判断题】注释会参与到程序实际执行过程,并起到关键作用。
A、正确
B、错误
16、【判断题】字符有两种形态:可视性态和存储形态。
A、正确
B、错误
17、【判断题】17,904 是合法的整数字面常量。
A、正确
B、错误
18、【判断题】假设有“#define pai 3.14;” 此时常量标识符pai 代表实数“3.14”。
A、正确
B、错误
19、【判断题】复合语句是多条简单语句的集合,并依次执行,即复合语句中的每条语句要么被执行、要么不被执行,不存在值执行一部分的情况。
A、正确
B、错误
20、【判断题】C语言中用表达式“a*b”表示a与b相乘。
A、正确
B、错误
21、【判断题】假设有int v; 则使用语句scanf(“%d”, v);可以从键盘读取整型变量v的值。
A、正确
B、错误
3.2.3 单分支双分支程序设计—随堂测验
1、【单选题】如下语句中有一个功能与其他不同,请指出是哪一个?
A、if(a>b) s=a-b;else s=b-a;
B、if(a-b>0) s=a-b;else s=b-a;
C、if(a<b) s=a-b;else s=b-a;
D、if(a>b) s=a-b;if(a<=b) s=b-a;
2、【判断题】if语句的基本形式: if ( 表达式 ) 语句其中:“表达式”最终要给出一个布尔类型的值。
A、正确
B、错误
3.3.3 逻辑判断—随堂测验
1、【判断题】在C语言中是关系运算符
A、正确
B、错误
2、【判断题】如下逻辑表达式能正确表示能被3,5,7 同时整除的整型变量x(x%3==0)(x%5==0)(x%7==0)
A、正确
B、错误
3.4.3 多分支程序设计—随堂测验
1、【单选题】多分支switch语句switch ( e ){ case c1: 语句; break; ........... case c2: 语句; break; ........... default:语句}中描述正确的是
A、e是任意合法的表达式
B、break的作用是跳出包含它的switch语句,执行该switch语句的后继语句
C、switch语句执行结果和case ci的书写顺序有关
D、default语句永远不会被执行到。
第三讲:分支和循环初步--编程题
第三讲:分支和循环初步--客观题
1、【单选题】以下程序的运行结果是:int main(void){
int x=1,y=0,a=0,b=0;
switch(x){
case 1:switch(y){
case 0:a++; break;
case 1:b++; break;
}
case 2:a++; b++; break;
case 3:a++; b++;
}
printf(%d %d\n, a, b);
return 0;
}
A、2 1
B、1 0
C、2 2
D、3 2
2、【单选题】若变量已正确定义,在if (S) printf (“%d\n”,n);中,以下不可以替代S的是:
A、 a<>b+c
B、ch=getchar()
C、a==b+c
D、a++
3、【单选题】阅读下述程序段,设变量c的值是68,写出运行结果。(提示小写字母a的ASCII码是97, 大写字母A的ASCII码是65)char c;
if ( c=‘A’ c=‘Z’)
printf (“%c\n”,c+32);
else
printf (“%d\n”,c);
A、d
B、100
C、D
D、68
4、【单选题】如有定义语句int a,b; double x; 则下列选项中没有错误的是______.提示:(int)x 表示将变量x的值强制转换成int类型。若x初始值为3.2则 (int)x的结果是int类型,值为3.
A、 switch((int)x%2 ){
case 0: a++; break;
case 1: b++; break;
default: a++; b++;
}
B、switch(x%2){
case 0: a++; break;
case 1: b++; break;
default: a++; b++;
}
C、switch((int)x%2.0){
case 0: a++; break;
case 1: b++; break;
default: a++; b++;
}
D、switch(x%2){
case 0: a++; break;
case 1.0: b++; break;
default: a++; b++;
}
5、【单选题】下面程序的运行结果是:#include stdio.h
int main(void){
int a=1, b=2, c=3 ;
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);
return 1;
}
A、1,2,3
B、1,3,2
C、1.3.3
D、3,2,1
6、【单选题】如下程序段的功能是判断一个4位自然数个位和十位数字是否相同,在划线处填写表达式。int num;
scanf (%d,num);
if (num=1000 num10000)
if (______________)
printf ( “该4位自然数个位和十位数字相同\n”);
else
printf ( “该4位自然数个位和十位数字不同\n”);
A、num%10 ==num/10%10
B、num/10%10==num/100%10
C、num/100%10==num%10
D、num/1000==num%10
7、【单选题】判断一个自然数是否为4位且是5的倍数,下述语句不正确的是:
A、if(n< =1000 || n>10000)
if(n%5==0)
printf(“YES\n”);
else
printf(“NO\n”);
B、if (n > =1000 && n<10000 && n%5==0)
printf(“YES\n”);
else
printf(“NO\n”);
C、if(n%5==0)
if (n > =1000 && n<10000 )
printf(“YES\n”);
else
printf(“NO\n”);
D、if (n > =1000 && n<10000 )
if(n%5==0)
printf(“YES\n”);
else
printf(“NO\n”);
8、【单选题】下面程序段实现把3或5的倍数输出,在划线处填上正确的表达式 int x;
scanf (“%d”,x);
if (___________________)
printf (“%d\n”,x);
A、x%3==0 || x%5==0
B、x%3!=0 && x%5!=0
C、x%15
D、x%3==0 && x%5==0
9、【单选题】下述程序的运行结果是:int main(void){
int a=1,b=0;
if (!a )
b++;
else
if ( a==0 )
if ( a )
b+=2;
else
b+=3;
printf(b=%d\n,b);
return 0;
}
A、b=0
B、b=1
C、b=2
D、b=3
10、【单选题】阅读下面程序段,s 的值是:int a=1, b=2 c=6,s ;
if ( a=b || c0 || bc)
s=b+c;
else
s=a+b+c;
A、8
B、9
C、10
D、11
11、【单选题】下列程序正确的输出是:__________。int x=20;
if(x0) printf(“0”);
if(x10) printf(“10”);
if(x20) printf(“20”);
A、010
B、0
C、10
D、20
12、【单选题】switch(条件语句 ) 中的条件语句不能填入以下哪种数据类型?
A、字符串类型
B、字符类型
C、bool
D、int
13、【单选题】以下选项中,两个条件语句语义等价的是__________。
A、if(a-2)printf("%d\n",a);
if(a!=2)printf("%d\n",a);
B、if(a=2)printf("%d\n",a);
if(a==2)printf("%d\n",a);
C、if(a)printf("%d\n",a);
if(a!=2)printf("%d\n",a);
D、if(a-2)printf("%d\n",a);
if(a==2)printf("%d\n",a);
14、【单选题】下面程序输出结果是__________。int main(void){
int a = 0 , b = 1, c = 0 ,d = 20 , x =100;
if(a)
x = d-10;
else
if(!b)
if(!c)
x = 15;
else
x = 20;
printf(“%d”, x);
return 0;
A、100
B、15
C、25
D、20
15、【单选题】若执行下面的程序从键盘上输入5,则输出结果是__________。int main(void){
int x;
scanf(%d,x);
if(x++5)
printf(%d\n,x);
else
printf(%d\n,x --);
return 0;
}
A、6
B、7
C、5
D、4
16、【单选题】如下语句中有一个功能与其他不同,请指出是哪一个?
A、if(a<b) s=a-b; else s=b-a;
B、 if(a>b) s=a-b; else s=b-a;
C、if(a-b>0) s=a-b; else s=b-a;
D、if(a>b) s=a-b; if(a<=b) s=b-a;
17、【单选题】多分支switch语句(难度:低) switch ( e ){ case c1: 语句; break; ........... case ci: 语句; break; ........... default:语句 }中描述正确的是:__________
A、 e是任意合法的表达式
B、break的作用是跳出包含它的switch语句,执行该switch语句的后继语句
C、switch语句执行结果和case ci的书写顺序有关
D、常量表达式必须是整数
18、【单选题】如下哪个逻辑表达式为真时,能正确表示x是3,5,7 的公倍数。
A、 (x%3==0)||(x%5==0)||(x%7==0)
B、 (x%3==0)&&(x%5==0)||(x%7==0)
C、(x%3==0)||(x%5==0)&&(x%7==0)
D、(x%3==0)&&(x%5==0)&&(x%7==0)
4.3.7 实例-随堂测验
1、【判断题】在求最大公因数的程序中,最后输出语句printf(“gcd(u,v)=%5d\n”, u) 输出的是变量u,可以换成输出变量v?
A、正确
B、错误
2、【判断题】在求最大公因数的程序中while 循环体内的顺序可以随意交换。while(r!=0){ r=u%v; u=v; v=r;}
A、正确
B、错误
3、【判断题】多重循环中内外循环的控制变量不应是同一变量,而且不应互相影响。
A、正确
B、错误
第四讲:循环进阶--编程题
第四讲:循环进阶--编程题--拓展篇(不计入成绩)
第四讲:循环进阶--客观题
1、【单选题】for(i=1;i10;i++);结束后,i的值是:
A、10
B、9
C、11
D、12
2、【单选题】下面程序的输出结果是_____.int main(void){
int s,k;
for(s=1,k=2;k5;k++)
s+=k;
printf(“%d\n”,s);
return 0;
}
A、10
B、1
C、9
D、15
3、【单选题】下面有关for循环的正确描述是:
A、for循环的循环体可以包含多条语句,但必须用花括号括起来。
B、for循环只能用于循环次数已经确定的情况
C、for循环是先执行循环体语句,后判断表达式。
D、在for循环中,不能用break语句跳出循环体。
4、【单选题】以下叙述正确的是:
A、用do---while语句构成的循环,在while后的表达式为零时结束循环。
B、do---while语句构成的循环不能用其他语句构成的循环来代替。
C、do---while语句构成的循环只能用break语句退出。
D、用do---while语句构成的循环,在while 后的表达式为非零时结束循环。
5、【单选题】若k为整型变量,则下面while循环执行的次数为:k=10;
while(k=5) k=k-1;
A、6次
B、4次
C、5次
D、7次
6、【单选题】若k为整型,以下while循环执行___次.k=2;
while(k=0)
printf(%d,k),k--;
printf(\n);
A、0次
B、1次
C、2次
D、无限次
7、【单选题】要使下面程序输出10个整数,则在横线处填入正确的数是:for(i=0;i= ______ ;)
printf(“%d\n”,i+=2);
A、18
B、9
C、10
D、20
8、【单选题】下面程序的输出结果是____.int main(void){
int i,j;
for(i=0;i10;i++)
for(j=0;j3;j++)
i=i+j;
printf(%d,i);
return 0;
}
A、12
B、9
C、15
D、18
9、【单选题】以下关于for循环的描述,正确的是 ________。
A、for循环只能用于循环次数已经确定的情况
B、for循环是先执行循环体语句,后判定表达式
C、在for循环中,不能用return语句终止循环执行
D、for循环体语句中,可以包含多条语句
10、【单选题】下面程序执行结果正确的是 ________。#include stdio.h{
int main(void){
int n=0;
while (n=2)
printf(“%d”,n++);
return 0;
}
A、23
B、123
C、012
D、12
11、【单选题】下面程序段中循环体语句执行次数是 ________。for (int i=5;i;i--)
for (int j=0;j4;j++){
…
}
A、20
B、24
C、6
D、5
12、【单选题】下面程序的输出结果是 ________。#include stdio.h
int main(void){
int i=1,j,m=0;
for (;i=5;i+=4)
for (j=3;j=19;j+=4)
m++;
printf(“%d”,m);
return 0;
}
A、10
B、15
C、20
D、25
13、【单选题】下面程序的运行结果是 ________。#include stdio.h
int main(void){
int x=1;
while (x20)
x=1+1/x;
printf(“%d”,x);
return 0;
}
A、20
B、1
C、 程序有错,不能运行
D、死循环
14、【单选题】下面程序段判断x是否为素数。则空格处应该填写的语句分别为 ________。scanf(“%d”,x);
y=(int)sqrt(x);
for (int j=2; j=y; j++)
if (_______)
________;
if (j=x)
printf(“是素数”);
else
printf(“不是素数”);
A、 x/j==0, return;
B、y%j==0, break;
C、 y/j==0, break.
D、x%j==0, j=x+1;
15、【单选题】下面程序的输出结果是 ________。#include stdio.h
int main(void){
int i,j,x=0;
for (i=0;i2;i++){
x++;
for (j=1;j=3;j++{
if (j%2)
continue;
x++;
}
x++;
}
printf(“%d”,x);
return 0;
}
A、8
B、10
C、6
D、4
16、【多选题】以下描述正确的是________。
A、使用while和for循环时,循环变量初始化的操作应该在循环体语句之前完成
B、while循环是先判断表达式,后执行循环体;
C、do-while和for语句都是先执行循环体,后判断表达式;
D、for,while和do-while语句中的循环体均可以是空语句。
17、【多选题】针对下面程序段,说法正确的是________。for (t=1;t=100;t++){
scanf(“%d”,x);
if (x0) break;
else printf(“%d”,x);
}
A、 x>=0时什么也不输出
B、最多允许输出100个整数
C、当x<0时,整个循环结束
D、输出的都是非负整数
18、【多选题】以下循环语句中,不构成死循环的是________。
A、int i;
scanf(“%d”,&i);
while (1){
i=i%100+1;
if (i>100) break;
}
B、for (;1;;);
C、int k=1000;
do{;}while (k++<10000);
D、int s=36;
while (s)
--s;
19、【多选题】对于以下程序段,描述正确的是________。int t=0;
while(t=1);
A、循环控制表达式不合法
B、循环控制表达式的值为1
C、死循环
D、以上描述都正确
第5章 函数-随堂测验
1、【单选题】1.在C语言中,正确的说法是______。
A、函数的定义可以嵌套,但函数的调用不可以嵌套。
B、函数的定义不可以嵌套,但函数的调用可以嵌套。
C、 函数的定义和函数的调用均不可以嵌套。
D、函数的定义和函数的调用均可以嵌套。
2、【单选题】在C语言函数中,正确的说法是________。
A、必须有形参。
B、形参必须是变量名。
C、可以有也可以没有形参。
D、数组名不能作形参。
3、【单选题】在C语言中,一个函数返回值的类型取决于________。
A、return 语句中表达式类型。
B、定义函数时所指定的函数类型。
C、调用该函数的主调函数的类型。
D、调用函数时临时指定的类型。
4、【单选题】C语言的函数名实际上是_____。
A、 返回值存储单元。
B、函数值存储单元。
C、函数变量。
D、 函数的入口地址。
5、【单选题】在C语言中,如果被调用函数(非void类型)中没有reurn语句,则其___________。
A、不带回值。
B、带回一个不确定的值。
C、只带回零值。
D、带回全部数值。
6、【单选题】在定义C语言函数时,如果函数首部冠以关键字void,表示此函数_____。
A、无返回值。
B、返回值可有可无。
C、有任意多个返回值。
D、有一个返回值。
第6章 数组-多维数组-随堂测验
1、【判断题】int a,b[2],c; 声明是合法的
A、正确
B、错误
2、【判断题】C语言数组上的操作都需要通过对数组元素的操作实现
A、正确
B、错误
3、【判断题】假设有声明int a[3]; 则数组a包含3个元素,可分别通过a[1],a[2],a[3] 访问到这3个元素。
A、正确
B、错误
4、【判断题】假设有声明 int a[2][3][4],则下标表达式 a[0][1]的类型是一维数组。
A、正确
B、错误
第五讲:函数和数组初步--编程题
第五讲:函数和数组初步--客观题
1、【单选题】在定义int a[5][5];后,数组a中的第10个元素是________。(设a[0][0]为第一个元素)
A、 a[1][4]
B、a[2][5]
C、a[2][4]
D、 a[1][5]
2、【单选题】在定义一个C语言函数时,如果不加类型说明,则它的类型默认为_____。
A、 int 型
B、float型
C、char型
D、double型
3、【单选题】有函数定义:int f(int x,int y);则下列函数调用正确的为_____。
A、int n=1,a=0,b=1;n=f(a,n);
B、int n, a=0,b=1;n=f(int a, int b);
C、int n,a=0,b=1;n=int f(x,y);
D、int n;n=f();
4、【单选题】一个C语言程序必须有的一个函数是_____。
A、main函数
B、子函数
C、被调函数
D、主调函数
5、【单选题】下面关于返回类型是void的函数说法正确的是_____.
A、如果函数内部没有return语句,则执行到函数体结束处的右花括号时返回。
B、函数仅可以通过return 语句返回。
C、函数的返回值是0。
D、如果使用return语句返回,则 return 后面必须有一个整型表达式。
6、【单选题】关于C语言中的数组说法错误的是:_____.
A、数组中元素的下标是从1开始的。
B、数组中的所有元素都是同一个类型。
C、对数组的操作必须通过对数组内元素的操作实现。
D、数组声明时,“[ ]”里面的内容说明数组长度,且必须是一个常量表达式。
7、【单选题】下列程序执行后的输出结果是:________。#include stdio.h
int main(void) {
int a,b[5];
a=1; b[0]=4;
printf(%d,%d\n,b[0],b[1]);
return 1;
}
A、4, 不定值
B、 0, 4
C、4 0
D、4 0
8、【单选题】在划线处填写适当内容完成程序,本程序当输入字符是数字时输出字符串“number”,否则输出“none”#includestdio.h
int check_number(char x){
if ((x='0')(x='9'))
return 1;
else
return 0;
}
int main(void){
char ch;
while(1){
scanf(%c,ch);
if(ch=='#') break;
if(__________)
printf(number\n);
else
printf(none\n);
}
return 0;
}
A、check_number(ch)
B、check_number(ch+1)
C、check_number(!ch)
D、!check_number(ch)
9、【单选题】在定义int a[5][4];之后,对a数组第2行第3列的元素的引用哪个是正确(假设a[0][0]是第一行第一列元素):________。
A、a[2][3]
B、a[1][3]
C、a[1][2]
D、a[2][2]
10、【单选题】在C语言中,调用一个函数可得到_____。
A、 最多一个返回值
B、最多两个返回值
C、最多三个返回值
D、任意多个返回值
11、【单选题】执行如下程序,从键盘依次输入十个整数:“1 0 0 0 1 2 3 0 2 0 0”,则输出时a[4]的值是______。#includestdio.h
int main(void){
int a[10];
int i,j;
for(i=0;i10;i++)
scanf(%d,a[i]);
for(i=0;i10;i++){
if(a[i]==0){
j=i;
while(j10-1a[j]==0)
j++;
a[i]=a[j];
a[j]=0;
}
}
for(i=0;i10;i++)
printf(%d\n,a[i]);
return 0;
}
A、0
B、1
C、2
D、3
12、【单选题】在C语言函数中,正确的说法是________。
A、必须有形参
B、形参必须是简单变量名
C、可以有也可以没有形参
D、数组名不能作形参
13、【单选题】在C语言中,正确的说法是________。
A、函数的定义可以嵌套,但函数的调用不可以嵌套
B、函数的定义不可以嵌套,但函数的调用可以嵌套
C、函数的定义和函数的调用均不可以嵌套
D、 函数的定义和函数的调用均可以嵌套
14、【单选题】C语言的函数名实际上是_____。
A、返回值存储单元
B、函数值存储单元
C、函数变量
D、函数的入口地址
15、【单选题】在定义C语言函数时,如果函数首部冠以关键字void,表示此函数_____。
A、无返回值
B、返回值可有可无
C、有任意多个返回值
D、有一个返回值
16、【多选题】以下对二维数组a进行正确初始化的是________。
A、int a[][3]={3,2,1,4,5,8}
B、int a[][]={{3,2,1},{4,5,8)}
C、int a[][3]={{3,2,1},{4,5,8}}
D、int a[2][3]={{3,2,1},{4,5,8}}
17、【多选题】定义int a[2][3]={0,1,2,3,4,5};无法正常访问a数组数值0~5的下标表达式是________。
A、a[2][4]
B、a[5][0]
C、a[1][1]
D、a[0,0]
18、【多选题】以下错误的定义语句是________。
A、
B、define M 5;
int A[M];
C、int A[5,6];
D、int A[][3];
E、int A[10];
19、【多选题】以下对字符数组word进行正确初始化的是________。
A、char word[]=“Computer\0”;
B、char word[]=“Computer”;
C、char word[]=‘Computer\0’;
D、char word[]={‘C’,’o’,’m’,’p’,’u’,’t’,’e’,’r’,’\0’};
第6章 数组-线性表-随堂测验
1、【判断题】对于已排序的n个元素数组,如果使用主元排序法,将其逆序排列,则需要n-1次数据交换。
A、正确
B、错误
2、【判断题】冒泡排序法的最后一次循环,是为检查所有元素是否都已经排好序,不会有数据交换。
A、正确
B、错误
3、【判断题】从平均的情况看,在已排好序的序列中, 对半检索方法要比顺序检索方法更快速找到目标。
A、正确
B、错误
第6章 数组-数组初值-随堂测验
1、【判断题】int a[2][2]={1,2,3,4}; 和 int a[2][2]={{1,2},{3,4}}; 声明的数组a所得初值是相同的。
A、正确
B、错误
2、【判断题】int a[]={1,2,3,4}; 声明是非法的。
A、正确
B、错误
第6章 数组-字符串-随堂测验
1、【判断题】'\0'是字符串的结束标志
A、正确
B、错误
2、【判断题】char name[]={'z','h','a','n','g','c','h','a','n','g','h','a','i','\0'} ; 等价于 char name[]=zhangchanghai;
A、正确
B、错误
3、【判断题】假设char str1=abc; char str2=abcd;则str1str2是比较两个字符串的大小.
A、正确
B、错误
4、【填空题】C语言对字符串操作的库函数头文件是________.
A、
第六讲:数组应用--编程题
第六讲:数组应用--编程题--拓展篇(不计入成绩)
第六讲:数组应用--客观题
1、【单选题】 以下程序的输出结果是________。int main(void ){
int a[3][3]={{1,2,3},{3,4,5},{5,6,7}},i,j,s=1;
for(i=0;i3;i++)
for(j=i;j3;j++)
s*=a[i][j];
printf(%d\n,s);
return 1;
}
A、840
B、2520
C、360
D、12600
2、【单选题】以下对有十个元素的一维数组a进行正确的初始化的是:
A、int a[10]={1,2*3};
B、int a[10]=(0,0,0,0,0);
C、int a[]={};
D、int a[]={0}
3、【单选题】有如下声明: int a[10]={0,1,2,3,4,5,6,7,8,9}; 则数值不是6的表达式是:_________.
A、a[7]
B、a[10-4]
C、a[6]
D、a[9]-a[3]
4、【单选题】以下程序的输出结果是________。int main(void){
char a[5]={'1','2','3','4','\0'};
puts(a);
return 1;
}
A、1234
B、12034
C、12340
D、2134
5、【单选题】下面程序的输出是________。int main(void) {
int a[10]={1,2,3,4,5,6,7,8,9,10};
printf(%d\n,a[a[7]/a[1]]);
return 1;
}
A、5
B、2
C、3
D、4
6、【单选题】以下程序的输出结果是:_________。int main( ){
int i,x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i3;i++)
printf(%5d,x[1][i]);
return 1;
}
A、4 5 6
B、3 6 9
C、1 5 9
D、7 8 9
7、【单选题】字符串sx小于字符串sy的正确逻辑表达式是:_________。
A、strcmp(sx, sy)<0
B、sx<sy
C、sx[0]<sy[0]
D、strlen(sx)<strlen(sy)
8、【单选题】下面程序的功能是:_________。#include string.h
int main(void) {
char a[ ]=programming,t;
int i,j,k;
k=strlen(a);
for(i=0;i=k-1; i++)
for(j=i+1;jk; j++)
if(a[i]a[j]) {
t=a[i];
a[i]=a[j];
a[j]=t;
}
puts(a);
printf(\n);
return 1;
}
A、将字符数组a中的元素从大到小排序
B、将字符数组a中的元素从小到大排序
C、求字符数组a中的最大元素
D、求字符数组a中的最小元素
9、【单选题】如下程序运行时,从键盘上输入由数字组成的字符串,该程序的功能是________。int main(void){
char ch[5];
int j;
int s=0;
printf(Enter a numeral string\n);
gets(ch);
for(j=0;ch[j]'\0';j++) s=10*s+ch[j]-'0';
printf(%d\n,s);
return 1;
}
A、将数字字符串ch转换成十进制数
B、求字符数组长度
C、将字符数组中的数字转换对应的字母
D、将字符数组中的大写字母转换成小写
10、【单选题】如下程序的功能是:_______.int main(void){
char str[10]=”array”;
int i=0,j=0;
for(i=0;str[i]’\0’;i++)
j++;
printf(“%d\n”,j);
return 1;
}
A、求字符数组长度
B、将数字字符串ch转换成十进制数
C、将字符数组中的数字转换对应的字母
D、将字符数组中的大写字母转换成小写
11、【单选题】 划线处填写______,可以使函数fun实现矩阵转置的功能。#includestdio.h
#define M 3
#define N 3
void fun(int arr[M][N]) {//转置
int i,j;
for(i=0; iM; i++)
for(j=0; jN; j++){
if(i!=jij){
int tmp;
tmp=arr[i][j];
arr[i][j]=_________;
arr[j][i]=tmp;
}
}
}
A、arr[j][i]
B、arr[i][i]
C、arr[j][j]
D、arr[i][j]
12、【单选题】 执行如下程序从键盘输入字符串“abcdefg”,则程序输出_____________.#includestdio.h
#includestring.h
#define SIZE 100
void strchange(char str[]){
int n=strlen(str);
if(n==0||n==1) return;
else {
int i,j;
for(i=0,j=n-1; i=n/2-1; i++,j--){
char tmp;
tmp=str[i]; str[i]=str[j]; str[j]=tmp;
}
}
}
int main(void ){
char str[SIZE];
scanf(%s,str);
strchange(str);
printf(%s\n,str);
return 1;
}
A、gfedcba
B、abcdefg
C、badcefg
D、gefbca
13、【单选题】执行如下程序,从键盘依次输入5个整数“5 4 6 7 3”;则输出时B[2]值是_______. #include stdio.h
#define L 5
int A[L],B[L];
void initial(){
printf(Please input the array:);
for(int i=0;iL;i++){
scanf(%d,A[i]);
B[i]=i;
}
}
void sort(){
int i,j,count=0;
for(i=0;iL;i++){
count=0;
for(j=0;jL;j++){
if((A[j]A[i]i!=j)||(A[i]==A[j]ij))
count++;
}
B[i]=count;
}
}
void print(){
int i;
printf(Aarry A:\n);
for(i=0;iL;i++)
printf(%d\n,A[i]);
printf(Array B:\n);
for(i=0;iL;i++)
printf(%d\n,B[i]);
}
int main(void){
initial();
sort();
print();
return 0;
}
A、3
B、4
C、2
D、1
14、【单选题】以下关于数组的描述正确的是________。
A、数组的大小是固定的,但可以有不同的类型的数组元素。
B、数组的大小是可变的,但所有数组元素的类型必须相同。
C、数组的大小是固定的,所有数组元素的类型必须相同。
D、数组的大小是可变的,可以有不同的类型的数组元素。
15、【单选题】 在C99之前的C标准中,以下一维数组的正确定义是________。
A、int a(10);
B、int n=10,a[n];
C、int n; scanf”(%d”,&n); int a[n];
D、
E、define SIZE 10 int a[SIZE];
16、【单选题】在执行char str[10]=”China\0”; strlen(str)的结果是________。
A、5
B、6
C、7
D、9
17、【单选题】对语句int a[10]={3,4,5,6,7}的正确理解是________。
A、将5个初值依次赋给a[1]至a[5]
B、将5个初值依次赋给a[0]至a[4]
C、将5个初值依次赋给a[5]至a[9]
D、因为数组长度与初值的个数不相同,所以此语句不正确
18、【单选题】在执行char str[10]=”Ch\nina”; strlen(str)的结果是________。
A、5
B、6
C、7
D、9
19、【单选题】若二维数组a有m列,则在a[i][j]之前的元素个数为________。
A、i*m+j
B、i*m+i
C、i*m+j-1
D、i*m+i_1
20、【单选题】下面程序段的运行结果是________。char a[7]=“abcdef”, b[5]=“ABCD”;
strcpy(a,b);
printf(“%c”, a[5]);
A、~
B、e
C、f
D、\0
21、【单选题】C语言中字符串比较操作的库函数头文件是________。
A、stdio.h
B、math.h
C、string.h
D、time.h
第6章 数组-类型定义-随堂测验
1、【判断题】定义类型,编译器会为新类型在内存中分配空间。
A、正确
B、错误
2、【判断题】typedef int ta[10]; ta b; 相当于int b[10];
A、正确
B、错误
第6章 数组-线性表-随堂测验
1、【判断题】队列和栈是两种不同的线性表组织方式,其主要体现在数据进出栈和队列的先后次序,栈是先进后出,队列是先进先出。
A、正确
B、错误
2、【判断题】不论是队列还是栈都需要有一个变量记录当前结构中有效数据的个数。
A、正确
B、错误
第7章 指针与变量-随堂测验
1、【单选题】假设有 int a=1,*pa=a; float b=1.2, *pb=b; *pb=*pa; 则*pb的值是______.
A、1
B、1.2
C、2.2
D、0.2
2、【判断题】假设有int *px=NULL;则px当前值是空,不指向任何变量。
A、正确
B、错误
3、【判断题】假设有int a=1,*pa=a; float b=1.2, *pb=b; 则 pb=pa;是合法的。
A、正确
B、错误
4、【填空题】假设有: int v,*p=v; *p=3;则变量v的值是______.
A、
第七讲:数组进阶与指针初步--编程题
第七讲:数组进阶与指针初步--客观题
1、【单选题】如下选项,哪个不是定义类型名tcolor________。
A、enum tcolor{red, green, blue};
B、typedef enum color{red,green,blue} tcolor;
C、enum color {red,green,blue};typedef enum color tcolor;
D、typedef enum {red,green,blue} tcolor;
2、【单选题】如下程序输出结果是_________。 #include stdio.h
#define M 4
int main(void){
int a[6]={1,2,3,4,5,6};
for(int i=0;i10;i++)
printf(%d\t, a[i%M]);
return 1;
}
A、1 2 3 4 1 2 3 4 1 2
B、1 2 3 4 5 6 1 2 3 4
C、1 2 3 4 5 1 2 3 4 5
D、1 2 3 4 5 6 4 3 2 1
3、【单选题】假设有声明 typedef char string[6]; string name;则如下合法的语句是:__________。
A、name[0]='a';
B、string="abc";
C、string[0]='a';
D、 name="abc"
4、【单选题】下面程序运行时,如果从键盘上输入3, 5回车,程序输出的结果是________。int main(void ) {
int a,b,*pa,*pb;
pa=a; pb=b;
scanf(%d,%d,pa, pb);
*pa=a+b;
*pb=a+b;
printf(a=%d,b=%d\n,a,b);
}
A、 a=8,b=13
B、出错
C、a=13,b=13
D、a=8,b=8
5、【单选题】有如下程序段 int *p, a=10,b=1;
p=a; a=*p+b;执行该程序段后,a的值为________。
A、11
B、10
C、12
D、出错
6、【单选题】假设有如下程序片段: int u=4, v=8,*p=u, *q=v;
q=NULL;
p=q;
*p=3; 则*p+*q的结果是__________。
A、出错
B、4
C、8
D、12
7、【单选题】若已定义:int a[]={0,1,2,3,4,5,6,7,8,9},*p=a[0],i; 其中0≤i≤9,则对a数组元素不正确的引用是______。
A、a[10]
B、*p
C、*(&a[i])
D、p[i]
8、【单选题】下列程序的输出结果是 #include stdio.h
int b=2;
int func(int *a){
b+=*a;
return(b);
}
int main(void){
int a=2, res=2;
res+=func(a);
printf(%d\n, res);
return 1;
}
A、6
B、4
C、8
D、10
9、【单选题】假设有如下声明: int ival=1024,*iptr; float *fptr; 则如下非法操作是________。
A、fptr=&ival;
B、ival=123;
C、iptr=&ival;
D、fptr==NULL
10、【单选题】假设有如下程序段:int *p, *q, u,v;
p=u;
q=v;
u=3;
v=5; 则表达式*p+*q的结果是_________。
A、6
B、10
C、11
D、8
11、【单选题】假设整型变量x被分配在地址为1234开始的连续4个字节,则x的值是_____。
A、1234
B、1235
C、1236
D、1237
12、【单选题】在C语言中,引用数组元素时,其数组下标的数据类型允许是 ________。
A、整型常量
B、整型常量或整型表达式
C、实型常量
D、任何类型的表达式
13、【单选题】假设有 int a=1,*pa=a; float b=1.2, *pb=b; *pb=*pa; 则*pb的值是______.
A、1
B、1.2
C、2.2
D、0.2
14、【多选题】如下对栈数据进出描述正确的是__________。
A、 先进后出
B、 后进先出
C、先进先出
D、后进后出
15、【多选题】若有说明语句:int a,b,c,*d=c;,则能正确从键盘输入三个整数赋值给变量a,b,c的是________。
A、scanf(“%d%d%d”,&a,&b,&c);
B、scanf(“%d%d%d”,&a,&b,&d);
C、scanf(“%d%d%d”,&a,&b, d);
D、scanf(“%d%d%d”,&a,&b,*d);
微信扫码添加好友
如二维码无法识别,可拨打 13662661040 咨询。