复习A

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

复习A:一、单项选择题1、如果要把常量327存入变量a中,a不能定义的类型是哪一个? ( ) A)int B)char C)long D)float 2、若x 为unsigned int 型变量,则执行下列语句后x值为()x = 65535;printf(“%d\n”,x); A)65535 B)1 C)无定值D)-1 3、有以下程序main(){int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a

A) 7 B) 6 C) 5 D) 4 5、以下程序的输出结果是()。main() { int a=4,b=5,c=0,d; d=!a&&!b||!c; printf("%d\n",d); } A)1 B)0 C)非0的数D)-1 6、当执行以下程序段时()。x=-1;do{ x=x*x; }while(!x); A)循环体将执行一次B)循环体将执行两次C)循环体将执行无限次D)系统将提示有语法错误7、全局变量的存储类型可以定义为()。A)auto或static B)extern或register C)auto或extern D)extern或static 8、定义全局变量时,若变量的的存储类别缺省,则默认的存储类型是()。A)auto B)register C)extern D)static 9、已知:int a, x; 则正确的赋值语句是()。A)a=(a[1]+a{2})/2; B)a*=*a+1; C)a=(x=1, x++, x+2); D)a="good"; 10、已知:int a, *p=&a; 则下列函数调用中错误的是()。A)scanf("%d", &a); B)scanf("%d", p); C)printf("%d", a); D)printf("%d", p); 11、下述程序的输出结果是()#include void main( ) { struct complex { int x int y; } cnum[2]={1,3,2,7}; printf(“%d”, cnum[0].y/cnum[0].x*cnum[1].x) } A)0 B)1 C)3 D)6 12、下述程序的输出结果是()。#include void main( ) { union { unsigned char c unsigned int i[4]; }z z.i[0]=0x39 z.i[1]=0x36; printf(“%c”,z.c); } A)6 B)9 C)0 D)3 13、下述关于C语言文件操作的结论中,()是正确的。A)对文件操作必须先关闭文件B)对文件操作必须先打开文件C)对文件操作顺序无要求D)对文件操作前必须先测试文件是否存在,然后再打开文件14、以下程序的输出结果是()。main() { char ch[3][4]={"123","456","78"},*p[3]; int i; for (i=0;i<3;i++) p[i]=ch[i]; for (i=0;i<3;i++) printf("%s",p[i]); } A)123456780 B)123 456 780 C)12345678 D)147 15、对于所定义的二维数组a[2][3],元素a[1][2]是数组的第( )个元素。A)3 B)4 C)5 D)6 二、判断题1、赋值运算符的优先级低于关系运算符()。2、条件运算符的结合方向是“自左向右”()。3、C语句的循环语句中循环体如果包含一个以上的语句,必须以复合语句形式出现()。4、C程序中的函数不能嵌套调用,但可嵌套定义()。5、若自定义函数要求函数名返回一个值,则该函数体中必须要有return语句()。6、当形式参数为指针变量名时,实际参数可为指针变量名、数组名或其它类型变量的首地址()。7、若有说明:static int a[3][4];,则数组a中各数组元素可在程序的编译阶段得到初值0()。8、若用数组名作为函数调用时的实参,则实际上传递给形参数组的是数组的第一个元素的值() 3 9、利用指针和结构体类型可以构成表、树等复杂的数据结构()。10、共用体变量的地址和它的各成员的地址都是同一地址()。11、printf函数中的“%0”格式参数表示用来输出unsigned型数据()。12、在一个C程序中,所有要使用的变量和要调用的函数都必须在main( )函数中定义()。13、赋值运算符的结合性是“自右至左”()。14、一个C程序可以由多个源程序文件组成()。15、do-while语句构成的循环,当while语句中的表达式的值为零时结束循环

()。三、写出下面各程序的运行结果1、#include stdio.h main ( ) {int i=0, j=0, k=0, m; for (m=0; m 4; m++) 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); } 2、#include stdio.h main ( ) {int i=1; while (i =15) if (++i% 3!=2) continue; else printf(“%d”, i); } 3、#include add1(int a[ ], int n) { int i; for(i =0;i typedef struct student{ char name[10]; long sno; float 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%s\n",d.sno,p->name); } 四、程序填空 1

、以下程序是从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结 4 束输入,请将缺省语句填上。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=%f\n”, 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;

②printf(“%d %d\n”,*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、C 10、

D 11、D 12、B 13、B 14、C 15、

D 二、判断题(√)2、(×)3、(√)4、(×)5、(×)6、√)

7、(√)8、(√)9、(√)10、(√)11、(×)12、(×)13、(√)14、(√)15、(√)三、写出程序的运行结果1、答案是:0,1,2,5 2、答案是:2 5 8 11 14 3、答案是:12345678910 4、答案是:x 5、答案是:2002Shangxian 四、程序填空1、答案是:①x =0 ②x amax ③x amin 2、答案:①y=&b; ②exchange(x,y); 五、程序设计题1、参考答案:#define N 10 struct student{ char num[6]; char name[8]; int score[4]; float ave; } stu[N]; main() { int i,j,max,maxi,sum; float average; /*输入*/ for ( i=0; imax) { max=sum; maxi=i; } } average/=N; /*打印*/ printf(“NO. name score1 score2 score3 average\n”); for(i=0; i

相关文档
最新文档