}
int b=LB(a,4)+LB(&a[3],4); printf(\
输出结果为: b=184
Press any key to continue
三、写出下列每个程序运行后的输出结果 1. #include
void main(){ }
输出结果为: wanghua 52 23.50 wanghua 52 23.50 Press any key to continue
2. #include
struct Worker x={\struct Worker y,*p; y=x;p=&x;
printf(\printf(\char name[15]; //姓名 int age; //年龄 float pay; //工资
};
char name[15]; //姓名 int age; //年龄 float pay; //工资
void main(){ }
输出结果为: louting 39 986.00 Press any key to continue
3. #include
int Less(struct Worker r1,struct Worker r2){ }
if(r1.age printf(\ void main(){ struct Worker a[4]={{\ } 输出结果为: def 58 638.00 Press any key to continue 2010年7月已考 一、单选题(每小题2分,共20分) 1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。 A. main B. MAIN C. name D. function 2.每个C语言程序文件的编译错误分为( )类。 A. 1 B. 2 C. 3 D. 4 3. 字符串\的长度为( )。 A. 6 B. 7 C. 8 D. 9 4. 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为( )语句。 A. for B. while C. do D. if 5. 在下面的do-while循环语句中,其循环体语句被执行的次数为( )。 int i=0; do i++; while(i<10); A. 8 B. 9 C. 10 D. 11 struct Worker x=a[0]; int i; for(i=1;i<4;i++) if(Less(x,a[i]))x=a[i]; printf(\ 6. 将两个字符串连接起来组成一个字符串时,选用的字符串函数为( )。 A. strlen() B. strcpy() C. strcat() D. strcmp() 7. 若用数组名作为函数调用的实参,传递给形参的是( )。 A. 数组的首地址 B. 数组中第一个元素的值 C. 数组中全部元素的值 D. 数组元素的个数 8. 假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大( )个字节。 A. 4 B. 8 C. 16 D. 32 9. 假定s被定义为指针类型char *的变量,初始指向的字符串为\,若要使变量p指向s所指向的字符串,则p应定义为( )。 A. char *p=s; B. char *p=&s; C. char *p;p=*s; D. char *p; p=&s; 10. 从一个数据文件中读入以换行符结束的一行字符串的函数为( )。 A. gets() B. fgets() C. getc() D. fgetc() 一、单选题(每小题2分,共20分) 1. A 2. B 3. B 4. D 5. C 6. C 7. A 8. C 9. A 10. B 二、填空题(每小题2分,共26分) 1.执行“printf(\”语句后得到的输出结果为________。 2.short int类型的长度为________。 3. 用类型关键字表示十进制常数3.26f的类型为________。 4. 假定y=10,则表达式++y*3的值为________。 5. 逻辑表达式(x==0 && y>5)的相反表达式为________。 6.若x=5,y=10,则x!=y的逻辑值为________。 7. 假定二维数组的定义为“int a[3][5];”,则该数组所占存储空间的字节数为________。 8. 使用“typedef char BB[10][50];”语句定义________为含有10行50列的二维字符数组类型。 9. 字符串\的长度为________。 10.假定p所指对象的值为25,p+1所指对象的值为46,则*++p的值为________。 11. 假定一个数据对象为int*类型,则指向该对象的指针类型为_______。 12.假定一个结构类型的定义为 “struct A{int a,b; A* c;};”,则该类型的理论长度为________。 13. 假定要访问一个结构对象x中的数据成员a,则表示方式为____________。 二、填空题(每小题2分,共26分) 1. C 2. 2 3. float 4. 33 5. (x!=0 || y<=5) 或:(x || y<=5) 6. 1(真,true) 7. 60 8. BB 9. 15 10. 46 11. int** 12. 12 13. x.a 三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 1. #include for(i=0; i<5; i++) for(j=i; j<5; j++) k++;; printf(\ } 2. #include if(x%i==0) {printf(\ i++; } } 3. #include int a[8]={70,63,54,95,40,75,90,66}; int i, s=0; for(i=0; i<8; i++) if(a[i]>=70 && a[i]<=90) s+=a[i];