还剩18页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
二、类型及表达式一)合法的标志符例题1.是合法的用户自定义标识符的DAah-spksBdoubleCctrlD_myapple2.以下正确的C语言标识符是(C)A)%xBa+bCa123Dtest!3.以下不能定义为用户标识符的是CAVoidBb_2CintDname二)合法的整型常量例题1.以下选项中可作为C语言合法整数的是DA11010BB0583Cx2b2D0xafb三)合法的实型常量例题1.以下选项中可作为C语言合法常量的是(A)A)-
80.B)-080C)-8e
1.0D)-
80.0e四)合法的字符型常量例题1.设有说明语句:chara=’\123’;则变量aAA包含1个字符B包含2个字符C3个字符D说明不合法2.C语言中,“\x5d”在内存中占用的字节数是( A )A2B5C4D13.字符串“\t\x42\\bcd\n”的长度是( A ) A7B10C12D13五)各种基本类型变量所占的字节数例题1.下列式中,值不为4的表达式是(C)A)sizeofunsignedlongBsizeoflongCsizeofunsignedintDsizeoffloat六)合法的表达式例题1.设变量a、b、c已定义并赋值,则下列表达式中符合C语言语法规则的是(BC)A)a=5++Ba=b=c++Ca%=2Db=a+1=2七)表达式的值例题1.设整型变量a的值为2,下列表达式值为1的是(C)A)a%3Ba/3C--aDa++2.下列表达式的值为0的是( A )A7/8B7%8C7/
8.0D783.设floatm=
4.0n=
4.0;使m为
10.0的表达式是( D )Am-=n*
2.5Bm/=n+9Cm*=n-6Dm+=n+24.逗号表达式(a=4*5a*2)a+15的值是( A )A35B40C55D20八)++、--运算例题当i=4j=5时,表达式3-i++*4+--j的值如何,ij的值多少?表达式值为-9,i=5,j=4九)表达式的类型例题1.下列式中,最终运算结果的数据类型不是双精度的表达式的是(A)A)int3+
3.0B1e-3Cdouble3Dint
3.0+
3.0
二、顺序结构例题
1.putchar函数可以向终端输出一个( D )A)整数 B)实数 C)字符串 D)字符二)printf和scanf语句的使用方法例题
1.设有语句scanf%d%d”mn;要使m、n的值依次是
2、3,正确是输入是(B)A)23B)2,3C)2;3D)
22.设变量定义为intab;执行下列语句时输入B则a和b的值都是10scanf“%d%d”ab;A1010B1010Ca=10b=10Da=10b=
103.有以下程序main{intmnp; scanfm=%dn=%dp=%dmnp; printf%d%d%d\nmnp;}若想从键盘上输入数据使变量m中的值为123n中的值为456p中的值为789则正确的输入是( A )A)m=123n=456p=789 B)m=123n=456p=789C)m=123n=456p=789 D)123456789例题
1.有如下程序段:inta=3b=15;floatf=
7.5;printf“%.1f”floata+b/2+intf%3;执行该程序段后运算结果为(B)A)
11.5B
11.0C11D
12.0
三、选择结构一)关系表达式、逻辑表达式和条件表达式例题
1.在C程序中用B表示逻辑”真”A1B非0的数C非1的数D大于0的数
2.若有定义intx=2y=3z=4;则表达式!x+y+z-1y+z%2的值为( C ) A4B0C1D
23.设inta=0b=0c=0;c=++a||b++;则a、b、c值分别为(d) A)010B)111C)110D)
1014.执行语句:inta=1b=0c;c=a0||++b;后b的值为aA0B1C2D不确定
5.设intxyz=4;x=y=++z;x=yzx+2:x++;则x的值是(C)A)4B)5C)6D)
76.为表示关系xy=z则正确的c语言表达方式为( C )Axy=zBxyandy=zCyxy=zDxyy=z
7.若变量ch为char类型,能正确判断出ch为大写字母的表达式是(D)A)’A’=CH=‘Z’Bch=’A’||ch=’Z’C‘A’=chand‘Z’=chDch=’A’ch=’Z’二)if语句例题1.有以下程序main{inta=0,b=0,c=0,d=0;ifa=1b=1;c=2;elsed=3;printf%d%d%d%d\nabcd;}程序输出( D )A0,1,2,0 B0003 C1120 D编译有错2.以下程序运行后的输出结果是 4599 main{ inta=3b=4c=5t=99; ifbaact=a;a=c;c=t; ifacbct=b;b=a;a=t; printf%d%d%d\nabc;}三)switch语句
(1)switch的执行过程
(2)break的用法例题1.#includestdio.hmain{intx=1y=1a=0b=0;switchx{case1:switchy{case0:a++;case1:b++;case2:b++;break;}case2:a++;b++;break;case3:a++;b++;}printf“a=%db=%d\n”ab;}输出结果a=1b=32.#includestdio.h输入3210 main{charc;whilec=getchar!=’\n’{switchc-‘1’{case0:case1:putcharc+2;case2:putcharc+3;break;case3:putcharc+4;default:putcharc+1;break;}printf“\n”;}}输出结果645341四)算法输入出租车里程S,输出应付车费FS和F的关系如下#includestdio.hvoidmain{floatSF;scanf“%f”S;ifS=3F=8;elseF=8+S-3*2;printf“F=%f\n”F;}
四、循环结构一)循环条件均以条件为真(非0)进行循环,以条件为假
(0)结束循环)例题
1.以下叙述正确的是(D)A)do-while语句构成的循环不能用其它语句构成的循环来代替B)do-while语句构成的循环只能用break语句退出C)do-while语句构成的循环,在while后的表达式为非零时结束循环D)do-while语句构成的循环,在while后的表达式为零时结束循环
2.设有程序段 intk=10;whilek=0k=k-1;则循环体执行的次数为( C)A)10次 B)9次 C)0次 D)1次
3.下列D循环不是无限循环Afory=0;x=1;++y;Bfor;;x=0;Cwhilex=1{x=1;}Dfory=0x=1;x++y;x++二)三种循环的执行流程例题
1.设变量y值为3执行下列循环语句后,变量y的值的是(C)doy++;whiley++4;A)3B)4C)5D)
62.执行语句forI=1;I++4;;后变量I的值是CA3B4C5D0三)循环嵌套的执行次数例题1.#include“stdio.h”voidmain{intIj;forI=0;I=3;I++{forj=0;jI;j++printf”%d”I;printf“*\n”;}}输出结果*1*22*333*四)break和continue的用法例题1.有以下程序voidmain{inta=1b;forb=1;b=10;b++{ifa=8break;ifa%2==1{a+=5;continue;}a-=3;}printf%d\nb;}输出结果42.#includestdio.hvoidmain{intIm=0n=0k=0;forI=5;I=7;I++switchi/6{case0:m++;n++;case6:n++;break;default:k++;n++;}printf“%d%d%d\n”mnk;}输出结果142算法略
五、数组一)数组语法
1.数组定义为inta
[10]
[10];,则数组a有(A)个数组元素A)100B)81C)20D)
1212.以下一维数组a的正确定义是(D)A)inta10;Bintn=10a[n];Cintn;D#defineN10Scanf“%d”n;inta[N];Inta[n];
3.设有语句”inta[]={345987};”则表达式a
[1]-a
[4]的值是(C)A)-6B)6C)-4D)
24.以下不能正确定义二维数组的是( D )Ainta
[2]
[2]={{4}{5}};Binta[]
[2]={4567};Cinta
[2]
[2]={{4}56};Dinta
[2][]={{45}.{67}};二)字符串例题1.以下程序的输出结果是(B)#includestdio.h#includestring.hmain{charst
[20]=”2000\0\t\\”;printf“%d%d\n”strlenstsizeofst;}A77B420C1020D20202.要将字符串a连接到字符串b后面,使用下面(D)语句A)strcpyab;Bstrcatab;Cstrcpyba;Dstrcatba三)算法例题1.已知字符串chars
[50]=”Iamstudent.”,请编写程序将字符a插入到student之前,结果为“Iamastudent”程序如下#includestdio.h#includestring.hvoidmain{cars
[50]=”Iamstudent.”;intjlen;len=strlens;s[len+1]=’\0’forj=len-1;j=3;j--s[j+1]=s[j];s
[3]=’\0’putss;}2.有一个3×4的矩阵,要求编程以求出其中值最大的那个元素,以及它所在的行号和列号程序如下#includestdio.hvoidmain{intijrowcolmax;staticinta
[3]
[4]={{3518}{64117}{93102}};max=a
[0]
[0];fori=0;i_3_;i++/*$BLANK1$*/forj=0;j4;j++ifa[i][j]max/*$BLANK2$*/{max=_a[i][j]__;/*$BLANK3$*/row=i;col=j;}printfmax=%drow=%dcol=%d\nmaxrowcol;}
六、函数一)函数语法例题
1.在C程序中,若对函数类型未加说明,则函数的隐含类型为(A)A)intBdoubleCvoidDchar
2.C语言中的函数(D)A)可以嵌套定义B)不可以嵌套调用C)可以嵌套定义,但不能递归调用D)嵌套调用和递归调用都可以
3.有以下函数定义voidfunintndoublex{…………}下面函数调用正确的是 A AfunxnBk=fun
1012.5CfunintxdoubleyDvoidfunnx
4.有以下程序#defineN20funinta[]intnintm{intij;fori=m;i=n;i--a[i+1]=a[i];}main{intia[N]={12345678910};funa29;fori=0;i5;i++printf%da[i];}程序运行后的输出结果是CA)10234B)12344C)12334D)
122345.有以下程序voidsuminta[]{a
[0]=a[-1]+a
[1];}main{inta
[10]={12345678910};suma
[2];printf%d\na
[2];}程序运行后的输出结果是AA)6B)7C)5D)
86.以下程序运行后的输出结果是43344343二)递归函数例题【程序1】#include”stdio.h”intfunintn{ifn10returnn;elsereturnn%10*funn/10;}main{printf“%d”fun218;}运行结果16【程序2】#includestdio.hlongfunintn{longs;ifn==1||n==2s=2;elses=n+funn-1;returns;}voidmain{printf“\n%ld”fun5;}运行结果14三)变量的作用域和存储类型(见课件)例题
1.C语言auto型变量是AA存储在动态存储区中B存储在静态存储区中C存储在外存储器中D存储在计算机CPU的寄存器中【程序1】intw=2;intfintx{inty=1;staticintz=3;y++;z++;returnx+y+z;}main{intk;fork=0;k3;k++printf“%4d”fw++;}运行结果81012【程序2】以下程序运行后的输出结果是funinta{intb=0;staticintc=3;b++;c++;returna+b+c;}main{intia=5;fori=0;i3;i++printf%d%difuna;printf\n;}运行结果010111212
七、指针例题1.设有定义ints[]={13579}*p=s
[0];则值为7的表达式是(C)A)*p+3B*p+4C*p+3D*p+42.若有以下定义,则值为4的表达式是(A)inta[]={12345678910}*p=a;Ap+=3*p++Bp+=3*++pCp+=4*p++Dp+=4++*p3.若有定义及赋值inta
[10]={0123456789}*p;p=a;则引用a中的值是5的元素的表达式为(C)Aa
[4]B*p+4C*a+5D*p
[5]4.设intx[]={123456}*p=x;则值为3的表达式是(A)Ap+=2*p++Bp+=2*++pCp+=3Dp+=2++*p5.若有定义及赋值:inta
[5]
[5]*p
[5];p=a;则下列各式中表示地址的表达式为(C)Aa
[3]
[3]B**p+1Ca
[2]+2D**a+3+16.设有一下语句inta
[4]
[2]={12345678};则**a+2+1 DA3B4C5D6四)字符串及字符串数组涵义例题1.不正确的赋值或赋初值方式是(B)A)charstr[]=”Hell02006”Bcharstr
[20];str=”Hell02006”;Cchar*p=”Hell02006”Dchar*p;p=”Hell02006”2.下列语句中合法的数组定义是( D)Achara
[3][]={‘abc’’12’”fox”}Bchara[]
[3]={‘abc’’12’”cd”}Cchara
[3][]={‘a’”12””fox”}Dchara[]
[3]={“a””12””cd”}3.以下语句或语句组中,能正确进行字符串赋值的是DA)char*sp;*sp=right!;B)chars
[10];s=right!;C)chars
[10];*s=right!;D)char*sp=right!;
八、宏定义、结构体与共用体一)宏定义例题
1.运行程序#defineTapX2*X+1main{inta=6k=2m=1;a+=Tapk+m;printf“%d\n”a;}则输出结果是(A)A)12B)13C)7D)
62.对于以下宏定义#defineMxx*x#defineNxyMx+My宏调用N22+5执行后,值为(A)A21B16C9D19二)结构体例题1.设有结构体及其数组和指针变量的定义语句struct{intx;}y
[2]*p=y;则下列表达式中不正确的表示结构体成员的是BA*p.xBp+
1.xCy
[0].xDy
[1]-x2.设有定义structst{intx;floaty;}time*t;t=time;则对于time中成员x的正确引用是CBt.xC*t.xDtime-x三)共用体例题1.若定义unionex{intI;floatf;chara
[10];}x;则sizeofx的值是CA4B6C10D162.设有下列结构型变量w的定义则表达式”sizeofw”的值是( C )struct{longnum;charname
[15];union{floaty;shortz;}yz;}w;A19B20C23D25四)typedef例题1.以下语句中,指针p的data域正确的引用方式为(B)typedefstructnode{intdata;structnodelchilerchild;}Btree;Btree*p;A)p.dataBp-dataC*p-dataDp[data]2.设有如下说明typedefstructST{longa;intb;charc
[2];}NEW;则下面叙述中正确的是CA)以上的说明形式非法B)ST是一个结构体类型C)NEW是一个结构体类型D)NEW是一个结构体变量3.以下对结构体类型变量td的定义中,错误的是CA)typedefstructaaB)structaa{{intn;intn;floatm;floatm;}AA;};AAtd;structaatd;C)structD)struct{{intn;intn;floatm;floatm;}aa;}td;structaatd;
九、位运算例题请计算(题有变)46=43|5=7~4=-552=152=20
十、文件例题1.为了向二进制文件尾部追加内容,打开文件的方式应采用AA‘ab’B‘rb+’C‘wb’D‘wb+’2.设有下面结构体 structst{charname
[8];intnum;floats
[4];}student
[50];若数组student中已有数据,将这些元素写到磁盘文件中,下列不正确的形式是(C)A)fwritestudentsizeofstructst50fp;B)fwritestudent50*sizeofstructst1fp;C)fwritestudent25*sizeofstructst25fp;D)forI=0;I50;I++fwritestudent+isizeofstructst1fp;3.当顺利地执行了文件关闭操作时,fclose的返回值是( C )A-1 B)TURE C0D1模拟试卷1答案
1、选择题40分1-5CBACD6-10BDCAA11-15CADDC16-20ABDBC21-25CDBDC26-30ABCCB31-35DCBBD36-40CCBCA
2、填空题(每空2分,共20分)1.F102.
11.53.304.25.36.123457.ef8.169.feoffp10.
73、阅读理解题1.352.3,43.2284.355.
294、编程题1.#includestdio.hvoidmain{inti;floats;fori=1;i=99;i=i+2{s=s+
1.0/i;}printf“%
10.2f”s;}2.#includestdio.hvoidmain{intijk;fori=5;i=1;i--{forj=1;j=i;j++printf““;fork=1;k=i;k++printf“%d”i;printf“\n”;}}3.#includestdio.h#includestring.hmain{chars
[100];inti;getss;i=1;whiles[i]!=’\0’{ifs[i]s[i-1]break;i=i+1;}ifs[i]==’\0’printf“yes”;elseprintf“no”;}模拟试卷2答案
1、选择题40分1-5ADCBA6-10CDACB11-15CACBA16-20DADCC21-25CAABC26-30BDBBB31-35BADBA36-40DCBDA
2、填空题(每空2分,共20分)1.十六2.183.int4.05.==6.07.208.Strcats1s29.1610.
13、阅读理解题1.65A2.23.104.55.-1565A
193.
1415903.
14164、编程题1.#includestdio.hvoidmain{intis=0;fori=5;i=500;i=i+52{s=s+i;}printf“%d”s;}2.#includestdio.hvoidmain{intijk;fori=1;i=5;i++{forj=5;j=i;j--printf““;fork=i;k=1;k--printf“%d”k;printf“\n”;}}3.#includestdio.hintmain{chars
[100]=”Hello2009Weareready.”;intn=0;inti=0;whiles[i]!=’\0’{ifs[i]=’z’s[i]=’a’{s[i]=s[i]-32;n=n+1;}elseifs[i]=’Z’s[i]=’A’n=n+1;i++;}putss;printf“N=%d”n;}模拟试卷3答案
1、选择题40分1-5AABAC6-10DBCDC11-15DBACD16-20BDCBA21-25BCBCD26-30ADDAB31-35BDABC36-40ACABD
2、填空题(每空2分,共20分)1.652.
56.83.144.
2.05.x=1x=36.67.Hello8.89.math.h10.
03、阅读理解题1.a=4b=5c=12.233.A4.15.
1526244、编程题1.#includestdio.hvoidmain{intis=0;fori=2009;i=9002;i=i+1{ifi%29==0||i%92==0s=s+i;}printf“s=%d”s;}2.#includestdio.hvoidmain{intikx;fori=1;i=4;i++{fork=1;ki;k++{ifi==4k==1x=2;elsex=0;printf“%d”x;}printf“9\n”;}}3.voidchangechars[]{inti=0;whiles[i]!=’\0’{ifs[i]=’A’s[i]’Z’||s[i]=’a’s[i]’z’s[i]=s[i]+1;ifs[i]==’Z’s[i]=’A’;ifs[i]==’z’s[i]=’a’;i=i+1;}}模拟试卷4答案
1、选择题40分1-5DACBD6-10CADCB11-15ACBBD16-20CDBAB21-25DDCCA26-30CDBAB31-35ABDCC36-40BACDA
2、填空题(每空2分,共20分)1.数字2.103.114.回车(Enter)5.!6.127.long8.
69.st.num=20100109;10.
173、阅读理解题1.Bb2.n=86grade=B3.
11235813213.
1415903.14164.Thestring:WORLDCPU2010!5.s=
104、编程题1.#includestdio.hvoidmain{floatSF;scanf“%f”S;ifS=3F=8;elseF=8+S-3*2printf“%
10.2f”F;}2.#includestdio.hvoidmain{intik;fori=1;i=5;i++{fork=1;k=i;k++printf“%d”k;printf“\n”;}}3.#includestdio.hvoidmain{inta
[10]={4621968715};intmini;min=a
[0];fori=1;i10;i++ifa[i]minmin=a[i];printf“最小值下标”;fori=0;i10;i++ifa[i]==minprintf“%d”i;}模拟试卷5答案
1、选择题40分1-5BACBD6-10CCDDA11-15CBCDA16-20CDCBD21-25CBACA26-30CACDB31-35DACBD36-40BCAAD
2、填空题(每空2分,共20分)1.选择结构2.413.
56.794.35.96.strcmp7.static8.H9.510.
03、阅读理解题1.2010isnotaleapyear!2.pass!3.num=44.n=4m=155.ABCDEFGHabCDefGHCDGH
4、编程题1.#includestdio.hvoidmain{intab;scanf“%d%d”ab;ifa%b==0printf“%d”a/b;elseprintf“5d…….%d”a/ba%b;}2.#includestdio.hvoidmain{ints=0t=0i;fori=1;i=5;i++{t=t*10+1;s=s+t;}printf“%d”s;}3.#includestdio.hintmain{ints
[10]mc
[10]={0};intij;fori=0;i10;i++{scanf%ds[i];}fori=0;i=9;i++{forj=0;j=9;j++ifs[j]s[i]mc[i]++;mc[i]=mc[i]+1;}fori=0;i=9;i++printf%5ds[i];printf\n;fori=0;i=9;i++printf%5dmc[i];}。