|| a= =14
C. a>10 && a<15 D. !(a<=10) && !(a>=15)
B. a= =11|| a= =12 || a= =13
(17) 设f是实型变量,下列表达式中不是逗号表达式的是
D ____ 。
A. f= 3.2, 1.0 B. f>0, f<10 C. f=2.0,
f=(3.2, 1.0)
(18) 设ch是char型变量,其值为'A',则下面表达式的值是
B。
ch=(ch>='A'&& chv='Z')? (ch+32):ch
A. A B. a C. Z D. Z
(19) 以下运算符中,结合性与其他运算符不同的是
A. ++ B. % C. / D. +
(20) 以下用户 标识符中,合法的是_B—。
A. int B. nit C. 123 D. a+b
(21) C 语言中,要求运算对象只能为整数的运算符是
。
%
A 。
f>0 D.
A. % B. / C. > D. *
(22) PC 机中,’n'在内存占用的字节数是
A. 1 B. 2 C. 3 D. 4
A
O
(23) 字符串"ABC"在内存占用的字节数是 __B ____
。
A.
3 B. 4 C. 6 D. 8
(24) 要为字符型变量 a赋初值,下列语句中哪一个是正确的
B ____ 。
A. char a="3"; B. char a=' 3' ; C. char a=%; D.
char a=*;
(25) 下列不正确的转义字符是__C _____
。
A. B. ' C. 074 D. 0
2. 填空题
(1) C语言中的逻辑值“真” 是用! 0表示的,逻辑值“假”
是用__0 __ 表示的。
(2)
(3)
符号常量的定义方法是 #define N 10
无符号基本整型的数据类型符为
。
unsigned int ,双精
度实型数据类型符为
char 。
(4)
double ________ ,字符型数据类型符为
设 c='w',a=1,b=2,d=-5,
-a-5*b<=d+1, b==a=2
则表达式'x'+1>c,
的值分别
'y'!=c+2,
为 _d __ 、
(22) PC 机中,’n'在内存占用的字节数是 A
O
0 、_1 ______ 、 表达式错误 _____ 。
⑸
设 float x=2.5,y=4.7; int a=7;,表达式 x+a%3*(int)(x+y)%2/4 的值
为 2.5 。
⑹
判断变量a、b的值均不为0的逻辑表达式为
(a!=0)&&(b!=0) ______ 。
(7) 求解赋值表达式 a=(b=10)%(c=6),表达式值、a、b、c的
。
后,表达式值、x、a的值依
值依次为4,4,10,6
(8) 求解逗号表达式x=a=3,6*a
。 次为 18,3,3
(9) 数学式a/(b*c)的C语言表达式 a/(b*c) 。
第3章顺序结构程序设计习题
1. 选择题
(1) printf("f=%3.2f %%3.478);的输出结果是
A
。
A. f=3.48% B. f=3.5% C. f=3.48% % D. f=347.8%
(2) printf("%c,%d",'a', 'a') ;的输出结果是
A
。
A. a,97 B. a 97 C. 97,a D. 97 a
(3) scanf("%c"
,
&a);若要给变量输入大写字母 A,则以下正
确的输入是_B_。
A. 'A' B. A
D.以上都不对
C. "A"
⑷
若一个int类型的数据占2字节,则程序段:int
x=-1;printf("%u,%d",x,x);
A. 65535, -1 B. -1,65535
的输出结果是
A
。
C. 32767, 32768 D.
32768,32767
(5) 在 TC 中,getchar、putchar、printf 、scanf 四个函数,
均包含在头文件__B ____
中。
A. math.h B. stdio.h C. stbio.h D.
stdlib.h
(6) 复合语句是用__C ____ 括起来的语句组。
A. ( ) B. [ ] C. { } D. < >
⑺
下列格式符中,哪一个可以用于以八进制形式输出整数
C_。
A. %d B. %8d C. %o D. %ld
(8) 下列格式符中,哪一个可以用于以十六进制形式输出整数
B_。
A. %16d B. %8x C. %d16 D. %d
(9) a是int类型变量,c是字符变量,下列输入语句中哪一个
是错误的__B ____ 。
A. scanf("%d,%c", &a,& c); B. scanf("%d%c",a,c);
C. scanf("%d%c", &a,& c);
scanf("d=%d,c=%c", &a, &c);
(10) 要使double x; long a; 的数据能正确的输出,输出语句
应是__D __ 。
A. printf("%d, %f",a, x);
B.
printf("%d, %1f",a, x);
D.
C. scanf("%1d, %1f",&a, &x);
printf("%1d, %lf",a, x);
D.
2. 程序改错题 ( 以下各个程序段均有 5 个错误,请先找出错误 的位
置,然后再改正 )
(1) 以下程序的功能是,从键盘输入一个字符并鸣笛输出。 #include
"stdio.h"
mian() //main()
{ char c // char c; getchar(c);//c = getchar();
putchar('007') ; /*
c=putchar(); //putchar(c);
//}
(2) 以下程序的功能是, 输入长方形的两边长 ( 边长可以取整数 和实
鸣笛 */
数 ) ,输出它的面积和周长。
main //main()
{
int a,b, s,l; //double a,b,s,l;
scanf("%d,%d",&a,&b); //scanf("%lf,%lf",&a,&b); s=a*b;
l= a+b; //l=(a+b)*2; printf("l=%f,s=%fn",l );
//printf(" l=%lf,s=%lfn ",l,s);
}
3. 写出程序运行结果
(1)
main()
{
int a,b;
scanf("%2d %*2s%2d",&a,&b); printf("%dn",a+b);
}
运行时输入:输出 :68
(2)
main()
{
int a=3,b=5,x,y;
x=a+1 , b+6; y=(a+1 , b+6);
printf("x=%dny=%dn",x,y);
}
y=11
输出: x=4
第 4 章 选择结构程序设计习题
1. 单项选择题
(1) 选择结构程序设计的特点是 —B ____ 。
A.自上向下逐个执行 B. 根据判断条件,选择其中一
个分支执行
C.反复执行某些程序代码 D. 以上都是
x的值是 (2) 假定所有变量均已正确定义,下列程序段运行后
B
O
a=b=c=O, x=35;
if(!a) x--; else if(b); if(c) x=3; else x=4;
A. 34 B. 4 C. 35 D. 3
(3) 下面的程序片段所表示的数学函数关系是
if(x<0) y= -1;
else if(x>0) y=1;
else y=0;
(4) 下列各语句序列中,能够且仅输出整型变量
的是
(
C )
O
A. if(a>b) printf("%dn",a); printf("%dn",b);
B. printf("%dn",b); if(a>b) printf("%dn",a);
C. if(a>b) printf("%dn",a); else printf("%dn",b);
D. if(a
(5) 以下程序段的输出结果是
_A _____
int x=5;
if(x>0) y=1;
A
O
a、b中最大值
else if(x==O) y=0;
else y= 1;
printf("%d",y);
A. 1 B. 5 C. 0 D. 2
(6) 程 序 段 int x=5,y=8,max; max=(x>y)?x:y; printf("%d",max); 的
输出结果是 B 。
A. 5 B. 8 C. 3 D. 13
(7) 程序段 int x=3,a=1;switch(x) {case 4: a++;case 3:
的输出结果 a++;case 2: a++;case 1: a++;} printf ("%d",a);
是 D ____ 。
A. 1 B. 2 C. 3 D. 4
(8) 下列语句应将小写字母转换为大写字母,其中正确的是
(B )。
(ch>='a'&chv='z') ch=ch-32;
B. if(ch>='a'&&ch<='z')ch=ch-32;
C. ch=(ch>='a'&&ch<='z')?ch- 32:'';
D. ch=(ch>'a'&&chv'z')?ch-32:ch;
2. 阅读程序,写出运行结果
(1)
void main ()
if(a
if(a
{
int a=10, b=4, c=3; b, c);
printf("%d, %d, %dn", a,
}
输出: 10,4, 3
(2) void main ( )
{
int x=100, a=10, b=20, ok1=5,
ok2=0;
(3)
int k,a=1,b=2; k=(a++==b) ? 2:3;
printf("%d",k);
输出: 3
(4) void main()
{
int s=1,k=0;
switch (s)
{
case 1: k+=1; case 2:
k+=2; default: k+=3;
}
if(a
else if(ok2) x=10;
else x=-1;
printf("%dn", x);
}
输出: -1 ;
printf( “%d” ,k);
} 输出: 6
(5) void main()
{
int s=1,k=0;
switch (s)
{
case 1: k+=1;break; case
2: k+=2;break; default:
k+=3;
}
printf( “%d” ,k);
}
输出: 1
第5章循环结构程序设计习题
1.单项选择题
⑴
for(i=1;i<9;i+=1);
A. 7 B. 8 C. 9 D. 10
该循环共执行了 _B __ 次
⑵
int a=2;while(a=0) a--;
A. 0 B. 1 C. 2 D. 3
该循环共执行了
A
次。
⑶
执行完循环for(i=1;i<100;i++); 后,i的值为_B_
A. 99 B. 100 C. 101 D. 102
⑷以下for语句中,书写错误的是
A. for(i=1;i<5;i++); B. i=1;for(;i<5;i++);
C. for(i=1;i<5;) i++; D. for(i=1,i<5,i++);
D
。
(5) _C ____ 语句,在循环条件初次判断为假,还会执行一次循环体
A. for B. while C. do-while D.
以上都不是
⑹
循环结构的特点是
A.从上至下,逐个执行
一个分支
C 。
B.
根据判断条件,执行其中
C.满足条件时反复执行循环体
(7) i 、j已定义为int
是 A
D. 以上都对
类型,则以下程序段中内循环体的执行次数
for(i=5;i;i--)
for(j=0;j<4;j++){
...}
A. 20 B. 24 C. 25 D. 30
(8) C 语言 while 语句中,用于条件的表达式是
A.关系表达式
达式
D
。
D. 任意表
B.
逻辑表达式 C. 算术表达式
(9) int a=1, x=1;
循环语句 while(a<10) x++; a++;
的循环执行
D 。
A.无限次 B.
(10)卜列程序段执行后
不确定次 C. 10
s的值为A
次
D. 9
次
。
int i=1, s=0; while(i++) if(!(i%3)) break ; else s+=i ;
A. 2 B. 3 C. 6
D.
以上均不是
2.填空题
(1)三种循环语句是
⑵当循环体中的
等价价的。
switch语句内有break语句, 则只跳出 swicth 语
句。同样,当switch语句中有循环语句,内有 break 语句,则只跳 出 循环
语句。
(3) 循环体执行遇到
环 ____ 。
(4) 下列程序的功能是输入一个正整数,判断是否是素数,若为素数 输出
1,否则输出0,请为程序填空。
void main()
{
int i, x, y=1;
continue 语句时 跳过本次循环进入下次循
scanf("%d", &x);
for(i=2; iv=x/2; i++)
if ( x%i==0 ) { y=0; break; } printf("%dn",y);
}
(5) 输入N个实数,输出其中的最大值、最小值
#include
void main()
{
int n,i;
float no1,nmax,nmin;
scanf("%d",&n); scanf("%f",&no1);
nmax=no1;
nmin=no1 ;
for(i=2;i<=n ;i++)
{
scanf("%f", & no1 ! _______
if(no1>nmax) nmax=no1;
if(no1}
printf("MAX=%f MIN=%fn",nmax,nmin);
(6) 输入若干个字符,分别统计数字字符的个数、英文字母的个数,
当输入换行符时输出统计结果,运行结束
#include void main()
{
char ch;
int s1=0,s2=0 ; ___
while(( ch=getchar() )!='n')
{
if(ch>='0'&&chv=9) s1++;
if(ch>='a'&&ch<='z' || ch>=' A ||ch<= ' Z'
}
}
3•阅读下列程序,写出程序运行的输出结果
(1) 输出:852
void main( ) (2)main()
{ int y=9; int k,n,m;
for( ;y>0; y--) n=10;m=1;k=1;
if(y%3==0)
while(k++v=n)
continue;}
m*=2;
}
{ printf("%d", --y);
printf("%dn",m);
{
)s2++;
}
输出: 1024
(3) void main ( )
{ int i=5;
do
{switch (i%2)
{case 4: i--;
break;
case 6: i--;
continue;
}
i-- ; i-- ;
printf("i=%d ",
i);
} while(i>0);
}
输出: i=3 i=1 i=-1
(4) #include void main( )
{
int k=0; char c='A';
do
{
switch(c++)
{
case 'A': k++; break;
case 'B': k--;
case 'C': k+=2;
break;
case 'D': k=k%2;
break;
case 'E': k=k*10;
break;
default: k=k/3;
}
k++;
}while(c<'G');
printf("k=%dn", k);
}
输出: 8
(5) 输入数据: 2,4
#include
void main()
t=t*1O+1;
s=s+t;
s*=a;
printf("SUM=%dn",s);
{
int s=1,t=1,a,n;
int i
scanf("%d , %d",&a,&n); }
for(i=1;i4.程序改错
(1)以下程序是显示[200 , 300]所有能被7整除的数,每行显示
个数,此程序有5处错
main()
{
int i,n=0; /*n 用来记录每行已打印数的个数
while(i<300) 〃while((i <= 300)&&(i >= 200))
{ 〃i++
;
if(i%7==0) 〃if(i%7!=0)
break; //continue;
printf("%5d",i);
n=n+1;
if(n=5)/* 满 5 个换行 */ 〃if(n == 5)
{
printf("n");
*/
5
n=0;
printf("n");
}
}
}
(2)
1!+2!+3!+4!+5!+6!+7
main()
{
int i,s,t=O; //long s = 0,t = 1;
〃int i;
for(i=1;i<=7;i++)
{
s=0; // 去掉该语句
t=t*i;
s=s+t;
}
printf("sum=dn",s); 〃printf(
}
第6章函数习题
1. 单项选择题
(1) C语言总是从_A _____ 函数开始执行。
A. main B.
选一个
(2) 函数在定义时, 省略函数类型说明符,
以下程序是求
!的值,其中有 3处错误。
“ sum=%lc” ,s);
处于最前的 C.处于最后的 D. 随机
则该函数值的类型为
评论列表(0条)