01月10日, 2015 5,523 次查看次
C语言期末总测试题
段段给源文件作了优化排版处理,说明如下:
1.修改了大量中英文标点问题;
2.使用了等宽字体,代码显示更规整;
3.代码全部重新排版,修改了大量扫描识别错误,如:l与1,一与-,十与+,及缺字错字多字,大小写错误,空格错误等等,大部分代码测试复制下来可以直接运行;
4.少量题目本身有问题或有缺陷,做了一些修改;
by 段育凯
2014年12月
下载地址:C语言总测试题(不含答案版)
下载地址:C语言总测试题(含答案版)
1.一个C程序的执行是从:
| 备注及演草: | ||||
您的答案:A |
2.以下叙述正确的是:
| 备注及演草: | ||||
您的答案:C |
3.以下叙述不正确的是:
| 备注及演草: | ||||
您的答案:D |
4.C语言规定,在一个源程序中,main函数的位置:
| 备注及演草: | ||||
您的答案:C |
5.一个C语言程序是由:
| 备注及演草: | ||||
您的答案:B |
6.在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为 :
| 备注及演草: | ||||
您的答案:A |
7.若x,i,j和k都是int型变量,则执行下面表达式后x的值为 :x=(i=4,j=16,k=32)
| 备注及演草: | ||||
您的答案:C |
8.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是:
| 备注及演草: | ||||
您的答案:B |
9.下列四组选项中,均不是C语言关键字的选项是 :
| 备注及演草: | ||||||||||||||||
您的答案:A |
10.下面四个选项中,均是C语言关键字的选项是:
| 备注及演草: | ||||||||||||||||
您的答案:B |
11.下面四个选项中,均是不合法的用户标识符的选项是:
| 备注及演草: | ||||||||||||||||
您的答案:C |
12.C语言中的标识符只能由字母、数字和下划线三种字符组成 ,且第一个字符:
| 备注及演草: | ||||
您的答案:C |
13.下面四个选项中 ,均是合法整型常量的选项是:
| 备注及演草: | ||||||||||||||||
您的答案:A |
14.下面四个选项中,均是不合法的整型常量的选项是:
| 备注及演草: | ||||||||||||||||
您的答案:D |
15.下面四个选项中 ,均是不合法的浮点数的选项是:
| 备注及演草: | ||||||||||||||||
您的答案:B |
16.下面四个选项中 ,均是合法浮点数的选项是:
| 备注及演草: | ||||||||||||||||
您的答案:B |
17.下面四个选项中,均是合法转义字符的选项是:
| 备注及演草: | ||||||||||||||||
您的答案:A |
18.下面四个选项中 ,均是不合法的转义字符的选项是:
| 备注及演草: | ||||||||||||||||
您的答案:B |
19.下面正确的字符常量是:
| 备注及演草: | ||||
您的答案:C |
20.下面四个选项中,均是不正确的八进制数或十六进制数的选项是:
| 备注及演草: | ||||||||||||||||
您的答案:D |
21.下面四个选项中 ,均是正确的八进制数或十六进制数的选项是:
| 备注及演草: | ||||||||||||||||
您的答案:C |
22.下面四个选项中,均是正确的数值常量或字符常量的选项是:
| 备注及演草: | ||||||||||||||||||||
您的答案:D |
23.下面不正确的字符串常量是:
| 备注及演草: | ||||
您的答案:A |
24.若有代数式3ae/bc,则不正确的C语言表达式是:
| 备注及演草: | ||||
您的答案:C |
25.已知各变量的类型说明如下:int k,a,b; unsigned long w=5; double x=1.42; 则以下不符合C语言语法的表达式是:
| 备注及演草: | ||||
您的答案:A |
26.已知各变量的类型说明如下:int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2; 则以下符合C语言语法的表达式是:
| 备注及演草: | ||||
您的答案:A |
27.以下不正确的叙述是:
| 备注及演草: | ||||
您的答案:D |
28.以下正确的叙述是:
| 备注及演草: | ||||
您的答案:D |
29.以下符合C语言语法的赋值表达式是:
| 备注及演草: | ||||
您的答案:B |
30.已知字母A的ASCII码为十进制数65,且c2为字符型 ,则执行语句c2=’A’+’6′-‘3’;后,c2中的值为:
| 备注及演草: | ||||
您的答案:A |
31.在C语言中,要求运算数必须是整型的运算符是:
| 备注及演草: | ||||
您的答案:D |
32.若以下变量均是整型 ,且num=sum=7;则执行表达式sum=num++,sum++,++num后sum的值为:
| 备注及演草: | ||||
您的答案:B |
33.在C语言中,int、char和short三种类型数据在内存中所占用的字节数 :
| 备注及演草: | ||||
您的答案:D |
34.若有说明语句 :char c=’\72’,则变量c:
| 备注及演草: | ||||
您的答案:A |
35.若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是 :
| 备注及演草: | ||||
您的答案:A |
36.sizeof(float)是:
| 备注及演草: | ||||
您的答案:B |
37.设变量a是整型 ,f是实型,i是双精度型,则表达式10+’a’+i*f值的数据类型为:
| 备注及演草: | ||||
您的答案:C |
38.下面四个选项中 ,均是非法常量的选项是:
| 备注及演草: | ||||||||||||||||
您的答案:A |
39.在C语言中,char型数据在内存中的存储形式是:
| 备注及演草: | ||||
您的答案:D |
40.设变量n为float类型 ,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是:
| 备注及演草: | ||||
您的答案:B |
41.表达式18/4*sqrt(4.0)/8值的数据类型为:
| 备注及演草: | ||||
您的答案:C |
42.设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为:
| 备注及演草: | ||||
您的答案:C |
43.设有说明:char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为:
| 备注及演草: | ||||
您的答案:D |
44.若有以下定义 ,则能使值为3的表达式是:int k=7,x=12;
| 备注及演草: | ||||
您的答案:D |
45.设以下变量均为int类型 ,则值不等于7的表达式是:
| 备注及演草: | ||||
您的答案:C |
46.putchar函数可以向终端输出一个:
| 备注及演草: | ||||
您的答案:D |
47.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 :
| 备注及演草: | ||||
您的答案:B |
48.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度小于5,则输出按方式:
| 备注及演草: | ||||
您的答案:C |
49.已有定义int a=-2;和输出语句 :printf(“%8lx”,a);以下正确的叙述是:
| 备注及演草: | ||||
您的答案:D |
50.若x,y均定义为int型 ,z定义为double型,以下不合法的scanf函数调用语句是:
| 备注及演草: | ||||
您的答案:D |
51.已有如下定义和输入语句,若要求a1,a2,c1,c2值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是:int a1,a2;char c1,c2; scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);
| 备注及演草: | ||||
您的答案:A |
52.已有定义int x;float y;且执行scanf(“%3d%f”,&x,&y);语句 ,若从第一列开始输入数据12345 678(回车),则x的值为:
| 备注及演草: | ||||
您的答案:B |
53.已有定义int x;float y;且执行scanf(“%3d%f”,&x,&y);语句 ,若从第一列开始输入数据12345 678(回车),则y的值为:
| 备注及演草: | ||||
您的答案:B |
54.已有如下定义和输入语句 ,若要求a1,a2,c1,c2的值分别为10,20,A,B,当从第一列开始输入数据时,正确的数据输入方式是:int a1,a2;char c1,c2;scanf(“%d%d”,&a1,&a2);scanf(“%c%c”,&c1,&c2);
| 备注及演草: | ||||
您的答案:D |
55.已有程序段和输入数据的形式如下 ,程序中输入语句的正确形式应当为:main(){int a;float f;printf(“\nInput number:”);输入语句 printf(“\nf=%f,a=%d\n ,f,a); } Input number:4.5 2<CR>
| 备注及演草: | ||||
您的答案:D |
56.根据定义和数据的输入方式 ,输入语句的正确形式为:已有定义:float f1,f2;数据的输入方式:4.523.5
| 备注及演草: | ||||
您的答案:B |
57.阅读以下程序,当输入数据的形式为25,13,10<CR>时,正确的输出结果为:main() { int x,y,z; scanf(“%d%d%d”,&x,&y,&z); printf(“x+y+z=%d\n,x+y+z); }
| 备注及演草: | ||||
您的答案:D |
58.阅读下程序,若运行结果为如下形式 ,输入输出语句的正确内容是:main(){int x;float y;printf(“enter x,y:”)输入语句 输出语句} 输入形式 enter x,y: 2 3.4 输出形式 x+y=5.40
| 备注及演草: | ||||
您的答案:B |
59.以下说法正确的是:
| 备注及演草: | ||||
您的答案:D |
60.根据下面的程序及数据的输入方式和输出形式,程序中输入语句的正确形式应该为:main() { char ch1,ch2,ch3; 输入语句 printf(“%c%c%c”,ch1,ch2,ch3); } 输入形式:A B C 输出形式:A B C
| 备注及演草: | ||||
您的答案:A |
61.有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b为3,c为2,从键盘输入数据的正确形式应当是 :
| 备注及演草: | ||||
您的答案:D |
62.以下能正确地定义整型变量a,b和c,并为其赋初值5的语句是 :
| 备注及演草: | ||||
您的答案:A |
63.已知ch是字符型变量 ,下面不正确的赋值语句是:
| 备注及演草: | ||||
您的答案:A |
64.已知ch是字符型变量,下面正确的赋值语句是:
| 备注及演草: | ||||
您的答案:B |
65.若有以下定义,则正确的赋值语句是:int a,b;float x;
| 备注及演草: | ||||
您的答案:B |
66.设x,y均为float型变量 ,则以下不合法的赋值语句是:
| 备注及演草: | ||||
您的答案:B |
67.x,y,z均为int型变量 ,则执行语句x=(y=(z=10)+5)-5;后,x,y和z的值是:
| 备注及演草: | ||||||||||||||||
您的答案:A |
68.逻辑运算符两侧运算对象的数据类型:
| 备注及演草: | ||||
您的答案:D |
69.下关于运算符优先顺序的描述中正确的是:A)关系运算符 < 算术运算符 < 赋值运算符 < 逻辑与运算符 B)逻辑与运算符 < 关系运算符 < 算术运算符 < 赋值运算符 C)赋值运算符 < 逻辑与运算符 < 关系运算符 < 算术运算符 D)算术运算符 < 关系运算符 < 赋值运算符 < 逻辑与运算符 | 备注及演草: |
您的答案:C |
70.下列运算符中优先级最高的是:
| 备注及演草: | ||||
您的答案:B |
71.能正确表示”当x的取值在[1,10]和[200,210]范围内为真 ,否则为假”的表达式是:
| 备注及演草: | ||||
您的答案:C |
72.表示图中坐标轴上阴影部分的正确表达式是://///| |//////| /////| |//////| —————————–>x a b c
| 备注及演草: | ||||
您的答案:C |
73.判断char型变量ch是否为大写字母的正确表达式是:
| 备注及演草: | ||||
您的答案:C |
74.设x,y和z是int型变量 ,且x=3,y=4,z=5,则下面表达式中值为0的是:
| 备注及演草: | ||||
您的答案: |
75.已知x=43,ch=’A’,y=0。则表达式(x>=y && ch<‘B’&&!y)的值是 :
| 备注及演草: | ||||
您的答案:C |
76.若希望当A的值为奇数时 ,表达式的值为“真”,A的值为偶数时表达式的值为”假”。则以下不能满足要求的表达式是:
| 备注及演草: | ||||
您的答案:C |
77.设有int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为:
| 备注及演草: | ||||
您的答案:B |
78.判断char型变量c1是否为小写字母 的正确表达式为:
| 备注及演草: | ||||
您的答案:D |
79.以下程序的运行结果是:#include “stdio.h” main() { int a,b,d=241; a=d/100%9; b=(-1)&&(-1); printf(“%d,%d”,a,b); }
| 备注及演草: | ||||
您的答案:B |
80.执行以下语句后a的值为:int a,b,c; a=b=c=1; ++a || ++b && ++c;
| 备注及演草: | ||||
您的答案:C |
81.执行以下语句后b的值为:int a=5,b=6,w=1,x=2,y=3,z=4; (a=w>x)&&(b=y>z);
| 备注及演草: | ||||
您的答案:A |
82.以下不正确的if语句形式是:
| 备注及演草: | ||||
您的答案:C |
83.下列运算符中优先级最低的是:
| 备注及演草: | ||||
您的答案:A |
84.以下if语句语法正确的是:
| 备注及演草: | ||||
您的答案:B |
85.请阅读以下程序:main() { int a=5,b=0,c=0; if(a=b+c) printf(“***\n”); else printf(“$$$\n”); } 以上程序:
| 备注及演草: | ||||
您的答案:D |
86.以下程序的运行结果是:main() { int m=5; if(m++>5) printf(“%d\n”,m); else printf(“%d\n”,m–); }
| 备注及演草: | ||||
您的答案:C |
87.当a=1,b=3,c=5,d=4,执行完下面一段程序后x的值是:if(a<b) if(c<d) x=1; else if(a<c) if(b<d) x=2; else x=3; else x=6; else x=7;
| 备注及演草: | ||||
您的答案:B |
88.以下程序的输出结果是:main() { int a=100,x=10,y=20,ok1=5,ok2=0; if(x<y) if(y!=10) if(!ok1) a=1; else if(ok2) a=10; a=-1; printf( “%d\n”,a); }
| 备注及演草: | ||||
您的答案:C |
89.以下程序的输出结果是:main() { int x=2,y=-1,z=2; if(x<y) if(y<0) z=0; else z+=1; printf(“%d\n”,z); }
| 备注及演草: | ||||
您的答案:B |
90.为了避免在嵌套的条件语句if-else中产生二义性 ,C语言规定else子句总是与( )配对。
| 备注及演草: | ||||
您的答案:B |
91.以下不正确的语句为:
| 备注及演草: | ||||
您的答案:B |
92.请阅读以下程序:#include<stdio.h> main() { float a,b; scanf(“%f”,&a); if(a<10.0) b=1.0/x; else if((a<0.5) && (a!=2.0)) b=1.0/(a+2.0); else if(a<10.0) b=1.0/x; else b=10.0; printf(“%f\n”,y); } 若运行时输入2.0(回车),则上面程序的输出结果是:
| 备注及演草: | ||||
您的答案: |
93.若有条件表达式(exp) ? a++ : b–,则以下表达式中能完全等价于表达式(exp)的是:
| 备注及演草: | ||||
您的答案:B |
94.若运行时给变量x输入12,则以下程序的运行结果是:main() { int x,y; scanf(“%d”,&x); y=x>12 ? x+10 : x-12; printf(“%d\n”,y); }
| 备注及演草: | ||||
您的答案:A |
95.以下程序的运行结果是:main() { int k=4,a=3,b=2,c=1; printf(“\n%d\n”,k<a ? k : c<b ? c : }
| 备注及演草: | ||||
您的答案:D |
96.执行以下程序段后,变量a,b,c的值分别是:int x=10,y=9; int a,b,c; a=(–x==y++) ? –x : ++y; b=x++; c=y;
| 备注及演草: | ||||
您的答案:B |
97.若w,x,y,z,m均为int型变量 ,则执行下面语句后的m值是:w=1;x=2;y=3;z=4;m=(w<y) ? w : x;m=(m<y) ? m : y;m=(m<z) ? m : z;
| 备注及演草: | ||||
您的答案:A |
98.若w=1,x=2,y=3,z=4,则条件表达式w<x?w:y<z?y:z的值是:
| 备注及演草: | ||||
您的答案:D |
99.执行以下程序段后的输出结果是:int w=3,z=7,x=10; printf(“%d\n”,x>10 ? x+100 : x-10); printf(“%d\n”,w++ || z++); printf(“%d\n”,!w>z); printf(“%d\n”,w && z);
| 备注及演草: | ||||
您的答案:0111 |
100.设有程序段 :int k=10;while(k=0) k=k—1;则下面描述中正确的是:
| 备注及演草: | ||||
您的答案:C |
101.有以下程序段 :int x=0,s=0;while(!x!=0) s+=++x;printf(“%d”,s);则:
| 备注及演草: | ||||
您的答案:B |
101-1.语句while(!E)中的表达式!E等价于:
| 备注及演草: | ||||
您的答案:A |
101-2.下面程序段的运行结果是:a=1;b=2;c=2; while(a<b<c){t=a;a=b;b=t;c–;} printf(“%d,%d,%d”,a,b,c);
| 备注及演草: | ||||
您的答案:A |
102.下面程序段的运行结果是:x=y=0; while(x<15) y++,x+=++y; printf(“%d,%d”,y,x);
| 备注及演草: | ||||
您的答案:D |
102-1.下面程序段的运行结果是:int n=0; while(n++<=2);printf(“%d”,n);
| 备注及演草: | ||||
您的答案:C |
103.设有程序段:t=0; while(printf(“*”)); { t++; if(t<3) break; } 下面描述正确的是:
| 备注及演草: | ||||
您的答案:B |
104.下面程序的功能是将从键盘输入的一对数 ,由小到大排序输出。当输入一对相等数时结束循环,请选择填空【1】:#indude<stdio.h>main(){int a,b,t;scanf(“%d%d”,&a,&b); while(【1】) { if(a>b) {t=a;a=b;b=t;} printf(“%d,%d”,a,b); scanf(“%d%d”,&a,&b); }
| 备注及演草: | ||||
您的答案:B |
105.下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m,n中的较大者 ,请选择填空【1】:#indude”stdio.h”main(){int m=0,n=0;char c; while((【1】)!=’\n’) {if(c>=’A’ && c<=’Z’) m++; if(c>=’a’ && c<=’z’) n++;} printf(“%d\n”,m<n ? n : m);}
| 备注及演草: | ||||
您的答案:C |
106.下面程序的功能是将小写字母变成对应大写字母后的第二个字母。其中y变成A,z变成B。请选择填空。#include “stdio.h” main() { char c; while((c=getchar())!=’\n’) {if(c>=’a’ && c<=’z’) c-=30; if(c>’z’ && c<=’z’+2) 【2】;} printf(“%c”,c); }
| 备注及演草: | ||||
您的答案:C |
107.下面程序的功能是在输入的一批正整数中求出最大者 ,输入0结束循环,请选择填空【1】。#include<stdio.h>main(){int a,max=0;scanf(“%d”,&a); while(【1】) {if(max<a) max=a; scanf(“%d”,&a);} printf(“%d”,max); }
| 备注及演草: | ||||
您的答案:B |
108.下面程序的运行结果是:#include<stdio.h> main() { int num=0; while(num<=2) {num++; printf(“%d\n”,num);} }
| 备注及演草: | ||||
您的答案: |
109.以下程序段:x=-1; do{x=x*x;} while(!x);
| 备注及演草: | ||||
您的答案:C |
110.以下描述中正确的是:
| 备注及演草: | ||||
您的答案: |
111.若有如下语句 :int x=3;do{printf(“%d\n”,x-=2);}while(!(–x));则上面程序段:
| 备注及演草: | ||||
您的答案:B |
112.下面程序的功能是计算正整数2345的各位数字平方和,请选择填空【2】。#include<stdio.h>t;t;> main() { int n,sum=0; n=2345; do{sum=sum+(n%10)*n%10); n=【2】; }while(n); printf(“sum=%d”,sum); }
| 备注及演草: | ||||
您的答案:C |
113.下面程序是从键盘输入学号,然后输出学号中百位数字是3的学号,输入0时结束循环。请选择填空【1】。#include<stdio.h> main() { long int num; scanf(“%ld”,&num); do{if(【1】) printf(“%ld”,num); scanf(“%ld”,&num); }while(!num==0); }
| 备注及演草: | ||||
您的答案: |
114.下面程序的功能是把316表示为两个加数的和 ,使两个加数分别能被13和11整除。请选择填空【1】。#include<stdio.h>main(){int i=0,j,k;do{i++;k=316-13*i;} while(【1】); j=k/11; printf(“316=13*%d+11*%d”,i,j); }
| 备注及演草: | ||||
您的答案:B |
115.下面程序的运行结果是:#include<stdio.h> main() { int y=10; do{y–;} while(–y); printf(“%d\n”,y–); }
| 备注及演草: | ||||
您的答案:D |
116.若运行以下程序时 ,从键盘输入ADescriptor<CR>(CR表示回车),则下面程序的运行结果是:#include<stdio.h>main(){char c;int v0=0,v1=0,v2=0; do{ switch(c=getchar()) {case ‘a’:case’A’: case ‘e’:case’E’: case ‘i’:case’I’: case ‘o’:Case’O’: case ‘u’:case’U’: v1+=1; default: v0+=1;v2+=1;} while(c!=’\n’); printf(“v0=%d,v1=%d,v2=%d\n”,v0,v1,v2); }
| 备注及演草: | ||||
您的答案:D |
117.下面程序的运行结果是:#include<stdio.h> main() { int a=1,b=10; do{b-=a;a++;} while(b–<0); printf(“a=%d,b=%d\n”,a,b); } A)a=3,b=11 B )a=2,b=8 C)a=1, b=-1 D)a=4,b=9 | 备注及演草: |
您的答案:B |
118.下面有关for循环的正确描述是:
| 备注及演草: | ||||
您的答案:D |
119.对for(表达式1;;表达式3)可理解为:
| 备注及演草: | ||||
您的答案:B |
120.若i为整型变量 ,则以下循环执行次数是:for(i=2;i==0;) printf(“%d”,i–);
| 备注及演草: | ||||
您的答案:B |
121.以下for循环的执行次数是:for(x=0,y=0;(y=123) && (x<4);x++);
| 备注及演草: | ||||
您的答案:C |
122.以下不是无限循环的语句为:
| 备注及演草: | ||||
您的答案:A |
123.下面程序段的运行结果是:for(y=1;y<10;) y=((x=3*y,x+1),x-1); printf(“x=%d,y=%d”,x,y); A)x=27,y=27 B)x=12,y=13 C)x=15,y=14 D)x=y=27 | 备注及演草: |
您的答案:C |
124.下面程序段的运行结果是 :for(x=3;x<6;x++) printf((x%2)?(“**%d”):(“##%d\n”),x);
| 备注及演草: | ||||
您的答案:D |
125.下列程序段不是死循环的是:
| 备注及演草: | ||||
您的答案:C |
126.执行语句for(i=1;i++<4;);后变量i的值是 :
| 备注及演草: | ||||
您的答案:C |
127.下面程序的功能是计算 :1至50中是7的倍数的数值之和,请选择填空【1】。#include<stdio.h> •main(){int i,sum=0;for(i=1;i<=50;i++) if(【1】) sum+=i; printf(“%d”,sum); }
| 备注及演草: | ||||
您的答案:D |
128.下面程序的功能是计算1至10之间的奇数之和及偶数之和。请选择填空【1】。#include<stdio.h> main() { int a,b,c,i; a=c=0; for(i=0;i<=10;i+=2) { a+=i; 【1】; c+=b; } printf(“偶数之和=%d\n”,a); printf(“奇数之和=%d\n”,c-11); }
| 备注及演草: | ||||
您的答案:B |
129.下面程序的运行结果是:#include<stdio.h> main() { int i; for(i=1;i<=5;i++) switch(i%5) { case 0 : printf(“*”); break; case 1 : printf(“#”); break; default : printf(“\n”); case 2 : printf(“&”); }
| 备注及演草: | ||||
您的答案:B |
130.下面程序的运行结果是:#include<stdio.h> main() { int x,i; for(i=1;i<=100;i++) { x=i; if(++x%2==0) if(++x%3==0) if(++x%7==0) printf(“%d”,x); } }
| 备注及演草: | ||||
您的答案:D |
131.下面程序段的功能是计算1000!的末尾含有多少个零。请选择填空 【1】。(提示:只要算出1000!中含有因数5的个数即可)for(k=0,i=5;i<=1000;i+=5)while(【1】){k++; m=m/5;}
| 备注及演草: | ||||
您的答案:C |
132.下面程序的运行结果是:#include<stdio.h> main() { int i,b,k=0; for(i=1;i<=5;i++) { b=i%2; while(b–>=0) k++; } printf(“%d,%d”,k,b); }
| 备注及演草: | ||||
您的答案:D |
133.以下正确的描述是:
| 备注及演草: | ||||
您的答案:B |
134.下面程序段:for(t=1; t<=100; t++) { scanf(“%d”,&x); if(x<0) continue; printf(“%3d”,t); }
| 备注及演草: | ||||
您的答案:D |
135.下面程序段:x=3; do{ y=x–; if(!y){ printf(“x”);continue;} printf(“#”); }while(1<=x<=2);
| 备注及演草: | ||||
您的答案:C |
136.以下描述正确的是:
| 备注及演草: | ||||
您的答案:C |
137.与下面程序段等价的是:for(n=100; n<=200; n++) { if(n%3==0) continue; printf(“%4d”,n); }
| 备注及演草: | ||||
您的答案:C |
138.下面程序的运行结果是:#include<stdio.h> main() { int k=0; char c=’A’; do { switch(c++) { case ‘A’:k++; case ‘B’:k–; case case case default:k=k/3; } k++; }while(c<‘G’); printf(“k=%d”,k); }
| 备注及演草: | ||||
您的答案:B |
139.若运行以下程序时,从键盘输入3.6,2.4<CR>(<CR>表示回车),则下面程序的运行结果是:#include<math.h> #include<stdio.h> main() { float x,y,z; scanf(“%f,%f”,&x,&y); z=x/y; while(1) { if(fabs(z)>1.0){x=y; y=z; z=x/y;} else break; } printf(“%f”,y); }
| 备注及演草: | ||||
您的答案:B |
140.下面程序的运行结果是:#include”stdio.h” main() { int a,b; for(a=1,b=1; a<=100; a++) { if(b>=20) break; if(b%3==1){b+=3; continue;} b-=5; } printf(“%d\n”,a); }
| 备注及演草: | ||||
您的答案:B |
141.下面程序的运行结果是:#include”stdio.h” main() { int i; for(i=1; i<=5; i++) { if(i%2) printf(“#”); else continue; printf(“*”); } printf(“$”); }
| 备注及演草: | ||||
您的答案:B |
142.下面程序的运行结果是:main() { int i,j,a=0; for(i=0; i<2; i++) { for(j=0; j<=4; j++) { if(j%2) a++; } a++; } printf(“%d\n”,a); }
| 备注及演草: | ||||
您的答案:A |
179.在c语言中,引用数组元素时,其数组下标的数据类型允许是:
| 备注及演草: | ||||
您的答案:C |
180.以下对一维整型数组a的正确说明是:
| 备注及演草: | ||||
您的答案:D |
181.若有说明:int a[10];则对a数组元素的正确引用是:
| 备注及演草: | ||||
您的答案: |
182.在C语言中,一维数组的定义方式为:类型说说明符+数组名+:
| 备注及演草: | ||||
您的答案:A |
183.以下能对一维数组a进行正确初始化的语句是:
| 备注及演草: | ||||
您的答案: |
184.以下对二维数组a的正确说明是:
| 备注及演草: | ||||
您的答案:C |
185.若有说明:int a[3][4];则对a数组元素的正确引用是 :
| 备注及演草: | ||||
您的答案:C |
186.若有说明:int a[3][4];则对a数组元素的非法引用是:
| 备注及演草: | ||||
您的答案:D |
187.以下能对二维数组a进行正确初始化的语句是:
| 备注及演草: | ||||
您的答案:B |
188.以下不能对二维数组a进行正确初始化的语句是:
| 备注及演草: | ||||
您的答案: |
189.若有说明:int a[3][4]={0};则下面正确的叙述是:
| 备注及演草: | ||||
您的答案:D |
190.若有说明:int a[][4]={0,0};则下面不正确的叙述是:
| 备注及演草: | ||||
您的答案:D |
191.若有说明:int a[3][4];则数组a各元素:
| 备注及演草: | ||||
您的答案:B |
192.以下各组选项中 ,均能正确定义二维实型数组a的选项是:
| 备注及演草: | ||||
您的答案:C |
193.下面程序(每行程序前面的数字表示行号):1 main() 2 { 3 int a[3]={3*0}; 4 int i; 5 for(i=0;i<3;i++) scanf(“%d”,&a[i]); 6 for(i=1;i<3;i++) a[0]=a[0]+a[i]; 7 printf(“%d\n”,a[0]); 8 }
| 备注及演草: | ||||
您的答案:A |
194.下面程序(每行程序前面的数字表示行号):1 main() 2 { 3 float a[10]={0.0}; 4 int i; 5 for(i=0;i<3;i++) scanf(“%d”,&a[i]); 6 for(i=0;i<10;i++) a[0]=a[0]+a[i]; 7 printf(“%d\n”,a[0]); 8 }
| 备注及演草: | ||||
您的答案: |
195.下面程序有错的行是:1 main() 2 { 3 int a[3]={1}; 4 int i; 5 scanf(“%d”,&a); 6 for(i=1;i<3;i++) a[0]=a[0]+a[i]; 7 printf(“a[0]=%d\n”,a[0]); 8 }
| 备注及演草: | ||||
您的答案:D |
196.下面程序(每行程序前面的数字表示行号):1 main() 2 { 3 int a[3]={0}; 4 int i; 5 for(i=0;i<3;i++) scanf(“%d”,&a[i]); 6 for(i=1;i<4;i++) a[0]=a[0]+a[i]; 7 printf(“%d\n”,a[0]); 8 }
| 备注及演草: | ||||
您的答案:D |
197.若二维数组a有m列 ,则计算任一元素a[i][j]在数组中位置的公式为:(假设a[0][0]位于数组的第一个位置上)
| 备注及演草: | ||||
您的答案:D |
198.对以下说明语句的正确理解是:int a[10]={6,7,8,9,10};
| 备注及演草: | ||||
您的答案:B |
199.以下不正确的定义语句是:
| 备注及演草: | ||||
您的答案:B |
200.若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是:
| 备注及演草: | ||||
您的答案:B |
201.若二维数组a有m列,则在a[i][j]前的元素个数为:
| 备注及演草: | ||||
您的答案:B |
202.定义如下变量和数组:int k; int a[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是: for(k=0;k<3;k++) printf(“%d”,a[k][2-k]);
| 备注及演草: | ||||
您的答案:A |
203.若有以下程序段:…… int a[]={4,0,2,3,1},i,j,t; for(i=1;i<5;i++) { t=a[i];j=i-1; while(j>=0&&t>a[j]) {a[j+1]=a[j];j–;} } …… 则该程序段的功能是:
| 备注及演草: | ||||
您的答案:B |
204.以下正确的定义语句是:
| 备注及演草: | ||||
您的答案:D |
205.下面程序的运行结果是:main() { int a[6][6],i,j; for(i=1; i<6; i++) for(j=1; j<6; j++) a[i][j]=(i/j)*(j/i); for(i=1; i<6; i++) { for(j=1; j<6; j++) printf(“%d”,a[i][j]); printf(“\n”); } }
| 备注及演草: | ||||
您的答案:C |
206.下面程序的运行结果是:main() { int a[6],i; for(i=1; i<6; i++) { a[i]=9*(i-2+4*(i>3))%5; printf(“%2d”,a[i]); } }
| 备注及演草: | ||||
您的答案:C |
207.下面是对s的初始化,其中不正确的是:
| 备注及演草: | ||||
您的答案:D |
208.下面程序段的运行结果是:char c[5]={‘a’,’b’,’\0′,’c’,’\0′}; printf(“%s”,c);
| 备注及演草: | ||||
您的答案:B |
209.对两个数组a和6进行如下初始化:char a[]=”ABCDEF”; char b[]={’A’,’B’,’C’,’D’,’E’,’F’}; 则以下叙述正确的是:
| 备注及演草: | ||||
您的答案:D |
210.有两个字符数组a,b,则以下正确的输入格式是:
| 备注及演草: | ||||
您的答案:B |
211.有字符数组a[80]和b[80],则正确的输出形式是:
| 备注及演草: | ||||
您的答案:D |
212.下面程序段的运行结果是:char a[7]=”abcdef”; char b[4]=”ABC”; strcpy(a,b); printf (“%c”,a[5]);
| 备注及演草: | ||||
您的答案:D |
213.有下面的程序段:char a[3],b[]=”china”; a=b; printf(“%s”,a); 则:
| 备注及演草: | ||||
您的答案:D |
214.下面程序段的运行结果是:char c[]=”\t\v\\\0will\n”; printf(“%d”,strlen(c));
| 备注及演草: | ||||
您的答案:B |
215.判断字符串a和b是否相等,应当使用:
| 备注及演草: | ||||
您的答案:D |
216.判断字符串s1是否大于字符串s2应当使用:
| 备注及演草: | ||||
您的答案:D |
217.下面程序段是输出两个字符串中对应字符相等的字符。请选择填空 【1】。char x[]=”programming”;char y[]=”Fortran”;int i=0;while(x[i]!=’\0′ && y[i]!=’\0′){if(x[i]==y[i]) printf(“%c”,【1】); else i++; }
| 备注及演草: | ||||
您的答案:A |
218.下面描述正确的是:A)两个字符串所包含的字符个数相同时,才能比较字符串 B)字符个数多的字符串比字符个数少的字符串大 C)字符串”STOP”与”sTOp”相等 D)字符串”That”小于字符串”The” | 备注及演草: |
您的答案:D |
219.下述对C语言字符数组的描述中错误的是:
| 备注及演草: | ||||
您的答案:C |
220.有已排好序的字符串a,下面的程序是将字符串s中的每个字符按a中元素的规律插入到a中。请选择填空 【2】。#indude<stdio.h>main(){char a[20]=”cehiknqtw”;char s[]=”fbla”; int i,k,j; for(k=0; s[k]!=’\0′; k++) { j=0; while(s[k]>=a[j]&&a[j]!=’\0′) j++; for(i=strlen(a); i>=j; i–) 【2】; a[j]=s[k]; } puts(a); }
| 备注及演草: | ||||
您的答案:B |
221.下面程序的功能是将字符串s中所有的字符c删除。请选择填空 【1】。#include<stdio.h>main(){char s[80];int i,j; gets(s); for(i=j=0; s[i]!=’\0′; i++) if(s[i]!=’c’)【1】; s[j]=’\0′; puts(s); }
| 备注及演草: | ||||
您的答案:A |
222.下面程序的功能是从键盘输入一行字符 ,统计其中有多少个单词,单词之间用空格分隔。请选择填空【1】。#include<stdio.h>main(){char s[80],c1,c2=”;int i=0,num=0; gets(s); while(s[i]!=’\0′) { c1=s[i]; if(i==0) c2=”; else c2=s[i-1]; if(【1】) num++; i++; } printf(“There are %d words.\n”,num); }
| 备注及演草: | ||||
您的答案:B |
223.下面程序的运行结果是:#include<stdio.h> main() { char ch[7]={“12ab56”}; int i,s=0; for(i=0; ch[i]>=’0′ && ch[i]<=’9′; i+=2) s=10*s+ch[i]-‘0’; printf(“%d\n”,s); }
| 备注及演草: | ||||
您的答案:A |
224.当运行以下程序时 ,从键盘输入:aa bb<CR>cc dd<CR>(<CR>表示回车),则下面程序的运行结果是:#include<stdio.h>main() { char a1[5],a2[5],a3[5],a4[5]; scanf(“%s%s”,a1,a2); gets(a3); gets(a4); puts(a1); puts(a2); puts(a3); puts(a4); }
| 备注及演草: | ||||||||
您的答案:A |
225.当运行以下程序时,从键盘输入: ab<CR> c<CR> dd<CR> (<CR>表示回车),则下面程序的运行结果是: #include<stdio.h> #define N 6 main() { char c[N]; int i=0; for(; i<N; c[i]=getchar(),i++); for(i=0; i<N; i++) putchar(c[i]); }
| 备注及演草: | ||||
您的答案:D |
226.当运行以下程序时 ,从键盘输入:AhaMA Aha<CR>(<CR>表示回车),则下面程序的运行结果是:#include”stdio.h”main(){char s[80],c=’a’;int i=0; scanf(“%s”,s); while(s[i]!=’\0′) { if(s[i]==c) s[i]=s[i]-32; else if(s[i]==c-32) s[i]=s[i]+32; i++; } puts(s); }
| 备注及演草: | ||||
您的答案:A |
227.下面程序的运行结果是:#include<stdio.h> #include<string.h> main() { char a[80]=”AB”,b[80]=”LMNP”; int i=0; strcat(a,b); while(a[i++]!=’\0′) b[i]=a[i]; puts(b); }
| 备注及演草: | ||||
您的答案:D |
228.下面程序的运行结果是:#include<stdio.h> main() { char str[]=”SSSWLIA”,c; int k; for(k=2; c=str[k]!=’\0′; k++) { switch(c) { case ‘I’:++k; case default:putchar(c); continue; } putchar(‘*’); } }
| 备注及演草: | ||||
您的答案:B |
229.下面程序的运行结果是:#include<stdio.h> main() { char a[]=”morning”,t; int i,j=0; for(i=1; i<7; i++) if(a[j]<a[i]) j=i; t=a[j]; a[j]=a[7]; a[7]=a[j]; puts(a); }
| 备注及演草: | ||||
您的答案:B |
61若已定义了如下的结构体类型变量x,则x所占用的内存字节数为()
(设在16位pc机的环境下)
struct student
{int num;
char name[20];
char sex;
int age;
} x;
A25 B20 C6 D2
怎么写???
你好,好像不是这个题库里的哈。
只是就做题来说的话,既然是16位机,那int应该占用2字节,所以2+20+1+2=25应该是25个字节吧。选择A。当然实际上内存会对齐,比如32位下sizeof它应该是32。