《2022年C语言复习题及答案老师给的.pdf》由会员分享,可在线阅读,更多相关《2022年C语言复习题及答案老师给的.pdf(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、复习 A:一、单项选择题1、如果要把常量327 存入变量 a 中, a 不能定义的类型是哪一个(B )A) int B) char C ) long D) float 2、若 x 为 unsigned int 型变量,则执行下列语句后x 值为( D ) x = 65535;printf(“%d n”,x);A)65535 B) 1 C)无定值D) -13、有以下程序main() int a=1,b=2, m=0 ,n=0,k;k= (n=ba)| (m=ab );printf(%d ,n, k,m ) ; 程序运行后的输出结果是(C ) A)0,0 B) 0,1 C)1,0 D)1, 14、在
2、 C语言中,如果下面的变量都是int类型,则输出的结果是( C ) 。 sum=pad=5; pAd=sum + + ,pAd + +, + + pAd; printf(%dn,pad); A) 7 B) 6 C) 5 D) 45、以下程序的输出结果是(A) 。main() int a=4,b=5,c=0,d;d=!a&!b|!c;printf(%dn,d); A)1 B)0 C)非 0 的数D )-16、当执行以下程序段时(A ) 。x=-1 ;dox=x*x;while(!x);A)循环体将执行一次B )循环体将执行两次C)循环体将执行无限次D )系统将提示有语法错误7、全局变量的存储类型
3、可以定义为(D ) 。A)auto 或 static B) extern或 register C) auto或 extern D) extern或 static精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 26 页 - - - - - - - - - - 8、定义全局变量时,若变量的的存储类别缺省,则默认的存储类型是(C ) 。A)auto B) register C) extern D) static9、已知: int a, x; 则正确的赋值语句是(C ) 。 A ) a=(a1+a2)
4、/2; B) a*=*a+1; C ) a=(x=1, x+, x+2); D) a=good;10、已知: int a, *p=&a; 则下列函数调用中错误的是( D ) 。 A ) scanf(%d, &a); B) scanf(%d, p); C ) printf(%d, a); D) printf(%d, p);11、下述程序的输出结果是(D ) 。#include void main( ) struct complex int x ; int y; cnum2=1,3,2,7; printf(“ %d ”, cnum0.y/cnum0.x*cnum1.x) ; A) 0 B) 1 C
5、) 3 D) 6 12、下述程序的输出结果是(B ) 。 #include void main( ) union unsigned char c ; unsigned int i4; z ; 0=0 x39 ; 1=0 x36; printf(“%c ”,; A ) 6 B) 9 C) 0 D) 313、下述关于C语言文件操作的结论中,(B )是正确的。A)对文件操作必须先关闭文件B)对文件操作必须先打开文件C)对文件操作顺序无要求D)对文件操作前必须先测试文件是否存在,然后再打开文件精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - -
6、 - - - - - -第 2 页,共 26 页 - - - - - - - - - - 14、以下程序的输出结果是(C)。 main() char ch34=123,456,78,*p3; int i;for (i=0;i3;i+) pi=chi;for (i=0;i3;i+) printf(%s,pi); A)0 B)123 456 780 C) D) 14715、对于所定义的二维数组a23,元素 a12是数组的第 ( D )个元素。A)3 B)4 C)5 D)6 1、 赋值运算符的优先级低于关系运算符() 。2、 条件运算符的结合方向是“自左向右”() 。3、 C语句的循环语句中循环体如
7、果包含一个以上的语句,必须以复合语句形式出现() 。4、 C程序中的函数不能嵌套调用,但可嵌套定义() 。5、 若自定义函数要求函数名返回一个值,则该函数体中必须要有return语句 ( ) 。6、 当 形 式 参 数 为 指 针 变量 名 时 , 实 际 参 数 可为 指 针 变 量 名 、 数 组 名 或 其 它 类 型 变 量 的 首 地 址() 。7、 若有说明: static int a34;,则数组 a 中各数组元素可在程序的编译阶段得到初值0 () 。8、 若用数组名作为函数调用时的实参,则实际上传递给形参数组的是数组的第一个元素的值() 。9、 利用指针和结构体类型可以构成表、
8、树等复杂的数据结构() 。10、共用体变量的地址和它的各成员的地址都是同一地址() 。11、printf函数中的“ %0 ”格式参数表示用来输出unsigned 型数据( ) 。12、在一个 C程序中,所有要使用的变量和要调用的函数都必须在main( )函数中定义( ) 。13、赋值运算符的结合性是“自右至左”() 。14、一个 C程序可以由多个源程序文件组成() 。15、do-while语句构成的循环,当while语句中的表达式的值为零时结束循环() 。三、写出下面各程序的运行结果1、 #includemain ( )int i=0, j=0, k=0, m;for (m=0; m4; m+
9、)switch (m)case 0: i=m+; case 1: j=m+; case 2: k=m+; case 3: m+;printf(“n%d, %d, %d, %d ”, i, j, k, m);精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 26 页 - - - - - - - - - - 2、 #includemain ( )int i=1;while (i=15)if (+i% 3!=2)continue;elseprintf(“%d ”, i);3、#include add1
10、(int a , int n) int i; for(i =0;in;i+) ai+;main() static int array =0,1,2,3,4,5,6,7,8,9;int j;add1(array,10);for(j=0;j10;j+)printf(“%d ” ,arrayj);4、union data long w; float x; int y; char z; beta;main( ) =123456;=888;=;= x;printf(“%c ”,; 5、# include typedef struct student char name10; long sno; floa
11、t score; STU;main( ) STU a=zhangsan,2001,95,b=Shangxian,2002,90,c=Anhua,2003,95,d,*p=&d; d=a; if(strcmp,0) d=b; if(strcmp,0) d=c; printf(%ld%sn,p-name);四、程序填空1、以下程序是从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入,请将缺省语句填上。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 26 页 - - -
12、 - - - - - - - main ( )float x, amax, amin;scanf (“%f”, &x);amax=x; amin=x;while ( )if ( ) amax =x;if ( ) amin =x;scanf (“%f”, &x);printf(“amax=%f, amin=%fn ” , amax, amin);2 、下面的程序是用指针来交换两个数据,请将缺省语句填上。void exchange( int *p ,int *q) int t; t=*p; *p=* q; *q=t;main() int a,b,*x,*y; a=10;b=20; x=&a; pr
13、intf(“%d %dn ”,*x, *y);五、程序设计题有 10 个学生,每个学生的数据包括学号、姓名、3 门课的成绩,从键盘输入10 个学生数据,要求打印出3 门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3 门课的成绩、平均分数。 2、用自定义函数和数组求n 个数的平均值,并用主函数调用参考答案:一、单项选择题1、B 2、D 3、C 4、C 5、 A 6、A 7、D 8、C 9、C10、D11、D 12、B 13、B 14、C 15、 D二、判断题() 2 、 () 3 、 () 4 、 () 5 、 ()6、) 7 、 () 8 、 () 9 、 ()10、 ()11、 (
14、)12、 () 13 、 () 14 、 () 15 、 ()三、写出程序的运行结果精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 26 页 - - - - - - - - - - 1、答案是: 0,1,2,52、 答案是: 2 5 8 11 143、答案是:4、答案是: x5、答案是: 2002Shangxian四、程序填空1、答案是: x=0 xamax xamin2、答案: y=&b; exchange(x,y);五、程序设计题1、参考答案:#define N 10struct stud
15、ent char num6;char name8;int score4;float ave; stuN;main() int i,j,max,maxi,sum; float average; /*输入 */for ( i=0; iN; i+) printf(“nInput scores of student %d,n”,i+1);printf(“No.: ”);scanf( “%s”,stui.num);printf(“name:”);scanf( “%s”,stui.name);for(j=0;j3;j+) printf(“score %d : ”,j+i); scanf(“%d ”,&st
16、ui.scorej); /* 计算 */average=0;max=0;maxi=0;for(i=0; iN; i+) sum=0; for(j=0; jmax) max=sum; maxi=i; average/=N;/* 打印 */printf(“NO. name score1 score2 score3 averagen”);for(i=0; iN; i+) printf(“ %s%10s ”, stui.num , stui.name); for(j=0; j3; j+)printf(“%9d ”,stui.scorej); printf(“%n”,stui.avr); 精品资料 -
17、- - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 26 页 - - - - - - - - - - printf(“average=%n ”,average);printf(“The highest score is : %s, score total: %d”, stumaxi.name,max); 2 、参考答案:float average( float a , int n) float aver=0; int j; for(j=0;jn;j+) aver=aver+aj; aver=aver/n; re
18、turn aver; main() float x10,y; int j; for(j=0;j10;j+) scanf(“%f” ,&xj); y=average(x,10); printf(“aver=%.2fn”,y); 复习 B:一、单项选择题1、逗号表达式2,4,6,8的值为( d ) 。 A )2 B)4 C)6 D)82、以下选项中非法的表达式是( d ) A)0=x&x100 B)i=j = =0 C)(char)(65+3) D )x+1=x+13、若定义 float a;现要从键盘输入a 的数据,其整数位为3 位,小数位为2 位,则选用( a ) 。A)scanf( “%f”
19、,&a); B) scanf( “% ”,a);C) scanf( “% ”,&a); D) sc anf( “%f”,a);4、下列程序的运行结果是( d )main()int a=3, b=2, c=1, k=4; printf(%dn, ka k : cb c: a);A) 4 B) 3 C) 2 D) 15、以下程序中,while 循环的循环次数是(d) 。main( ) int i=0;while(i10) if(i1) continue;if(i=5) break;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - -
20、 - - - -第 7 页,共 26 页 - - - - - - - - - - i+;A)1 B)10 C)6 D)死循环,不能确定次数6、执行语句: for (i=1 ;i+4; )后 ; 变量 i 的值是( c) 。A)3 B)4 C )5 D)不定7、有关函数参数,下列说法不正确的是(c ) 。A) 实参可以将数据传给形参; B) 实参和形参是不同的变量;C) 形参可以将数据传给实参; D) 实参和形参必须个数相等,类型一致。8、C语言中,变量和函数具有两个属性是(b ) 。A)作用域和生存期 B)类型和存储类别C)作用域和类型 D)作用域和存储类别9、说明语句“ int (*p)(
21、):”的含义是( c ) 。A)p 是一个指向一维数组的指针变量B)p 是指针变量,指向一个整型数据C)p 是一个指向函数的指针,该函数的返回值是一个整型D)以上都不对10、说明语句 int *(*p);的含义是( d ) 。A)p 是一个指向int 型数组的指针B)p 是指针变量,它构成了指针数组C)p 是一个指向函数的指针,该函数的返回值是一个整型D)p 是一个指向函数的指针,该函数的返回值是一个指向整型的指针11、下述程序的执行结果是(a ) 。#includeunion un int i; char c2; ;void main( ) union un x; 0=10; 1=1; pr
22、intf(“n%d”,;A) 266 B)11 C)265 D)138 12 、若程序中有如下的说明和定义:struct ex int x, y ; struct ex x, y;则会发生的情况是(a ) 。A) 编译时错 B) 程序能顺利编译、连接、执行精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 26 页 - - - - - - - - - - C) 能顺利编译和连接,但不能执行D ) 能通过编译,但连接出错13、C语言可以处理的文件类型是(b )。 A ) 文本文件和数据文件B) 文本
23、文件和二进制文件C) 数据文件和二进制文件D) 数据代码文件14、下面的 for语句( c ) 。for (x=0, y=0; (y!=123) & (x4); x+) A )是无限循环B)循环次数不定C)循环执行4 次D)循环执行3次15、若有如下说明:struct char ch; int i; double x; arr23=a,1,b,2,c,3,;则表达式( b )的值为 2。A) arr01.ch B) arr01.i C) arr00.i D) arr02.i 二、判断题1、条件运算符的结合方向是“自左向右”() 。2、switch语句中每一个case 的常量表达式的值必须互不相
24、同() 。3、循环语句中循环体允许包含一个以上的语句,可以不以复合语句形式出现() 。4、构成 C程序的源文件之间以及函数与函数之间,相互位置可以任意() 。5、C程序中的函数不能嵌套定义,但可嵌套调用() 。6、从变量的作用域角度来分,可以分为全局变量和局部变量() 。7、从终端输入一个字符串给字符数组,该字符串两端不必用双引号括起来() 。8、若有说明: int a 4=0,0;,则只有a00和 a01可得到初值0, 其余元素均得不到初值0() 。9、利用指针和结构类型不能构成更复杂的数据结构() 。10、共用体类型可以出现在结构体类型定义中() 。11、当一个 case 语句末包含bre
25、ak 语句时,执行完该case 语句后跳出switch结构() 。12、宏定义中的标识符可以用大写字母,也可以用小写字母() 。13、do-while语句构成的循环,当while语句中的表达式的值为非零时结束循环() 。14、用“ % ”作求余运算时,该运算符两侧均应为整型数据() 。15、一个逗号表达式可以与另一个表达式组成一个新的逗号表达式() 。三、写出程序的运行结果1、 #includemain ( )int a=1, b=3, c=5, d=4;if (ab)if (cd) x=1;else精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳
26、 - - - - - - - - - -第 9 页,共 26 页 - - - - - - - - - - if (ac)if (bd) x=2;else x=3;else x=6;else x=7;printf(“x=%d ”, x);2、 #includemain ( )int k, j, m;for(k=5; k=1; k- -)m=0;for (j=k, j=5; j+)m+=k*j;printf (“m=%dn ”, m);3、#include main( )union Exa struct int a;int b;out;int c;int d;e;=1; =2;printf(%d
27、%d, 4、 #include “”main( ) int a =1,2,3,4,i,j,s=0; j=1; for(i=3;i=0;i-) s=s+ai*j; j=j*10; printf(“s=%dn”,s);5、 #include #include main( ) char s1 =som things; char s2 =test; char s3 =good;printf(%sn,strcat(strcpy(s1,s2),s3);四、程序填空1、下面程序输出100 到 200 之间的素数,每行输出10 个素数,请将缺省语句填上,使算法完整。#include “”main ( )int
28、 m, k, i, n=0;for (m=101; m=200; m=m+2)if ( ) printf (“n ”); k=sqrt(m); for (i=2, i=k; i+)if ( ) break;if ( i=k+1)printf(“%d ”, m); n=n+1;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 26 页 - - - - - - - - - - 2、一个函数days, 实现求某月某日是该年的第多少天。由主函数将年、月、日传递给days 函数,计算后将日数传回主函数输
29、出,请将缺省语句填上,使算法完整。struct y_m_d int year; int month; int day; date;main() int days(int ,int ,int); int i,day_sum; printf(“input year,month,day:”); scanf(“%d,%d,%d ”,&,&,&; day_sum=days( ); printf(“n%d / %d is the %d th day in %d.”, , , day_sum,;days(int year, int month, int day) int day_sum, i; int da
30、y_tab13=0,31,28,31,30,31,30,31,31,30,31,30,31; for(i=1; i=3) return(day_sum); 五、程序设计题1,学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组s 中,请编写函数fun ,它的功能是:把分数最低的学生数据放在h 所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。#define N 16typedef struct char num10; int s;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - -
31、- - - -第 11 页,共 26 页 - - - - - - - - - - STREC;int fun(STREC *a, STREC *b) main() STREC sN=“GA05 ”,85,“GA03 ”,76,“GA02 ”,69,“GA04 ”,85,“GA01 ”,91,“GA07 ”,72 , “ GA08 ”,64,“GA06 ”,87,“GA015 ”,85,“GA013 ”,96 , “ GA012,64, “GA014 ”,91,“GA011 ”,91,“GA017 ”,64 , “ GA018 ” ,64,“GA016 ”,72; STREC hN; int i
32、, n; n=fun(s,h); printf(“The %d lowest score:n”,n); for(i=0; in; i+)printf(“%d %4dn”,hI.num, hI.s);printf(“n ”); 2、从键盘输入一批字符(回车键结束),存入一个磁盘文件中参考答案 :一、单项选择题1、D 2、D 3、A 4、D 5 、D 6、C 7 、C 8、B 9、C10、D11、A 12 、A 13 、B 14、C 15 、B 二、判断题1、 ()2、 ()3、 ()4、 ()5、 ()6、 ()7、 ()8、 ()9、 ()10、 ()11、 ( ) 12 、 ( ) 13、
33、( ) 14、 ( ) 15、 ( )三、写出程序的运行结果1、 答案是: x=22、答案是: m=153、答案是: 484、 答案是: s=1234 5、 答案是: testgood 四、程序填空1、答案是: n%10 = = 0 m%i= =02、答案是:,day_sum=0;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 26 页 - - - - - - - - - - day_sum+=1; 五、程序设计题1、参考答案: STREC fun(STREC *a, char *b) st
34、atic STREC h=“” ,-1; int k; for(k=0; kN;k+)if (!strcmp(ak.num, b) h=ak; break;return h;2、参考答案: main( ) FILE *fp; char ch; fp=fopen(“” , ”w”); ch=getchar( ); while(ch!=n ) fputc(fp, ch);ch=getchar();fclose(fp);复习 C:一、单项选择题1、 有定义语句:int x, y;,若值 11,变量 y 得到数值 12,下面四组输入要通过scanf(%d,%d,&x,&y);语句使变量x 得到数形式中
35、,错误的是( A ) A )11 12 B)11, 12 C)11,12 D)11 ,122、 若有语句 int a=1,b=2,c=3;则以下值为0 的表达式是( D )A) a & bB) ab)|(bc) D)(!(a+b)=c&a)3、设 int a=9;则 printf(%d,%d n,a , a+);的输出结果是 ( C ) 。A)9,10 B)10,9 C)9,9 D)10,104、以下叙述正确的是(C) 。A)可以把 define和 if定义为用户标识符B)可以把 define定义为用户标识符,但不能把if定义为用户标识符C)可以把 if定义为用户标识符,但不能把define定
36、义为用户标识符D)define和 if都不能定义为用户标识符5、运行以下程序后,如果从键盘上输入65 14,则输出结果为(A) 。main() int m,n;printf(Enter m,n:);scanf(%d%d ,&m ,&n);while(m!=n)精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 26 页 - - - - - - - - - - while(mn) m-=n;while(nm) n-=m;printf(m=%dn,m);A)m=3 B)m=2 C)m=1 D)m=0
37、6、运行下面的程序运行后,如果从键盘上输人5,则输出结果是(A) 。main() int x;scanf(%d,&x);if(x-5) printf(%dx);else printf(%dx+);A)3 B)4 C )5 D )67、定义函数时,若函数的类型缺省,则函数的默认类型是(D ) 。A)char B) void C)float D)int8、设有说明int (* prt)M; 其中的标识符prt 是( C ) 。A) M个指向整型变量的指针B)指向 M个整型变量的函数指针C)一个指向具有M个整型元素的一维数组的指针D)具有 M个指针元素的一维指针数组,每个元素都只能指向整型变量9、已
38、知函数说明语句:void *fx( );则它的含义是( C ) 。A)函数 fx 的返回值是一个空类型的指针B)函数 fx 的返回值可以是任意的数据类型C)函数 fx 无返回值D)指针 fx 指向一个函数,该函数无返回值10、对于下述定义,不正确的叙述是(C ) 。union data int i; char c; float f;a, b;A)变量 a 所占内存的长度等于成员f 的长度B)变量 a 的地址和它的各成员地址都是相同的C)可以在定义时对a 初始化D)不能对变量a 赋值,故a=b 非法精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 -
39、 - - - - - - - - -第 14 页,共 26 页 - - - - - - - - - - 11、C语言库函数fgets(str, n, fp)的功能是( D )。A)从文件 fp 中读取长度n 的字符串存入B)从文件 fp 中读取长度不超过n-1 的字符串存入str指向的内存C)从文件 fp 中读取 n 个字符串存入str指向的内存D)从串 str读取至多 n 个字符到文件fp12、下述程序向文件输出的结果是(B )。#includevoid main( ) FILE *fp=fopen(“TEST ”, “wb”); fprintf(fp, “%d%c%d”, 58, , -,
40、 2278); fclose(fp);A) 58 75273 - 2278 B)C) 5875273-2278 D) 因文件为二进制文件而不可读13、下面程序输出结果是(B) 。 #define MAX 5 int aMAX,k; main() printf(n); fun1(); fun3(); printf(t); fun2(); fun3(); fun1() for (k=0; kMAX;k+) ak=k+k; fun2() int aMAX,k; for (k=0;k5;k+) ak=k; fun3() int k; for (k=0;kMAX;k+) printf(%3d,*(a+k
41、); A) 0 2 4 6 8 0 2 4 6 8B) 0 2 4 6 8 0 1 2 3 4C) 0 1 2 3 4 0 2 4 6 8D) 0 1 2 3 4 0 1 2 3 414、已知: int x;执行下面的程序段后,输出结果为(C ) 。 for (x=3; x6; x+)精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 15 页,共 26 页 - - - - - - - - - - printf (x%2) “*%d”: “#%dn”, x); A )*3 B)#3 C)#3 D) *3#4
42、#4 *4 *4#5 *5 *5 #5 15、说明语句“ int (*r)( ):”的含义是( D ) 。A)r 是一个指向一维数组的指针变量B)r 是指针变量,指向一个整型数据C)r 是一个指向函数的指针,该函数的返回值是一个整型D)以上都不对二、判断题1、switch语句执行完一个case 后面的语句后,流程控制转移到下一个case 继续执行() 。2、if语句的条件表达式必须是逻辑表达式() 。3、C语句的一个循环体内允许又包含另一个完整的循环结构() 。4、C程序以函数为单位进行编译() 。5、由多个源文件组成一个程序时,主函数只能出现在一个源文件中() 。6、从变量的作用域角度来分,
43、可以分为静态变量和动态变量() 。7、如果一个字符数组中包含一个以上结束符0 ,则遇最后一个0 时输出才结束() 。8、gets( )函数的作用是从终端输入一个字符串到字符数组,并且将0 也装入该数组() 。9、不能将一个结构体变量作为一个整体进行输入和输出() 。10、在 C编译中,对枚举元素按常量处理() 。11、C程序中的 main( )函数必须放在程序的开始部分( ) 。12、switch后面括号内的表达式可以是整型表达式或字符型表达式( ) 。13、宏定义是用标识符代替一个字符串,只作简单的置换,不作语法检查() 。14、C 语言中,“&”运算符作为单目运算符时表示的是取地址运算,作
44、为双目运算符时表示的是按位与运算( ) 。15、do-while语句构成的循环必须用break 语句才能退出() 。三、写出程序的运行结果1、 main ( )int i, j; float s; for (i=7; i4 ; i - -)s=0; for (j=i; j3; j- -) s=s+i*j;printf(“s=%fn ”, s);2、 #includemain ( )int k=1; char c= A; doswitch (c+)case A : k+; break; case B : k - -; case C ; k+=2; break; case D : k=k%2; c
45、ontinue;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 16 页,共 26 页 - - - - - - - - - - case E: k=k*2; break; default: k=k/3;k+; while (cF);printf(“k=%dn”, k);3、 #include struct score int math;int eng;int comp;struct stu char name12;char sex;long StuClass;struct score sub;main(
46、) struct stu student1=Li Ming,M,990324,88,80,90;struct stu student2;student2=student1;0=H;1=u;=990325;printf(%s,%c,%ld,%d,%d,%dn, 、#include “”main( ) char str =”7a8b9c”; int i; for(i=0;stri!=0 ;i+) if(stri=0& stri=9 )printf(“%c ” stri);5、 #include “”main( ) int a =0,2,5,8,12,15,23,35,60,65; int x=15
47、, i,n=10,m; i=n/2+1;m=n/2;while(m!=0) if(xai) i=i-m/2; m=m/2; else break;printf(“result=%dn”,i+1);四、程序填空1、华氏和摄氏的转换公式为:c=5/9*(F-32),其中 c 表示摄氏的温度,F 表示华氏的温度。要求输出从华氏 0 度到华氏 300 度,每隔 20 度输出一个值。main ( )int upper, step;float fahr = 0; celsius;upper = 300; step =20;while ( upper)精品资料 - - - 欢迎下载 - - - - - -
48、- - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 17 页,共 26 页 - - - - - - - - - - printf (“%4. 0f, %n”, fahr, celsius); ;答案是: fahr celsius=5/9*(fahr-32) fahr+=step2、下面程序的功能是从键盘输入10 个整数,去掉一个最大数和一个最小数,然后求剩下的8 个数的平均值,请填空。#include “”void main( ) int t,a10,max,min; float aver; for(t=0;t10;t+) scanf(“%d ”,&at); av
49、er=min=max=a0; for(t=1;tat) ; aver=aver+at; aver=aver-max-min; aver=aver/; printf(“Aver=%n”,aver);五、程序设计题1,利用结构类型分别写出复数的加、减的运算函数,并在主函数中调用这两函数,求任意两复数的和与差。2,木马和板凳共33 只,共有100 只脚,编程求木马和板凳各有多少只。参考答案:一、单项选择题1、 A 2、 D 3、B 4、 B 5、 C 6、 B 7、D 8、C9、 A10、D 11、B 12 C 13、A 14、 D 15、 C二、判断题1、 () 2 、 () 3 、 () 4 、
50、 () 5 、 ()6、 () 7 、 () 8 、 () 9 、 () 10 、 ()11、 ( ) 12 、 ( ) 13 、 ( ) 14 、 ( ) 15、 ( )三、写出程序的运行结果1、 答案是: s=2、 答案是: k=13、 答案是: Hu Ming,M,990325,83,80,904、 答案是: 7895、 答案是: result=4 四、程序填空1、答案是: fahr celsius=5/9*(fahr-32) fahr+=step精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 18