C语言基础练习.docx
- 文档编号:28226401
- 上传时间:2023-07-09
- 格式:DOCX
- 页数:21
- 大小:20.22KB
C语言基础练习.docx
《C语言基础练习.docx》由会员分享,可在线阅读,更多相关《C语言基础练习.docx(21页珍藏版)》请在冰豆网上搜索。
C语言基础练习
C语言基础练习(三)
1、选择题,
(1)以下叙述中正确的是
A)C语言的源程序不必通过编译就可以直接运行
B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令
C)C源程序经编译形成的二进制代码可以直接运行
D)C语言中的函数不可以单独进行编译
(2)以下符合C语言语法的实型常量是
A)1.2E0.5B)3.14.159E
C).5E-3D)E15
(3)以下4组用户定义标识符中,全部合法的一组是
A)_mainB)IfC)txtD)int
enclude-maxREALk_2
sinturbo3COM_001
(4)若以下选项中的变量已正确定义,则正确的赋值语句是
A)x1=26.8%3B)1+2=x2
C)x3=0x12D)x4=1+2=3;
(5)设有以下定义
#defined2
inta=0;
doubleb=1.25;
charc='A';
则下面语句中错误的是
A)a++;B)b++C)c++;D)d++;
(6)设有定义:
floata=2,b=4,h=3;,根据以下C语言表达式与出与之等价的代数式形式:
A)(a+b)*h/2______________
B)(1/2)*(a+b)*h______________
C)(a+b)*h*1/2______________
D)h/2*(a+b)______________
(7)有以下程序
main()
{intx=102,y=012;
printf("%2d,%2d\n",x,y);}
执行后输出结果是
A)10,01B)02,12
C)102,10D)02,10
(8)以下4个选项中,不能看作一条语句的是
A){;}B)a=0,b=0,c=0;
C)if(a>0);D)if(b==0)m=1;n=2;
(9)设有定义:
inta,*pa=&a;以下scanf语句中能正确为变量a读入数据的是
A)scanf("%d",pa)
B)scanf("%d",a)
C)scanf("%d",&pa)
D)scanf("%d",*pa)
(10)以下程序段中与语句k=a>b?
(b>c?
1:
0):
0;功能等价的是
A)if((a>b)&&(b>c))k=1;
elsek=0;
B)if((a>b)||(b>c))k=1
elsek=0;
C)if(a<=b)k=0;
elseif(b<=c)k=1;
D)if(a>b)k=1;
elseif(b>c)k=1;
elsek=0;
(11)有以下程序
main()
{chark;intI;
for(i=1;i<3;i++)
{scanf("%c",&k);
switch(k)
{case‘0':
printf("another\n");
case‘1':
printf("number\n");}
}}
程序运行时,从键盘输入:
01<回车>,程序执行后的输出结果是:
(12)有以下程序
main()
{intx=0,y=5,z=3;
while(z-->0&&++x<5)
y=y-1;
printf("%d,%d,%d\n",x,y,z);}
程序执行后的输出结果是
A)3,2,0B)3,2,-1
C)4,3,-1D)5,-2,-5
(13)有以下程序
main()
{inti,s=0;
for(i=1;i<10;i+=2)
s+=i+1;
printf("%d\n",s);}
程序执行后的输出结果是
A)自然数1~9的累加和
B)自然数1~10的累加和
C)自然数1~9中的奇数之和
D)自然数1~10中的偶数之和
(14)有以下程序
main()
{inti,n=0;
for(i=2;i<5;i++)
{do
{if(i%3)continue;
n++;
}while(!
i);
n++;
}
printf("n=%d\n",n);}
程序执行后的输出结果是
A)n=5B)n=2C)n=3D)n=4
(15)若程序中定义了以下函数
doublemyadd(doublea,doubleB)
{return(a+B)}
并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是
A)doublemyadd(doublea,B)
B)doublemyadd(double,double);
C)doublemyadd(doubleb,doubleA)
D)doublemyadd(doublex,doubley);
(16)有以下程序
charfun(charx,chary)
{if(x returny;} main() {inta='9',b='8',c='7'; printf("%c\n",fun(fun(a,b),fun(b,c)));} 程序的执行结果是 A)函数调用出错B)8 C)9D)7 (17)设有定义: intn=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是(此题多推敲一下,找出一个肯定正确的即可) A)p=1;B)*q=2; C)q=p;D)*p=5; (18)有以下程序 voidf(intv,intw) {intt; t=v;v=w;w=t;} main() {intx=1,y=3,z=2; if(x>y) f(x,y); else if(y>z) f(y,z); else f(x,z); printf("%d,%d,%d\n",x,y,z);} 执行后输出结果是 A)1,2,3B)3,1,2 C)1,3,2D)2,3,1 (19)有以下程序段 inta[10]={1,2,3,4,5,6,7,8,9,10}; int*p=&a[3],b; b=p[5]; b中的值是 A)5B)6C)8D)9 (20)有以下程序 main() {chara[]="abcdefg",b[10]="abcdefg"; printf("%d%d",sizeof(a),sizeof(b));} 执行后输出结果是 A)77B)88C)810D)1010 (21)有以下程序 voidswap1(intc[]) {intt; t=c[0];c[0]=c[1];c[1]=t;} voidswap2(intc0,intc1) {intt; t=c0;c0=c1;c1=t;} main() {inta[2]={3,5},b[2]={3,5}; swap1(a); swap2(b[0],b[1]); printf("%d%d%d%d\n",a[0],a[1], b[0],b[1]);} 其输出结果是 A)5353B)5335 C)3535D)3553 (22)有以下程序 voidsum(int*a) {a[0]=a[1];} main() {intaa[10]={1,2,3,4,5,6,7,8,9,10}; inti; for(i=2;i>=0;i--) sum(aa); printf("%d\n",aa[0]);} 执行后的输出结果是 A)4B)3C)2D)1 (23)有以下程序 intf(intb[][4]) {inti,j,s=0; for(j=0;j<4;j++) {i=j; if(i>2)i=3-j; s+=b[j];} returns;} main() {inta[4][4]={{1,2,3,4},{0,2,4,5}, {3,6,9,12},{3,2,1,0}}; printf("%d\n",f(a));} 执行后的输出结果是 A)12B)11C)18D)16 (24)有以下定义 #include chara[10],*b=a; 不能给数组a输入字符串的语句是 A)gets(a);B)gets(a[0]); C)gets(&a[0]);D)gets(b); (25)有以下程序 main() {char*p[10]={"abc","aabdfg","dcd be","abbd","cd"}; printf("%d\n",strlen(p[4]));} 执行后输出结果是 A)2B)3C)4D)5 (26)有以下程序 inta=2; intf(int*A) {return(*A)++;} main() {ints=0; {inta=5; s+=f(&a)} s+=f(&a) printf("%d\n",s);} 执行后输出结果是 A)10B)9C)7D)8 (27)有以下程序 #definef(x)x*x main() {inti; i=f(4+4)/f(2+2); printf("%d\n",i);} 执行后输出结果是 A)28B)22C)16D)4 (28)设有以下语句 typedefstructS {intg;charh;}T; 则下面叙述中正确的是 A)可用S定义结构体变量 B)可以用T定义结构体变量 C)S是struct类型的变量 D)T是structS类型的变量 (29)有以下程序 strucSTU {charname[10]; intnum;}; voidf1(structSTUc) {structSTUb={"LiSiGuo",2042}; c=b;} voidf2(structSTU*c) {structSTUb={"SunDan",2044}; *c=b;} main() {structSTUa={"YangSan" 2041},b={"WangYin",2043}; f1(a); f2(&b) printf("%d%d\n",a.num,b.num);} 执行后的输出结果是 A)20412044B)20412043 C)20422044D)20422043 (30)有以下程序 main() {unsignedchara,b; a=4|3; b=4&3; printf("%d%d\n",a,b);} 执行后输出结果是 A)70B)07C)11D)430 (31)下面程序的功能是输出以下形式的金字塔图案是: * *** ***** ******* main() {inti,j; for(i=1;i<=4;i++) {for(j=1;j<=4-i;j++) printf("");/*输出一空格*/ for(j=1;j<=_______;j++) printf("*"); printf("\n");} } 在下划线处应填入的是 A)iB)2*i-1C)2*i+1D)i+2 (32)有以下程序其输出结果是 voidsort(inta[],intn) {inti,j,t;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 基础 练习
![提示](https://static.bdocx.com/images/bang_tan.gif)