第五章 循环控制.
- 格式:doc
- 大小:216.50 KB
- 文档页数:17
1. 以下不是C语言的特点的是()A. C语言简洁,紧凑B. 能够编制出功能复杂的程序C. C语言可以直接对硬件进行操作D. C语言移植性好2. 以下不正确的C语言标识符是()A. ABCB. abcC. a_bcD. ab.c3. 一个C程序的执行是从()A. main()函数开始。
直到main()函数结束B. 第一个函数开始, 直到最后一个函数结束C. 第一个语句开始。
直到最后一个语句结束D. .main( )函数开始,直到最后一个函数结束4. 在C程序中main() 的位置()A. 必须作为第一个函数B. 必须作为最后一个函数C. 可以任意D.必须放在它所调用的函数之后5. 一个C程序是由()A. 一个主程序和若干个子程序组成B. 一个或多个函数组成C. 若干过程组成D. 若干子程序组成是非题(对者打√,错者打×)1、C语言源程序的基本单位是函数()2、编辑程序的功能是建立并修改程序()3、C编译程序是一组机器语言指令()4、C语言源程序的语句分隔符是逗号()5、C语言源程序文件的扩展名是.obj()第二章数据类型、运算符与表达式选择题1. (设 int I; char c ;float f;)以下结果为整数的表达式的是()A. I+fB. i*cC. c+fD. I+c+f2. 设n=10,I=4,则赋值运算n%=I+1执行后,n的值是()A. 0B. 3C. 2D. 13.设 a=2,b=2; 则 ++a+b的结果是(),a 的结果是(),b的结果是()A. 2B. 3C. 4D. 54. 在C语言中,要求运算对象必须是整型的运算符是()A. /B. !C. %D. ==*4)设 int a=04, b; 则执行 b=a<<1 ;语句后,b的结果是()。
A.4B.04C. 8D.105. 属于非法转义字符的是()A. ‘\d’B.‘\0xf’C.‘\037’D.‘\f’*5)设有以下语句,则C的二进制值是()char a=3, b=6,c; c=a^b<<2;A. 00011011B. 00010100C. 00011100D. 000110006. sizeof(double)是一个()表达式()A. 整型B. 双精度C. 不合法D.函数调用7. 在C语言类型说明中,int ,char, short等类型的长度是()A. 固定的B. 由用户自己定义的C. 任意的D. 与机器字的长度有关的※8)如下程序执行的结果是()main(){int n=1; printf(“%d%d%d\n”, n, ++n, n--); } A.1 1 1 B. 1 2 2 C. 1 2 3 D. 1 2 1是非题(对者打T,错者打F)1、 C语言中,大写字母和小写字母被认为是两个不同的字符()2、 C语言规定,在程序中所用到的变量都必须在程序中定义()3、在C语言中“\n”代表两个字符()4、在一个字符变量中可以存放一个字符串()5、一个字符数据既可以以字符形式输出,也可以以整型形式输出()6、在C语言中,不能把一个字符串赋给一个字符变量()7、自增运算符(++)和自减运算符(--)可以用于常量或表达式()8、表达式10/3的结果是3.3()9、在C语言中,不同类型数据混合运算时,要先转换成同一类型后进行运算。
专升本C语言考试大纲第一章 C语言概述(一)课程内容1 C语言的简史与特点2 一个简单的C程序3 程序的编辑,编译,链接和运行(二)考核知识点与考核要求1.程序设计,要求达到“识记”层次。
2.C语言的字符集,要求达到“领会”层次。
第二章数据类型,运算符与表达式(一)课程内容1 C数据类型2 常量与变量3运算符与表达式(二)考核知识点与考核要求1.C数据类型,要求达到“识记”层次。
2.常量与变量,要求达到“领会”层次。
3.运算符与表达式,要求达到“简单应用”层次。
第三章顺序程序设计(一)课程内容1 C语句的概述2 赋值语句3 数据输入输出的概念及在C语言中的实现4 字符数据的输入输出5 格式输入与输出(二)考核知识点与考核要求1.C语句的概述,要求达到“识记”层次。
2.赋值语句,要求达到“简单应用”层次。
3.格式输入与输出,要求达到“综合应用”层次。
第四章选择结构程序设计(一)课程内容1 if语句2 switch语句(二)考核知识点与考核要求if语句、switch语句,要求达到“综合应用”层次。
第五章循环控制(一)课程内容1 while语句2 do—while语句3 for语句4 循环的嵌套5 break语句和continue语句(二)考核知识点与考核要求1.while语句、do—while语句、for语句、break语句和continue语句,要求达到“综合应用”层次。
2. 循环的嵌套,要求达到“简单应用”层次。
第六章数组(一)课程内容1 一维数组2 多维数组3 字符数组(二)考核知识点与考核要求1一维数组的定义、元素的引用和初始化,要求达到“综合应用”层次。
2. 多维数组的定义、元素的引用和初始化,要求达到“简单应用”层次。
3字符数组的定义、元素的引用和初始化,要求达到“综合应用”层次。
4.字符数组的输入输出、字符串处理函数,要求达到“简单应用”层次。
第七章函数(一)课程内容1 概述2 函数定义的一般形式3 函数参数和函数值4 函数的调用5 函数的嵌套调用6 函数的递归调用7 数组作为函数参数8 局部变量和全局变量9 变量的存储类别(二)考核知识点与考核要求1.函数的定义和调用方法,要求达到“领会”层次。
C语言试题库一、单项选择第一章C语言概述(1)一个C程序的执行是从A、本程序的MAIN函数开始,到MAIN 函数结束。
B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。
C、本程序的MAIN函数开始,到本程序的最后一个函数结束。
D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。
(2)以下叙述正确的是A、在C程序中,MAIN函数必须位于程序的最前面。
B、C程序的每行中只能写一条语句。
C、C语言本身没有输入输出语句。
D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。
(3)C语言规定,在一个源程序中,MAIN主函数的位置是在:A、必须在最前面。
B、必须在系统调用的库函数的后面C、可以在任意位置。
D、必须在最后面(4)一个C程序是由:A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成(5)以下叙述不正确的是:A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个MAIN函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面第二章数据类型、运算符与表达式(1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=(i=4, j=16, k=32)A、4B、16C、32D、52(2)下列四组选项中,均不是C语言键字的选项是A、define , IF, typeB、getc, char, printfC、include, scanf, caseE、i f, struct, type(3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,doB、float,1a0, _AC、b-a, goto, intD、_123, temp, INT(4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3B、3*a*e/bcC、3*a*e/b*cD、a*e/c/b*3(5)已知各变量的类型说明如下:int k, a, b;unsinged long w=5;double x=1.42;则以下不符合C语言语法的表达式是A、x%(-3)B、w+=-2;C、k=(a=2,b=3,a+b)D、a+=a-=(b=4)*(a=3)第三章简单C程序设计(1)putchar函数可以向终端输出一个A、整型变量表达式值B、实型变量值C、字符串D、字符或字符型变量值(2)若x,y均定义为int型,z定义为double 型,以下合法的scanf函数调用语句是A、scanf(“%d%lx,%le”,&x,&y,&z);B、scanf(“%2d*%d%lf”,&x,&y,&z);C、scanf(“%x%*d%o”,&x,&y,&z);D、scanf(“%x%o%6.2f”,&x,&y,&z);(3)当输入数据的形式为:25,13,10<回车>时,以下程序的输出结果为main(){int x,y,z;scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%d\n”,x+y+z);}A、x+y+z=48B、x+y+z=35C、x+z=35D、不确定值(4)以下能正确的定义整型变量a,b和c,并对它们赋初值为5的语句是A、int a=b=c=5;B、int a, b, c=5;C、a=5, b=5, c=5;D、a=b=c=5;(5)若有以下定义,则正确的赋值语句是int a,b; float x;A、a=1, b=2;B、b++;C、a=b=5;D、b=int(x);第四章选择结构程序设计(1)能正确表示“当x的值在[1,10]和[200,210]的范围为真,否则为假”的表达式是A、(x>=1)&&(x<=10)&&(x.>=200)&&(x<=210)B、(x>=1)││(x<=10) ││(x.>=200) ││(x<=210)C、(x>=1) &&(x<=10) ││(x.>=200) &&(x<=210)D、(x>=1)││(x<=10)&& (x.>=200) ││(x<=210)(2)以下程序的运行结果是#incl ude “stdio.h”main(){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);}A、6,1B、2,1C、6,0D、2,0(3)请阅读以下程序:main(){int a=5 , b=0 , c=0;if (a+b+c) printf(“* * *\n”);else printf(“$ $ $\n”);}以上程序。
第5章循环结构(一)本章学习的目的和要求(二)本章学习的重点(三)复习题1.1单选题1.以下说法正确的是( )。
A.不能使用do-while语句构成的循环B.do-while语句构成的循环必须用break语句才能退出C.do-while语句构成的循环,当while语句中的表达式值为假时结束循环D.do-while语句构成的循环,当while语句中的表达式值为真时结束循环C语言支持的循环语句有:()A for循环B while循环C do while循环D以上都是1.2多选题1.3判断题1.continue语句用于循环语句内部中。
当遇到continue语句之后,循环体中continue语句后面的语句将被跳过,计算机将接着开始执行下一次循环。
()2.for(表达式1;表达式2;表达式3){},其中表达式1只执行一次。
3.若int i=0,k=8;while(i=8) i=k--;则while循环体的执行次数为0.4.多重循环是指循环语句的循环体中,又嵌套了另一个或多个循环语句,多个内层循环可以相互交叉嵌套。
5.在复合语句中定义的变量可在该复合语句所在的函数的其它地方使用。
6.在函数体内定义的变量称全局变量,可以被程序中的所有函数引用。
7.continue语句用在循环体中,可使整个循环不结束。
8.continue语句可以用于switch结构中。
9.break语句只能用于循环语句中。
10.do......while循环语句至少要执行一次循环体。
11.语句while(!E);中的条件!E等价于E==0。
12.语句for(;;){循环体}和while(1){循环体}是等价的。
13.在C语言中,for语句既可以用于计数类型循环又可以用于条件类型循环。
14.在while循环中允许使用嵌套循环,但只能是嵌套while循环。
15.在实际编程中,do-while循环完全可以用for循环替换。
16.continue语句只能用于三个循环语句中。
第一章1.6main(){int a,b,c,max;printf("input three numbers:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if(max<b)max=b;if(max<c)max=c;printf("max=%d",max);}第二章2.3(1)(10)10=(12)8=(a)16(2)(32)10=(40)8=(20)16(3)(75)10=(113)8=(4b)16(4)(-617)10=(176627)8=(fd97)16(5)(-111)10=(177621)8=(ff91)16(6)(2483)10=(4663)8=(963)16(7)(-28654)10=(110022)8=(9012)16(8)(21003)10=(51013)8=(520b)162.6aabb (8)cc (8)abc(7)AN2.7main(){char c1='C',c2='h',c3='i',c4='n',c5='a'; c1+=4, c2+=4, c3+=4, c4+=4, c5+=4;printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5); }2.8main(){int c1,c2;c1=97;c2=98;printf("%c %c",c1,c2);}2.9(1)=2.5(2)=3.52.109,11,9,102.12(1)24 (2)10 (3)60 (4)0 (5)0 (6)0第三章3.4main(){int a,b,c;long int u,n;float x,y,z;char c1,c2;a=3;b=4;c=5;x=1.2;y=2.4;z=-3.6;u=51274;n=128765;c1='a';c2='b';printf("\n");printf("a=%2d b=%2d c=%2d\n",a,b,c);printf("x=%8.6f,y=%8.6f,z=%9.6f\n",x,y,z);printf("x+y=%5.2f y+z=%5.2f z+x=%5.2f\n",x+y,y+z,z+x); printf("u=%6ld n=%9ld\n",u,n);printf("c1='%c'or %d(ASCII)\n",c1,c1);printf("c2='%c'or %d(ASCII)\n",c2,c2);}3.5575 767.856400,-789.12396267.856400,-789.12396267.86 -789.12,67.856400,-789.123962,67.856400,-789.123962 6.785640e+001,-7.89e+002A,65,101,411234567,4553207,d68765535,177777,ffff,-1COMPUTER, COM3.6a=3 b=7/x=8.5 y=71.82/c1=A c2=a/3.710 20Aa1.5 -3.75 +1.4,67.8/(空3)10(空3)20Aa1.5(空1)-3.75(空1)(随意输入一个数),67.8回车3.8main(){float pi,h,r,l,s,sq,sv,sz;pi=3.1415926;printf("input r,h\n"); scanf("%f,%f",&r,&h);l=2*pi*r;s=r*r*pi;sq=4*pi*r*r;sv=4.0/3.0*pi*r*r*r;sz=pi*r*r*h;printf("l=%6.2f\n",l); printf("s=%6.2f\n",s); printf("sq=%6.2f\n",sq); printf("vq=%6.2f\n",sv); printf("vz=%6.2f\n",sz); }3.9main(){float c,f;scanf("%f",&f);c=(5.0/9.0)*(f-32); printf("c=%5.2f\n",c);}3.10#include"stdio.h"main(){char c1,c2;scanf("%c,%c",&c1,&c2); putchar(c1);putchar(c2);printf("\n");printf("%c%c\n",c1,c2);}第四章4.3(1)0 (2)1 (3)1 (4)0 (5)1 4.4main(){int a,b,c;scanf("%d,%d,%d",&a,&b,&c); if(a<b)if(b<c)printf("max=%d\n",c);elseprintf("max=%d\n",b); else if(a<c)printf("max=%d\n",c); elseprintf("max=%d\n",a);}main(){int a,b,c,temp,max;scanf("%d,%d,%d",&a,&b,&c); temp=(a>b)?a:b;max=(c>temp)?c:temp;printf("max=%d",max);}4.5main()scanf("%d",&x);if(x<1)y=x;else if(x<10)y=2*x-1;else y=3*x-11;printf("y=%d",y);}4.6main(){int score,temp,logic;char grade;logic=1;while(logic){scanf("%d",&score);if(score>=0&&score<=100)logic=0;}if(score==100)temp=9;elsetemp=(score-score%10)/10;switch(temp){case 9:grade='A';break;case 8:grade='B';break;case 7:grade='C';break;case 6:grade='D';break;case 5:case 4:case 3:case 2:case 0:grade='E';}printf"score=%d,grade=%c",score,grade);}4.7main(){long int num;int indiv,ten,hundred,thousand,ten_thousand,place;scanf("%ld",&num);if(num>9999) place=5;else if(num>999) place=4;else if(num>99) place=3;else if(num>9) place=2;else place=1;printf("place=%d\n",place);ten_thousand=num/10000;thousand=(num-ten_thousand*10000)/1000;hundred=(num-ten_thousand*10000-thousand*1000)/100;ten=(num-ten_thousand*10000-thousand*1000-hundred*100)/10;indiv=num-ten_thousand*10000-thousand*1000-hundred*100-ten*10;switch(place){case 5:printf("%d,%d,%d,%d,%d\n",ten_thousand,thousand,hundred,ten,indiv);printf("%d,%d,%d,%d,%d\n",indiv,ten,hundred,thousand,ten_thousand);break;case 4:printf("%d,%d,%d,%d\n",thousand,hundred,ten,indiv);printf("%d,%d,%d,%d\n",indiv,ten,hundred,thousand);break;case 3:printf("%d,%d,%d\n",hundred,ten,indiv);printf("%d,%d,%d\n",indiv,ten,hundred);break;case 2:printf("%d,%d\n",ten,indiv);printf("%d,%d\n",indiv,ten);break;case 1:printf("%d\n",indiv);printf("%d\n",indiv);}}4.8main(){long i;float bonus,bon1,bon2,bon4,bon6,bon10;bon1=100000*0.1;bon2=bon1+100000*0.075;bon4=bon2+200000*0.05;bon6=bon4+200000*0.03;bon10=bon6+400000*0.015;scanf("%ld",&i);if(i<=1e5)bonus=i*0.1;else if(i<=2e5)bonus=bon1+(i-100000)*0.075; else if(i<=4e5)bonus=bon2+(i-200000)*0.05; else if(i<=6e5)bonus=bon4+(i-400000)*0.03; else if(i<=1e6)bonus=bon6+(i-600000)*0.015; else bonus=bon10+(i-1000000)*0.01;printf("bonus=%10.2f",bonus);}main(){long i;float bonus,bon1,bon2,bon4,bon6,bon10;int branch;bon1=100000*0.1;bon2=bon1+100000*0.075;bon4=bon2+200000*0.05;bon6=bon4+200000*0.03;bon10=bon6+400000*0.015;scanf("%ld",&i);branch=i/100000;if(branch>10)branch=10;switch(branch){case 0:bonus=i*0.1;break;case 1:bonus=bon1+(i-100000)*0.075;break; case 2:case 3:bonus=bon2+(i-200000)*0.05;break; case 4:case 5:bonus=bon4+(i-400000)*0.03;break; case 6:case 7case 8:case 9:bonus=bon6+(i-600000)*0.015;break; case 10:bonus=bon10+(i-1000000)*0.01;}printf("bonus=%10.2f",bonus);}4.9main(){int t,a,b,c,d;scanf("%d,%d,%d,%d",&a,&b,&c,&d);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(a>d){t=a;a=d;d=t;}if(b>c){t=b;b=c;c=t;}if(b>d){t=b;b=d;d=t;}if(c>d){t=c;c=d;d=t;}printf("%d %d %d %d\n",a,b,c,d);}4.10main(){int h=10;float x,y,x0=2,y0=2,d1,d2,d3,d4;scanf("%f,%f",&x,&y);d1=(x-x0)*(x-x0)+(y-y0)*(y-y0);d2=(x-x0)*(x-x0)+(y+y0)*(y+y0);d3=(x+x0)*(x+x0)+(y-y0)*(y-y0);d4=(x+x0)*(x+x0)+(y+y0)*(y+y0);if(d1>1&&d2>1&&d3>1&&d4>1)h=0;printf("h=%d",h);}第五章循环控制5.1main(){int a,b,num1,num2,temp;scanf("%d,%d",&num1,&num2);if(num1<num2){temp=num1;num1=num2;num2=temp;} a=num1;b=num2;while(b!=0){temp=a%b;a=b;b=temp;}printf("%d\n",a);printf("%d\n",num1*num2/a);}5.2#include"stdio.h"main(){char c;int letters=0,space=0,digit=0,other=0;while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z') letters++;else if(c==' ')space++;else if(c>='0'&&c<='9')digit++;else other++;}printf("letters=%d\nspace=%d\ndigit=%d\nother=%d\n",letters,space,digit,other); }5.3main(){int a,n,count=1,sn=0,tn=0;scanf("%d,%d",&a,&n);while(count<=n){tn+=a;sn+=tn;a*=10;++count;}printf("a+aa+aaa+...=%d\n",sn);}5.4main(){float n,s=0,t=1;for(n=1;n<=20;n++){t*=n;s+=t;}printf("s=%e\n",s);}5.5main(){int N1=100,N2=50,N3=10;float k;float s1=0,s2=0,s3=0;for(k=1;k<=N1;k++)s1+=k;for(k=1;k<=N2;k++)s2+=k*k;for(k=1;k<=N3;k++)s3+=1/k;printf("s=%8.2f\n",s1+s2+s3);}5.6main(){int i,j,k,n;for(n=100;n<1000;n++){i=n/100;j=n/10-i*10;k=n%10;if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)printf("n=%d\n",n);}}5.7#define M 1000main(){int k0,k1,k2,k3,k4,k5,k6,k7,k8,k9; int i,j,n,s;for(j=2;j<=M;j++){n=0;s=j;for(i=1;i<j;i++){if((j%i)==0){n++;s=s-i;switch(n){case 1:k0=i;break;case 2:k1=i;break;case 3:k2=i;break;case 4:k3=i;break;case 5:k4=i;break;case 6:k5=i;break;case 7:k6=i;break;case 8:k7=i;break;case 9:k8=i;break;case 10:k9=i;break;}}}if(s==0){printf("j=%d\n",j);if(n>1)printf("%d,%d",k0,k1);if(n>2)printf(",%d",k2);if(n>3)printf(",%d",k3);if(n>4)printf(",%d",k4);if(n>5)printf(",%d",k5);if(n>6)printf(",%d",k6);if(n>7)printf(",%d",k7);if(n>8)printf(",%d",k8);if(n>9)printf(",%d\n",k9);}}}main(){static int k[10];int i,j,n,s;for(j=2;j<=1000;j++){n=-1;s=j;for(i=1;i<j;i++){if((j%i)==0){n++;s=s-i;k[n]=i;}}if(s==0){printf("j=%d\n",j);for(i=0;i<n;i++)printf("%d,",k[i]);printf("%d\n",k[n]);}}}5.8main(){int n,t,number=20;float a=2;b=1;s=0;for(n=1;n<=number;n++){s=s+a/b;t=a,a=a+b,b=t;}printf("s=%9.6f\n",s);}5.9main(){float sn=100.0,hn=sn/2; int n;for(n=2;n<=10;n++){sn=sn+2*hn;hn=hn/2;}printf("sn=%f\n",sn); printf("hn=%f\n",hn);}5.10{int day,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;x2=x1;day--;}printf("x1=%d\n",x1);}5.11#include"math.h"main(){float a,xn0,xn1;scanf("%f",&a);xn0=a/2;xn1=(xn0+a/xn0)/2;do{xn0=xn1;xn1=(xn0+a/xn0)/2;}while(fabs(xn0-xn1)>=1e-5);printf("a=%5.2f\n,xn1=%8.2f\n",a,xn1); }5.12#include"math.h"main(){float x,x0,f,f1;do{x0=x;f=((2*x0-4)*x0+3)*x0-6;f1=(6*x0-8)*x0+3;x=x0-f/f1;}while(fabs(x-x0)>=1e-5); printf("x=%6.2f\n",x);}5.13#include"math.h"main(){float x0,x1,x2,fx0,fx1,fx2;do{scanf("%f,%f",&x1,&x2);fx1=x1*((2*x1-4)*x1+3)-6;fx2=x2*((2*x2-4)*x2+3)-6;}while(fx1*fx2>0);do{x0=(x1+x2)/2;fx0=x0*((2*x0-4)*x0+3)-6;if((fx0*fx1)<0){x2=x0;fx2=fx0;}else{x1=x0;fx1=fx0;}}while(fabs(fx0)>=1e-5); printf("x0=%6.2f\n",x0); }5.14main(){int i,j,k;for(i=0;i<=3;i++){for(j=0;j<=2-i;j++)printf(" ");for(k=0;k<=2*i;k++)printf("*");printf("\n");}for(i=0;i<=2;i++){for(j=0;j<=i;j++)printf(" ");for(k=0;k<=4-2*i;k++)printf("*");printf("\n");}}5.15main(){char i,j,k;for(i='x';i<='z';i++)for(j='x';j<='z';j++){if(i!=j)for(k='x';k<='z';k++){if(i!=k&&j!=k){if(i!='x'&&k!='x'&&k!='z')printf("\na--%c\tb--%c\tc--%c\n",i,j,k);}}}}第六章数组6.1#include <math.h>#define N 101main(){ int i,j,line,a[N];for (i=2;i<N;i++) a[i]=i;for (i=2;i<sqrt(N);i++)for (j=i+1;j<N;j++){if(a[i]!=0 && a[j]!=0)if (a[j]%a[i]==0)a[j]=0; }printf("\n");for (i=2,line=0;i<N;i++){ if(a[i]!=0){ printf("%5d",a[i]);line++; }if(line==10){ printf("\n");line=0; }}}6.2#define N 10main(){int i,j,min,temp,a[N];for(i=0;i<N;i++)scanf("%d",&a[i]);for(i=0;i<N-1;i++){min=i;for(j=i+1;j<N;j++)if(a[min]>a[j])min=j;temp=a[i];a[i]=a[min];a[min]=temp;}for(i=0;i<N;i++)printf("%5d",a[i]);}6.3main(){float a[3][3],sum;int i,j;for(i=0;i<3;i++)for(j=0;j<3;j++){scanf("%f",&sum);a[i][j]=sum;}for(i=0;i<3;i++)sum=sum+a[i][i];printf("sum=%f",sum);}6.4main(){int a[11]={1,4,6,9,13,16,19,28,40,100}; int temp1,temp2,number, end,i,j;scanf("%d",&number);end=a[9];if(number>end) a[10]=number;else{for(i=0;i<10;i++){if(a[i]>number){temp1=a[i];a[i]=number;for(j=i+1;j<11;j++){temp2=a[j];a[j]=temp1;temp1=temp2;}break;}}}for(i=0;i<11;i++)printf("%6d",a[i]);}6.5#define N 5main(){int a[N]={8,6,5,4,1},i,temp; for(i=0;i<N/2;i++){temp=a[i];a[i]=a[N-i-1];a[N-i-1]=temp;}for(i=0;i<N;i++)printf("%4d",a[i]);}6.6#define N 11main(){int i,j,a[N][N];for(i=1;i<N;i++){a[i][i]=1;a[i][1]=1;}for(i=3;i<N;i++)for(j=2;j<i;j++)a[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=1;i<N;i++){for(j=1;j<=i;j++)printf("%6d",a[i][j]);printf("\n");}}6.7main(){int a[16][16],i,j,k,p,m,n;p=1;while(p==1){scanf("%d",&n);if((n!=0)&&(n<=15)&&(n%2!=0))p=0;}for(i=1;i<=n;i++)for(j=1;j<=n;j++)a[i][j]=0;j=n/2+1;a[1][j]=1;for(k=2;k<=n*n;k++){i=i-1;j=j+1;if((i<1)&&(j>n)){i=i+2;j=j-1;}else{if(i<1)i=n;if(j>n)j=1;}if(a[i][j]==0)a[i][j]=k;else{i=i+2;j=j-1;a[i][j]=k;}}for(i=1;i<=n;i++){for(j=1;j<=n;j++)printf("%3d",a[i][j]);printf("\n");}}6.8#define N 10#define M 10main(){int i,j,k,m,n,flag1,flag2,a[N][M],max,maxi,maxj; scanf("%d,%d",&n,&m);for(i=0;i<n;i++)for(j=0;j<m;j++)scanf("%d",&a[i][j]);flag2=0;for(i=0;i<n;i++){max=a[i][0];for(j=0;j<m;j++)if(max<a[i][j]){max=a[i][j];maxj=j;}for(k=0,flag1=1;k<n&&flag1;k++)if(max>a[k][maxj])flag1=0;if(flag1){ printf("\na[%d][%d]=%d\n",i,maxj,max);flag2=1;}}if(!flag2) printf("NOT");}6.9#include<stdio.h>#define N 15main(){int i,j,number,top,bott,min,loca,a[N],flag;char c;for(i=0;i<=N;i++)scanf("%d",&a[i]);flag=1;while(flag){scanf("%d",&number);loca=0;top=0;bott=N-1;if((number<a[0])||(number>a[N-1]))loca=-1;while((loca==0)&&(top<=bott)){min=(bott+top)/2;if(number==a[min]){loca=min;printf("number=%d,loca=%d\n",number,loca+1);}else if(number<a[min])bott=min-1;elsetop=min+1;}if(loca==0||loca==-1)printf("%d not in table\n",number);printf("continue Y/N or y/n\n");c=getchar();if(c=='N'||c=='n')flag=0;}}6.10main(){int i,j,uppn,lown,dign,span,othn;char text[3][80];uppn=lown=dign=span=othn=0;for(i=0;i<3;i++){gets(text[i]);for(j=0;j<80&&text[i][j]!='\0';j++){if(text[i][j]>='A'&&text[i][j]<='Z')uppn++;else if(text[i][j]>='a'&&text[i][j]<='z')lown++;else if(text[i][j]>='0'&&text[i][j]<='9')dign++;else if(text[i][j]==' ')span++;elseothn++;}}for(i=0;i<3;i++)printf("%s\n",text[i]);printf("uppn=%d\n",uppn);printf("lown=%d\n",lown);printf("dign=%d\n",dign);printf("span=%d\n",span);printf("othn=%d\n",othn);}6.11main(){static char a[5]={'*','*','*','*','*'}; int i,j,k;char space=' ';for(i=0;i<=5;i++){printf("\n");for(j=1;j<=3*i;j++)printf("%1c",space);for(k=0;k<=5;k++)printf("%3c",a[k]);}}6.12#include<stdio.h>main(){int i,n;char ch[80],tran[80];gets(ch);i=0;while(ch[i]!='\0'){if((ch[i]>='A')&&(ch[i]<='Z')) tran[i]=26+64-ch[i]+1+64;else if((ch[i]>='a')&&(ch[i]<='z'))tran[i]=26+96-ch[i]+1+96;elsetran[i]=ch[i];i++;}n=i;for(i=0;i<n;i++)putchar(tran[i]);}6.13main(){char s1[80],s2[40];int i=0,j=0;scanf("%s",s1);scanf("%s",s2);while(s1[i]!='\0')i++;while(s2[j]!='\0')s1[i++]=s2[j++]; s1[i]='\0';printf("s=%s\n",s1);}6.14#include<stdio.h>main(){int i,resu;char s1[100],s2[100];gets(s1);gets(s2);i=0;while((s1[i]==s2[i])&&(s1[i]!='\0'))i++;if(s1[i]=='\0'&&s2[i]=='\0')resu=0;elseresu=s1[i]-s2[i];printf("s1=%s,s2=%s,resu=%d\n",s1,s2,resu); }6.15#include"stdio.h"main(){char from[80],to[80];;int i;scanf("%s",from);for(i=0;i<=strlen(from);i++)to[i]=from[i];printf("%s\n",to);}第七章7.1hcf(u,v)int u,v;{int a,b,t,r;if(u>v){t=u;u=v;v=t;}a=u;b=v;while((r=b%a)!=0){b=a;a=r;}return(a);}lcd(u,v,h)int u,v,h;{return(u*v/h);}main(){int u,v,h,l;scanf("%d,%d",&u,&v);h=hcf(u,v);printf("H.C.F=%d\n",h);l=lcd(u,v,h);printf("L.C.D=%d\n",l);}7.2#include"math.h"float x1,x2,disc,p,q;greater_than_zero(a,b)float a,b;{x1=(-b+sqrt(disc))/(2*a);x2=(-b-sqrt(disc))/(2*a);}equal_to_zero(a,b)flaot a,b;{x1=x2=-b/(2*a);}smaller_than_zero(a,b)float a,b;{p=-b/(2*a);q=sqrt(-disc)/(2*a);}main(){float a,b,c;scanf("%f,%f,%f",&a,&b,&c); disc=b*b-4*a*c;if(fabs(disc)<=1e-5){equal_to_zero(a,b);printf("x1=%5.2f\tx2=%5.2f\n",x1,x2);}else if(disc>0){greater_than_zero(a,b);printf("x1=%5.2f\tx2=%5.2f\n",x1,x2);}else{smaller_than_zero(a,b);printf("x1=%5.2f+%5.2fi\tx2=%5.2f-%5.2fi\n",p,q,p,q);}}7.3main(){int number;scanf("%d",&number);if(prime(number))printf("yes");elseprintf("no");}int prime(number)int number;{int flag=1,n;for(n=2;n<number/2&&flag==1;n++)if(number%n==0)flag=0;return(flag);}7.4#define N 3int array[N][N];convert(array)int array[3][3];{int i,j,t;for(i=0;i<N;i++)for(j=i+1;j<N;j++){t=array[i][j];array[i][j]=array[j][i];array[j][i]=t;}}main(){int i,j;for(i=0;i<N;i++)for(j=0;j<N;j++)scanf("%d",&array[i][j]); convert(array);for(i=0;i<N;i++){printf("\n");for(j=0;j<N;j++)printf("%5d",array[i][j]);}}7.5main(){char str[100];inverse(str);printf("%s\n",str);}inverse(str)char str[];{char t;int i,j;for(i=0,j=strlen(str);i<strlen(str)/2;i++,j--) {t=str[i];str[i]=str[j-1];str[j-1]=t;}}7.6char concate(str1,str2,str)char str1[],str2[],str[];{int i,j;for(i=0;str1[i]!='\0';i++)str[i]=str1[i];for(j=0;str2[j]!='\0';j++)str[i+j]=str2[j];str[i+j]='\0';}main(){char s1[100],s2[100],s[100];scanf("%s",s1);scanf("%s",s2);concate(s1,s2,s);}7.7main(){char str[80],c[80];void cpy();gets(str);cpy(str,c);printf("\n%s\n",c);}void cpy(s,c)char s[],c[];{int i,j;for(i=0,j=0;s[i]!='\0';i++)if(s[i]=='a'||s[i]=='A'||s[i]=='e'||s[i]=='E'||s[i]=='i'|| s[i]=='I'||s[i]=='o'||s[i]=='O'||s[i]=='u'||s[i]=='U') {c[j]=s[i];j++;}c[j]='\0';}7.8main(){char str[80];scanf("%s",str);insert(str);}insert(str)char str[];{int i;for(i=strlen(str);i>0;i--){str[i*2]=str[i];str[i*2-1]=' ';}printf("%s\n",str);}7.9int alph,digit,space,others;main(){char text[80];gets(text);alph=0,digit=0,space=0,others=0;count(text);printf("\nalph=%d,digit=%d,space=%d,others=%d\n",alph,digit,space,others); }count(str)char str[];{int i;for(i=0;str[i]!='\0';i++)if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))alph++;else if(str[i]>='0'&&str[i]<='9')digit++;else if(strcmp(str[i],' ')==0)space++;elseothers++;}7.10int alph(c)char c;{if((c>='a'&&c<='z')||(c>='A'&&c<='Z')) return(1);elsereturn(0);}int longest(string)char string[];{int len=0,i,length=0,flag=1,place,point; for(i=0;i<=strlen(string);i++)if(alph(string[i]))if(flag){point=i;flag=0;}elselen++;else{flag=1;if(len>length){length=len;place=point;len=0;}}return(place);}main(){int i;char line[100];gets(line);for(i=longest(line);alph(line[i]);i++)printf("%c",line[i]);printf("\n");}7.11#define N 10char str[N];main(){int i,flag;for(flag=1;flag==1;){scanf("%s",str);if(strlen(str)>N)printf("input error");elseflag=0;}sort(str);for(i=0;i<N;i++)printf("%c",str[i]);}sort(str)char str[N];{int i,j;char t;for(j=1;j<N;j++)for(i=0;(i<N-j)&&(str[i]!='\0');i++)if(str[i]>str[i+1]){t=str[i];str[i]=str[i+1];str[i+1]=t;}}7.12#include<math.h>float solut(a,b,c,d)float a,b,c,d;{float x=1,x0,f,f1;do{x0=x;f=((a*x0+b)*x0+c)*x0+d;f1=(3*a*x0+2*b)*x0+c;x=x0-f/f1;}while(fabs(x-x0)>=1e-5);return(x);}main(){float a,b,c,d;scanf("%f,%f,%f,%f",&a,&b,&c,&d); printf("x=%10.7f\n",solut(a,b,c,d));}7.13main(){int x,n;float p();scanf("%d,%d",&n,&x);printf("P%d(%d)=%10.2f\n",n,x,p(n,x));}float p(tn,tx)int tn,tx;{if(tn==0)return(1);else if(tn==1)return(tx);elsereturn(((2*tn-1)*tx*p((tn-1),tx)-(tn-1)*p((tn-2),tx))/tn); }7.14#define N 10#define M 5float score[N][M];float a_stu[N],a_cor[M];main(){int i,j,r,c;float h;float s_diff();float highest();r=0;c=1;input_stu();avr_stu();avr_cor();printf("\n number class 1 2 3 4 5 avr");for(i=0;i<N;i++){printf("\nNO%2d",i+1);for(j=0;j<M;j++)printf("%8.2f",score[i][j]);printf("%8.2f",a_stu[i]);}printf("\nclassavr");for(j=0;j<M;j++)printf("%8.2f",a_cor[j]);h=highest(&r,&c);printf("\n\n%8.2f %d %d\n",h,r,c); printf("\n %8.2f\n",s_diff());}input_stu(){int i,j;float x;for(i=0;i<N;i++){for(j=0;j<M;j++){scanf("%f",&x);score[i][j]=x;}}}avr_stu(){int i,j;float s;for(i=0;i<N;i++){for(j=0,s=0;j<M;j++)s+=score[i][j];a_stu[i]=s/5.0;}}avr_cor(){int i,j;float s;for(j=0;j<M;j++){for(i=0,s=0;i<N;i++)s+=score[i][j];a_cor[j]=s/(float)N;}}float highest(r,c)int *r,*c;{float high;int i,j;high=score[0][0];for(i=0;i<N;i++)for(j=0;j<M;j++)if(score[i][j]>high){high=score[i][j];*r=i+1;*c=j+1;}return(high);}float s_diff(){int i,j;float sumx=0.0,sumxn=0.0;for(i=0;i<N;i++){sumx+=a_stu[i]*a_stu[i];sumxn+=a_stu[i];}return(sumx/N-(sumxn/N)*(sumxn/N));}7.15#include<stdio.h>#define N 10void input_e(num,name)int num[];char name[N][8];{int i;for(i=0;i<N;i++){scanf("%d",&num[i]);gets(name[i]);}}void sort(num,name)int num[];char name[N][8];{int i,j,min,temp1;char temp2[8];for(i=0;i<N-1;i++){min=i;for(j=i;j<N;j++)if(num[min]>num[j])min=j;temp1=num[i];num[i]=num[min];num[min]=temp1;strcpy(temp2,name[i]);strcpy(name[i],name[min]);strcpy(name[min],temp2);}for(i=0;i<N;i++)printf("\n%5d%10s",num[i],name[i]);}void search(n,num,name)int n,num[];char name[N][8];{int top,bott,min,loca;loca=0;top=0;bott=N-1;if((n<num[0])||(n>num[N-1]))loca=-1;while((loca==0)&&(top<=bott)){min=(bott+top)/2;if(n==num[min]){loca=min;printf("number=%d,name=%s\n",n,name[loca]);}else if(n<num[min])bott=min-1;elsetop=min+1;}if(loca==0||loca==-1)printf("number=%d is not in table\n",n);}main(){int num[N],number,flag,c,n;char name[N][8];input_e(num,name);sort(num,name);for(flag=1;flag;){scanf("%d",&number);search(number,num,name);printf("continue?Y/N!");c=getchar();if(c=='N'||c=='n')flag=0;}}7.16#include<stdio.h>#define MAX 1000main(){int c,i,flag,flag1;char t[MAX];i=0;flag=0;flag1=1;while((c=getchar())!='\0'&&i<MAX&&flag1){if(c>='0'&&c<='9'||c>='A'&&c<='F'||c>='a'&&c<='f') {flag=1;t[i++]=c;}else if(flag){t[i]='\0';printf("\nnumber=%d\n",htoi(t));printf("continue?");c=getchar();if(c=='n'||c=='N')flag1=0;else{flag=0;i=0;}}}}htoi(s)char s[];{int i,n;n=0;for(i=0;s[i]!='\0';i++){if(s[i]>='0'&&s[i]<='9') n=n*16+s[i]-'0';if(s[i]>='a'&&s[i]<='f')n=n*16+s[i]-'a'+10;if(s[i]>='A'&&s[i]<='F')n=n*16+s[i]-'A'+10;}return(n);}7.17#include<stdio.h>void convert(n)int n;{int i;if((i=n/10)!=0)convert(i);putchar(n%10+'0');}main(){int number;scanf("%d",&number);if(number<0){putchar('-');number=-number;}convert(number);}7.18main(){int year,month,day;int days;scanf("\n%d,%d,%d",&year,&month,&day);days=sum_day(month,day);if(leap(year)&&(month>=3))days+=1;printf("days=%d\n",days);}static int day_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31} int sum_day(month,day)int month,day;{int i;for(i=1;i<month;i++)day+=day_tab[i];return(day);。
第五章循环控制输入两个正整数m和n,求其最大公约数和最小公倍数。
main(){long m,n,i=1,j,s;scanf("%ld,%ld",&m,&n);for(;i<=m&&i<=n;i++){if(m%i==0&&n%i==0) s=i;}if(m>=n) j=m;else j=n;for(;!(j%m==0&&j%n==0);j++);printf("s=%ld,j=%ld\n",s,j);}输入一行字符,别离统计出其中英文字母、空格、数字和其他字符的个数。
#include""main(){char c;int i=0,j=0,k=0,l=0;while((c=getchar())!=’\n’){if(c>=65&&c<=90||c>=97&&c<=122) i++;else if(c>=48&&c<=57) j++;else if(c==32) k++;else l++;}printf("i=%d,j=%d,k=%d,l=%d\n",i,j,k,l);}求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字。
例如:2+22+222+2222+22222(n=5),n由键盘输入。
#include""main(){int n,sum=0,i=1,s=2;scanf("%d",&n);while(i<=n){sum=sum+s;s=s+2*pow(10,i);i++;}printf("sum=%d\n",sum);}求,(即求1!+2!+3!+4!+5!+…+20!)main(){int n,i=1;long sum=0,s=1;scanf("%d",&n);while(i<=n) {s=s*i;sum=sum+s;i++;}printf("sum=%ld\n",sum);}求main(){double i=1,j=1,k=1,s1=0,s2=0,s3=0,sum;for(;i<=100;i++) s1=s1+i;for(;j<=50;j++) s2=s2+j*j;for(;k<=10;k++) s3=s3+1/k;sum=s1+s2+s3;printf("sum=%f\n",sum);}打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其列位数字立方和等于该本身。
第五章循环结构一、选择题1)下面有关for循环的正确描述是< )A)for循环只能用于循环次数已经确定的情况B)for循环是先执行循环体语句,后判断表达式C)在for循环中,不能用break语句跳出循环体D)for循环的循环体中,可以包含多条语句,但必须用花括号括起来2)对表达式for<表达式1。
表达式3)可理解为A)for<表达式1。
0。
表达式3)B)for<表达式1。
1。
表达式3)C)for<表达式1。
表达式1。
表达式3)D)for<表达式1。
表达式3。
表达式3)3)以下描述中正确的是< )A)由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B)do-while循环由do开始,用while结束,在while<表达式)后面不能写分号C)在do-while循环体中,是先执行一次循环,再进行判断D)do-while循环中,根据情况可以省略while4)以下程序段的描述,正确的是< )x=-1。
do{x=x*x。
}while(!x>。
A)是死循环B)循环执行两次C)循环执行一次D)有语法错误5)设有以下程序段int x=0,s=0。
while(!x!=0>s+=++x。
printf(″%d″,s>。
则< )A)运行程序段后输出0B)运行程序段后输出1C)程序段中的控制表达式是非法的 D)程序段执行无限次6)有如下程序#include<stdio.h>void main(>{ int n=9。
while(n>6>{n--。
printf(″%d″,n>。
}}该程序的输出结果是< )A)987 B)876C)8765 D)98767)在下列选项中,没有构成死循环的是< )A)int i=100。
B)for<。
)。
while<1){i=i%100+1。
《计算机导论》课程教学大纲一、课程性质、目的和任务本课程是计算机学科各专业一门重要的入门性导引类专业基础课程。
该课程教学的目标是认知与导学,其主要任务是全面地简要地介绍该学科的主要内容、计算机的基本知识、硬件和软件的核心及其发展趋势、学科研究和应用中所采用的数学与系统科学方法、计算机在各行各业中的应用以及在学科教育中所涉及的知识体系、教学方法与要求等等。
目的在于让计算机专业的学生们对计算机学科所含概的知识领域有个系统化、逻辑化的概括性了解,明确各主领域的发展规律和内在联系;各主领域存在的基本问题以及求解这些基本问题的方式方法。
在教学中,教师应该以科学的认识论和科学的方法论统领整个课程的教学,采取高级科普的深度定位和通俗流畅的语言,向学生介绍整个学科的概貌,对学生进行整个学科正确的认知与导学,为学生顺利完成大学的学习任务提供必要的专业认识基础,同时,给学生的学习留下大量的疑问和问题,为后续课程的教学留下“伏笔”,真正使导论课程的教学起到初步认知与正确导学的作用,能够引导和帮助学生按照学科专业的特点和要求来开展学习,顺利完成学业。
二、课程教学的基本要求本课程是计算机科学基础理论与应用操作相结合的课程。
课程内容涉及计算机科学的方方面面,但着重讲解的是基本概念而不是数学模型和技术细节,要求做到“广度优先,广而不细”。
课程侧重点在于勾画计算机科学体系的框架,奠定计算机科学知识的基础,为今后深入学习信息专业各专业理论课程做好铺垫;同时,通过本课程的实验学习将使学生掌握一些基本的操作技术,提高感性认识,为今后在各自的专业中对计算机的使用打下厚实的基础。
学完本课程应达到以下基本要求:1.理解和掌握计算机科学的基本概念和基本知识2.理解和掌握计算机的基本结构与工作原理3.了解高级语言与程序设计技术4.了解计算机系统软件与应用软件5.了解计算机网络及其应用6. 了解数据库系统及其应用7.了解新一代计算机体系结构与软件方法学8.掌握计算机操作技能及Word、Excel、Powerpoint的使用9.了解计算机信息安全技术10.了解职业道德与择业三、课程教学基本内容和学时分配第一章绪论重点与难点1.计算机的基本概念。
《C程序设计基础》课程思政元素第五章循环控制5.5数值计算求解方程根一、授课内容(1)一元二次方程求解,将数学计算过程转换为计算机算法,利用计算机程序求解;二分法设计与实现,表达式对算法效率的影响;牛顿迭代法设计与实现,函数对算法效率的影响;快速开根方算法的理解与实现(思考与拓展)。
(2)认知计算机迭代算法效率问题,综合分析二分法、牛顿迭代算法、快速开根方算法求解平方根。
(3)拓展讨论程序运行时间计算问题;时间函数库的应用、程序运算的时间成本、运算效率在计算机算法设计中的重要性及影响计算机执行效率的因素。
二、实施过程(一)思政元素类型:家国情怀;科学精神。
(二)课堂教学方法1.教学手段“算法效率提升”。
利用程序设计中的“迭代开发”思想,由浅入深,螺旋式上升。
教学过程由四个迭代周期构成,每个迭代周期平均25分钟左右,采用PPT、视频等多媒体形式。
采用“问题教学法”,部分内容需要学生网上搜索资料并加以归纳分析。
教师讲授主要完成引导、重点讲解和总结,大部分教学活动留给学生,发挥学生主动性,锻炼学生的协作学习能力。
说明:(1)二分法和牛顿迭代法在《C语言程序设计(理工类)》课程所选教材中有明确的阐述和源程序,有利于学生课前预习和课后复习。
(2)快速平方根算法在网上有相关资料(百科和博客),需要学生通过网络去查询相关资料,鼓励学生主动获取知识和技能。
(3)利用课前和课间5分钟时间播放《厉害了,我的国》与计算机产业相关的片段。
从分析计算机运算效率的因素讨论引入思政元素的内容。
2.课程思政融入点课程知识点中相关的“计算效率”、“迭代计算”与国家计算机产业发展、科学精神等相契合。
三、思政元素内容神威·太湖之光超级计算机(一)元素内容超级计算机,被称为“国之重器”,超级计算属于战略高技术领域,是世界各国竞相角逐的科技制高点,也是一个国家科技实力的重要标志之一。
自中国863计划实施以来,国家高度重视并且支持超级计算系统的研发,但由于基础薄起步较晚,在国际舞台中一直受制于人,美国更是在2015年宣布对中国禁售高性能处理器。