C语言总复习资料_绝对经典

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

15.设 int a=1,b=2,c=3,d=4,z;则表达式 (a>b)?(z=c):(z=d)的值为( A )。 A. 4 B. 2 C. 1 D. 3
16.在C语言中,switch语句后一对圆括号中 表达式的类型( A )。 A. 可以是任何基本类型 B. 只能为int类型 C. 只能是整型或字符型 D. 只能是整型或实型
)。
31.当a=5,b=4,c=9时,语句a++<=5&&b-<=2&&c++ ? printf("***a=%d b= %d c=%d\n",a,b,c) : printf("###a=%d b=%d c=%d\n",a,b,c);的执行结果是( )。 A A. ###a=6 b=3 c=9 B.***a=6 b=3 c=9 C. ###a=6 b=3 c=10 D.***a=6 b=3 c=10
37【程序】 #include<stdio.h> main() {int x=1, i=1; for(; x<50; i++) { if(x>10) break; if(x%2!=0){x+=3;continue;} x-=1;} printf("%d\n", x); 输出为 【37】 printf("%d\n", i); 输出为 【38】 } 【37】A.10 B.12 C.11 D.14 【38】A.8 B.9 C.10 D.7
21.运行下面程序段的输出结果是( A )。 static int a[7]={1,3,5} ; printf("%d\n",a[3] ); A. 0 B. 5 C. 3 D. 不确定数
22.若有说明 char c[]="China"; 则对该数组 元素的正确引用是( C )。 A. c[3+4] B. c(2) C. c[1*3] D. c{5}
C 35.请选出以下程序的输出结果是_________ # include<stdio.h> main() {int a[]={1,2,3,4},i; int x=0; for(i=0;i<4;i++) {sub(a,x);printf(“%d”,x);} printf(“\n”);} sub(s,y) int *s,y; {static int t=3; y=s[t];t--;} A.1234 B.4321 C.0000 D.4444
17.下面的程序( A ) main() {int x=3; do{ printf(“%d\n”,x-=2); }while(!(-x));} A.输出的是1 B.输出的是1和-2 C.输出的是3和0 D.是死循环 18. C语句中下列( C)语句可实现循环结构设计 A.continue B.switch C.for D.break
5.设x为int型变量,则执行语句x=10; x+=x-=x-x; 后, x的值为( B )。 A. 10 B. 20 C. 40 D. 30 C 6.以下程序的输出结果是________ #include <stdio.h> #include <math.h> main() { int a=1,b=4,c=2; float x=10.5,y=4.0,z; z=(a+b)/c+sqrt((double)y)*1.2/c+x; printf(“%f\n”,z);} A. 14.000000 B. 15.400000 C. 13.700000 D. 14.900000
B 33.下面程序的输出是_________ main() {int y=9; for(;y>0;y--) {if(y%3==0) {printf(“%d”,--y);continue;} } } A.741 B.852 C.963 D.875421
• 34.下面程序的输出是 D • #include <string.h> • main() • { char *a="abcdefgh"; • fun(a); puts(a);} • fun(char *s) • { int x=0,y;char c; • for (y=strlen(s)-1;x<y;x++,y--) • { c=s[x];s[x]=s[y];s[y]=c;} • } • A.abcdefgh B.hgfdecba • C.dcbahgfe D.hgfedcba
20.下列各程序段中,不能实现1+2+3+...+10求和的 是( D )。 A. int i=0,s=0; while(i<=10) {s+=i,i++;} B. int i,s; for(s=0,i=1;i<11;i++) s+=i; C. int i=0,s=0; do {s+=i;,++i;} while(i<=10); D. int i,s; for(s=0,i=1;i<=10;) s+=i;
19.运行下面程序段的输出结果是( B )。 int n,a,s=0,p=1,i; n=2;a=2; for(i=1;i<=n;++i) {p=p*a;s+=p;} printf(“\ns(%d,%d)=%d",a,i,s); A. s(2,2)=6 B. s(2,3)=6 C. s(1,2)=6 D. s(2,2)=5
10.printf函数中用到格式符“%5s”,如果输出的字 符串长度大于5, 则输出方式是 ( )。 B A. 从左起输出该字符串,右补空格 B. 按原字符串长从左向右全部输出 C. 右对齐输出该字符串, 左补空格 D. 输出错误信息
12.若定义int x; float y; 且执行 scanf("%3d,%f",&x,&y); 语句时,从第一列开始输 入数据 12345,678<回车>,则x的值为( B )。 A. 12345 B. 123 C. 45 D. 345
B C
38.下面程序从一个二进制文件中读入结构体数据,并把结构体数据显 示在终端屏幕上,请选择正确的答案填入程序空白处。 #include <stdio.h> 【39】 A. feof(fp)!=0 main( ) B. !feof(fp) { struct datarec{ C. feof(fp) char s; D. feof(fp)!= NULL int a; 【40】 float c; A. fread(&r,1,sizeof(struct } r; datarec),fp) FILE *fp; B. fread(r,sizeof(struct if((fp=fopen("file.dat","rb")) == NULL) datarec),1,fp) {printf("Can't open input file\n");exit(0);} C. fread(r,1,sizeof(struct datarec),fp) while( 【39】 ) D. fread(&r,sizeof(struct { 【40】 ; datarec),1,fp) printf("%c,%d,%f\n",r.s,r.a,r.c); } fclose(fp); }
3.对两个静态变量k1,k2进行初始化: static char k1="A"; static char k2='A'; A 则下列叙述正确的是________ A.上述语句有错误 B. K1=K2='A' C. K1是字符串,K2是字符 D. K1是字符,K2是字符串 B 4. C语言提供的合法的数据类型关键字是_________ A. Double B. short C. integer D. Char
27.定义联合数据类型 union { int a; int b; int c; int d; }x; 执行语句 x.a=2;x.b=3;x.c=4;x.d=5;后,x.b的值为 ( D )。 A. 2 B. 3 C. 4 D. 5
28.定义以下结构体类型 struct s { int a; float f; }; 语句printf("%d",sizeof(struct s))的输出结 果为( D )。 A. 2 B. 3 C. 4 D. 6
29.C语言中,宏定义有效范围从定义处开始,到本 源文件结束处终止。但可以用_____ D 来提前解除 宏定义的作用。 A.#ifndef B.#endif C.#undefine D.#undef
30.程序中定义以下宏 #define w 2 #define L 4+w 若定义int val; 且令val=L*L,则变量val的值为( B. 14 C. 20 D. 36 BA.12
9.下列叙述中,正确的是( D )。 A. 输入项可以是一个实型常量, 如: scanf("%f",3.5); B. 只有格式控制,没有输入项,也能正确输入数 据到内存,如:scanf("a=%d, b=%d"); C. 当输入一个实型数据时,格式控制部分可以 规定小数点后的位数,如:scanf("%4.2f",&f); D. 当输入数据时,必须指明变量地址 如: scanf("%f",&f);
25.下列关于函数的叙述不正确的是______________ B A.一个函数可以没有返回值 B.一个函数可以用return语句返回两个以上的值 C.用外部变量可以在函数间传递数据 D百度文库函数无法返回值时,类型为void
26.若函数实参是数组名时,则以下叙述中,正确的是 ( A )。 A. 必须在调用函数中说明此数组的大小 B. 实数组类型与形参数组类型可以不相同 C. 在被调用函数中,形参数组必须与实参数组大小相等 D. 实数组名与形参数组名必须一致
2005年C语言复习课
1.下列四个叙述中,错误的是( c )。
A. C语言中的关键字必须小写 B. 变量的存储类型决定了变量的存储位置及其生存期 C. 宏定义必须以#define 开头,行末必须加分号 D. C语言中的注释行可以出现在程序的任何位置
2.下列四个叙述中,错误的是( c )。 A. 一个C源程序必须有且只能有一个主函数 B. 一个C源程序可以含一个或多个子函数 C. 在C源程序中注释说明必须位于语句之后 D. C源程序的基本结构是函数
32. 有以下程序: #include<stdio.h> main () {int c; while((c=gether())!=‟\n‟) {switch(c-„2‟) {case 0: case 1:putchar(c+4); case 2:putchar(c+4);break; case 3:putchar(c+3); default:putchar(c+2);break}} printf(“\n”);} 从第一列开始输入以下数据,<CR>代表一个回车符. 2473<CR> A 程序的输出结果是__________ A.668977 B.668966 C.66778777 D.6688766
23.若要用下面的程序片段使指针变量p,指 向一个存储整型变量的动态存储单元:int *p;即p= D malloc(sizeof(int));则应填 入 A.int B.int * C.(*int) D.(int*)
24.若定义 int b=8,*p=&b; 则下面均表示b的 地址的一组选项为( D )。 A. *p,*&b B. *p,&*b C. p,*&b,&*p D. &*p,p,&b
13.设 char c1='a',c2='A';则表达式 c1==c2+32?c1:(c1=c2+32)的值为( C )。 A. 1 B. 0 C. 'a' D. 'A„
14.运行以下程序段的运行结果是( B )。 int x=1,y=2,z=3,a=-1; if(x<=y) a=0; else if(z > y) a=1; printf("%d%d%d%d \n",x,y,z,a); A. 1 2 3 1 B. 1 2 3 0 C. 1 2 3 -1 D. 编译时报语法错误,不能 执行
7.设r,s,t为实型变量,代数式rs/10t在C程序中的正 确写法是________ 。 C A.rs/10t B.r*s/10t C.r*s/10/t D.r*s/10*t
8.为表示关系y在闭区间【x,z】内,应使用的C语言 表达式是( A )。 A. (x<=y)&&(y<=z) B.(x<=y)AND(y<=z) C. x<=y<=z D.(x<=y)&(y<=z)
相关文档
最新文档