C语言程序设计习题解答
更新时间:2024-01-16 04:42:01 阅读量: 教育文库 文档下载
- c语言程序设计考试题推荐度:
- 相关推荐
《C语言程序设计》习题解答
沈国荣 隋雪莉 闵芳
目录
第1章 C语言程序设计概述 .................................................................................................. 2 第2章 数据类型及其运算 ..................................................................................................... 3 第3章 语句与输入输出 ......................................................................................................... 4 第4章 选择结构程序设计 ..................................................................................................... 6 第5章 循环结构程序设计 ..................................................................................................... 9 第6章 数组 ........................................................................................................................... 12 第7章 函数 ........................................................................................................................... 15 第8章 编译预处理 ............................................................................................................... 18 第9章 指针 ........................................................................................................................... 19 第10章 结构体与共用体 ..................................................................................................... 22 第11章 位运算 ..................................................................................................................... 26 第12章 文件操作 ................................................................................................................. 27
第1章 C语言程序设计概述
一、选择题 1 C 2 B 3 A 4 C 5 C 6 B 7 D 8 B 9 D 10 A 二、填空题 1. 函数、main()函数 2. /*、*/
3. .C、.OBJ、.EXE
4. 顺序结构、选择结构、循环结构 三、编程题 1.【参考代码】 #include
2.【参考代码】 #include
第2章 数据类型及其运算
一、选择题 1 C 11 C 2 C 12 A 3 C 13 D 4 A 14 D 5 B 15 D 6 A 16 C 7 D 17 D 8 D 18 C 9 C、B 19 10 B 20 注:第5题B选项为:'\\'' '\\017' '\\t' 二、填空题
1. 字母、数字、下划线 2. 1、4、4、8 3. -16 4. 3.5 5. 0 6. 9 7. 6 8. -60
9. y%2==1 10. 1、0、1 三、程序阅读题 1. b 2. 0 3. 0 4. 10,2 5. 9,10,9,10 6. 3,1,0,0 7. 3,20,30,1
第3章 语句与输入输出
一、选择题 1 B 2 C 3 C 4 C 5 C 6 B 7 B 8 B 9 D 10 A 二、填空题 1. 123.47 2. D 3. 回车 4. 10,2
三、程序阅读题 1. 261 2. 20 3. 201,10 4. y=4630 y=4630
5. *3.140000,3.142*
6. c:dec=120,oct=170,hex=78,ASCII=x 7. x=1 y=2 *sum*=3 10 squared is : 100 8. 2 48 20.2 20.2 9. x+y+z=48 10. 55, ,A 四、编程题 1.【参考代码】 #include
char ch;
printf(\请输入一个字符:\\n\scanf(\
printf(\的ASCII码为:%d\\n\return 0 ; }
2.【参考代码】 #include
int main( ) { double r, h; double cl,cs,cv;
printf(\请输入圆的半径:\ scanf(\ &r); printf(\请输入圆柱高:\ scanf(\ cl=2*PI*r; cs=PI*r*r; cv=PI*r*r*h; printf(\圆的周长为:%.4lf\\n\ printf(\圆的面积为:%.4lf\\n\ printf(\圆柱的体积为:%.4lf\\n\ return 0 ; }
3.【参考代码】 #include
第4章 选择结构程序设计
一、选择题 1 D 2 C 3 C 4 B 5 B 6 C 二、程序阅读题 1. 10 2. 2,2,2 3. 6 4. 97,b 5. c=-1 6. 8888 7. 20,0 8. 2,1 9. 1,1 2,2 2,1 -2,2 10. a=1,b=3 三、程序完善题 1. a>b、c>x 四、编程题 1.【参考代码】 #include 2.【参考代码】 #include scanf(\ a=num/1000; b=num00/100; c=num0/10; d=num; printf(\各位数字之和为:%d\\n\ return 0 ; } 3.【参考代码】 #include 4.【参考代码】 #include } case 1 : je=5.5*zl; break; case 2 : je=4.3*zl; break; case 3 : je=3.0*zl; break; case 4 : je=2.5*zl; break; } printf(\您选择苹果级别: %d 级\\n\printf(\您购买苹果重量: %.2f公斤\\n\printf(\您应付金额为: %.2f元\\n\printf(\ printf(\顾客所付金额: \scanf(\if (yfk printf(\应找您: %.2f元\\n\return 0 ; 第5章 循环结构程序设计 一、选择题 1 2 3 4 5 6 C B B B A B 二、程序阅读题 1. 1,2,0 2 . m=4,n=2 3. A2C4E6 4. 132 5. 4 6. k=0,m=5 7. x=8 8. 1.6 9. 998988 三、程序完善题 1. ( ch > 'Z' && ch <= 'Z' + 4 ) ||(ch > 'z' ) 2. k k/10 3. i + t * 10 s = s + t 4. fabs( t ) >= 1e-6 f = -f 5. i<10 j%3 !=0 四、编程题 1.【参考代码】 #include return 0 ; } 2. 【参考代码】 #include 7 8(1) 8(2) 9 10 11 B B C D C B ch - 26 continue int i , m , n , t , p , k ; printf( \scanf ( \if( m < n ) { t = n ; n = m ; m = t ; } p = m * n ; while ( n != 0 ) /* 余数不为0,继续相除,直到余数为0 { i = m % n ; m = n ; n = i ; } k = p / m ; printf( \return 0 ; } 3. 【参考代码】 #include return 0 ; } 4. 【参考代码】 #include */ } scanf( \for( i = 1 ; i <= m ; i++ ) { sum = sum + k / i ; k = -k ; } printf( \return 0 ; 第6章 数组 一、选择题 1 D 2 D 3 D 4 B 5 C 6 C 7 B 8 C 9 C 10 D 11 D 12 13 14 15 16 B D D C D 二、程序阅读题 1 8 2 4 3 0,2 4 12 5 t*M 6 mo 7 fwo 三、程序完善题 1 k = i j = i a[k] = max a[j] = max 2 sum += score[i] score[i] 5 ( c = getchar( ) ) != '#' num[c-'A'] += 1 四、编程题 1. 【参考代码】 #include } printf( \for( i = 0 ; i < N ; i++ ) printf( \printf( \return 0 ; } 2. 【参考代码】 #include return 0 ; } 3. 【参考代码】 #include sum += a[i][i] ; printf( \return 0 ; } 4. 【参考代码】 #include return 0 ; } 5. 【参考代码】 #include return 0 ; } 第7章 函数 一、选择题 1 B 2 D 3 D 4 A 5 B 6 B 7 C 8 B 9 D 10 D 11 A 12 A 13 D 14 D 15 A 二、程序阅读题 1 max is 2 2 a=1,b=2 3 1 11 4 a=11,b=12,c=2 5 6 6 7 8 9 7 8 17 8 0 1 2 0 1 2 三、程序完善题 1 float area ( float r ) return s 2 z = fun( x , y ) z = z * x 3 count =fun( score ) count++ 四、编程题 1. 【参考代码】 #include return 0 ; } void f(int n) { if( n % 2 == 1 ) printf( \ else printf( \} 2. 【参考代码】 #include < stdio.h > #include < math.h > int main( ) { void f( int m ) ; int m ; printf( \ scanf( \ f( m ) ; return 0 ; } void f( int m ) { int i , k ; k = sqrt( m ); for(i = 2 ; i <= k ; i++ ) if( m % i == 0 ) break; if (i >= k + 1 ) printf( \ else printf( \} 3. 【参考代码】 #include int gbs( int m , int n , int r ) { return m * n / r ; } int main( ) { int m , n , t ; printf( \:\ scanf( \ if( m < n ) { t = m ; m = n ; n = t ; } t = gys( m , n ) ; printf( \ t = gbs( m , n , t ) ; printf( \ return 0 ; } 4. 【参考代码】 #include void mystrcat( char s1[100] , char s2[30] ) { int i , j ; for( i = 0 ; s1[i] != '\\0' ; i++ ) ; for( j = 0 ; s2[j] != '\\0' ; j++ , i++ ) s1[i] = s2[j] ; s1[i] = '\\0' ; } 第8章 编译预处理 一、选择题 1 A 2 D 3 D 4 A 5 B 6 A 二、程序阅读题 1 6,18 2 15 3 5 第9章 指针 一、选择题 1 D 13 C 2 B 14 D 3 B 15 D 4 C 16 A 5 D 17 C 6 C 7 C 8 C 9 D 10 B 11 A 12 C 二、填空题 1. 地址 , NULL(或0) 2 . char a, *p; , scanf(\, p=&a; 3. *m 4. for( k=0; k<10; k++ ) 5. *(p+i) , p[i] , *(x+i) 6. str[i]或*( str + i ) , i 三、程序阅读题 1. gae 2. bcdABCD 3. 7, 8, 8 4. 8 4 5. 3 1 4 2 6. efgh 7. w,one 8. 7 四、程序完善题 1. a[i] 或 *( a + i ) 2. *p!='\\0' *p-'0' 3. p1 p2-x 4. max(int a , int b ); p = max 四、编程题 1.【参考代码】 #include void sort( int *a , int *b , int *c ); int main() { int m , n , t ; printf( \ scanf( \ sort( &m , &n , &t ) ; printf( \ return 0 ; } void sort( int *a , int *b , int *c ) { int temp ; if( *a > *b ) { temp = *a ; *a = *b ; *b = temp ; } if( *a > *c ) { temp = *a ; *a = *c ; *c = temp ; } if( *b > *c ) { temp = *b ; *b = *c ; *c = temp ; } } 2.【参考代码】 程序1: #include int strcompare( char *str1 , char *str2 ); int main( ) { int m ; char s1[20] , s2[20] , *p1 , *p2 ; printf( \ scanf( \ printf( \ scanf( \ m = strcompare ( s1 , s2 ) ; printf( \ return 0 ; } int strcompare( char *str1 , char *str2 ) { int i = 0 ; while( ( *( str1 + i ) == *( str2 + i ) ) &&( *( str1 + i ) != '\\0' ) ) i++ ; return( *( str1 + i ) - *( str2 + i ) ) ; } 程序2: #include int strcompare( char *str1 , char *str2 ); int main( ) { int m ; char s1[20] , s2[20] , *p1 , *p2 ; printf( \ scanf( \ printf( \ scanf( \ p1 = s1 ; p2 = s2 ; m = strcompare ( p1 , p2 ) ; printf( \ return 0 ; } int strcompare( char *str1 , char *str2 ) { int i = 0 ; while( ( *( str1 + i ) == *( str2 + i ) ) &&( *( str1 + i ) != '\\0' ) ) i++ ; return( *( str1 + i ) - *( str2 + i ) ) ; } 程序3: #include int strcompare( char str1[] , char str2[] ); int main( ) { int m ; char s1[20] , s2[20] , *p1 , *p2 ; printf( \ scanf( \ printf( \ scanf( \ p1 = s1 ; p2 = s2 ; m = strcompare ( p1 , p2 ) ; printf( \ return 0 ; } int strcompare( char *str1 , char *str2 ) { int i = 0 ; while( ( str1[i] == str2[i] ) &&( str1[i] != '\\0' ) ) i++ ; return( str1[i]- str2[i] ) ; } 第10章 结构体与共用体 一、选择题 1 C 2 B 3 A 4 C 5 C 6 D 7 D 8 D 9 C 10 B 11 D 二、填空题 1. 16 2 . p->next=head->next head->next=p 3. p->next 三、程序阅读题 1. 51,60,21 2. 16 3. 1001,ChangRong,1098.0 四、程序完善题 1. sizeof( struct ps ) 或 sizeof( bt ) 2. p=p->next 3. person[i].sex 五、编程题 1.【参考代码】 #define N 3 #include void input( struct student stu[N] ) ; void average( struct student stu[N] ) ; int max( struct student stu[N] ) ; int main( ) { int i , j ; struct student stu[N] ; input( stu ) ; average( stu ) ; printf( \ for( i = 0 ; i < N ; i++ ) { printf( \ for( j = 0 ; j < 2 ; j++ ) printf( \ printf( \ } i = max( stu ) ; printf( \:\\n\ printf( \ printf( \ for( j = 0 ; j < 2 ; j++ ) printf( \ printf( \ return 0; } void input( struct student stu[N]) { int i , j ; for(i=0;i void average( struct student stu[N]) { int i , j , sum ; for(i=0;i int max( struct student stu[N]) { int i , max , index; max = stu[0].ave ; index = 0 ; for( i = 1 ; i < N ; i++ ) { if( max < stu[i].ave ) { max = stu[i].ave ; index = i ; } } return index; } 2.【参考代码】 #include short int data ; struct node *next ; } ; typedef struct node NODE ; struct node *CreatLink( ) ; void PrintLink( NODE *head ) ; int max( NODE *head ); int main( ) { NODE *head ; int max_value ; head = CreatLink( ) ; PrintLink( head ) ; max_value = max( head ) ; printf( \ return 0 ; } struct node *CreatLink( ) { NODE *head , *p , *q ; short int num ; head = ( NODE * )malloc( sizeof( NODE ) ) ; head->next = NULL ; p = head ; printf( \ scanf( \ while( num != -1 ) { q = ( NODE *)malloc( sizeof( NODE ) ) ; q->data = num ; p->next = q ; p = q ; scanf( \ } p->next = NULL ; return head ; } void PrintLink( NODE *head ) { NODE *p; p = head->next ; printf( \ while( p != NULL ) { printf( \ p = p->next ; } printf( \} int max( NODE *head ) { NODE *p; short int max = -32768; p = head->next ; while( p != NULL ) { if( max < p->data ) max = p->data ; p = p->next ; } return max ; } 第11章 位运算 一、选择题 1 D 2 B 3 C 4 A 二、填空题 1. 0000 1111 2 . x | ff00 3. 4 3 三、程序阅读题 1. 0 2. 11 22 3. 0 四、编程题 1.【参考代码】 #include printf( \ printf( \ return 0 ; } 2.【参考代码】 #include 第12章 文件操作 一、选择题 1 D 13 C 2 B、C 14 D 3 C 15 C 4 B 5 B 6 A 7 B 8 C 9 D 10 B 11 C 12 C 二、填空题 1. 二进制 ASCII(文本) 2 . FILE *fp # include 5. 用以获得文件读写位置标记指针的位置,函数返回值为当前文件读写位置标记指针相对于文件开头的字节数 6. 使文件读写位置标记指针重新返回文件的开头 三、程序阅读题 1. 1 2 2. end 3. 3 4. hello, 四、程序完善题 1. ! feof (fp) fgetc (fp) 2. fopen (“num.dat”,”r”) fp,”%d”,&temp z++ 3. ( ch=getchar() ) ch , fp 五、编程题 1.【参考代码】 #include while( str[i] != '!' ) { if( str[i] >= 'a' && str[i] <= 'z' ) str[i] = str[i] - 32 ; fputc( str[i] , fp ) ; i++ ; } rewind( fp ) ; fgets( str , strlen( str ) + 1 , fp ) ; printf( \printf( \fclose( fp ) ; return 0 ; } 2.【参考代码】 #include scanf( \ printf( \ scanf( \ sum = 0 ; for( j = 0 ; j < 3 ; j++ ) { printf( \ scanf( \ sum += stu[i].score[j] ; } stu[i].ave = sum / 3.0 ; } if( ( fp = fopen( \ { printf( \ exit( 0 ) ; } for( i = 0 ; i < N ; i++ ) { fwrite( &stu[i] , sizeof( struct student ) , 1 , fp ) ; } fclose( fp ) ; if( ( fp = fopen( \ { printf( \ exit( 0 ) ; } printf( \ for( i = 0 ; i < N ; i++ ) { fread( &stu[i] , sizeof( struct student ) , 1 , fp ) ; printf( \, stu[i].num , stu[i].name , stu[i].score[0] , stu[i].score[1] , stu[i].score[2] ,stu[i].ave ) ; } fclose( fp ) ; return 0 ; } 3.【参考代码】 #include if( ( fp = fopen( \ { printf( \ exit( 0 ) ; } printf( \ printf( \ for( i = 0 ; i < N ; i++ ) { fread( &stu[i] , sizeof(struct student ) , 1 , fp ) ; printf( \, stu[i].num , stu[i].name , stu[i].score[0] , stu[i].score[1] , stu[i].score[2] ,stu[i].ave ) ; } fclose( fp ) ; /*对stu数组中数组元素按其平均值数据域排序*/ for( i = 0 ; i < N -1 ; i++ ) { min = stu[i].ave ; index = i ; for( j = i + 1 ; j < N ; j++ ) { if( min > stu[j].ave ) index = j ; } if( index != i ) { temp = stu[i] ; stu[i] = stu[index] ; stu[index] = temp ; } } /*将排序之后的stu数组存放在stu_sort文件中*/ if( ( fp = fopen( \ { printf( \ exit( 0 ) ; } for( i = 0 ; i < N ; i++ ) { fwrite( &stu[i] , sizeof(struct student) , 1 , fp ) ; } fclose( fp ) ; /*将stu_sort文件中的数据,读出存放在stu数组中*/ if( ( fp = fopen( \ { printf( \ exit( 0 ) ; } printf( \:\ /*将stu数组中的数据输出*/ printf( \ for( i = 0 ; i < N ; i++ ) { fread( &stu[i] , sizeof(struct student) , 1 , fp ) ; printf( \, stu[i].num , stu[i].name , stu[i].score[0] , stu[i].score[1] ,stu[i].score[2] , stu[i].ave ) ; } fclose( fp ) ; return 0 ; } if( ( fp = fopen( \ { printf( \ exit( 0 ) ; } printf( \:\ /*将stu数组中的数据输出*/ printf( \ for( i = 0 ; i < N ; i++ ) { fread( &stu[i] , sizeof(struct student) , 1 , fp ) ; printf( \, stu[i].num , stu[i].name , stu[i].score[0] , stu[i].score[1] ,stu[i].score[2] , stu[i].ave ) ; } fclose( fp ) ; return 0 ; }
正在阅读:
C语言程序设计习题解答01-16
纯租赁甲级写字楼操作探讨05-27
初中英语划分句子成分习题04-27
某公司废水处理改造项目可行性研究报告02-28
学校门卫制度及岗位职责03-31
大学物理答案第1~2章12-09
项目书02-19
大学物理简明教程(吕金钟)第四章习题答案05-20
同步电机数学模型04-30
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 习题
- 程序设计
- 解答
- 语言
- 中医内科学复习题试卷3(144学时)(精)
- 江西省吉安市2014-2015学年高二下学期期末教学质量检测英语试题
- 专业口译词汇—金融类词汇
- 服务承诺书
- 独家初中物理知识点(沪科版)
- 《影视艺术概论》教学大纲
- 复习举隅(2013级;中国古代文学3)(1)
- 电力公司重要电力客户用电管理办法
- 南开大学现代远程教育学院在线考试中心--《国际法》
- 浅谈小学生厌学心理的辅导方法
- 镇国土资源执法联动机制实施方案
- 江阴高中高三数学专题复习 转化与化归思想2013.3
- 数控系统功能名词说明及解释
- 粮食危机
- 北科大2014-2015(2)材料力学试卷A
- 糖的化学
- 杜广生 工程流体力学基础作业
- 职代会提案
- 04-包头稀土产品交易所现货竞价交易规则
- 监督学试题