for(j=i;j temp=a[i]; a[i]= ⑵ ; a[min]==temp; } for(i=0;i 2. [程序说明] 下列程序读入时间数值,将其加1秒后输出,时间格式为: hh: mm: ss,即时:分:秒,当小时等于24小时,置为0。 #include struct { int hour, minute, second; } time; void main(void) { scanf(\⑴ ); time.second++; if( ⑵ ==60){ ⑶ ;time.second=0; if(time.minute==60) { time.hour++; time.minute=0; if( ⑷ ) time.hour=0; } } printf(\ } 试题五(20分) 按下列各题编程说明,编写C程序。 1. [编程说明](12分) 二分查找是一种常用的搜索方法。下列程序段是一个在一已从小到大排序好的数组中寻 找指定数的二分查找算法,返回下标。 int n,data,a[100]; /* data:待查整数,查找范围0~n-1 */ int low,high,mid; low=0; high=n-1; while(low<=high) { mid=(low+high)/2; if(a[mid]>data) high=mid-1; else if(a[mid] 用二分查找算法编程序求指定函数f(x)在(0,1)区间的f(x)=0的近似解,设该函数f(x) 是单调连续的。提示:若f(a)*f(b)<0,a 输入一行文字,找出其中大写字母、小写字母、空格、数字及其它字符各有多少? -4 44 1996 年浙江省高校非计算机专业学生 计算机等级考试试卷(二级C语言) 试题四 判断题(5分) 请判断下列5个叙述是否正确,在答卷的相应位置处填上\√\正确)或\×\错误)。 1. 系统软件就是买来的软件,应用软件就是自己编写的软件。 2. 实数类型的变量不宜进行相等比较。 3. 计算机病毒也是一种程序,它在某些条件下激活,起干扰破坏作用,并能传染到其它程序中去。 4. 软件测试的目的是为了证明程序是正确的。 5. 描述算法的语言都是计算机程序设计语言。 试题五 计算题(共16分) ㈠ 定义:int a=20,n=10; 分别写出执行下列语句后a的值:(6分) ⑴ a/=a+a; ⑵ a%=n%=7; ⑶ a+=a-=a*=a; ㈡ 定义: int x=10,y=7,z=5; 计算下列表达式的值:(6分) ⑴ x=y>x?y:z ⑵ (int)x/y/(int)z ⑶ x=x+5,y+?A? ㈢ 定义:int i=10,s=0; 分别执行下列语句后,s和i的值是多少?(4分) ⑴ while (s+=i--,--i); ⑵ while (i!=0) {i--;s+=--i;}; 试题六 阅读程序题(共22分) ㈠ 求以下四段程序题运行结束后s的值:(16分) ⑴ #include s=0; for(j=1;j<5;j++) { k=j%3; if(k==0)continue; s+=k; } printf(\ } ⑵ #include for(j=1;j<5;j++){ k=j%3;if(k==0)break;s+=k;}printf(\ } ⑶ #include { int x=4; static int y=5; x*=2; y*=2; return(x+y); } void main( ) { int j,s=0; for(j=0;j<2;j++) s=kk(); printf(\ } 45 ⑷ #include { int x=4; static int y; y=5; x*=2; y*=2; return(x+y); } void main( ) { int j,s=0; for(j=0;j<2;j++) s=kk ( ); printf (\ } ㈡ 写出下面程序的输出结果:(6分) #include { char *str1[]={\ p2=str1; p1=*(++p2)+2; *p1=++(*(++p1)); printf (\ p3[0]=p2; p3[1]=++p2; p3[2]=p2-1;p4=p3; printf(\ return; } 试题七 填充题(共20分) ㈠ 在以下嵌套结构中填空,给出李明的姓名,年龄(20),性别(男),生日(1976年5月6日),语种(C)及系别(计算机系)的信息,并输出这些信息。(12分) #include struct date{ int month; int day; int year; }; struct student { ⑴ name[20]; ⑵ age; ⑶ sex; ⑷ date birthday; ⑸ language; ⑹ department[30]; }; void main( ) { struct student s1= ⑺ ; printf ⑻ ; } ㈡ 将编号从⑴到⑾的11位同学围成一圈,从第一号开始,按以下规则发贺卡: F(1)=1,F(2)=2,F(n+1)=F(n)+F(n-1) 其中F(n)表示第n张贺卡发给了第F(n)。超过11时,F(n)绕圈计算(如F(n)=13,是发给了第⑵号同学的),如果发了20张贺卡,问各位同学分别发到了多少张贺卡?请填空完成以下程序,其中x[i]表示第i号同学发到的张数。(8分) #include { int a, b, c, i, k, x[12]; a=0; b=1; i=1; while( ⑴ ) { x[i]=0; i++; } i=1; while( ⑵ ) { 46 c=a+b; k= ⑶ ; if(k==0)k=11; x[k]++;a=b;b=c;i++; } k=1; while( ⑷ ){ printf(\ } 试题八 编程题(共22分) ㈠ 按以下编程说明编写C程序(10分) 定义一个6X6的整数矩阵A(其中元素均为不超过5位的整数),从键盘上输入该矩阵A的值,对矩阵A中不包括主对角线在内的上三角部分(列号大于行号)的每个元素的值加1,然后行列对齐输出矩阵A。 ㈡ 编写一个函数char *delk (char *sp),把SP所指向的字符串中所有'$'字符删除,并把处理后的字符串的指针返回。(12分) 47
C习题集
2026/1/27 6:25:14
C习题集.doc
将本文的Word文档下载到电脑

