资源描述
1 C选择题答案 D 0159、 下列叙述错误的是( )。 A.一个 C语言程序只能有一个 main()函数 B.C语言程序一行内可以有多条语句 C.C语言程序一条语句可以分写在多行 D.一个 C语言程序可以有多个 main()函数 B 0160、 下列关于 C语言程序的叙述错误的是( )。 A.一个 C语言程序由一个或多个函数组成 B.编译时注释部分的错误会被发现 C.注释内容必须放在 /*和 */之间 D.可以在 “”内写若干条语句,构成复合语句 A 0161、 C语言程序中的函数是 由( )组成。 A.函数首部和函数体 B.函数名和参数 C.返回值类型和函数名 D.函数名和函数体 C 0162、 结构化程序设计的 3种基本结构是顺序结构、( )和循环结构。 A.逻辑结构 B.嵌套结构 C.选择结构 D.递归结构 C 0163、 结构化程序设计采用的方法不包括( )。 A.自顶向下、逐步细化 B.模块化设计 C.封装、继承和多态 D.结构化编码 B 0259、 C语言的数据类型不包括( )。 A.整型 B.泛型 C.联合类型 D.结构类型 C 0260、 ( )为 合法 的常 量。 A.Cprogram B.2E3.3 C.0 x100 D.0783 C 0261、 ( )为合法用户标识符。 A.void B._a$bc C._abc D.3c B 0262、 Turbo C中,占用内存空间最大的是( )。 A.float B.double C.int D.char B 0263、 Turbo C中,每个 signed short int型数据占用的内存空间为( )字节。 A.1个 B.2个 C.4个 D.8个 D 0359、 若已定义: int t,a,b; 语句 t=(a=5,b=a+); 执行后,变量 t、 a、 b的值依次为( )。 A.6,6,5 B.5,6,6 C.6,6,6 D.5,6,5 B 0360、 若已定义: int a=1,b=2,c=3; 则正确的表达式是( )。 A.a=b+1=c B.c=(a,b) C.a+b=c D.a=bc B 0361、 若已定义: int x=2,y=3,z=5; 则表达式值为 2的是( )。 A.z=(x,z) B.z=x,z C.x=y=z D.x+y+z B 0362、 若已定义: int a=5; 则表达式 a-=a+=a*a的值为( )。 A.25 B.0 C.-20 D.-25 A 0363、 若已定义: char c; 则( )是错误的赋值表达式。 A.c=097 B.c=a C.c=32 D.c=n 2 A 0459、 下列叙述错误的是( )。 A.自增与自减运算符可以用于 float型变量 B.赋值运算符的结合方向为 “自右向左 ” C.整型与字符型变量混合运算的结果是整型 D.程序中算术表达式的书写形式与数学公式完全相同 B 0460、 若已定义: int i=1; 则 表达 式 i+=10的值为( )。 A.1 B.11 C.10 D.2 D 0461、 若已定义: int a=1,b=2; ( )是正确的表达式。 A.a+/b=2 B.a+b=2 C.a+b*=2 D.a*=b+2 B 0462、 若已定义: int m=3,n=4; 则表达式 (m+)+n的值是( )。 A.8 B.7 C.4 D.5 C 0463、 若已定义: int a=3,x=4; 语句 x+=a+;执行后变量 x的值为( )。 A.4 B.8 C.7 D.6 C 0559、 若已定 义: int x; 拟从键盘输入一个值赋予 x,正确的函数调用是( )。 A.scanf(%f, B.scanf(%d,x) ; C.scanf(%d, D.scanf(%f,x) ; A 0560、 puts(char *str) 函数的功能是向终端输出( )。 A.str指向的字符串 B.str指向的第一个字符 C.一个整数变量的值 D.一个实型变量的值 C 0561、 若已定义: int a=5,b=6; 语句 printf(%d*%d=%dn,a+a,b+b,(a+a)*(b+b); 执行 后的输出结果是( )。 A.5*6=30 B.5,6,30 C.10*12=120 D.10,12,120 A 0562、 以下程序段的运行结果是( )。 int m=65,n=66; char k=C; printf(%c-%c-%dn,m,n,k);(注:字母 A的 ASCII值为 65) A.A-B-67 B.AB67 C.65-66-C D.6566C B 0563、 要使语句 scanf(%d,%d,能够正确接收从键盘输 入的 值, 正确的数据输入 形式是( )。 A.10 20 B.10,20 C.1020 D.10 20 D 0659、 若已定义: int a=1,b=2,c=3; 语句 (+b,a) | (a+,c+); 执行后变量 a、 b、 c的值分 别是( )。 A.2 3 4 B.2 3 3 C.1 2 3 D.1 3 3 C 0660、 能正确表示数学关系式 “k0或 k10”的 C语言表达式是( )。 A.(k=10) B.(k=0) 则表达式 a=b=c的值为( )。 3 A.3 B.2 C.1 D.0 D 0662、 若已定义: int a=1,b=2,c=3; 表达式值为 0的是( )。 A.abba B.a+b=c | b=c C.a+b 则表达式 a+b 语句 t=+a | !b 执行后 a、 b、 c的值分别是 ( )。 A.4 2 1 B.4 2 2 C.3 2 1 D.4 0 2 B 0760、 若已定义: int x = 100; 则正确的赋值表达式是( )。 A.x=abc B.x=A C.x=x+08 D.x%=0.3 B 0761、 若已定义: char c; int a; float x; double m; 则表达式 0.3+a+c+x+m*a 值的数据类型 为( )。 A.float B.double C.char D.int C 0762、 若已定义: char c=E; int a=9; float x=5; 则表达式 c/x-a的值是( )。 已知 A的 ASCII码值为 65 A.13.8 B.5 C.4.8 D.4 C 0763、 若已定义: int a=3,b=2,c=1; 则表达式 (float)(a+b)/(c+a)的值是( )。 A.1 B.3.0 C.1.25 D.8 C 0859、 执行以下程序,输入 99,运行结果是( )。 #include void main() int score; scanf(%d, switch(score/10) case 10: case 9:printf(A); case 8:printf(B); case 7: case 6:printf(C);break; default:printf(D); printf(n); A.A B.AB C.ABC D.ABCD 4 B 0860、 以下程序的运行结果是( )。 #include void main() int a=4,b=3,c=2,d=1; if(abc) printf(%dn,d); else if(c-1=d) printf(%dn,d+1); else printf(%dn,d+2); A.4 B.2 C.3 D.1 C 0861、 以下程序段执行后变量 m的值为( )。 int x=6,y=4,z=8,m; m=(xy)?(xz?x:z):(yz?y:z); A.8 B.6 C.4 D.1 C 0862、 以下程序的运行结果是( )。 #include void main() char c=C; switch(c-65) case 0: putchar(c+1); break; case 1: case 2: case 3: putchar(c+2); break; default: putchar(c+32); break; 已知 A的 ASCII码值为 65, a的 ASCII码值为 97 A.C B.D C.E D.b D 0863、 若已定义 int k,a,b,c; 则语句( )与 k=ab?b:c语句的功能等价。 A.if(k=a) k=b; B.if(ab) k=a; else k=c; else k=b; C.if(ab) k=b; D.if(ab) k=b; else k=c; B 0959、 以下程序段中循环体的执行次数是( )。 int i=0,a=0; for (i=i+3;i10;i+) 5 if(a%3=0) break; a+; A.3 B.1 C.7 D.10 D 0960、 以下程序段,( )。 int a=0; do +a; while(1); A.循环体执行 1次 B.循环体执行 2次 C.有语法错误 D.是无限循环 C 0961、 以下程序段执行后变量 a的值为( )。 int i,a=0; for(i=1;i=10;i+) if(i%2=0) continue; a+;+a; A.5 B.15 C.10 D.0 C 0962、 以下程序段执行后变量 a的值为( )。 int i=0,a=0; for(;i-3;i+) a+; A.1 B.2 C.3 D.0 C 0963、 以下 程序 执行时,循环体执行了( )。 #include void main() int a=1234,b=0; while(a) b=b*10+a%10; a=a/10; printf(b=%dn,b); A.2次 B.3次 C.4次 D.无限次 B 1059、 以下程序段执行后, a4的值为( )。 int a8=15,9,23,32,11; a4=a3+a2+a1*a6-a7; A.63 B.55 C.32 D.64 C 1060、 若已定义: int a6=1,2,3,4,5,6;char c=b; 表达式值为 3的是( )。 A.a3 B.ad-c C.ad-c D.ac C 1061、 以下程序段的运行结果是( )。 char a5=65,B,67,68,69,i; 6 for(i=4;i=0;i-=2) ai=ai+32; for(i=0;i5;i+) printf(%3c,ai); A.a b c d e B.A B C D E C.a B c D e D.A b C d E C 1062、 以下程序段的运行结果是( )。 int a10=1,1,1,1,1,1,1,1,1,1,i; for(i=1;i=5;i+) ai-1=ai-1-1; for(i=0;i10;i+) printf(%3d,ai); A.1 1 1 1 1 1 1 1 1 1 B.0 0 0 0 0 0 0 0 0 0 C.0 0 0 0 0 1 1 1 1 1 D.1 1 1 1 1 0 0 0 0 0 A 1063、 下列叙述正确的是( )。 A.数组元素的下标可以使用整型变量 B.数组元素的下标不能使用字符常量 C.在定义数组时,数组的长度可以使用整型变量 D.在定义数组时,数组的长度不能使用整型常量 D 1159、 以下程序段执行后 s的值是( )。 int a34=1,2,3,4,1,2,3,4,1,2,3,4; int i,j,s=1; for(i=0;i3;i+) for(j=0;ji+2;j+) s*=aij; A.16 B.144 C.12 D.288 C 1160、 若已定义 :int s43=1,6,1,2,8,4,7,3,5; 则 s31的值是( )。 A.7 B.8 C.3 D.2 A 1161、 以下程序段执行后 sum的值是( ) 。 int i,sum=0;int a35=11,12,13,14,15,16,17,18,19,20,22,24,26,28,31; for(i=0;i3;i+) sum+=aii+2; A.63 B.58 C.61 D.60 C 1162、 错误的数组定义是( )。 A.int arr3=0,1,2,3,1; B.int arr43=1,2,3,0; C.int arr4=0,1,2,3,4,5,6,7,8,9,10,11; D.int arr3=10,9,8,7,6,5,4,3,2,1; B 1163、 若已定义: int a43; 假设元素 a00在存储空间中的位置序号为 1,则元素 a22 7 的位置序号应是( )。 A.7 B.9 C.8 D.10 A 1259、 以下程序段的运行结果是( )。 char a53=Y,o,u, ,a,r,e,0 ,w,e,l,c,o,m,e; printf(%s, A.You are B.You are wel C.You D.You are welcome A 1260、 以下程序段的运行结果是( )。 char a=Teacher; char b=Driver; strcpy(a,b); printf(%s %c,a,a5); A.Driver r B.Driver e C.Teacher r D.Teacher e B 1261、 以下程序段的运行结果是( )。 int x=5;char *s1=music,*s2=s1;x=strcmp(s1,s2);printf(%dn,x); A.1 B.0 C.-1 D.5 B 1262、 若已定义: char sa20=dictionary,sb20;则( )语句是正确的。 A.sb=sa; B.sb0=sa0; C.scanf(%s, D.printf(%s,sa); D 1263、 以下程序段的运行结果是( )。 char s80=super;strcat(s,market);printf(%d,strlen(s); A.9 B.10 C.12 D.11 B 1359、 以下程序的运行结果是( )。 #include void f(int a3) int i; for(i=0;i3;i+) printf(%2d,ai0); printf(n); void main() int a33=1,2,3,1,3,2,2,1,3; f(a); A.2 3 1 B.1 1 2 C.3 2 3 D.1 2 3 A 1360、 以下程序的运行结果是( )。 #include fun(int x, int y) return(x*y+10); 8 void main() int a=11,b=2,c; c=fun(a,b); printf(c=%dn,c); A.c=32 B.32 C.c=22 D.22 B 1361、 以下程序的运行结果是( )。 #include void fun(int i) int a; a=+i; printf(%d ,a); void main() int a=3,b=6; fun(b); printf(%d ,a); A.3 7 B.7 3 C.3 3 D.7 7 C 1362、 以下程序的运行结果是( )。 #include fun(int x) static int y=2; y=y+x; return(y); void main() int i,s=0; for(i=1;i=2;i+) s=s+fun(2); printf(%dn,s); A.4 B.6 C.10 D.8 B 1363、 以下语句中 fun( )函数所含的实参个数有( )个。 fun(1,2,3),(4,5),(6,7+8); A.7 B.3 C.8 D.5 D 1459、 下列叙述正确的是( )。 A.为区别语句结束符,编译预处理命令行必须以逗号结束 B.可以使用命令 define定义变量 C.符号常量必须用大写字母表示 D.define是宏定义命令 B 1460、 下列叙述错误的是( )。 A.编译预处理命令行都必须以 “#”号开始 B.宏定义中的符号常量(宏名)只能用大写字母或数字字符表示 C.文件包含使用预处理命令 #include 来实现 D.宏定义中的符号常量(宏名)可以用小写字母表示 A 1461、 下列正确定义符号常量的命令是( )。 A.#define PR 3.3 B.#define PR=3.3 C.#define PR=3.3; D.#define PR 3.3; 9 B 1462、 下列叙述错误的是( )。 A.预处理命令行都必须以 “#”号开始 B.预处理命令只能位于 C源程序文件的首部 C.#include math.h 属于预处理命令 D.在预处理命令行 #define WT 5 中,符号常量(宏名)是 WT C 1463、 C源程序中,预处理命令的位置可以在( )。 A.putchar()函数中 B.printf()函数中 C.文件首部 D.scanf()函数中 B 1559、 若已定义: int *p1,*p2;,无意义的运算是( )。 A.p1-p2 B.p1+p2 C.p1p2 D.p1p2 A 1560、 若已定义: char a=student,*p=a;能正确指向存放字符 u单元的表达式是( )。 A.a+2 B.*(a+5) C.p+5 D.*(p+2) D 1561、 若已定义 :int a=3,*p; 执行语句 p=后,下列( )均能表示 a的地址。 A.*p,a B.*p, 执行 语句 p= 后, *(p+4)表示的值是 ( )。 A.4 B.6 C.5 D.3 A 1563、 以下程序段执行后,正确的是( )。 char a=University; char *p; p=a; A.strlen(p)与 strlen(a)表示的值相等 B.a3与 *p表示的内容相同 C.a与 p+3表示的地址一致 D.*(p+3)与 a0表示的内容相同 D 1659、 以下程序段的运行结果是( )。 int a=2,b=5,*p; p= b=a; printf(%d,%dn,b,*p); A.5,2 B.2,5 C.5,5 D.2,2 B 1660、 以下程序段的运行结果是( )。 int a=1,b=2,sum,*p,*q; p= q= sum=*p+*q; a=*q; printf(%d,%dn,a,sum); A.1,4 B.2,3 C.2,4 D.1,3 10 C 1661、 以下程序段的运行结果是( )。 int a=5,b=2,c,*p1,*p2; p1= p2= if(*p1*p2) c=*p1+2; else c=*p2+4; printf(%dn,c); A.9 B.7 C.6 D.4 C 1662、 以下程序的运行结果是( )。 #include void fun(int x,int *p) *p=x+10; void main( ) int a,b,c; fun(5, fun(a, fun(b, printf(a=%d,b=%d,c=%dn,a,b,c); A.a=5,b=5,c=5 B.a=5,b=15,c=25 C.a=15,b=25,c=35 D.a=15,b=15,c=15 C 1663、 以下程序段的运行结果是( )。 int a=6,b=3,m,n,*p,*q; p= q= m=(*p)/(*q)+8; n=(*p)+(*q)*8; printf(m=%d,n=%dn,m,n); A.m=10,n=8 B.m=8,n=80 C.m=10,n=30 D.m=8,n=30 C 1759、 一个结构变量占用的内存容量由( )决定。 A.占内存容量最小的成员所需容量 B.第一个成员所需内存容量 C.各成员所需内存容量之和 D.最后一个成员所需内存容量 B 1760、 若已定义: struct person int num; char name8; int age,grade; p1; 11 Turbo C环境中,结构变量 p1在内存中占用了( )个字节。 A.12 B.14 C.10 D.16 C 1761、 若已定义: struct worker int num; char sex; float height; w1; 下列叙述错误的是( )。 A.w1是用户定义的结构变量名 B.worker是结构类型名 C.w1是结构类型名 D.num、 sex和 height都是结构变量 w1的成员 C 1762、 下列叙述正确的是( )。 A.一个联合变量中真正起作用的是其中占内存容量最大的成员 B.引用联合变量就是引用该变量所有成员的值之和 C.一个联合变量在某一时刻只能由其中的某一个成员起作用 D.联合 变量 在定义的同时可进行初始化 A 1763、 下列叙述错误的是( )。 A.联合变量可以作为函数的形参 B.联合类型可以出现在结构类型定义中 C.一个联合变量中各成员的首地址相同 D.联合变量所占内存容量等于其中占内存容量最大的成员所占的容量 C 1859、 以下程序段的运行结果是( )。 char a=WELL,*p; for(p=a;pa+2;p+) printf(%s,p); A.WE B.WELLWE C.WELLELL D.WELLWEL C 1860、 以下程序段的运 行结 果是( )。 int a=1,2,3,4,5,6,7,8,9,10,i; int *p; p=a; for(i=0;iheight B.*(+p)-height C.*(p+)-height D.(+p)-height C 1862、 以下程序段执行后,能正确引用 Li Ming的是( )。 struct salesperson char name10; int amount; sm3=Ma Li,163,Li Ming,155,Jack,172; struct salesperson *p; p=sm; A.*(p+1).name B.*p.name C.(p+1)-name D.p-name C 1863、 以下程序段的运行结果是( )。 int a6=1,2,3,4,5,6; int *p; p=a; *(p+3)+=3; printf(%3d,%3dn,*p,*(p+3); A.7, 7 B.1, 4 C.1, 7 D.4, 4 B 1959、 若已定义: enum colors red, green=2, blue, blackx,a3;以下语句( )。 /* 语句 1 */ a1=black; /* 语句 2 */ red=1; /* 语句 3 */ x=green; A.语句 1和语句 2正确,语句 3错误 B.语句 1和语句 3正确,语句 2错误 C.语句 2和语句 3正确,语句 1错误 D.语句 1正确,语句 2和语句 3错误 C 1960、 在无符号数的位运算中 ,操 作数右移一位相当于将该操作数( )。 A.除以 4 B.乘以 4 C.除以 2 D.乘以 2 C 1961、 若已定义: int a=8,b=7,c; 语句 c=a|b; 执行后 c的值为( )。 A.0 B.8 C.15 D.7 A 1962、 若有以下类型说明,叙述错误的是( )。 typedef struct int num; char name10; float score; PLAYER,*p; A.p是一个结构类型名 B.PLAYER是 一个 结构类型名 C.p是指向结构类型 PLAYER的指针类型名 D.num是结构类型 PLAYER的成员 A 1963、 若已定义: enum dutya,b=10,c,d=15,e; 则枚举常量 c和 e的值分别是( )。 A.11和 16 B.14和 16 C.2和 4 D.11和 13 13 C 2059、 若文本文件 data.txt的内容为 Hotel,以下程序段的运行结果是( )。 FILE *fp; char str10; fp=fopen(data.txt,r); fgets(str,4,fp); printf(%s,str); A.Ho B.Hotel C.Hot D.Hote A 2060、 以下程序的运行结果是( )。 #include void main() FILE *fp; int a=3,b=5,x=0,y=0,z; fp=fopen(test.txt,w); fprintf(fp,%dn%d,a,b); fclose(fp); fp=fopen(test.txt,r); fscanf(fp,%d%d, z=x+y; printf(%dn,z); fclose(fp); A.8 B.0 C.3 D.5 D 2061、 以下程序执行后,文件 test.txt的内容是( )。 #include void main() FILE *fp; fp =fopen(test.txt, w); fprintf(fp,%s,How ); fclose(fp); fp = fopen(test.txt, a); fprintf(fp,%s,are you!); fclose(fp); A.How B.are you! C.you! D.How are you! 14 D 2062、 fscanf()函数的正确调用形式是( )。 A.fscanf(格式字符串,文件指针,输入表列 ) B.fscanf(格式字符串,输入表列,文件指针 ) C.fscanf(文件指针,输入表列,格式字符串 ) D.fscanf(文件指针,格式字符串,输入表列 ) A 2063、 对已打开的文件操作完成后,应使用( )将文件关闭。 A.fclose()函数 B.openfile()函数 C.close()函数 D.closefile()函数
展开阅读全文