C语言程序填空题加答案
24、 循环结构中反复执行的程序段称为【 循环体 】. 25、 goto语句的标号必须与goto语句同处于一个 【 函数 】中. 26、 do-while循环与while循环的不同在于:【do-while】 先执行循环中的语句后做条件判断. 27、 定义int i=1;执行语句 while(i++<5); 后,i的值为 【 6 】. 28、 下面程序段的运行结果是【 4,6 】.
for(;s*=a,++a<=6;); 6、 下面一段程序执行后变量s的值等于【 10 】. int s=0,i,j;
for(i=1;i<=3;i++);
for(j=1;j<=i;j++)s=s+j; 7、 下面一段程序的功能是计算1到5的阶乘和,并将结 果保存到变量s中.
int s=0,f=1,i;
int k=10;
while(k=0)
k=k-1; 循环体语句执行【 0 】次. 答案〖 零 或 0 〗
12、 C语言程序的三种基本结构是:顺序结构,选择结构, 【 循环 或 重复 】结构. 13、 以下do-while语句中循环体的执行次数是【 4 】. a=10;
b=0;
do{ b=a--; a-=2; }while(a>=0); 14、 设x和y均为int型变量,则以下for循环中的scanf语 句最多可执行的次数是【 3 】. for (x=0,y=0;y!=123&&x<3;x++)
19、 当a=3,b=2,c=1;时,执行以下程序段后,b的值为
【1
】.
if(a>b) a=b;
if(b>c) b=c;
else =b;
c=a;
20、 当a=1,b=2,c=3时,执行以下程序段后,a的值为
【 3 】.
if (a>c)
b=a;
a=c;
c=b;
21、 switch语句中每一个case后面的常量表达式的值
1、 函数printf("%2s","ABCD")的输出结果 是【ABCD】. 2、 函数putchar()的功能是向标准输出设 备输出一个【 字符 】. 3、 函数getchar()的功能是从标准输入设 备输入一个【 字符 】. 4、 若a和b都是int型变量,执行函数 scanf("%3d%2x",&a,&b)时,对应的键盘输 入数据是:26a23 则该函数执行后,变量b的十进制值等于 【 162 】.
40、 puts()函数用来向标准输出设备(显示器)写字符串 并【 换行 】. 41、 gets()函数用来从标准输入设备(键盘)读取字符串 直到【 回车 】结束. 42、 使用gets()函数读取字符串时, 【 回车 】符不 属于这个字符串. 43、 switch中变量可以是数值型, 也可以是【 字符 】 型的. 44、 执行printf("%s","china");语句,正确的输出结果为 【 china 】. 45、 关系运算符都是双目运算符,其结合性均为【 左 】 结合. 46、 与运算符&&和或运算符||均为双目运算符.具有 【 左 】结合性.
3、 下面一段程序执行后,变量s的值等于【 10 】.
int a=10,s=0;
do{s=s+a,a++;}while(a<1);
4、 下面一段程序执行后,变量s的值等于【 11 】.
int a,s=0;
for(a=1;a<11;a++);
s=s+a;
5、 下面一段程序的功能是计算6的阶乘,并将结果保存 到变量s中. int a=1,s=【 1 】;
main()
{ char m;
m='A'+33; printf("%c\n",m);
}
27、 执行下列程序段后,y的值为【 9 】.
int x,y,z,m,n; m=10;n=5;
x=(--m==n++)?--m:++n;
y=m++; 28、 在使用switch语句时,在case后的各常量表达式的 值【 不能 】(能/不能)相同. 29、 在c语言中,所有的数据输入/输出都是由 【 库函数 或 函数 或 输入输出函数 】完成的. 30、 当用scanf函数输入字符串时,字符串中不能含有 【 空格 】,否则将其视为回车作为串的结束符. 31、 printf()中的非格式字符串在输出时 【 原样输出 或 原样打印 】,在显示中起提示作用. 32、 执行a=10>8*2?3+5:3*2;后,a的值是【 6 】.
scanf ("%d",&y); 15、 执行以下程序段后,s的值是【 16 】. int a[]={1,2,3,4,5,6,7,8},s=0,k;
for(k=0;k<8;k+=2)
s+=*(a+k);
16、 若所用变量都已正确定义,以下程序段的输出结果 【 OK 】. for(i=1;i<=5;i++);
int x=0,y=0;
while(x<5)
{y++;x+=++y;}
printf("%d,%d",y,x); 29、 do-while循环至少要执行【 1 】次循环语句. 30、 当【 break 】语句用于do-while、for、while循 环语句中时, 可使程序终止循环而执行循环后面的语句.
必须【 互不相同 或 不同 或 相异 】.
22、 C语言本身不提供输入输出语句,其输入输出操作 是由【 函数 或 库函数 或 输入输出函数 】来实现的. 23、 puts()函数一次能输出【 1 】个字符串. 24、 所谓"【 关系运算 】"实际上就是"比较运算",即将 两个数据进行比较,判定两个数据是否符合给定的关系. 25、 在使用switch语句时,各case和default子句的先后 顺序如果变动,则程序执行结果【 不会 】(填会/不会) 受到影响. 26、 以下程序运行后的输出结果是【 b 】.
printf("OK\n"); 17、 设有以下程序段,执行程序后s的值是【 1 】. int x=0,s=0;
while(!(x!=0)) s+=++x;
printf("%d",s); 18、 设有以下程序段,执行程序后a的值是【 1 】. int x=0,a=0;
while(!x!=0) a+=++x;
31、 在多层循环中, 一个break语句可向外跳【 1 】 层. 32、 执行语句:for(i=1;i++<4;);后变量i的值是【 5 】. 33、 C语言中终止整个循环的语句是【 break 】. 34、 循环体如果包含【 1 】个以上的语句,应用 花括号括起来,以复合语句的形式出现. 35、 continue语句仅用于【 循环 】语句中. 36、 break【 不能 】(能/不能)用于循环语句和 switch语句之外的任何其它语句之中. 37、 If和goto构成的循环语句中【 不能 】(能/不能) 用break语句. 38、 for(表达式1 ;表达式2 ;表达式3)中,表达式2可以是 关系或逻辑表达式, 但也可是数值表达式或字符表达式,只要其值【 非零 】, 就执行循环体.
int m;
for(m=10;m<=20;m++) {if(【 m%2 或 m%2!=0】) continue;printf("%d\n",m);}
10、 设i,j,k均为int型变量,则执行下面语句后,k的值为 【 10 】. for(i=0,j=10;i<=j;i++,j--) k=i+j; 答案〖 10 〗 11、 程序段
for(i=1;i<=5;i++) {f=f*【 i 】;s=s+f;}
8、 下面一段程序的功能是计算两个正整数(保存在int 型变量m和n中)的最大公约数, 并将结果保存到变量gcd中. for(;r=m%n;m=n,n=r);gcd=【 n 】; 9、 下面一段程序段的功能是显示10到20之间的偶数.
c=max(a,b); printf("%d\n",c); } int max(x,y) int x,y; { int z;
if(x>y) z=x; else z=y; return(z); }
17、 将以下语句用条件运算符改写为【max=a>b?a:】b . if(a>b)max=a; else max=b; 18、 当a=3,b=2,c=1;时,执行以下程序段后,c的值为 【 2 】. if(a>b) a=b; if(b>c) b=c; else c=b; c=a; 19、 当a=3,b=2,c=1;时,执行以下程序段后,b的值为 【 1 】. if(a>b) a=b; if(b>c) b=c; else c=b; c=a;
5、 若a和b都是int型变量,函数scanf("%3d%2d",&a,&b)
对应的键盘输入数据是:2618223<回车>
则该函数执行后,变量b的值等于【 82 】.
6、 若c是char型变量,c的初值为-1,则函数printf("%u",c)
的输出结果为【 65535 】.
假设int型数据占2个字节.
printf("%d",a); 19、 【 break 】语句强行结束循环,转向执行循 环语句的下一条语句.