C复习题.docx
- 文档编号:11957777
- 上传时间:2023-04-16
- 格式:DOCX
- 页数:17
- 大小:30.45KB
C复习题.docx
《C复习题.docx》由会员分享,可在线阅读,更多相关《C复习题.docx(17页珍藏版)》请在冰豆网上搜索。
C复习题
一、选择题(每题3分,计60分)
1、下面有关for循环的正确描述是(D)。
A.for循环只能用于循环次数已经确定的情况
B.for循环是先执行循环体语句,后判断表达式
C.在for循环中,不能用break语句跳出循环体
D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来。
2、以下能正确地定义整型变量a,b和c并为其赋初值5的语句是(C)
A.inta=b=c=5;B.inta,b,c=5;
C.inta=5,b=5,c=5;D.a=b=c=5;
3、逻辑运算符两侧运算对象的数据类型(D)
A.只能是0和1B.只能是0或非0的正数
C.只能是整型或字符型数据D.可以是任何类型的数据
4、下列运算符中优先级别最高的是(B)
A. 5、为了避免嵌套的if…else语句的二义性,c语言规定else总是与(C)组成配对关系。 A.缩排位置相同的ifB.在其之前未配对的if C.在其之前未配对的最近的ifD.同一行上的if 6、程序段如下: 则以下说法中正确的是: (D)。 intk=5; do { k--; }while(k<=0); A.循环执行5次B.循环是无限循环 C.循环体语句一次也不执行D.循环体语句执行一次 7、判断char型变量c1是否为小写字母的正确表达是(D) A.‘a’<=c1<=’z’B.(c1>=a)&&(c1<=z) C.(‘a’>=c1)||(‘z’<=c1)D.(c1>=’a’)&&(c1<=’z’) 8、C语言中,char类型数据占(A) A.1个字节B.2个字节C.4个字节D.8个字节 9、以下关于数组的描述正确的是(C)。 A.数组的大小是固定的,但可以有不同的类型的数组元素。 B.数组的大小是可变的,但所有数组元素的类型必须相同。 C.数组的大小是固定的,但所有数组元素的类型必须相同。 D.数组的大小是可变的,但可以有不同的类型的数组元素。 10、在定义inta[10];之后,对a的引用正确的是(D)。 A.a[10]B.a[6.3]C.a(6)D.a[10-10] 11、以下能正确定义数组并正确赋初值的语句是(D)。 A.intn=5,b[n][n];B.inta[1][2]={{1},{3}}; C.intc[2][]={{1,2},{3,4}}D.inta[3][2]={{1,2},{3,4}}; 12、在执行inta[][3]={1,2,3,4,5,6};语句后,a[1][0]的值是(A)。 A.4B.1C.2D.5 13、下面变量说明语句中,正确的是(D) A.char.abc;B.chara;b;c; C.intx;zD.intx,y; 14、下列数据中,为字符串常量的是(B) A.AB.“house”C.Howdoyoudo.D.$abc 15、不仅可将C源程序存在磁盘上,还可将数据按数据类型分别以(C)形式存在磁盘上。 A.内存B.缓冲区C.文件D.寄存器 16、已知x=43,ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&! y)的值是(C)。 A.0B.语法错C.1D.“假” 17、C语言的注释界定符是(D)。 A.{}B.[]C.\**\D./**/ 18、若inta,bscanf(“%d%d”,&a,&b);不可以用(A)作为输入的分隔符。 A.,B.空格键C.回车D.Tab键 19、在C语言中,引用数组元素时,其数组下标的数据类型允许是(B)。 A.整型常量B.整型表达式C.整型变量D.任何类型表达式 20、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符(C) A.必须为字母B.必须为下划线 C.必须为字母或下划线D.可以是字母、数字和下划线中任一字符 21、以下四项中属于C语言关键字的是(C) A.CharB.defineC.unsignedD.return 22、以下选项中属于C语言的数据类型是(C) A.复数型B.逻辑型C.双精度型D.集合型 23、下列常数中不能作为C语言的常量的是(C) A.0xA5B.2.5e-2C.3e2D.0582 24、能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为追假”的表达式是(C) A.(x>=1)&&(x<=10)&&(x>=200)&&(x<=210) B.(x>=1)||(x<=10)||(x>=200)||(x<=210) C.(x>=1)&&(x<=10)||(x>=200)&&(x<=210) D.(x>=1)||(x<=10)&&(x>=200)||(x<=210) 25、设a=12,且a定义为整型变量。 执行语句a+=a-=a*=a;后a的值为(C)。 A.12B.144C.0D.132 26、以下程序段的输出结果是(C)。 inta=12345;printf(“%2d\n”,a); A.12B.34C.12345D.提示错误,无结果 27、程序段如下: 则以下说法中正确的是: (C)。 intk=-20; while(k=0)k=k+1; A.while循环执行20次B.循环是无限循环 C.循环体语句一次也不执行D.循环体语句执行一次 28、C语言中用于结构化程序设计的三种基本结构是(A)。 A.顺序结构、选择结构和循环结构B.if、switch、break C.for、while、do-whileD.if、for、continue 29、以下叙述中正确的是(A) A.C程序中注释部分可以出现在程序中任意合适的地方 B.花括号“{”和“}”只能作为函数体的定界符 C.构成C程序的基本单位是函数,所以函数名都可以由用户命名 D.分号是C语句之间的分隔符,不是语句的一部分 30、以下说法中正确的是(C) A.C语言程序总是从第一个函数开始执行 B.在C语言程序中,要调用的函数必须在main()函数中定义 C.C语言程序总是从main()函数开始的执行 D.C语言程序中main()函数必须放在程序的开始部分 31、以下说法中正确的是(C) A.C程序书写时,不区分大小写字母 B.C程序书写时,一行只能写一个语句 C.C程序书写时,一个语句可分成几行书写 D.C程序书写时每行必须有行号 32、以下说法不正确的是(C) A.一个C源程序可由一个或多个函数组成 B.一个C源程序必须包含一个main函数 C.在C程序中,注释说明只能位于一条语句的后面 D.C程序的基本组成单位是函数 33、以下关系运算符优先顺序描述中正确的是(C) A.关系运算符<算术运算符<赋值运算符<逻辑运算符B.逻辑运算符<关系运算符<算术运算符<赋值运算符 C.赋值运算符<逻辑运算符<关系运算符<算术运算符D.算术运算符<关系运算符<逻辑运算符<赋值运算符 34、设x,y,z都是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是(D) A.‘x’&&’y’B.x<=y C.x||y+z&&! yD.! (x z||1) 35、选择中的条件与循环结构中循环成立的条件,在写法上可以是任一表达式,但其值只能被判断为“真”或者“假”。 哪个作为逻辑“假”值(D)。 A.-1B.1C.非零的数D.0 36、已知字母A的ASCⅡ码为十进制数为65,且c2为字符型,则执行语句c2=’A’+’6’-‘3’后,c2中的值为(A) A.DB.68C.不确定的值D.C 37、在C语言中,int、char和short三种类型数据在内存中所占用的字节数(D) A.由用户自己定义B.均为2个字符 C.是任意的D.由所用机器的机器字长所定 38、设C语言中,int类型数据占2个字节,则long类型数据占(C)。 A.1个字节B.2个字节C.4个字节D.8个字节 39、以下标识符中,不能作为合法的C用户定义标识符的是(C)。 A.answerB.toC.signedD._if 40、下面不正确的字符串常量是(A)。 A.‘abc’B.“12’12”C.“0”D.““ 41、以下运算符中,优先级别最高的运算符是(C)。 A.*=B.>=C.(类型)D.+ 42、下列程序的输出结果是(B) Main() {charc1=97,c2=98; Printf(“%d%c”,c1,c2); } A.9798B.97bC,a98D,ab 43、putchar函数可以向终端输出一个(D) A.整型变量表达式B.字符串 C.实型变量值D.字符或字符型变量值 44、用C语言编写的代码程序(B) A.可立即执行B.是一个源程序 C.经过编译即可执行D.经过编译解释才能执行 45、以下不正确的C语言标识符是(D) A.intB.a_1_2C.ablexeD.-x 46、若希望当A值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是(C) A.A%2==1B.! (A%2==0)C.! (A%2)D.A%2 12、设有: inta=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c A.0B.2C.3D.4 47、设x、y、z、t均为int型变量,则执行以下语句后,t的值为(C) x=y=z=1; t=++x||++y&&++z; A.不确定B.4C.3→1D.0 48、已知inta=1,b=2,c=3;以下语句执行后a,b,c的值是(B) if(a>b) c=a;a=b;b=c; A.a=1,b=2,c=3B.a=2,b=3,c=3 C.a=2,b=3,c=1D.a=2,b=3,c=2 49、以下对一维数组a的定义中正确的是(C)。 A.chara(10); B.inta[0..100]; C.inta[5];D.intk=10;inta[k] 50、以下说法正确的是(D)。 A.输入项可以是一个实型常量,如scanf(“f”,3.5); B.只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”); C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f); D.当输入数据时,必须指明变量的地址,如scanf(“%f”,&f); 二、填空题(每空2分,计10分) 1、若有说明语句: intx=1,y=0;表达式(x<=y++)? ‘a’: ‘A’的结果是___A____。 2、在程序运行过程中,其值不能改变的量称之为______常量______,其值可以改变的量称之为_____变量________。 3、常用的循环结构语句有while、_____do-while_______和_______for_____。 4、赋值运算符的作用是将一个数据赋给一个______变量_______。 5、break语句只能用于______循环_______语句和______switch_______语句中。 6、在一个C源程序中,注释部分两侧的分界符分别是____/*____和___*/_____。 7、在C语言中,每个程序都必须有一个_______main______函数。 8、printf函数的“格式控制”包括两部分,它们是_____格式说明符________和______普通字符_______。 9、条件运算符是C语言中唯一的一个____三_____目运算符,其结合性为_____左结合性________。 10、表达式的(int)3.1415926的值是______3_______。 11、一个合理的标识符只能由字母、数字和下划线组成,且第一个字符必须为____字母_________或______下划线_______。 12、在C语言中,字符型数据和整型数据之间可以通用,一个字符数据既能以_____字符________输出,也能以______整数_______输出。 13、在循环结构中,用于强制退出循环的语句是_____break________。 14、C语言程序的语句结束符是____;____。 三、读程序,写出运行结果。 (每题5分,计10分) 1、voidmain() { charch[3][5]={"AAAA","BBB","CC"}; printf("\"%s\"\n",ch[1]); } BBB回车 2、main() {charx=‘B’; switch(x) {case‘A’: printf(“ItisA.\n”); case‘B’: printf(“ItisB.\n”); case‘C’: printf(“ItisC.\n”); default: printf(“other.\n”); } } ItisB. ItisC. other. 3、#include main() {inti,m=1; for(i=5;i>=1;i--) { m=(m+1)*2; printf("m=%d\n",m); }} m=4 m=10 m=22 m=46 m=94 4、#include voidmain() {inti,j,m,n; i=8; j=10; m=++i; n=j++; printf("%d,%d,%d,%d\n",i,j,m,n); } 9,11,9,10 5、voidmain() {inta[3][3]={1,3,5,7,9,11,13,15,17}; intsum=0,i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) {a[i][j]=i+j; if(i==j) sum=sum+a[i][j];} printf("sum=%d",sum);} sum=6 6、下列程序段执行后k值为。 intk=0,i,j; for(i=0;i<5;i++) for(j=0;j<3;j++) k=k+1; 15 四、根据要求,编写程序。 (每题10分,计20分) 1、编写程序,用来判断某一年是否为闰年。 #include main() { inty; printf("Inputyear: "); scanf("%d",&y); if(y%400==0||y%4==0&&y%400==1) printf("ItisLeapYear! \n"); else printf("ItisnotLeapYear! \n"); } 2、求1! +2! +3! +……+n! #include main() { inti,j,n; longp=1,sum=0; printf("inputn="); scanf("%d",&n); for(i=1;i<=n;i++) { p=1; for(j=1;j<=i;j++) p*=j; sum+=p; } printf("1! +2! +3! +...+n! =%ld\n",sum); }_ 3、 #include main() { inti,j; longp=1,sum=0; for(i=1;i<=20;i++) { p=1; for(j=1;j<=i;j++) p*=j; sum+=p; } printf("1! +2! +3! +...+20! =%ld\n",sum); }_ 4、任意给定10个整数,由用户输入一个数,查找并统计这个数在这10个整数中出现的次数,并输出次数,若未找到,则显示未找到。 #include main() { inta[10]; inti,c,n=0; printf("Pleaseinputtennumbers: "); for(i=0;i<10;i++) scanf("%d",&a[i]); printf("Pleaseinputanumber: "); scanf("%d",&c); for(i=0;i<10;i++) if(c==a[i]) n++; if(n==0) printf("Notfound! \n"); else printf("n=%d\n",n); } 5、求100以内能被7整除的自然数之和。 #include main() { inti,sum=0; for(i=0;i<=100;i++) if(i%7==0) sum=sum+i; printf("sum=%d\n",sum); } 6、任意输入10个数构成一维数组,求其中的最大值和最小值。 #include main() { inta[10],max,min,i; printf("Pleaseinputtennumbers: "); for(i=0;i<10;i++) scanf("%d",&a[i]); max=min=a[0]; for(i=0;i<10;i++) {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 复习题