#define N 3
#define Y(n) ((N+1)*n)
则执行语句:z=2*(N+Y(5+1));后,z的值为( ): A.出错 B.48 C.54 D.42
30、在VC 6.0中,若有以下说明: struct st { int x; float y; union un {char a[10]; double b[2]; }c; };
则:sizeof(struct st) 的值为(): A. 34 B. 22 C. 42 D. 24
31、在VC 6.0中,若有以下共用体说明: union uu { float x; double y; char z; } luck;
luck所占存储单元字节数为(): A. 8 B. 4 C. 13 D. 1
32、在下列结构变量st的定义中,不正确的是()。 A. struct student { int num; float score; }st;
B. struct student { int num; float score; };struct student st; C. struct { int num; float score; }st;
D. struct { int num; float score; }student; student st; 33、有以下程序: void main( ) { ; ;; }
程序运行后的结果是( ): A.编译时有警告错误
B.编译时有语法错误
C.编译没有错误,但是运行时出错 D.程序正常运行,但是无任何输出
34、x为int型变量,执行以下语句后,x的值为( )。 x=10; x+=x-=x-x; A.10 B.20 C.30 D.40
35、若有输入语句\ ,&x,&y,&z) ;\,欲使x的值为10,y的值为20,z的值为30,则正确的输入应为( ): A. 10 , 20 ,30〈回车〉 B. 10 20 30〈回车〉 C. 10,20,30〈回车〉
D. 10〈回车〉20〈回车〉30〈回车〉 36、统计学生成绩中不及格的学生名单。 #include
long num;
char name[20]; float score;
-stu*6+=,,9910110,”wangling”,85-,,9910111,”liming”,90.5-,,9910112,”fengyong”,90.5-,,9910113,”fangjun”,56-,,9910114,”sunping”,77.5-,,9910115,”kongxiao”,50.5--; main() {
struct student *p; int count=0;
printf(“不及格名单:\\n”);
for(p=stu; _p
printf(“%ld:%-12s %.1f\\n”, p->num, p->name, p->score); }
printf(“不及格人数:%d\\n”,count); }
37、下面程序是实现1+1/2+1/4+1/6+?+1/50的值,请填空: main() { int i=2; float sum=1; while (i<=50) {
sum=sum+1/(float)i;
i++;__i++________; }
printf(“sum=%f\\n”,sum) }
38、下面程序输入一个字符串,输出其中所出现过的大写英文字母.如输入字符串“UKSDYckjsjsjJSJJD”;应输出“UKSDYJ”。按程序功能填空。 #include
{ char a[80], b[26]; int i,j,k=0; gets(a);
for(i=0;a[i]!='\\0';i++)
if(a[i]>='A'&&a[i]<='Z') { for(j=0;j if (b[j]==a[i]) break; if(j= =k) { b[k]=a[i]; k++; } } b[k] =' \\0'; for(i=0; i 39、下面的程序将浮点数写到文件test中,然后读出并显示。 #include if((_fp=fopen_____(“test”,“wb”))==NULL) {printf(\fwrite(&f,sizeof(float),1,fp); rewind(fp) ; fread(&f,sizeof(float),1,fp); printf(“%f\\n”,f); fclose(fp); } 40、下面的程序可以实现从10个数中找出最大值和最小值功能,请填空。 #include { int *q; max=min=*p; for(q=p;q if (__max<*q_________) max=*q; else if (min>*q) min=*q; } main ( ) {int I,num[10]; printf(\ for(i=0;i<10;i++) scanf(\find(num, 10); printf(\ } 41、打开C:\\CAADATA\\41中的源程序文件pg207.cpp,补充程序并以原文件名保存(不得删除原文件中的注释内容,否则该题不计分),使得程序运行时完成以下功能:编写程序找出3×3矩阵中的最大元素及其行列位置并输出。 42、打开C:\\CAADATA\\42中的源程序文件pg307.cpp,按要求补充程序并以原文件名保存(不得删除原文件中的注释内容,否则该题不计分),要求为:编写判断一个年份是否为闰年的函数leapyear(),并在主函数调用该函数输出1900~2100年之间的所有闰年。闰年的条件是:能被4整除但不能被100整除,或者能被400整除。 43、打开C:\\CAADATA\\43中的源程序文件pg106.cpp,补充程序使得程序运行时完成以下功能:从键盘输入3个数,并按由大到小的顺序输出。并以原文件名保存(不得删除原文件中的注释内容,否则该题不计分)。 参考答案: 题号:1 分值:3 得分:0 答案:B 题号:2 分值:1 得分:0 答案:C 题号:3 分值:1 得分:0 答案:A 题号:4 分值:1 得分:0 答案:C 题号:5 分值:1 得分:0 答案:B 题号:6 分值:1 得分:0 答案:B 题号:7 分值:1 得分:0 答案:C 题号:8 分值:1 得分:0 答案:A 题号:9 分值:1 得分:0 答案:B 题号:10 分值:1 得分:0 答案:C 题号:11 分值:1 得分:0 答案:B 题号:12 分值:3 得分:0 答案:A 题号:13 分值:1 得分:0 答案:D 题号:14 分值:1 得分:0 答案:D 题号:15 分值:1 得分:0 答案:A 题号:16 分值:1 得分:0 答案:A 题号:17 分值:1 得分:0 答案:B 题号:18 分值:1 得分:0 答案:B 题号:19 分值:1 得分:0 答案:B 题号:20 分值:1 得分:0 答案:A 题号:21 分值:1 得分:0 答案:C 题号:22 分值:1 得分:0 答案:A 题号:23 分值:1 得分:0 答案:B 题号:24 分值:1 得分:0 答案:A 题号:25 分值:1 得分:0 答案:C 题号:26 分值:3 得分:0 答案:A 题号:27 分值:3 得分:0 答案:D 题号:28 分值:3 得分:0 答案:B 题号:29 分值:1 得分:0 答案:B 题号:30 分值:1 得分:0 答案:D 题号:31 分值:1 得分:0 答案:A 题号:32 分值:1 得分:0 答案:D 题号:33 分值:1 得分:0 答案:D 题号:34 分值:1 得分:0 答案:B 题号:35 分值:1 得分:0 答案:C 题号:36 分值:3 得分:0 答案: p 题号:37 分值:3 得分:0 答案: i++ i=i+1 ++i i+=1 i++; i=i+1; ++i; i+=1; 题号:38 分值:3 得分:0 答案: i 题号:39 分值:3 得分:0 答案: fp=fopen 题号:40 分值:3 得分:0 答案: max<*q max<=*q *q>max *q>=max 试卷: 题号:41 分值:12 得分:(该题由评卷系统判分) 题号:42 分值:18 得分:(该题由评卷系统判分) 题号:43 分值:10 得分:(该题由评卷系统判分)