C)a>10&&a<15D)!
(a<=10)&&!
(a>=15)
章节作业--第3次作业:
10题
1、设i,j,k均为int型变量,则执行完下面的for循环后,k的值为B
for(i=0,j=10;i<=j;i++,j--)k=i+j;
A)12B)10
C)11D)9
2、当执行以下程序段时A
x=-1;
do{x=x*x;}while(!
x);
A)循环体将执行一次
B)循环体将执行两次
C)循环体将执行无限次
D)系统将提示有语法错误
3、若输入字符串:
abcde<回车>,则以下while循环体将执行多少次。
B
while((ch=getchar())!
='e')printf("*");
A)5B)4
C)6D)1
4、t为int型,进入下面的循环之前,t的值为0
while(t=1){……}
则以下叙述中正确的是B
A)循环控制表达式的值为0B)循环控制表达式的值为1
C)循环控制表达式不合法D)以上说法都不对
5、对于for(表达式1;;表达式3)可理解为()。
B
A)for(表达式1;0;表达式3)
B)for(表达式1;1;表达式3)
C)for(表达式1;表达式1;表达式3)
D)for(表达式1;表达式3;表达式3)
6、C语言中while和do-while循环的主要区别是()。
A
A)do-while的循环体至少无条件执行一次
B)while的循环控制条件比do-while的循环控制条件严格
C)do-while允许从外部转到循环体内
D)do-while的循环体不能是复合语句
7、若i为整型变量,则以下循环语句的循环次数是()。
B
for(i=2;i==0;)
printf("%d",i--);
A)无限次B)0次
C)1次D)2次
8、对下面程序段,描述正确的是()。
D
for(t=1;t<=100;t++)
{scanf("%d",&x);
if(x<0)continue;
printf("%d\n",t);
}
A)当x<0时,整个循环结束
B)当x>=0时,什么也不输出
C)printf函数永远也不执行
D)最多允许输出100个非负整数
9、对下面程序段叙述的正确的是()。
C
intk=0;
while(k=0)k=k-1;
A)while循环执行10次B)无限循环
C)循环体一次也不被执行D)循环体被执行一次
10、若i,j已定义成int型,则以下程序段中内循环体的总
执行次数是(A)。
for(i=3;i;i--)
for(j=0;j<2;j++)
for(k=0;k<=2;k++)
{......}
A)18B)27
C)36D)30
章节作业--第4次作业:
10题
1、设有数组定义:
chararray[]="China";则strlen(array)
的值为____B____。
A)4B)5
C)6D)7
2、有如下程序
main()
{charch[80]="123abcdEFG*&";
intj;longs=0;
puts(ch);
for(j=0;ch[j]>'\0';j++)
if(ch[j]>='A'&&ch[j]<='Z')ch[j]=ch[j]+'e'-'E';
puts(ch);}
该程序的功能是___D_____。
A)测字符数组ch的长度
B)将数字字符串ch转换成十进制数
C)将字符数组ch中的小写字母转换成大写
D)将字符数组ch中的大写字母转换成小写
3、如有定义语句inta[]={1,8,2,8,3,8,4,8,5,8};,
则数组a的大小是____A____。
A)10B)11
C)8D)不定
4、如果有定义语句charstr1[10],str2[10]={"books"};则能将字符串
books赋给数组str1的正确语句是___B_____。
A)str1="books";B)strcpy(str1,str2);
C)str1=str2;D)strcpy(str2,str1);
5、请读程序:
#include
#include
main()
{chars1[20]="AbCdEf",s2[20]="aB";
printf("%d\n",strcmp(s1,s2));
}
上面程序的输出结果是_____B___。
A)正数B)负数
C)零D)不确定的值
6、下面程序执行后,输出的结果是__C______。
#include
#include
main()
{charss[10]="12345";
strcat(ss,"6789");
printf("%s\n",ss);
}
A)ABCB)ABC9
C)123456789D)ABC456789
7、以下定义语句中,错误的是____B____。
A)inta[]={1,2};B)chara={"test"};
C)chars[10]={"test"};D)inta[]={'a','b','c'};
8、下列一组初始化语句中,正确的是__B______。
A)inta[8]={};B)inta[9]={0,7,0,4,8};
C)inta[5]={9,5,7,4,0,2};D)inta[7]=7*6;
9、如有说明:
chars1[5],s2[7];,要给数组s1和s2整体赋值,
下列语句中正确的是____B____。
A)s1=getchar();s2=getchar();
B)scanf("%s%s",s1,s2);
C)scanf("%c%c",s1,s2);
D)gets(s1,s2);
10、下面程序的输出是___B_____。
main()
{chars[]="12134211";
intv1=0,v2=0,v3=0,v4=0,k;
for(k=0;s[k];k++)
switch(s[k])
{case'1':
v1++;
case'2':
v2++;
case'3':
v3++;
default:
v4++;
}
printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4);
}
A)v1=4,v2=2,v3=1,v4=1B)v1=4,v2=6,v3=7,v4=8
C)v1=5,v2=8,v3=6,v4=1D)v1=8,v2=8,v3=8,v4=8
章节作业--第5次作业:
10题
1、C语言中,凡未指定存储类别的局部变量的隐含存储类别是:
A
A)自动(auto)B)静态(static)
C)外部(extern)D)寄存器(register)
2、在一个C源程序文件中,要定义一个只允许本源文件中所有函数使用
的全局变量,则该变量需要使用的存储类别是:
____D____。
A)externB)register
C)autoD)static
3、有如下程序
intfunc(inta,intb)
{return(a+b);}
main()
{intx=2,y=5,z=8,r;
r=func((x-y),z);
printf("%d\n",r);}
该程序的输出结果是____C______。
A)10B)13
C)5D)15
4、以下所列的各函数首部中,正确的是___C_____。
A)voidplay(vara:
Integer,varb:
Integer)
B)voidplay(inta,b)
C)voidplay(inta,intb)
D)voidplay(aasinteger,basinteger)
5、请读程序:
#include
f(intb[],intn)
{inti,r;
r=1;
for(i=0;i<=n;i++)r=r*b[i];
returnr;}
main()
{intx,a[]={3,4,5,6,7,8,9};
x=f(a,2);
printf("%d\n",x);}
上面程序的输出结果是___C_____。
A)720B)120
C)60D)24
6、下面程序的输出是___B_____。
fun3(intx)
{inta=3;
a+=x;
return(a);}
main()
{intk=2,m=1,n;
n=fun3(k);
n=fun3(m);
printf("%d\n",n);}
A)3B)4
C)6D)9
7、在调用函数时,如果实参是数组名,它与对应形参之间的数据传递
方式是___A_____。
A)地址传递
B)单向值传递
C)由实参传给形参,再由形参传回实参
D)传递方式由用户指定
8、C语言中规定函数的返回值的类型是由___D_____。
A)return语句中的表达式类型所决定
B)调用该函数时的主调用函数类型所决定
C)调用该函数时系统临时决定
D)在定义该函数时所指定的类型所决定
9、以下函数func()的功能是:
使具有n个元素的一维数组b的每个元素的值
都增加2,划线处应填入____D____。
func(intb[],intn)
{int;
for(i=0;iA)b[i++]B)b[i]++
C)b[i+=2]D)b[i]+=2
10、以下叙述中,错误的是___D_____。
A)函数未被调用时,系统将不为形参分配内存单元
B)实参与形参的个数应相等,且类型相同或赋值兼容
C)实参可以是常量、变量或表达式
D)形参可以是常量、变量或表达式
章节作业--第6次作业:
10题
DCADCDB
1、以下有关宏的不正确叙述是:
C
A)宏名无类型B)宏替换只是字符替换
C)宏名必须用大写字母表示D)宏替换不占用时间运行
2、在宏定义#definePI3.14159中,用宏名PI代替一个C
A)单精度数B)双精度数
C)常量D)字符串
3、C语言的编译系统对宏命令的处理(D)。
A)在程序运行时进行的
B)在程序连接时进行的
C)和C程序中的其它语句同时进行编译的
D)在对源程序中的其它语句正式编译之前进行的
4、以下不正确的叙述是(D)。
A)宏替换不占用运行时间
B)宏名无类型
C)宏替换只是字符替换
D)宏名必须用大写字母表示
5、C语言中,宏定义有效范围从定义处开始,到源文件结束处结束,
但可以用(D)来提前解除宏定义的作用。
A)#ifndefB)endif
C)#undefineD)#undef
6、以下不正确的叙述是(B)。
A)预处理命令行都必须"#"以号开始
B)在程序中凡是以"#"号开始的语句都是预处理命令行
C)C程序在执行过程中对预处理命令行进行处理
D)#defineABCD是正确的宏定义
7、以下正确的叙述是(C)。
A)在程序的一行中可以出现多个有效的预处理命令行
B)使用带参宏时,参数的类型应与宏定义时的一致
C)宏替换不占用运行时间,只占编译时间
D)宏定义不能出现在函数内部
章节作业--第11次作业:
10题
1、若有定义inti=2,j=1,k=3,则表达式i&&(i+j)&k|i+j的值是:
C
A)3B)4
C)1D)2
2、设有以下语句
charx=3,y=6,z;z=x^y<<2;
则z的二进制值是:
B
A)00010100B)00011011
C)00011100D)00011000
3、表达式~0x13的值是:
A
A)0xffecB)0xff71
C)0xff68D)0xff17
4、在位运算中,一个非0操作数每左移一位,其结果相当于:
A
A)操作数乘以2B)操作数除以2
C)操作数乘以4D)操作数除以4
5、以下对枚举类型名的定义中正确的是:
B
A)enuma={one,two,three};
B)enum1{one=9,two=-1,three};
C)enuma={"one","two","three"};
D)enuma{"one","two","three"};
6、用十进制数表示表达式:
12|012的运算结果是C
A)1B)0
C)14D)12
7、设inta=04,b;则执行b=a<<1;语句后,b的结果是C
A)4B)04
C)8D)10
8、设inta=04,b;则执行b=a>>1;语句后,b的结果是D
A)04B)4
C)10D)2
9、语句:
printf("%d\n",12&012);的输出结果是B
A)12B)8
C)6D)012
10、设有以下语句
charx=3,y=6,z;z=x^y<<2;
则z的二进制值是(B)。
A)00010100B)00011011
C)00011100D)00011000