4. 枚举类型中的每个枚举常量的值都是一个( )。 A. 整数 B. 浮点数 C. 字符 D. 逻辑值
5. 循环语句“for(int i=0; i 6. 在下面的while循环语句中,其循环体被执行的次数为( )。 int i=0,s=0; while(s<20) {i++; s+=i;} A. 4 B. 5 C. 6 D. 7 7. 若定义了函数 double *function(), 则返回值类型为( )。 A. 实数型 B. 实数指针型 C. 函数指针型 D. 数组型 8. 若用数组名作为函数调用的实参,传递给形参的是( )。 A. 数组的首地址 B. 数组中第一个元素的值 C. 数组中全部元素的值 D. 数组元素的个数 9. 假定a为一个整型数组名,则元素a[4]的地址比该数组的首地址大( )个字节。 A. 4 B. 8 C. 16 D. 32 10. 下列给字符数组赋初值时,正确的是( )。 A. char s1[]=\ C. char s3[2][3]={\ A. char *p=s; B. char *p=&s; C. char *p;p=*s; D. char *p; p=&s; 11. 要使p指向二维整型数组a[10][20],p应定义为( )。 A. int *p=a; B. int **p=a; C. int *p[20]=a; D. int(*p)[20]=a; 12. 标准输入设备的文件流标识符是( )。 A. stdin B. stdout C. stderr D. stdio 13. 若要以读/写操作方式打开一个二进制文件,当文件不存在时返回打开失败信息,则选用的打开方式字符串为( )。 A. \ 二、填空题 1. 单行或多行注释的开始标记符为__________。 2. 使用#include命令可以包含一个头文件,也可以包含一个______文件。 3. 执行“printf(\”语句后得到的输出结果为________。 4.执行“printf(\”语句后得到的输出结果为________。 5.short类型的大小为________个字节。 6. 十进制数3.26f的类型为________。 7. 假定y=10,则表达式++y*3的值为________。 8. 关系表达式(x==0)的等价表达式为________。 9.若x=5,y=10,则x!=y的逻辑值为________。 10. 在if语句中,每个else关键字与它前面同层次并且最接近的________关键字相配套。 11. 当在程序中执行到________语句时,将结束所在循环语句中循环体的一次执行。 12. 假定二维数组的定义为“char a[M][N];”,则该数组所占存储空间的字节数为________。 13. 存储字符串\需要占用存储器的________个字节空间。 14. strlen函数用于计算一个字符串的________。 15.函数中的形参变量的初值由调用该函数时对应的________值决定。 16. 程序的编译是以__________为单位进行的。 17. 假定a是一个一维数组,则a[i]的指针访问方式为________。 18. 执行int *p=malloc(sizeof(int))操作得到的一个动态分配的整型对象为________。 19. 假定要动态分配一个类型为struct Worker的具有n个元素的数组,并由r指向这个动态数组,则使用的语句表达式为 ________________ =malloc(n*sizeof(struct Worker))。 20. 与结构成员访问表达式p->name等价的表达式是____________。 三、写出下列每个程序运行后的输出结果 1. #include printf(\ } 2. #include for(i=0;i 3. #include int x=24,y=88; int i=2,p=1; do { while(x%i==0 && y%i==0) { p*=i; x/=i; y/=i; } i++; }while(x>=i && y>=i); printf(\ } 4. #include int a[9]={36,25,48,24,55,40,18,66,20}; int i, b1, b2; a[0]<=a[1]? (b1=a[0], b2=a[1]):(b1=a[1],b2=a[0]); for(i=2; i<9; i++) if(a[i] 5. #include int a=10, b=20; printf(\ { int b=a+25; a*=4; printf(\ } printf(\ } 6. #include void SelectSort(int a[], int n) { int i,j,k,x; for(i=1;i for(j=i;j if(a[j] x=a[i-1]; a[i-1]=a[k]; a[k]=x; } } void main() { int i; int a[6]={20,15,32,47,36,28}; SelectSort(a,6); for(i=0; i<6; i++) printf(\ printf(\ } 7. #include void LE(int* a, int* b) { int x=*a; *a=*b; *b=x; } void main() { int x=15, y=26; printf(\ LE(&x,&y); printf(\ } 8. #include char name[15]; //姓名 int age; //年龄 float pay; //工资 }; int Equal(struct Worker* r1, struct Worker* r2) { if(strcmp(r1->name, r2->name)==0) return 1; else return 0; } void main() { struct Worker a[4]={{\ {\ struct Worker x={\ int i; for(i=0; i<4; i++) if(Equal(a+i,&x)) break; if(i>=4) printf(\没有查找所需要的记录!\\n\ else printf(\ } 四、写出下列每个函数的功能 1. int SE(int n) { //n为大于等于1的整数 int x,s=0; printf(\输入%d个整数: \ scanf(\ if(n==1) return x; s=x; while(--n) {scanf(\ return s; } 2. #include void WA(int a[], int n) { int i,k,j,x; for(i=0;i for(j=i+1;j 3. #include int* LJ(int a[], int n) { int i,k=0; for(i=1;i if(a[i]>a[k]) k=i; return &a[k]; } 4. int Output(struct IntNode *f) { int sum=0; if(!f) return -9999; //用返回特定值-9999表示空表 while(f) { sum+=f->data; f=f->next; } return sum; } 假定struct IntNode的类型定义为: struct IntNode { int data; //结点值域 struct IntNode* next; //结点指针域 }; 5. int wr4(FILE* fptr) { char ch; int c=0; fseek(fptr,0,SEEK_SET); while(1) { ch=fgetc(fptr); 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言程序设计A复习资料一(2)在线全文阅读。
相关推荐: