山东专升本C语言典型案例100题.doc
《山东专升本C语言典型案例100题.doc》由会员分享,可在线阅读,更多相关《山东专升本C语言典型案例100题.doc(26页珍藏版)》请在冰点文库上搜索。
2013年高职升本计算机基础复习材料—C语言精编100题
信息工程系
教学教案
第二学期
《C语言复习》教案
授课人:
王思艳
潍坊工商职业学院
2013年3月
[课题]单项选择
[教学目标]掌握50个单项选择涉及的基础知识点
[教学重点]基础知识
[教学难点]求程序结果
[课型]复习
[教学方法]讲授+讨论
[教学过程]一.组织教学
二.新课讲授
一、单选题
1.由C语言编写的代码程序()
A.可直接执行 B.是一个源程序
C.经过编译即可执行 D.经过编译解释才能执行
2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()
A.大写字母 B.中划线 C.数字字符 D.下划线
3.下列选项中,不能用作标识符的是()
A._1234_ B._1_2 C.int_2_ D.2_int_
4.以下选项中合法的用户标识符是()
A.long B._2Test C.3Dmax D.A.dat
5.以下不能定义为用户标识符的是()
A.Main B._0 C._int D.sizeof
6.下列定义变量的语句错误的是()
A.int_int; B.doubleint_; C.charFor; D.floatUS$;
7.在C语言中,合法的实型常数是()
A.5E2.0 B.E-3 C.2E0 D.1.3E
8.在C语言中,合法的实型常数是()
A.1.2E0.5 B.3.14159E C.5E-3 D.E15
9.以下选项中,不能作为合法常量的是()
A.1.234e04 B.1.234e0.4 C.1.234e+4 D.1.234e0
10.以下不合法的数值常量是()
A.011 B.le1 C.8.0E0.5 D.0xabcd
11.在C语言中,非法的字符常量是()
A.‘\t’ B.‘\17’ C."\n" D.‘\xaa’
12.以下不合法的字符常量是()
A.‘\018’ B.‘\"’ C.‘\\’ D.‘\xcc’
13.下列运算符中优先级最高的运算符是()()
A.<= B.= C.% D.&&
A.== B./ C.= D.>=
14.以下程序的输出结果是()
main()
{inta=3,b=4;
printf("%d\n",a<=b);
}
A.3 B.4 C.1 D.0
15.在C语言中,以下非法的表达式是()
A.0<=x<=100 B.i=j==0 C.(char)(65+3) D.x+1=x+1
16.在C语言中,以下非法的赋值语句是()
A.j++; B.++(i+1); C.x=j>0; D.k=i==j;
17.表达式3.6-5/2+1.2+5%2的值是()
A.4.3 B.4.8 C.3.3 D.3.8
18.设有语句:
inta=3;则执行了语句a+=a-=a*a;变量a的值是()
A.3 B.0 C.9 D.-12
19.设有语句:
intx=10;则执行了语句x+=x-=x-x;变量x的值是()
A.10 B.20 C.40 D.30
20.以下程序的输出结果是()()()()()
⑴main()
{inti=10,j=1;
printf("%d,%d\n",i--,++j);}
A.9,2 B.10,2 C.9,1 D.10,1
⑵main()
{inta=12,b=12;
printf("%d%d\n",--a,++b);}
A.1010 B.1212 C.1110 D.1113
⑶main()
{intx=023;
printf("%d\n",--x);}
A.17 B.18 C.23 D.24
⑷main()
{intx=10,y=10;
printf("%d%d\n",x--,--y);}
A.1010 B.99 C.910 D.109
⑸main()
{inti=010,j=10;
printf("%d,%d\n",++i,j--);}
A.11,10 B.9,10 C.010,9 D.10,9
21.以下程序的输出结果是()
main()
{intx=100,y=200;
printf("%d\n",(x,y));}
A.200 B.100
C.100200 D)200100
22.以下程序的输出结果是()
main()
{intx=10,y=3,z;
printf("%d\n",z=(x%y,x/y));}
A.1 B.0 C.4 D.3
23.intk=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是()
A.k++ B.k+=1 C.++k D.k+1
24.以下程序的输出结果是()
main()
{intx,y,z;
x=y=1;
z=x++,y++,++y;
printf("%d,%d,%d\n",x,y,z);}
A.2,3,3 B.2,3,2 C.2,3,1 D.2,2,1
25.设x、y、t均为int型变量,则执行语句:
x=y=3;t=++x||++y;后,y的值为()
A.1 B.2 C.3 D.4
26.设intx=-1;执行表达式++x||++x||++x||++x,x的值是()
A.0 B.1 C.2 D.4
27.以下程序的输出结果是
(1)main(){intk=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}()
A.k=11,k=12,k=11 B.k=11,k=13,k=13
C.k=11,k=013,k=0xb D.k=11,k=13,k=b
(2)main(){intk=17;printf("%d,%o,%x\n",k,k,k);}()
A.17,021,0x11 B.17,17,17 C.17,0x11,021 D.17,21,11
28.运行时从键盘上输入9876543210(表示回车),则该程序的输出结果是()
main()
{inta;floatb,c;
scanf("%2d%3f%4f\n",&a,&b,&c);
printf("a=%d,b=%f,c=%f\n",a,b,c);}
A.a=98,b=765,c=4321 B.a=10,b=432,c=8765
C.a=98,b=765.000000,c=4321.000000 D.a=98,b=765.0,c=4321.0
29.设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量
a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。
以下所示的输入形式中正
确的是(注:
□代表空格字符)()
A.10□X□20□Y<回车> B.10□X20□Y<回车>
C.10□X<回车> D.10X<回车>
20□Y<回车>20Y<回车>
30.以下程序的输出结果是()
#defineMA(x)x*(x-1)
main()
{inta=1,b=2;
printf("%d\n",MA(1+a+b));}
A.6 B.8 C.10 D.12
31.以下程序的输出结果是()
#defineM(x,y,z)x*y+z
main()
{inta=1,b=2,c=3;
printf("%d\n",M(a+b,b+c,c+a));}
A.19 B.17 C.15 D.12
32.以下程序段的输出结果是()
#defineMIN(x,y)(x)<(y)?
(x):
(y)
main()
{inti=10,j=15,k;
k=10*MIN(i,j);
printf("%d\n",k);
}
A.15 B.100 C.10 D.150
33.设a=1,b=2,c=3,d=4,则表达式a
a:
ca:
d的结果是()
A.4 B.3 C.2 D.1
34.以下程序段的输出结果是()
main()
{intx=5;
if(x++>5)printf("%d\n",x);
elseprintf("%d\n",x--);
}
A.4 B.5 C.6 D.7
35.有以下程序
main()
{intn=4;
while(n--)
printf("%d",--n);
}
程序执行后的输出结果是()
A.20 B.31 C.321 D.210
36.有以下程序
main()
{inty=10;
while(y--);printf("y=%d\n",y);}
程序执行后的输出结果是()
A.y=0 B.y=-1
C.y=1 D.while构成无限循环
37.有以下程序
main()
{inti;
for(i=0;i<3;i++)
switch(i)
{case0:
printf("%d",i);
case1:
printf("%d",i);
default:
printf("%d",i);
}
}
程序执行后的输出结果是()
A.000112 B.012 C.012020 D.120
38.以下叙述中正确的是()
A.构成C程序的基本单位是函数
B.可以在一个函数中定义另一个函数
C.main()函数必须放在其它函数之前
D.所有被调用函数一定要在调用之前进行定义
39.以下说法中正确的是()
A.C语言程序总是从第一个函数开始执行
B.在C语言程序中,要调用的函数必须在main()函数中定义
C.C语言程序总是从main()函数开始执行
D.C语言程序中的main()函数必须放在程序的开始部分
40.以下程序的输出结果是()
intfun(intx)
{intp;
if(x==0||x==1)p=3;
elsep=x-fun(x-2);
returnp;}
main()
{printf("%d\n",fun(7));}
A.7 B.3 C.2 D.0
41.以下数组定义中错误的是()
A.intx[][3]={0};
B.intx[2][3]={{1,2},{3,4},{5,6}};
C.intx[][3]={{1,2,3},{4,5,6}};
D.intx[2][3]={1,2,3,4,5,6};
42.以下能正确定义二维数组的是()
A.inta[][3]; B.inta[][3]={2*3};
C.inta[][3]={}; D.inta[2][3]={{1},{2},{3,4}};
43.以下程序的输出结果是()
main()
{inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
printf("%d\n",*(p+2));
}
A.3 B.4 C.1 D.2
44.以下程序的输出结果是()
main()
{inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;
printf("%d\n",*p+9);
}
A.0 B.1 C.10 D.9
45.以下程序的输出结果是()
main()
{inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;
printf("%d\n",*p+*q);}
A.16 B.10 C.8 D.6
46.设有chararray[]="China";
则数组array所占的空间字节数为()
A.4 B.5 C.6 D.7
47.在C语言中,对于以下定义正确的叙述为()
charx[]="abcdefg";
chary[]={'a','b','c','d','e','f','g'};
A.数组x和数组y等价 B.数组x和数组y的长度相同
C.数组x的长度大于数组y的长度 D.数组x的长度大于数组y的长度
48.以下不能正确进行字符串赋初值的语句是()
A.charstr[5]="good!
"; B.charstr[]="good!
";
B.char*str="good!
"; D.charstr[5]={‘g’,‘o’,‘o’,‘d’};
49.以下程序的输出结果是()
main()
{charstr[]="ABCD",*p=str;
printf("%d\n",*(p+4));}
A.68 B.'D' C.0 D.'0'
50.以下程序的输出结果是()
main()
{charstr[]="aeiou",*p=str;
printf("%c\n",*p+4));}
A.o B.u C.e D.f
信息工程系
教学教案
第二学期
《C语言复习》教案
授课人:
王思艳
潍坊工商职业学院
2013年3月
[课题]填空题
[教学目标]掌握填空题涉及的基础知识点
[教学重点]基础知识、细节知识
[教学难点]求程序结果
[课型]复习
[教学方法]讲授+讨论
[教学过程]一.组织教学
二.新课讲授
二、填空题
51.一个C源程序至少应该有一个函数。
52.以下程序运行后的输出结果是。
main()
{intx=2006,y=2007;
printf("%d\n",(x,y));
}
53.
(1)以下程序运行后的输出结果是。
main()
{inta=10;
printf("%d,%o,%x\n",a,a,a);
}
(2)以下程序运行后的输出结果是。
main()
{inta,b,c;
a=25;b=025;c=Ox25;
printf("%d%d%d\n",a,b,c);
}
(3)以下程序运行后的输出结果是。
main()
{inta=1,b=2;
a=a+b;b=a-b;a=a-b;
printf("%d,%d\n",a,b);
}
54.
(1)以下程序运行后的输出结果是。
main()
{charch='B';
printf("%c%d\n",ch,ch);
}
(2)以下程序运行后的输出结果是。
main()
{charch='B';
ch+=32;
printf("%c\n",ch);
}
(3)以下程序运行后的输出结果是。
main()
{charch;
ch='H'-'A'+'0';
printf("%c\n",ch);
}
(4)以下程序运行后的输出结果是。
main()
{intc;
charch=97;
c=ch+1;
printf("%c%c\n",c,ch);
}
55.以下程序运行后的输出结果是。
main()
{floatx=123.4567;
printf("%f\n",(int)(x*100+0.5)/100.0);
}
56.有程序如下,要求给i赋10,给j赋20,则应该从键盘输入。
main()
{inti,j;
scanf("i=%d,j=%d",&i,&j);
printf("i=%d,j=%d",i,j);
}
57.
(1)以下程序运行后的输出结果是。
main()
{inta=10;
a=(3*5,a+4);
printf("a=%d\n",a);
}
(2)以下程序运行后的输出结果是。
main()
{inta=0,b=0,c=0;
c=(a+=a-=5),(a=b,b+3);
printf("%d,%d,%d\n",a,b,c);
}
58.以下程序运行后的输出结果是。
main()
{inta=5,b=4,c=3,x;
x=a>b>c;
printf("%d\n",x);
}
59.以下程序运行后的输出结果是。
main()
{inta=3,b=2;
b=a<0&&a++>3;
printf("%d,%d\n",a,b);
}
60.以下程序运行后的输出结果是。
main()
{inta,b,c=246;
a=c/100%9;
b=-1&&-1;
printf("%d,%d\n",a,b);
}
61.
(1)以下程序运行后的输出结果是。
#defineMAX(x,y)(x)>(y)?
(x):
(y)
main()
{inta=5,b=2,c=3,d=3,t;
t=MAX(a+b,c+d)*10;
printf("%d\n",t);
}
(2)以下程序运行后的输出结果是。
#define S(x)4*x*x+1
main()
{int i=6,j=8;
printf("%d\n",S(i+j));
}
62.以下程序运行后的输出结果是。
main()
{intx,a=1,b=2,c=3,d=4;
x=(a
a:
b;x=(xx:
c;
printf("%d\n",x);
}
63.以下程序运行后的输出结果是。
main()
{int a=3,b=4,c=5,t=99;
if(b if(a printf("%d%d%d\n",a,b,c);
}
64.以下程序运行后的输出结果是。
main()
{inti,t=0;
for(i=5;i>=0;i--)
t*=i;
printf("%d\n",t);
}
65.以下程序运行后的输出结果是。
main()
{charc1,c2;
for(c1='0',c2='9';c1printf("%c%c",c1,c2);
printf("\n");
}
66.输入1234567890<回车>,则其中while循环体将执行次。
#include
main()
{charch;
while((ch=getchar())==‘0’)printf("#");
}
67.设有定义语句:
inta[][3]={{0},{1},{2}};
则数组元素a[1][2]的值为。
68.在C语言中,有如下语句:
inta[]={10,20,30,40,50,60},*p;
p=a+3;
printf("%d\n",*p++);
则输出结果是。
69.以下程序运行后的输出结果是。
main()
{inta[2][3]={1,2,3,4,5,6};
intm,*p;
p=&a[0][0];
m=(*p)*(*(