最简单的C程序设计(赵津燕)
- 格式:ppt
- 大小:1.43 MB
- 文档页数:2
《C语言程序设计》习题解答沈国荣隋雪莉闵芳目录第1章 C语言程序设计概述1第2章数据类型及其运算2第3章语句与输入输出3第4章选择结构程序设计4第5章循环结构程序设计7第6章数组9第7章函数12第8章编译预处理14第9章指针15第10章结构体与共用体18第11章位运算21第12章文件操作22第1章 C语言程序设计概述一、选择题1 2 3 4 5 6 7 8 9 10ACBBDCBDAC二、填空题1. 函数、main()函数2. /*、*/3. .C、.OBJ、.EXE4. 顺序结构、选择结构、循环结构三、编程题1.【参考代码】#include<stdio.h>int main( ){牰湩晴?(学校名称)\n ) ;27/ 1牰湩晴?(姓名)\n ) ;return 0 ;}2.【参考代码】#include<stdio.h>int main( ){牰湩晴?(学校名称)\n(姓名)\n ) ; return 0 ;}第2章数据类型及其运算一、选择题12345678910B B A CDC 、C CD A B20 19 12 16 13 15 18 14 11 17ADDCDCDC注:第5题B选项为:'\'' '\017' '\t'二、填空题1. 字母、数字、下划线2. 1、4、4、84. 3.55. 06. 97. 68. -609. y%2==110. 1、0、1三、程序阅读题1. b2. 03. 04. 10,25. 9,10,9,106. 3,1,0,07. 3,20,30,127/ 2第3章语句与输入输出一、选择题1 2 3 4 5 6 7 8 9 10ACBBBDCBCC二、填空题1. 123.472. D3. 回车4. 10,2三、程序阅读题1. 2612. 204. y=4630y=46305. *3.140000,3.142*6. c:dec=120,oct=170,hex=78,ASCII=x7. x=1 y=2 *sum*=310 squared is : 1008. 2 48 20.2 20.29. x+y+z=4810. 55, ,A四、编程题1.【参考代码】#include<stdio.h>int main( ){char ch;牰湩晴尨请输入一个字符:\n);scanf(%c,&ch);printf(%c的ASCII码为:%d\n, ch,ch); return 0 ;}2.【参考代码】#include<stdio.h>#define PI 3.1416int main( ){double r, h;double cl,cs,cv;牰湩晴尨请输入圆的半径:);27/ 3scanf(%lf, &r);牰湩晴尨请输入圆柱高:);scanf(%lf, &h);cl=2*PI*r;cs=PI*r*r;cv=PI*r*r*h;牰湩晴尨圆的周长为:%.4lf\n, cl); 牰湩晴尨圆的面积为:%.4lf\n, cs); 牰湩晴尨圆柱的体积为:%.4lf\n, cv); return 0 ;}3.【参考代码】#include<stdio.h>int main( ){int splitInt,one,ten,hundred;牰湩晴尨输入要处理的整数:);scanf(%d,&splitInt);hundred = splitInt/100;ten = splitInt_x0010_0/10;one = splitInt_x0010_;牰湩晴尨个位:%d,十位:%d,百位:%d\n,one,ten,hundred); return 0 ;}第4章选择结构程序设计一、选择题1 2 3 4 5 6DCBBCC二、程序阅读题10 1.2,2,2 2.6 3.97,b 4.c=-1 5.8888 6.20,0 7.2,1 8.1,1 9.2,22,127/ 4-2,210. a=1,b=3三、程序完善题1. a>b、c>x四、编程题1.【参考代码】#include<stdio.h>int main( ){int a, b, c,d,min;牰湩晴尨输入4个整数:);scanf(%d%d%d%d,&a,&b,&c,&d);if(a < b) min = a;else min = b;if(c < min) min=c;if(d<min) min=d;printf(%d\n,min);return 0 ;}2.【参考代码】#include<stdio.h>int main( ){int num,a,b,c,d;牰湩晴尨请输入一个四位整数:);scanf(%d,&num);a=num/1000;b=num_x0010_00/100;c=num_x0010_0/10;d=num_x0010_;牰湩晴尨各位数字之和为:%d\n,a+b+c+d); return 0 ;}3.【参考代码】#include<stdio.h>int main( ){int x;牰湩晴尨请输入x:);scanf(%d,&x);printf(y的值为:);if(x<0)printf(%d\n,x);else if(x<50)27/ 5printf(%d\n,3*x-2);else if(x<100)printf(%d\n,4*x+1);elseprintf(%d\n,5*x);return 0 ;}4.【参考代码】#include<stdio.h>int main( ){int dj;float zl,je,yfk;牰湩晴尨请输入等级(1~4): );scanf(%d,&dj);if (dj>4||dj<1){牰湩晴尨无此等级的苹果!\n);return 0;}牰湩晴尨请输入重量(公斤): );scanf(%f,&zl);printf(\);switch (dj){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;}牰湩晴尨您选择苹果级别: %d 级\n,dj);牰湩晴尨您购买苹果重量: %.2f公斤\n,zl); 牰湩晴尨您应付金额为: %.2f元\n,je); printf(\);牰湩晴尨顾客所付金额: );scanf(%f,&yfk);if (yfk<je){printf(Data Error!\n);return 0;}牰湩晴尨应找您: %.2f元\n,yfk-je);return 0 ;}27/ 6第5章循环结构程序设计一、选择题1 2 3 4 5 6 7 8(1) 8(2) 9 10 11BBCBCCBBBDBA二、程序阅读题1. 1,2,02 . m=4,n=23. A2C4E64. 1325. 46. k=0,m=57. x=88. 1.69. 998988三、程序完善题1. ( ch > 'Z' && ch <= 'Z' + 4 ) ||(ch > 'z' )ch - 262. k k/10 continue3. i + t * 10s = s + t4. fabs( t ) >= 1e-6 f = -f5. i<10 j%3 !=0四、编程题1.【参考代码】#include<stdio.h>int main( ){int n , i , j , k ;printf( Output:\n ) ;for(n = 100 ; n<1000 ; n++ ){i = n % 10 ;/* 个位*/j = ( n / 10 ) % 10 ;/*十位*/k = n / 100 ;/* 百位*/if ( n == i * i * i + j * j * j + k * k * k )printf( %d\n , n ) ;}return 0 ;}2. 【参考代码】#include<stdio.h>int main ( )27/ 7{int i , m , n , t , p , k ;printf( Please input: ) ;scanf ( %d,%d , &m , &n ) ;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( %d,%d\n , m , k );return 0 ;}3. 【参考代码】#include<stdio.h>int main( ){int i , n , t , sum ;t = 1 ;sum = 0 ;printf( Please input: n = ) ;scanf( %d , &n ) ;for( i = 1 ; i <= n ; i++ ){t = t * i ;sum = sum + t ;}printf( !+2!+…+%d!= %d\n , n , sum ) ; return 0 ;}4. 【参考代码】#include<stdio.h>int main( ){int i , m ;double sum = 0 , k = 1 ;27/ 8printf( Please input : m= ) ;scanf( %d , &m ) ;for( i = 1 ; i <= m ; i++ ){sum = sum + k / i ;k = -k ;}printf( sum=%4.2f\n , sum ) ;return 0 ;}数组章第6一、选择题1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16BDDDBDCDCBDCCDD二、程序阅读题1 82430,24125t*M6mo7 fwo三、程序完善题1 k = i j = ia[k] = max a[j] = max2 sum += score[i] score[i]<avg3s[i] = s[i] + a[i][j]printf( \) ;4j = strlen( str ) –1str[j] = k5( c = getchar( ) ) != '#' num[c-'A'] += 1四、编程题1. 【参考代码】#include<stdio.h>#define N 5int main( ){int a[N] , i , j , r , temp ;printf( Please input %d numbers\n , N ) ; for( i = 0 ; i < N ; i++ )scanf( %d , &a[i] ) ;for( i = 0 ; i < N - 1 ; i++ ){27/ 9r = i ;for( j = i + 1 ; j < N ; j++ )if( a[j] < a[r] )r = j ;if( r != i ){temp = a[r] ;a[r] = a[i] ;a[i] = temp ;}}printf( The array after sort:\n ) ;for( i = 0 ; i < N ; i++ )printf( ] , a[i] ) ;printf( \) ;return 0 ;}2. 【参考代码】#include<stdio.h>int main( ){int a[10] = { 1 , 2 , 3 , 6 , 7 , 8 , 9 , 10 } ;int x , j , k = 0 ;printf( Please input :x= ) ;scanf( %d , &x) ;if( x > a[7] )a[8] = x ;else{for( j = 0 ; j < 8 ; j++ )if( x < a[j] )break ;for(k = 8 ; k > j ; k-- )a[k] = a[k - 1] ;a[j] = x ;}for( j = 0 ; j < 9 ; j++ )printf( ] , a[j] ) ;printf( \) ;return 0 ;}3. 【参考代码】#include<stdio.h>int main( )27/ 10{int a[5][5] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21, 22,23,24} ; int i , j ,sum = 0 ;for ( i = 0 ; i < 5 ; i++ ){for ( j = 0 ; j < 5 ; j++)printf( M , a[i][j] ) ;printf( \) ;}for( i =0 ;i < 5 ; i++ )sum += a[i][i] ;printf( sum=M\n , sum ) ;return 0 ;}4. 【参考代码】#include<stdio.h>int main( ){char s1[100] , s2[30] ;int i , j ;printf( Please input s1: ) ;gets( s1 ) ;printf( Please input s2: ) ;gets( s2 ) ;for( i = 0 ; s1[i] != '\0' ; i++ ) ;for( j = 0 ; s2[j] != '\0' ; j++ , i++ ) s1[i] = s2[j] ;s1[i] = '\0' ;printf( Output\ns1: ) ;puts( s1 ) ;return 0 ;}5. 【参考代码】#include<stdio.h>int main( ){char s1[100] ;int i ;printf( Please input s1: ) ;gets( s1 ) ;for( i = 0 ; s1[i] != '\0' ; i++ ) ; printf( The length of s1 is %d\n ,i ) ; return 0 ;}27/ 11第7章函数一、选择题二、程序阅读题1max is 22 a=1,b=23 1 114 a=11,b=12,c=25 667 8 978 1780 1 2 0 1 2三、程序完善题1 float area ( float r ) return s2z = fun( x , y ) z = z * x3count =fun( score ) count++四、编程题1. 【参考代码】#include<stdio.h>int main( ){void f(int n) ;int n ;printf( Please input: n= ) ;scanf( %d , &n ) ;if( n <= 0)printf( Wrong number!\n ) ;elsef( n ) ;return 0 ;}void f(int n){if( n % 2 == 1 )printf( %d is a odd number.\n , n ) ; elseprintf( %d is a even number.\n , n ) ; }2. 【参考代码】#include < stdio.h >#include < math.h >27/ 12int main( ){void f( int m ) ;int m ;printf( Please input: m= ) ;scanf( %d , &m ) ;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( %d is a Prime Number.\n , m ) ;elseprintf( %d is not a Prime Number.\n , m ) ; }3. 【参考代码】#include<stdio.h>int gys( int m , int n ){int r ;r = m % n ;while( r != 0 ){m = n ;n = r ;r = m % n ;}return n ;}int gbs( int m , int n , int r ){return m * n / r ;}int main( ){int m , n , t ;printf( Please input(m,n):) ;scanf( %d%d , &m , &n ) ;27/ 13if( m < n ){t = m ;m = n ;n = t ;}t = gys( m , n ) ;printf( gys=%d\n , t ) ;t = gbs( m , n , t ) ;printf( gbs=%d\n , t ) ;return 0 ;}4. 【参考代码】#include<stdio.h>int main( ){void mystrcat( char s1[100] , char s2[30] ) ; char s1[100] , s2[30] ;printf( Please input s1: ) ;gets( s1 ) ;printf( Please input s2: ) ;gets( s2 ) ;mystrcat( s1 , s2 ) ;printf( Output\ns1: ) ;puts( s1 ) ;return 0 ;}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 2 3 4 5 6AABADD二、程序阅读题16,1827/ 1421535第9章指针一、选择题二、填空题1. 地址,NULL(或0)2 . char a, *p; ,scanf(%c, &a); ,p=&a;3. *m4. for( k=0; k<10; k++ )5. *(p+i) ,p[i] ,*(x+i)6. str[i]或*( str + i ) ,i三、程序阅读题1. gae2. bcdABCD3. 7, 8, 84. 8 45. 3 14 26. efgh7. w,one8. 7四、程序完善题1. a[i] 或*( a + i )2. *p!='\0' *p-'0'3. p1 p2-x4. max(int a , int b );p = max四、编程题1.【参考代码】#include<stdio.h>void sort( int *a , int *b , int *c );int main(){int m , n , t ;printf( Please input(m n t): ) ;scanf( %d%d%d , &m , &n , &t ) ;sort( &m , &n , &t ) ;27/ 15printf( The result is :%d\t%d\t%d\n , m , n , t ) ; 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 <stdio.h>int strcompare( char *str1 , char *str2 );int main( ){int m ;char s1[20] , s2[20] , *p1 , *p2 ;printf( Please input(string1): ) ;scanf( %s , s1 ) ;printf( Please input(string2): ) ;scanf( %s , s2 ) ;m = strcompare ( s1 , s2 ) ;printf( The result of strcompare is: %d\n , m ) ; return 0 ;}int strcompare( char *str1 , char *str2 ){while( ( *( str1 + i ) == *( str2 + i ) ) &&( *( str1 + i ) != '\0' ) ) i++ ;return( *( str1 + i ) - *( str2 + i ) ) ;}程序2:#include <stdio.h>int strcompare( char *str1 , char *str2 );int main( ){int m ;char s1[20] , s2[20] , *p1 , *p2 ;printf( Please input(string1): ) ;scanf( %s , s1 ) ;printf( Please input(string2): ) ;27/ 16scanf( %s , s2 ) ;p1 = s1 ;p2 = s2 ;m = strcompare ( p1 , p2 ) ;printf( The result of strcompare is: %d\n , m ) ;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 <stdio.h>int strcompare( char str1[] , char str2[] );int main( ){int m ;char s1[20] , s2[20] , *p1 , *p2 ;printf( Please input(string1): ) ;scanf( %s , s1 ) ;printf( Please input(string2): ) ;scanf( %s , s2 ) ;p1 = s1 ;m = strcompare ( p1 , p2 ) ;printf( The result of strcompare is: %d\n , m ) ; 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] ) ;}27/ 17第10章结构体与共用体一、选择题1 2 3 4 5 6 7 8 9 10 11DCCDCBBDACD二、填空题1. 162 . p->next=head->next head->next=p3. p->next三、程序阅读题1. 51,60,212. 163. 1001,ChangRong,1098.0四、程序完善题1. sizeof( struct ps ) 或sizeof( bt )2. p=p->next3. person[i].sex五、编程题1.【参考代码】#define N 3#include <stdio.h>struct student{char num[6] ;char name[8] ;int score[2] ;float ave ;} ;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( No\tName\tScore1\tScore2\tAverage\n ) ; for( i = 0 ; i < N ; i++ ){printf( %s\t%s\t , stu[i].num , stu[i].name ) ; for( j = 0 ; j < 2 ; j++ )printf( %d\t , stu[i].score[j] ) ;27/ 18printf( %8.2f\n , stu[i].ave ) ;}i = max( stu ) ;printf( \The max is:\n ) ;printf( No\tName\tScore1\tScore2\tAverage\n ) ; printf( %s\t%s\t , stu[i].num , stu[i].name ) ;for( j = 0 ; j < 2 ; j++ )printf( %d\t , stu[i].score[j] ) ;printf( %5.2f\n , stu[i].ave ) ;return 0;}void input( struct student stu[N]){int i , j ;for(i=0;i<N;i++){printf(\Please input No%d student:\n,i+1);printf(No:);scanf(%s,stu[i].num);printf(Name:);scanf(%s,stu[i].name);for(j=0;j<2;j++){printf(score %d:,j+1);scanf(%d,&stu[i].score[j]);}}}void average( struct student stu[N]){int i , j , sum ;for(i=0;i<N;i++){for(j=0 , stu[i].ave = 0 ;j<2;j++)stu[i].ave += stu[i].score[j]; stu[i].ave = stu[i].ave / 2 ;}}int max( struct student stu[N]){int i , max , index;max = stu[0].ave ;index = 0 ;for( i = 1 ; i < N ; i++ )27/ 19{if( max < stu[i].ave ){max = stu[i].ave ;index = i ;}}return index;}2.【参考代码】#include<stdio.h>#include<stdlib.h>struct node{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( The max is:%d\n , max_value ) ; return 0 ;}struct node *CreatLink( ){NODE *head , *p , *q ;short int num ;head = ( NODE * )malloc( sizeof( NODE ) ) ; head->next = NULL ;p = head ;printf( Please input( end of -1)!:\n ) ;scanf( %d , &num ) ;while( num != -1 ){q = ( NODE *)malloc( sizeof( NODE ) ) ; 27/ 20q->data = num ;p->next = q ;p = q ;scanf( %d , &num ) ;}p->next = NULL ;return head ;}void PrintLink( NODE *head ){NODE *p;p = head->next ;printf( The data is:\n ) ; while( p != NULL ) {printf( M , p->data ) ;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 2 3 4DBCA二、填空题1. 0000 11112 . x | ff0027/ 213. 4 3三、程序阅读题1. 02. 11 223. 0四、编程题1.【参考代码】#include<stdio.h>int main(){short int data , low ,high ;printf( Please input( short int): ) ;scanf( %d , &data ) ;low = data & 0x00ff ; /* 0x00ff表示低字节全1 */high = data & 0xff00 ; /* 0xff00表示高字节全1 */printf( data:0x%x,the value of low byte is:0x%x\n , data , high ) ;printf( data:0x%x,the value of high byte is:0x%x\n , data , low ) ;return 0 ;}2.【参考代码】#include <stdio.h>int main( ){short int data , result ;printf( Please intput(short int): ) ;scanf( %d , &data ) ;result = data ^ 0x000f ; /* 0x000f表示低4位全1,高12位全0 */printf( The data is 0x%x \nThe result is :0x%x\n , data,result ) ;return 0 ;}第12章文件操作一、选择题12C二、填空题1. 二进制ASCII(文本)2 . FILE *fp# include <stdio.h>27/ 223. n –1 buf的首地址4. 15. 用以获得文件读写位置标记指针的位置,函数返回值为当前文件读写位置标记指针相对于文件开头的字节数6. 使文件读写位置标记指针重新返回文件的开头三、程序阅读题1. 1 22. end3. 34. hello,四、程序完善题1. ! feof (fp) fgetc (fp)2. fopen (“num.dat”,”r”) fp,”%d”,&temp z++ ( ch=getchar() )ch , fp3.五、编程题【参考代码】1.#include<stdio.h>#include<stdlib.h>#include<string.h>int main( ){FILE *fp ;char str[100] , [10] ;int i = 0 ;if( ( fp = fopen( %upper.txt , w+ ) ) == NULL ){printf( Cannot open file!\n ) ;exit( 0 ) ;}printf( Please input(string):\n ) ;gets( str ) ;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( \The result is :\n ) ;printf( %s\n , str ) ;fclose( fp ) ;return 0 ;27/ 23}2.【参考代码】#include<stdio.h>#include<stdlib.h>#define N 5struct student{char num[10] ;char name[8] ;int score[3] ;float ave ;} stu[N] ;int main( ){int i , j , sum ;FILE *fp ;for( i = 0 ; i < N ; i++ ){printf( \Please input student information: \n , i + 1 ) ;printf( No: ) ;scanf( %s , stu[i].num ) ;printf( Name: ) ;scanf( %s , stu[i].name ) ;sum = 0 ;for( j = 0 ; j < 3 ; j++ ){printf( Score%d: , j + 1 ) ;scanf( %d , &stu[i].score[j] ) ;sum += stu[i].score[j] ;}stu[i].ave = sum / 3.0 ;}if( ( fp = fopen( stud.dat , w ) ) == NULL ){printf( cannot open stud for write!\n ) ;exit( 0 ) ;}for( i = 0 ; i < N ; i++ ){fwrite( &stu[i] , sizeof( struct student ) , 1 , fp ) ;}fclose( fp ) ;if( ( fp = fopen( stud.dat ,) ) == NULL ){27/ 24printf( cannot open stud for read!\n ) ;exit( 0 ) ;}printf( \No\tName\tScore1\tScore2\tAverage\n ) ;for( i = 0 ; i < N ; i++ ){fread( &stu[i] , sizeof( struct student ) , 1 , fp ) ;printf( \%s\t%s\t%d\t%d\t%5.2f\n , 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<stdio.h>#include<stdlib.h>#define N 5struct student{char num[10] ;char name[8] ;int score[3] ;float ave ;} stu[N] ;int main( ){int i , j , min , index ;FILE *fp ;struct student temp ;/*从stud.dat文件中读入数据,存放在stu数组中*/if( ( fp = fopen( stud.dat ,) ) == NULL ){printf( cannot open stud for read!\n ) ;exit( 0 ) ;}printf( \The data is : ) ;printf( \No\tName\tScore1\tScore2\tAverage\n ) ;for( i = 0 ; i < N ; i++ ){fread( &stu[i] , sizeof(struct student ) , 1 , fp ) ;printf( \%s\t%s\t%d\t%d\t%5.2f\n , stu[i].num , stu[i].name , stu[i].score[0] , stu[i].score[1] , stu[i].score[2] ,stu[i].ave ) ;}27/ 25fclose( 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( stu_sort.dat , w ) ) == NULL ){printf( cannot open stud for write!\n ) ;exit( 0 ) ;}for( i = 0 ; i < N ; i++ ){fwrite( &stu[i] , sizeof(struct student) , 1 , fp ) ;}fclose( fp ) ;/*将stu_sort文件中的数据,读出存放在stu数组中*/if( ( fp = fopen( stu_sort.dat ,) ) == NULL ){printf( cannot open stud for read!\n ) ;exit( 0 ) ;}printf( \The result is:) ;/*将stu数组中的数据输出*/printf( \No\tName\tScore1\tScore2\tAverage\n ) ;for( i = 0 ; i < N ; i++ ){fread( &stu[i] , sizeof(struct student) , 1 , fp ) ;printf( \%s\t%s\t%d\t%d\t%5.2f\n , stu[i].num , stu[i].name , stu[i].score[0] , stu[i].score[1] ,stu[i].score[2] , stu[i].ave ) ;27/ 26}fclose( fp ) ;return 0 ;}27/ 27。
C程序设计实践通选课讲义山东轻工业学院信息学院目录C程序设计实践 (I)通选课讲义 (I)山东轻工业学院 (I)信息学院目录 (I)目录 (II)第一章程序设计概述 (1)1.1 学习要点 (1)1.2 Visual C++ 6.0 集成开发环境 (1)1.2.1 Visual C++ 6.0 开发环境介绍 (1)1.2.2 创建一个C源程序 (8)1.2.3 C源程序的编译、连接和运行 (13)1.2.4 C程序的单步调试命令 (15)1.2.5 C程序的调试窗口 (20)1.2.6创建一个项目文件(工程) (31)1.3 实验认识Visual C++ 6.0 的开发环境 (35)1.4 常见错误及解决方法 (36)第二章C语言基础知识 (38)2.1 学习要点 (38)2.2 实验内容 (40)2.2.1 实验1 变量的使用与赋值运算 (40)2.2.2 实验2 格式化输入、输出函数的应用 (41)2.2.3 实验3 宏定义、条件编译编程 (43)2.3 常见错误及解决方法 (43)第三章程序的控制结构 (48)3.1 学习要点 (48)3.2 实验内容 (50)3.2.1 实验1 if语句编程 (50)3.2.2 实验2 switch语句编程 (51)3.2.3 实验3 循环结构编程 (52)3.3 常见错误及解决方法 (53)第四章数组 (60)4.1 学习要点 (60)4.2 实验内容 (63)4.2.1 实验1 一维数组编程 (63)4.2.2 实验2 二维数组编程 (65)4.2.3 实验3 字符数组编程 (66)4.3 常见错误及解决方法 (66)第五章函数 (70)5.1 学习要点 (70)5.2 实验内容 (71)5.2.1 实验1 简单函数编程 (71)5.2.2 实验2 综合运用一维数组和函数编程 (72)5.2.3 实验3 综合运用二维数组和函数编程 (74)5.3 常见错误及解决方法 (76)第六章指针 (83)6.1 学习要点 (83)6.2 实验内容 (85)6.2.1 实验1 指向变量的指针变量编程 (85)6.2.2 实验2 字符指针编程 (86)6.2.3 实验3 指向一维数组的指针变量编程 (87)6.2.4 实验4 指向二维数组的指针变量编程 (88)6.3 常见错误及解决方法 (90)第七章结构体与链表 (93)7.1 学习要点 (93)7.2 实验内容 (94)7.2.1 实验1 结构体变量与结构体数组编程 (94)7.2.2 实验2 链表基本操作编程 (96)7.2.3 实验3 链表复杂应用编程 (98)7.3 常见错误及解决方法 (98)第八章文件 (102)8.1 学习要点 (102)8.2 实验内容 (103)8.2.1 实验1 文件顺序读写编程 (103)8.2.2 实验2 文件随机读写编程 (104)8.3 常见错误及解决方法 (105)第九章综合程序设计 (109)9.1 学习要点 (109)9.2 实验内容 (109)9.2.1 实验1常用通讯录管理系统 (109)9.2.2 实验2 学生成绩管理系统 (110)9.2.3 实验3学校教师人事管理系统 (110)9.2.4 实验4 仓库物资管理系统 (111)9.2.5 实验5 手机销售管理系统 (112)9.2.6 实验6 停车场管理系统 (113)9.2.7 实验7 火车订票管理系统 (115)附录A 常见编译错误和警告 (117)附录B 常用标准库函数 (119)一. stdio.h中包括的常用函数 (119)二. math.h中包括的常用函数 (122)三. stdlib.h中包括的常用函数 (124)四. string.h中包括的常用函数 (126)五. time.h中包括的常用函数 (128)六. ctype.h中包括的常用函数 (129)七. conio.h中包括的常用函数 (130)参考文献 (132)第一章程序设计概述1.1 学习要点1. 计算机程序设计语言的基本成分有:数据成分、运算成分、控制成分、传输成分。
《Python语言程序设计》课程教学单元设计《Python语言程序设计》课程教学单元设计第一单元教学设计表教学单元名称:开课第一讲学时教学目标1.了解课程的教学内容和教学目标2.知道课程的重要性,并对课程的学习产生兴趣3.知道课程的学习方法4.了解教师的教学方法5.知道课程的考核要求教学材料准备多媒体电脑、投影仪、教材、学习任务书、整体教学设计、历届学生经典作业案例、点名册、形成性考核成绩登记表等。
步骤教学内容时间分配(90分钟)教师自我介绍:介绍本人姓名、学历、职称、主要工作、联系电话及电子邮箱等有关信息。
学生自我介绍20分钟介绍课程的性质和定位5分钟介绍课程内容及教学目标10分钟课程兴趣引导:1.播放python编程案例视频(表达掌握python编程的重要性)2.展示python人工智能方面的学生优秀作品10分钟介绍教学方法该门课程将采用“教学做一体化”教学, 引用“翻转课堂”教学理念, 采用项目化教学案例分析和任务驱动法教学。
5分钟教学过程分六步走:1.项目分析:学生展示或老师展示学生课外学习写成的作品,并分析课前布置的任务的完成情况及效果;2.引入知识:通过对学生完成情况的分析点评引入知识;3.展示探究:布置难度加深的训练任务,进行深入学习4.巩固练习:课堂上让学生或教师演示,项目中需改进和注意的操作;5.课前任务:布置微课学习与实操任务6.小结:对本课堂讲解的内容进行总结,让学生温习课堂教学,加强理解.并布置下堂课的课前实操项目。
介绍学习方法1.小组学习:以寝室为单位组建学习小组,并推选一位小组长。
团队合作完成任务。
2.要有自主学习的探究意识:①注册蓝墨云班课,进入课程教学空间,可查看课程的学习资源,进行自主学习;②扫码观看教材配10分钟套的微课视频和操作视频,进行自主学习。
3.注重实操:因学生无电脑,课后可利用空闲机房练习,完成学习任务单,小组长负责监督。
4.加入学习群,班级群;作业提交至蓝墨云班课约定课堂规则:(考勤要求、学习任务单完10分钟成要求、课堂纪律要求、机房管理要求)说明考核方式5分钟学生计算机应用能力调查:学生填写计算机高职教学调查问卷,了解学生现已掌握的计10分钟算机水平和编程水平,以便对教学进度进行调整布置下一堂课学习任务发放学习任务单1:(1、了解python发展史2、下载好python软件3、预习搭建python开发环境4、预习python编码规范)5分钟第二单元教学设计表教学单元名称:开始python编程之旅学时教学单元目标能力目标1.能说出python的发展史和特点2.能搭建python开发环境知识目标1.了解python的发展、特点和应用领域2.熟悉搭建python开发环境素质目标1.初步具有善于沟通、协调组织、团队合作的精神2.树立python编程思想意识3.具有良好的网络道德素养训练任务 1.搭建python开发环境可测结果 1.搭建python开发环境学生知识与能力准备1.了解python发展史;2.了解python开发环境。