c语言作业
- 格式:doc
- 大小:203.50 KB
- 文档页数:8
c语言大作业综合第一章C语言简介及算法一.选择题1.一个C程序可以包含的函数。
A.一个B.多个C.若干D.任意2.下面不可以使用来编译和连接一个C 程序。
A.TurboCB.VC++C.C语言编译器D.BC3.C语言的程序一行写不下时,可以。
A.用逗号换行B.用分号换行C.在任意一空格处换行D.用回车符换行4.C控制语句有种。
A.6B.9C.32D.345.复合语句是用一对界定的语句块。
A.{}B.[]C.()D.”6.一个C程序的执行总是从该程序的函数开始,在函数最后结束。
A.第一个、最后一个B.main、mainC.主函数、最后一个D.第一个、第一个7.C语言提供的合法的数据类型关键字A.FloatB.ignedC.integerD.Char8.在以下各组标识符中,合法的标识符是(1)A.B01B.table_1C.0_tD.k%(2)A.Fat_B.voidC.pblD.(3)A.某y_B.longdoubleC.某pD.CHAR(4)A.jB.IntC._某yD.w_y239.C语言的标识符里不能有A.大小写字母B.数字C..D.下划线二.填空题1.C程序是由构成的,一个C程序中至少包含因此,是C程序的基本单位。
2.C程序注释是由和所界定的文字信息组成的。
3.函数体一般包括和4.算法是解决问题的和的描述。
5.C程序的注释部分可以出现在程序的位置,它对程序的编译和运行作用,但是可以增加程序的第二章C语言数据类型、基本运算及简单程序设计一.选择题1.不合法的字符常量是A.‘\\t’B.“A”C.‘a’D.’\\某32’2.逻辑运算符两侧运算对象的数据类型。
A.只能是0或1B.只能是0或非0正数C.只能是整型或字符型数据D.可以是任何类型的数据3.下列表达式中,不满足“当某的值为偶数时值为真,为奇数时值为假”的要求。
A.某%2==0B.!某%2!=0C.(某/2某2-某)==0D.!(某%2)4.下面选项中,不是合法整型常量的是A.160B.-0某cdgC.-01D.-0某48a5.能正确表示“当某的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是。
作业一C语言概述一、选择题1-个C程序的执行是从A.本程序的main函数开始,到main函数结束B.本程序文件的第-个函数开始,到本程序文件的最后-个函数结束C.本程序的main函数开始,到本程序文件的最后-个函数结束D.本程序文件的第-个函数开始,到本程序main函数结束2以下叙述正确的是:A.在C程序中,main函数必须位于程序的最前面B.C程序的每行中只能写-条语句C.C语言本身没有输入输出语句D.在对-个C程序进行编译的过程中,可发现注释中的拼写错误3以下叙述不正确的是A.-个C源程序可由-个或多个函数组成B.-个C源程序必须包含-个main函数C.C程序的基本组成单位是函数D.在C程序中,注释说明只能位于-条语句的后面4C语言规定:在-个源程序中,main函数的位置A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后5-个C语言程序是由A.-个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成二、编程题编写一个C程序,输出以下信息:****************************************Hello,world!****************************************作业二程序的灵魂——算法一.填空题1.算法的五个特性是指:有穷性、、、、。
2、三种基本的程序结构是:、、。
3、程序中的子模块在C语言中用来实现。
作业三数据类型、运算符与表达式一、选择题1以下结果为整数的表达式(设有int i;char c;float f;)( ).A.i十f B.i*c C.c十f D.i十c十f2以下不正确的语句(设有int p,q)是( )。
A.P*=3; B.p/=q; C.p十=3; D.p&&=q;3以下使i的运算结果为4的表达式是( )。
A.int i=0,j=0;(i=3,(j十十)十i);B.int i=1,j=0;j=i=((i=3)*2);C.int i=0,j=1;(j==1)?(i=1);(i=3);D.int i=1,j=1;i+=j十=2;4下列四组选项中,均不是C语言关键字的选项是( ).A)define B)getc C)include D)whilei f char sanf gotype printf case pow5下列四个选项中,均是C语言关键字的选项是( )。
C语言程序设计”平时作业C语言程序设计是计算机科学的基础课程之一、通过学习C语言,我们能够更好地理解计算机的运行原理,掌握编程的基本思想和方法,提高解决问题的能力。
在这门课程中,老师布置了一系列的平时作业,以帮助我们巩固所学的知识。
以下是我完成的一些平时作业。
1.输入输出练习这个作业要求我们使用scanf函数输入三个整数,并计算它们的和与平均值,然后使用printf函数输出结果。
我首先使用scanf函数依次输入三个整数,然后定义一个变量sum,将三个整数相加赋值给sum。
接着,我定义一个变量average,使用sum除以3的结果赋值给average。
最后,我使用printf函数按照题目要求输出结果。
2.控制语句练习这个作业要求我们使用if语句,判断一个数是否为偶数。
我首先使用scanf函数输入一个整数,然后使用if语句判断该数是否为偶数。
如果该数除以2的余数为0,则输出该数为偶数,否则输出该数为奇数。
3.循环语句练习这个作业要求我们使用while循环,计算1到100的和。
我首先定义一个变量sum,并初始化为0。
然后,使用while循环,将1到100之间的每个数依次相加,将结果赋值给sum。
最后,使用printf函数输出sum的值。
4.数组练习这个作业要求我们创建一个数组,存储5个学生的成绩,并计算它们的平均值。
我首先定义一个长度为5的整型数组grades,并使用scanf函数依次输入每个学生的成绩。
然后,定义一个变量sum,并初始化为0。
使用for循环,将每个学生的成绩依次相加,将结果赋值给sum。
最后,定义一个变量average,将sum除以5的结果赋值给average。
使用printf函数输出average的值。
通过完成这些平时作业,我更加熟悉了C语言的基本语法和常用函数,学会了使用输入输出函数、控制语句以及循环语句解决问题。
这些练习帮助我加深对C语言的理解,提高了我的编程能力。
在以后的学习中,我将继续努力,不断提升自己的编程水平。
No.: Name:第1讲C语言概述注:本系列习题中符号表示一串字符中的空格,符号表示下划线,符号ê表示换行回车,即键盘上Enter键。
一、选择题1. 一个C程序的执行是从A 。
A) 本程序main函数开始,到main函数结束B) 本程序文件第一个函数开始,到最后一个函数结束C) 本程序文件第一个函数开始,到本main函数结束D) 本程序main函数开始,到本程序文件最后一个函数结束2. 以下叙述不正确的是D 。
A) 一个C源程序必须包含一个main函数B) 一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数D) 在C程序中,注释说明只能位于一条语句的后面3. 以下叙述正确的是C 。
A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面C) 语言本身没有输入输出语句D) C程序的每行中只能写一条语句4. 一个C语言程序是由B 。
A) 一个主程序和若干个子程序组成B) 函数组成C) 若干过程组成D) 若干子程序组成5. 以下叙述中正确的是C 。
A) C语言比其他语言高级B) C语言可以不用编译就能被计算机识别执行C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D) C语言出现的最晚,具有其他语言的一切优点6. 下列叙述中正确的是D 。
A) C语言编译时不检查语法B) C语言的子程序有过程和函数两种C) C语言的函数可以嵌套定义D) C语言的函数可以嵌套调用7. 以下叙述中正确的是A 。
A) 构成C程序的基本单位是函数B) 可以在一个函数中定义另一个函数C) main函数必须放在其他函数之前D) 所有被调用的函数一定要在调用之前进行定义8. C语言规定,在源程序中,main函数的位置C 。
A) 必须在最开始B) 必须在系统调用的库函数的后面C) 可以任意D) 必须在最后9. 下列选项中不是结构化程序基本结构的是B 。
基础知识作业解答(1)一、选择题:1.下面叙述错误的是:a)C程序中,各种括号应成对出现。
b)C程序中,赋值号的左边不可以是表达式。
c)C程序中,变量名的大小是有区别的。
d)C程序中,若未给变量赋初值,则变量的初值自动为0。
答案:d)解答:C程序中,若未给变量赋初值,则变量的初值不一定为0。
按变量被定义的位置来区分,变量可分为局部变量和全局变量;在{ … } 之间定义的变量称为局部变量,编译系统对局部变量是不进行初始化的,即,不赋初值。
未赋初值的局部变量的值为机内随机值。
在{ … } 之外定义的变量称为全局变量,编译系统自动对全局变量进行初始化。
未赋初值的全局部变量的值为0。
2.下面叙述正确的是:a)C程序中的变量定义语句可以写在函数体中任何位置。
b)C程序中不能有空语句。
c)C程序中的变量必须先定义后使用。
d)C程序中所有简单数据类型都可以准确无误的表示。
答案:c)解答:C程序中,变量定义语句的作用是通知编译系统为变量分配存储空间,所以必须先定义后使用。
3.以下合法的用户标识符的是:a)long b)\t c)5a d)user答案:d)解答:C程序中,合法的用户标识符的定义是:以字母或下划线开头的由字母、数字和下划线组成的字符串,不可以使用系统的关键字作为用户的标识符。
常见的关键字有:int, float ,char ,double ,long, short,unsigned,if,switch,case,break, continue ,do ,for ,while ,struct ,union, auto, static, extern, register;标准函数名可以用作用户标识符,但不提倡。
4.C程序中,合法的关键字的是:a)Float b)while c)Int d)Integer答案:b)5.下面选项中,优先级最高的运算符是:a)&& b)/= c) ! d)<=答案:c)6.下面选项中,优先级最低的运算符是:a)!= b) || c)++ d),答案:d)7.C程序中,运算对象必须为整型数据的运算符是a)++ b) % c) / d) *答案:b)8.假设x,y,z为整型变量,且x=2,y=3,z=10,则下列表达式中值为1的是:a)x && y||z b)x>z c) (!x && y)||(y>z) d)x && !z ||!(y && z)答案:a)解答:C程序中,进行逻辑运算时,所有的非0数都处理成逻辑真;0处理成逻辑假。
书面作业1(数据类型、变量、输入/输出、运算符与表达式、选择结构、循环结构)一、判断题:在正确的说法前面填写T,在错误的说法前面填写F(每题1分)[得分: ] (F )1. C语言程序中,注释越多越好。
(F )2. C语言程序中的注释,不会影响程序的执行速度。
(F )3. C语言规定,在一个源程序中,main函数的位置必须在最开始。
(F )4. 标识符中可以出现下划线,但它不可以放在标识符的开头。
(F )5. C语言规定标识符只能由字母、数字和小数点三种字符组成。
(T )6. unsigned 和void 在C语言中都是保留字。
(F )7. 在C语言中,变量名越短越好。
(F )8. 在C语言中,使用短的变量名可以节省程序执行时的内存消耗。
(F )9.字符型变量用来存放字符常量,且只能存放2个字符。
(T )10. printf函数是一个标准库函数,它的函数原型在头文件stdio.h中。
(F )11. scanf函数是一个标准库函数,它的函数原型在头文件string.h中。
(F )12. printf 是C 语言的输出语句。
(T )13. 在printf 函数中,输出项可以是任意合法的表达式。
(T )14. C 语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。
(T )15. C语言中,整型数运算速度快,没有误差,应该优先使用。
(T )16. C语言中,浮点数运算存在误差。
不宜使用浮点数做相等运算。
(F )17. C语言中,不允许将一个浮点数赋值给一个整型变量。
(F )18. C语言中,不能将整数值赋值给一个字符型变量。
(F )19. C语言中,不能将一个字符常数赋值给一个整型变量。
(F )20. C语言中,不同类型的数据对象不能出现在一个表达式中。
(F )21. C语言中可以把一个字符串赋给一个字符变量。
(T )22. 在C语言中,模运算(相除后取余数,运算符%)要求参加运算的数必须是整型。
(1)输入华氏温度F,按公式C=5(F-32)/9 计算并输出摄氏温度C。
#include "stdio.h"#include "conio.h"main ( ){ float F,C;scanf("%f",&F);C=5*(F-32)/9 ;printf("%f",C) ;getch();}(2)输入一个小写字母,输出对应的大写字母。
#include "stdio.h"#include "conio.h"main ( ){ char a,b;scanf("%c",&a);b=a-32;printf("%c",b);getch();}(3)已知矩形的长和宽,求矩形的面积和周长。
#include "stdio.h"#include "conio.h"main ( ){ float a,b,s,c;printf("a=");scanf("%f",&a);printf("b=");scanf("%f",&b);c=2*(a+b);s=a*b;printf("c=%f,s=%f",c,s);getch();}(1)输入一个整数,是偶数则输出该数,否则不输出。
#include "stdio.h"#include "conio.h"main ( ){ int a;scanf("%d",&a);if(a%2==0)printf("%d",a);getch();}(2)输入一个整数,是偶数则输出“偶数”,否则输出“奇数”。
作业11、 已知长方体的长a=3,宽b=4,计算并输出长方体的的周长与面积。
#include <stdio.h> main() {int a,b,c,s; a=3; b=4;c=(a+b)*2; s=a*b;printf("c = %d, s= %d\n", c, s); getch();}总结:变量先定义,再赋值,然后引用。
2、根据自由落体运动公式:h=221gt 计算物体10秒后下落的距离。
#include <stdio.h> main() {double g,h,t; g=9.8; t=10;h=g*t*t/2;printf(" h= %lf",h); getch();}总结:注意编写算式时的顺序,符号,特殊要求等。
3、编程计算下列分段函数,请调用sqrt(x)函数求平方根(头文件math.h )。
#include <math.h> int main(void) {double x, y;printf("Enter x:\n"); scanf("%lf", &x); if(x <0)y=x*x*x+2*x*x+x+1;elsey=sqrt(x);printf(" %lf\n", y);getch();}总结:注意用相应的头文件。
第2次作业1、编写程序,输入一个正数n,求 #include <stdio.h>int main(void){int i, n;double sum;printf("Enter n:"); scanf("%d", &n);sum = 0;⎪⎩⎪⎨⎧≥<+++=0,0,1223x x x x x x y ∑=ni i 11for (i = 1; i <= n; i++) {sum = sum +1.0/i; }printf("sum=%lf\n",sum); getch(); return 0; }总结:程序中的算式也遵循先乘除后加减的原则. 2、编写程序,输入一个正数n,求的前n 项之和。
C语言实训大作业As a person, we must have independent thoughts and personality.
1.基于链表的“学生信息管理系统”
实验内容:编写并调试程序,实现学校各专业班级学生信息的管理。
定义学生信息的链表结点类型,包括:学号、姓名、班级、专业、3门成绩。
实验要求:
(1)main函数:以菜单形式将各项功能提供给用户,根据用户的选择,调用
相应的函数。
(2)定义函数CreateList:按学号由小到大,建立有序的链表。
逆序输入 n
个学生信息(调用n次input),学号大的先输入,建立带头结点的单
链表。
(3)定义函数Output:以指向某个学生结点的指针为参数,将学生信息格式
化输出。
(4)定义函数Save:将某个学生信息存入文件。
(5)定义函数Fetch:从文件中随机读取某个学生的信息。
(6)定义函数Search_num:查找指定学号的学生,返回指向该学生结点的指
针。
(7)定义函数InsertList:在函数中输入一个学生的信息,将该学生信息插
入到链表中的相应位置,并保持此链表按学号的有序性。
(8)定义函数Delete_num:从链表中删除指定学号的学生。
(9)定义函数Search_major _subject_score:查找某个专业的、某门课程
的成绩小于某个分数的学生,返回指向该学生结点的指针。
(10)定义函数Delete_ major _subject:从链表中删除某个专业的、某
门课程的成绩小于某个分数的学生。
(1) }# include <stdio.h>int main( ){void swap(int*p1,int*p2);int n1,n2,n3;int*p1,*p2,*p3;p1=&n1;p2=&n2;p3=&n3;if(n1>n2) swap(p1,p2);if(n1>n3) swap(p1,p3);if(n2>n3) swap(p2,p3);printf("Now,the order is:%d,%d\n",n1,n2,n3); return 0;}void swap(int*p1,int*p2){int p;p=*p1;*p1=*p2;*p2=p;(4)#include <stdio.h>int main( ){void mive(int [20],int,int);int number[20],n,m,i;printf("how many numbers?");scanf("%d,",&n);printf("input %d numbers:\n",n);for (i=0;i<n;i++)scanf("%d",&number[i]);printf("how many place you want move?"); scanf("%d,",&m)move(number,n,m);printf("Now,they are:\n");for(i=0;i<n;i++)printf("%d",number[i]);printf("\n");return 0;void move (int array[20],int n,int m){int*p,array_end;array_end=*(array+n-1);for (p=array+n-1;p>array;p--)*p=*(p-1);*array=array_end;m--if(m>0) move (array,n,m);}(6) #include<stdio.h>int main ( ){int length(char*p);int len;char str[20];printf("input string: " );scanf("%s",str);len=length(str);printf("The length of string is %d\n",len); return 0;}int length(char*p){int n ;n=0;while(*p!='\0'){n++;p++;}return(n);}(7) #include<stdio.h>#include<string.h>int main ( ){void copystr(char*,char*,int);int m;char str1[20],str[20];printf("input string:");gets(str1);printf("which character that begin to copy?"); scanf("%d",&m);if (strlen(str1)<m)printf("input error!");else{copystr(str1,str2,m);printf("result:%a\n",str2);}return 0;}void copystr(char*p1char*p2,p2,int m) {int n;n=0;while(n<m-1){n++;p1++;}while(*p1!='\0')p1++p2++}*p2='\0';}(14) include<stdio.h>int main ( ){void sort (char*p,int m);int i,n;char*p,num[20];printf("input n:");printf("plase input these numbers:\n"); for (i=0;i<n;i++)scanf("%d",&num[i]);p=&num[0];sort(p,n);printf("Now ,the sequence is:\n");for(i=0;i<n;i++)printf("%d",num[i]);printf("\n");return 0;}void sort(char*p,int m){int i;char temp,*p1,*p2;for(i=0;ai<m/2;i++){p1=p+i;p2=p+(m-1-i);temp=*p1;*p1=*p2;*p2=temp;}}((15) #include<stdio.h>int main( ){void avsco(float*,float*);void avcourl(char(*)[10],float*);void fali2(char course[5][10],int num[ ],float*pascore,float aver[4]); void good(char course[5][10],int num[4],float*pascore,float aver[4]); int i,j,*pnum,num[4];float score[4][5],aver[4],*pscore,*paver;char course[5][10],(*pcourse)[10];printf("input ciurse:\n");pcourse=course;for (i=0;i<5;i++)scanf("%s",course[i]);printf("input NO.and scorse:\n");printf("NO");for (i=0;i<5;i++)printf(",%s",course[i]);printf("\n")pscore= & score[0][0];pnum=&num[0];for(i=0;i<4;i++){scanf("%d",pnum+i);}paver=&aver[0];printf("\n\n");avsco(pscore,paver);avcour1(pcourse,pscore);printf("\n\n");fali2(pcours,pnum,pscore,paver);printf("\n\n");good(pcours,pnum,pscore,paver);return 0;}void avsco(float*pscore,float*paver){int i,j;float sum,average;for(i=0;i<4;i++){sum=0.0;for(j=0;j<5;j++)sum=sum+(*(pscore+5*i+j));average=sum/5;*(paver+i)=average;}}void avcourl(char(*pcourse)[10],float*pscore){int i;float sum,averagel;sum=0.0;for(i=0;i<4;i++)sum=sum+(*(pscore+5*i));averagel+sum/4;printf("course1:%s average score;%7.2f\n",*pcourse,averagel);}void fali2(char course[5][10],int num[],float*pscore,float aver[4]){int i,j,k,labe1;printf(" ==========Student who is fail in two courses======= \n"); printf("NO");for(i=0;i<5;i++)printf("%11s",couse[i]);printf(" average\n");for (i=0;i<4;i++){label=0;for (j=0;ij<5;j++)if(*(pscore+5*i+j)<60.0) label++); if(label>=2){printf("%d",num[i];for(k=0;k<5;k++)printf("%11.2f",*(pscore+5*i+k)); printf("%11.2f\n"aver[i]);}}(17) #include<stdio.h>int main( ){int m;char str1[20],str2[20],*p1,*p2; printf("input two strings:\n"); scanf("%s",str1);scanf("%s",str2);p1=&str1[0];p2=&str2[0];m=strcmp(p1,p2);printf("result:%d,\n",m);return 0;}strcmp(char*p1,char*p2){int i;i=0;while(*(p1+i)==*(p2+i))if(*(pl+i++)=='\0') return(0); return(*(p1+i)-*(p2+i);}。